Skip to content

Instantly share code, notes, and snippets.

@Akiyamka
Last active December 5, 2018 14:11
Show Gist options
  • Save Akiyamka/247a12b55cfd75d79d51721c2496f6a0 to your computer and use it in GitHub Desktop.
Save Akiyamka/247a12b55cfd75d79d51721c2496f6a0 to your computer and use it in GitHub Desktop.
Перевод Event Brief / RVA

Перевод Event Brief / RVA

Кейсы:

A. Перевод статического заранее известного текста в интерфейсе.

Вперед, Назад, Сохранить, Обновить, Закрыть.

B. Перевод статического текста из заранее известных возможных вариантов с учетом контекста.

Шкала дохода - высокий / низкий. Шкала давления - высокое / низкое

C. Перевод динамического текста из внешних источников

Фид сообщений из твиттера, снэпчата

  • A. и Б. кейс решается тривиально
  • С. Кейс - врятли из идеи переводить фид выйдет что-то хорошее, скорее всего если мы вмешаемся в работу яндекса или гугла то сделаем только хуже. Я так же озвучил предложение что если очень захочется - можно пробегатся по полученным сообщениям и регуляркой заменять искомые слова

Существующие решения:

i18next

Дока
Общие принципы

В стандартных реализациях поддерживаюся

Кроме того имеется Очень хорошая поддержка

{
  locale: 'el',
  translations: {
    "home": "Καλώς 'Ηρθατε στο {name}!",
    "look": {
        "deep": "value of look deep"
    },
    "key1_interval": "(1){one item};(2-7){a few items};(7-inf){a lot of items};",
    "nesting2": "2 $t(nesting3)",
    "key": "The current date is {{date, MM/DD/YYYY}}"
  },
  fallbackLng: 'en'
};

Используется как:

<translate key="home" values={{name: "VASYA"}}/>
<translate key="look.deep" values={{name: "VASYA"}}/>

или

i18next.t('home', { name: "VASYA" });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment