1.1.0 • Published 4 years ago

translation-adapter-ts v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

How to install

  1. Add the translation package to the project:
npm i translation-adapter-ts
  1. In your build script, add all the directories containing .po files to PofileTransformer:
import {PofileTransformer} from "translation-adapter-ts/src/PofileTransformer";
let transformer = new PofileTransformer();
transformer.transformDirectory('i18n/ru_RU/LC_MESSAGES');
transformer.transformDirectory('i18n/zh_CN/LC_MESSAGES');
  1. In app initialization script, load the translations, and define the default language (language translation are coming from), and language selected by user:
import {Localizator} from "translation-adapter-ts/src/Localizator";
import {LanguageEnum} from "translation-adapter-ts/src/Enums/LanguageEnum";
import * as data from "translation-adapter-ts/test/translationFiles/test.json";
import {readFileSync} from "fs";

Localizator.addTranslation(LanguageEnum.RU, data);
Localizator.addTranslation(LanguageEnum.CN, readFileSync('/test/translationFiles/cn.json'));
Localizator.setDefaultLanguge(LanguageEnum.EN);
Localizator.setLanguage(LanguageEnum.RU);

If you use babel, with TS resolveJsonModule compiler directive, you may encounter an issue with data structure being exported as module with no default export. There's a workaround to fix that:

import * as data from "translation-adapter-ts/test/translationFiles/test.json";
//@ts-ignore
Localizator.addTranslation(LanguageEnum.RU, data.default);
  1. Wrap translations into __() function:
import {__} from 'translation-adapter-ts/src/Main.ts';

console.log(__("Test string"));
console.log(__("Hello, %s", __("world")));
console.log(__("Hey %hello% %world%!"), {"%world%": __('world'), "hello": __("Hello")}); // In case if placeholder order may be different in different languages

Using with web JS

import Localizator from 'translation-adapter-ts/build/Localizator';

Localizator.addTranslation('kr', {
    "Hello": "여보세요"
});

Localizator.addTranslation('it', {
    "Hello": "Ciao"
});

Localizator.addTranslation('cn', {
    "Hello": "你好"
});

Localizator.setLanguage('cn');

export default function __ (args) {
    return Localizator.localize(args);
}

console.log(__('Hello')); // 你好
1.1.0

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago