Skip to content

Latest commit

 

History

History
126 lines (102 loc) · 3.95 KB

README.md

File metadata and controls

126 lines (102 loc) · 3.95 KB

translator

Build Status npm npm

Supported languages list with expected codes for pluralize mechanics switching:

  • Russian ( ru, ru-RU )
  • English ( en, en-US, en-UK )
  • French ( fr )
  • German ( de )
  • Polish ( pl )
  • Czech ( cs )
  • Portuguese ( pt )
  • Brazilian Portuguese ( pt-BR, br )
  • Arabic ( ar-AR, ar )
  • Turkish ( tr )
  • Occitan ( oc )
  • Belarusian ( be )
  • Bosnian ( bs )
  • Croatian ( hr )
  • Serbian ( sr )
  • Ukrainian ( uk )
  • ...

Install

npm i --save translatr

How to use

Russian

import translate from 'translatr'

var dictionary = {
  key_1: "Первый текст",
  key_2: [ "$count", " ", [ "кошка", "кошки", "кошек" ] ],
  key_3: {
    nested_1: 'Привет!'
    nested_2: [ "$count", " ", [ "котёнок", "котёнка", "котят" ] ]
  }
}

var string_1 = translate( dictionary, 'ru', 'key_1' ); // Первый текст
var string_2 = translate( dictionary, 'ru', 'key_2', 1 ); // 1 кошка
var string_3 = translate( dictionary, 'ru', 'key_2', 3 ); // 2 кошки
var string_4 = translate( dictionary, 'ru', 'key_2', 7 ); // 7 кошек
var string_5 = translate( dictionary, 'ru', 'key_3.nested_1' ); // Привет!
var string_6 = translate( dictionary, 'ru', 'key_3.nested_2', 15 ); // 15 котят

Polish

import translate from 'translatr'

var dictionary = {
  key_1: "Prosze, dwa bilety drugiej klasy do Warszawy.",
  key_2: [ "$count", " ", [ "godzina", "godziny", "godzin" ] ],
  key_3: {
    nested_1: 'Cześć!'
    nested_2: [ "$count", " ", [ "godzina", "godziny", "godzin" ] ]
  }
}

var string_1 = translate( dictionary, 'pl', 'key_1' ); // Prosze, dwa bilety drugiej klasy do Warszawy.
var string_2 = translate( dictionary, 'pl', 'key_2', 1 ); // 1 godzina
var string_3 = translate( dictionary, 'pl', 'key_2', 3 ); // 3 godziny
var string_4 = translate( dictionary, 'pl', 'key_2', 31 ); // 31 godzin
var string_5 = translate( dictionary, 'pl', 'key_3.nested_1' ); // Cześć!
var string_6 = translate( dictionary, 'pl', 'key_3.nested_2', 41 ); // 41 godzin

English

import translate from 'translatr'

var dictionary = {
  key_1: "First text",
  key_2: [ "$count", " ", [ "hour", "hours"] ],
  key_3: {
    nested_1: 'Hello!'
    nested_2: [ "$count", " ", [ "kitten", "kittens" ] ]
  }
}

var string_1 = translate( dictionary, 'en', 'key_1' ); // First text
var string_2 = translate( dictionary, 'en', 'key_2', 0 ); // 0 hours
var string_3 = translate( dictionary, 'en', 'key_2', 1 ); // 1 hours
var string_4 = translate( dictionary, 'en', 'key_2', 7 ); // 7 hours
var string_5 = translate( dictionary, 'en', 'key_3.nested_1' ); // Hello!
var string_6 = translate( dictionary, 'en', 'key_3.nested_2', 3 ); // 3 kittens

French

import translate from 'translatr'

var dictionary = {
  key_1: "Ayant risqué une fois, on peut rester heureux toute la vie",
  key_2: [ "$count", " ", [ "heure", "heures"] ],
  key_3: {
    nested_1: 'Bonjour!'
    nested_2: [ "$count", " ", [ "heure", "heures"] ]
  }
}

var string_1 = translate( dictionary, 'fr', 'key_1' ); // Ayant risqué une fois-on peut rester heureux toute la vie
var string_2 = translate( dictionary, 'fr', 'key_2', 0 ); // 0 heure
var string_3 = translate( dictionary, 'fr', 'key_2', 1 ); // 1 heure
var string_4 = translate( dictionary, 'fr', 'key_2', 7 ); // 7 heures
var string_5 = translate( dictionary, 'en', 'key_3.nested_1' ); // Bonjour!
var string_6 = translate( dictionary, 'en', 'key_3.nested_2', 3 ); // 5 heures

React/Redux i18n solution

redux-react-i18n

demo of redux-react-i18n