tree-house-translations
TypeScript icon, indicating that this package has built-in type declarations

1.2.2 • Public • Published

Treehouse translations

Import and use translations from icapps translation service

npm version Dependencies Build Status Coverage Status Greenkeeper badge

Installation

Install via npm

npm install tree-house-translations

or via yarn

yarn add tree-house-translations

NodeJS

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)
});

initTranslator

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

.translate

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

CLI

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

Build the module

$ npm run build
 
// build and keep watching
$ npm run build:dev

Bugs

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.

Authors

See the list of contributors who participated in this project.

License

This project is licensed under the ISC License - see the LICENSE.md file for details

Readme

Keywords

none

Package Sidebar

Install

npm i tree-house-translations

Weekly Downloads

34

Version

1.2.2

License

ISC

Unpacked Size

25.9 kB

Total Files

24

Last publish

Collaborators

  • benjijanssens
  • samvanhoey
  • jaspervercammen
  • codeinineo
  • ethanfoust
  • jensicapps
  • willemhorsten
  • dgyesbreghs
  • knor-el-snor