2014-11-19 1 views
3

JS: i18n.t("SOME TEXT TO BE TRANSLATED.")i18next точка в формате JSON ключа или метки

JSON: "SOME TEXT TO BE TRANSLATED.": "Een stukje tekst om te vertalen"

i18n.t("SOME TEXT TO BE TRANSLATED.") дает мне "SOME TEXT TO BE TRANSLATED.".

Если я удалить "" (точка) от метки и функции t, чем текст переводится.

Как это решить?

+0

ОК нашел решение. Изменено на o.keyseparator = "#" –

ответ

0

Вы можете использовать https://github.com/cheton/i18next-text. Это позволяет использовать перевод i18next, не имея ключа в виде строк, и вам не нужно беспокоиться об именовании ключей i18n. Кроме того, вы можете также зарегистрировать помощника i18n с Handlebars.

Ниже приведен простой пример:

var i18n = require('i18next'); 

// extends i18n object to provide a new _() method 
i18n._ = require('i18next-text')._; 

i18n._('Save your time and work more efficiently.'); 

Check out the demo на JSFiddle.

4

Documentation объясняет, что точка по умолчанию рассматривается как разделитель клавиш. Вы можете

  • заменить точку с .
  • положить точка вне переведенной строкой i18n.t("SOME TEXT TO BE TRANSLATED") + "."
  • смены ключей сепаратора

    Вы можете изменить пространство имен и/или ключевой разделитель настройки параметров на INIT:

    nsseparator = ':::' 
    keyseparator = '::' 
    
0

Вы можете установить «keySeparator»: false в опции init.

 Смежные вопросы

  • Нет связанных вопросов^_^