i18nManager
A simple i18n Module for TypeScript/JavaScript front- and back-end.
Installation
$ npm i --save @assetory/i18n-manager
Usage
Perquisite
- Create a directory called
i18n
in your applications root folder. - Create translation files named after the short form of the language and an index.js file in the folder,
- Import the translation files into the index file.
EXAMPLE FILES:
./i18n/de.ts
or ./i18n/de.js
:
{
test:
{
firstMessage: "Hallo Welt!",
secondMessage: "Es {val}."
}
}
./i18n/en.ts
or ./i18n/en.js
:
{
test:
{
firstMessage: "Hello World!",
secondMessage: "This {val}."
}
}
Getting translations
1. Import the module and translation files
TypeScript:
import i18nManager from "@assetory/i18n-manager";
import * as translations from './i18n';
JavaScript:
const i18nManager = require("@assetory/i18n-manager");
const translations = require('./i18n');
2. Create an instance, and call the determined language (en, de, ...) and source in the constructor.
const translations = new i18nManager({ language: 'en', source: translations });
3. Call the message according to the json path you set up in the translation file.
translations.message("test.sentence");
Or, if you need to supply a value
translations.messageWithValue("test.sentence", value);
5. Your output now should show the selected message, or [MISSING] if the translation has not been found.
License
This project is released under the Apache version 2 license.