0.0.2 • Published 8 years ago

any-translate-adapter-babelfish v0.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

any-translate-adapter-babelfish

Adapt babelfish for any-translate i18n decorator library.

Example

/* @flow */

import type {
    TokenSubject,
    Translator,
    TokenizedTranslate
} from 'any-translate'

import {
    createTranslate,
    createHasTranslation
} from 'any-translate'

import {createBabelfishTranslator} from 'any-translate-adapter-babelfish'

function onNotPresentTranslation(locale: string, message: string): void {
    console.log('Not present: ', locale, message)
}

const translator: Translator = createBabelfishTranslator(
    'ru_RU',
    {
        'module1': {
            'hello': 'Привет, #{name}',
            'helloWithLink': 'Привет, #{name}, ссылка: #{link}.'
        }
    },
    onNotPresentTranslation
);

const t: TokenizedTranslate = createTranslate(translator);
const hasT: (message: string) => boolean = createHasTranslation(translator);

function LinkWidget(some: any): void {
    //
}

const translated1: Array<TokenSubject>|string = t('module1.hello', {
    name: 'Вася',
    link: LinkWidget
});
// 'Привет, Вася'

const translated2: Array<TokenSubject>|string = t('module1.helloWithLink', {
    name: 'Вася',
    link: LinkWidget
});
// ['Привет, Вася, ссылка: ', LinkWidget, '.']