Import and use translations from icapps translation service
Install via npm
npm install tree-house-translations
or via yarn
yarn add tree-house-translations
const translations = require('tree-house-translations');
translations.import(apiUrl, apiToken, {
destination: __dirname + '/locales', // Optional (defaults to ./src/locales)
clean: false, // Optional (defaults to true)
exportType: 'json' | 'plist', // Defaults to json
seperateCategories : true, // Optional (defaults to false)
});
Initialise a translator object pointing to the .json
files where are translations are being stored and set a default locale. This object contains all functions which you can use after initialisation.
This becomes a singleton instance which will cache your translations globally. It is not possible at the moment to store translations into different folders.
import { initTranslator } from 'tree-house-translations';
const translator = initTranslator('/locales', 'en');
translator.translate(...);
The name of the translation file needs to match the language name. For example: /locales/en.json -> en
After initialising the translator you can easily find a translation value by its key for the required language in your localisation files.
translator.translate('key_to_translate', 'nl');
You can also replace values by using {{}}
in your string values in the translation files.
translator.translate('key_to_translate', 'en', { name: 'Brent' });
This is my new sentence from {{name}} -> This is my new sentence from Brent
Install globally:
npm install -g tree-house-translations
Now translations
is available as a command. For instructions run:
$ translations help
Usage: translations [options] [command]
Commands:
init setup a cnofiguration file based on the project type
import import translations into this project
help [cmd] display help for [cmd]
Run from your project root in order to setup the translations configuration.
$ translations init
Usage: translations-init [options]
Options:
-h, --help output usage information
-V, --version output the version number
--token [value] Add apiToken
--translations-path Add translations path
--verbose get more detailed information on what is happening
Run from your project root in order to import the translations into the matching .json files.
$ translations import
Usage: translations-import [options]
Options:
-t, --token [value] apiToken authentication token
--api-url [value] api url e.g. 'http://server/api'
--seperate-categories seperate translations in categories
--destination [value] translations destionation path
--clean clean import, delete all translations before writing new
--verbose get more detailed information on what is happening
--export-type [value] define export type. Options: (json, plist). Default: json
$ npm run build
// build and keep watching
$ npm run build:dev
When you find issues, please report them:
Be sure to include all of the output from the npm command that didn't work as expected. The npm-debug.log file is also helpful to provide.
See the list of contributors who participated in this project.
This project is licensed under the ISC License - see the LICENSE.md file for details