https://github.com/icapps/tree-house-translations
A node module to import the translations from the iCapps translations portal.
https://github.com/icapps/tree-house-translations
Last synced: about 2 months ago
JSON representation
A node module to import the translations from the iCapps translations portal.
- Host: GitHub
- URL: https://github.com/icapps/tree-house-translations
- Owner: icapps
- License: isc
- Created: 2016-02-08T21:16:31.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-05-30T20:36:11.000Z (about 6 years ago)
- Last Synced: 2025-05-30T02:42:26.216Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 4.53 MB
- Stars: 0
- Watchers: 7
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Treehouse translations
Import and use translations from icapps translation service
[](https://badge.fury.io/js/tree-house-translations)
[](https://david-dm.org/icapps/tree-house-translations.svg)
[](https://travis-ci.org/icapps/tree-house-translations)
[](https://coveralls.io/github/icapps/tree-house-translations) [](https://greenkeeper.io/)
## Installation
Install via npm
```shell
npm install tree-house-translations
```
or via yarn
```shell
yarn add tree-house-translations
```
## NodeJS
```javascript
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.**
```javascript
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.
```javascript
translator.translate('key_to_translate', 'nl');
```
You can also replace values by using `{{}}` in your string values in the translation files.
```javascript
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:
```bash
npm install -g tree-house-translations
```
Now `translations` is available as a command. For instructions run:
```bash
$ 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.
```bash
$ 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.
```bash
$ 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
```bash
$ npm run build
// build and keep watching
$ npm run build:dev
```
## Bugs
When you find issues, please report them:
- web: [https://github.com/icapps/tree-house-translations/issues](https://github.com/icapps/tree-house-translations/issues)
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](https://github.com/icapps/tree-house-translations/contributors) who participated in this project.
## License
This project is licensed under the ISC License - see the [LICENSE.md](LICENSE.md) file for details