3.0.1 • Published 4 years ago

gettext-translator v3.0.1

Weekly downloads
146
License
MIT
Repository
-
Last release
4 years ago

Gettext translator

Javascript gettext translations replacement to use with gettext/gettext. Use gettext/json to generate the json data.

Installation

npm install gettext-translator

Usage

Use the Json generator gettext/json library to export the translations to json:

use Gettext\Loader\PoLoader;
use Gettext\Generator\JsonGenerator;

//Load the po file with the translations
$translations = (new PoLoader())->loadFile('locales/gl.po');

//Export to a json file
(new JsonGenerator())->generateFile('locales/gl.json');

Load the json file in your browser

import Translator from 'gettext-translator';

async function getTranslator() {
    const response = await fetch('locales/gl.json');
    const translations = await response.json();

    return new Translator(translations);
}

const t = await getTranslator();

t.gettext('hello world'); //ola mundo

Variables

You can add variables to the translations. For example:

t.gettext('hello :who', {':who': 'world'}); //ola world

There's also a basic support o sprintf (only %s and %d)

t.gettext('hello %s', 'world'); //ola world

To customize the translator formatter, just override the format method:

t.format = function (text, ...args) {
    //Your custom format here
}

Short names

Like in the php version, there are the __ functions that are alias of the long version:

//Both functions does the same

t.gettext('Foo');
t.__('Foo');

API

Long nameShort nameDescription
gettext__Returns a translation
ngettextn__Returns a translation with singular/plural variations
dngettextdn__Returns a translation with domain and singular/plural variations
npgettextnp__Returns a translation with context and singular/plural variations
pgettextp__Returns a translation with a specific context
dgettextd__Returns a translation with a specific domain
dpgettextdp__Returns a translation with a specific domain and context
dnpgettextdnp__Returns a translation with a specific domain, context and singular/plural variations
3.0.1

4 years ago

3.0.0

5 years ago

2.1.0

6 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago