0.1.2 • Published 2 years ago
@bemedev/internationalization v0.1.2
V 0.1.1 Make it browserify
Just one class...
Internationalization
Defaut walkthrough
First create the object with paths (like path.resolve(root, ...parts)) :
const internationalization = new Internationalization(); // {cwd}/src/locales
const internationalization = new Internationalization(
'my',
'locales',
'directory',
); // Path is resolved with process.cwd() as root
NB
- The default path is {cwd}/src/locales
- The locale must have at least a directory ( locales/{locale}/common.json )
- The locales must be json and can be namespaces ( locales/en/firstPage/header.json )
You can init translations sync
const internationalization = new Internationalization();
internationalization.initSync();
Or async
const internationalization = new Internationalization(
'my',
'locales',
'directory',
);
await internationalization.init();
Then, you can get the string by method : getKey
const internationalization = new Internationalization();
internationalization.initSync();
internationalization.getKey('title'); // => Title of the page
Add-ons
Change Language : changeLanguage
By default language is set to English ('en')
const internationalization = new Internationalization();
internationalization.initSync();
internationalization.getKey('title'); // => Title of the page
internationalization.changeLanguage('fr');
internationalization.getKey('title'); // => Titre de la page
Change Default Language : Internationalization.defaultLanguage
By default language is set to English ('en')
Internationalization.defaultLanguage = 'fr';
const internationalization = new Internationalization();
internationalization.initSync();
internationalization.getKey('title'); // => Titre de la page
For tests, go to repo, here