При внедрении многоязычного веб-приложения с Ember мне пришлось использовать строки, которые были бы переведены на язык по выбору пользователя. Для Ember есть I18n.js, который делает именно это. Он предоставляет хелпер Handlebars, который берет ключевую строку и обрабатывает перевод: {{t login.username}} будет искать ключ «login.username» и заменять его соответствующим текстом текущего языка. Моя проблема заключается в том, что этот помощник принимает буквальное строковое значение и выполняет поиск с этим значением, но в некоторых местах я ссылаюсь на строку. Например, я перебираю массив хэшей с выражением {{#each}}, и тогда мне придется переводить значение из каждого хэша. То, что я хотел бы предоставить для перевода. Handlebars helper - это выражение, которое нужно было бы оценить в текущем контексте, чтобы определить ключ перевода. К сожалению, помощник, предоставленный I18n.js, не поддерживает этого. Как я могу использовать функциональность I18n.js с выражением вместо литерала?Как перевести динамический ключ с I18n.js
0
A
ответ
0
Хелпер Handlebars, предоставляемый I18n.js, использует функцию I18n.t (ключ, опции) для выполнения реального перевода. Вы можете написать свой собственный помощник, который использует эту же функцию. Вот пример реализации, который не поддерживает параметр «options».
Em.Handlebars.registerHelper('translate', function(keypath, options) {
var translationKey = Em.Handlebars.get (this, keypath, options);
return Em.I18n.t(translationKey);
});
Это может быть использовано в выражении Рули:
{{#each type in dishtypes}}
{{translate type.key}}
{{/each}}
Смежные вопросы
- 1. Как перевести динамический заголовок атрибута
- 2. Компонент Vue.js с Vuex.js (вместо vue-i18n.js)
- 3. Как глобально перевести AltGr ключ в Alt?
- 4. Ключ динамический в config.yml
- 5. PHP GET динамический ключ
- 6. PHP Динамический массив ключ
- 7. JSTL Hashmap и динамический ключ
- 8. Как создать динамический ключ для пары ключ/значение в JavaScript?
- 9. D3 динамический ключ JSON имена
- 10. Извлечь динамический ключ от JsonPath
- 11. Как проверить динамический ключ в словаре?
- 12. Как добавить словарь в динамический ключ?
- 13. Как использовать динамический внешний ключ в Django?
- 14. Как запросить динамический ключ - MongoDB дизайн схемы
- 15. Перевести динамический текст с английского на испанский в dotnet
- 16. Динамический ключ в пределах @Messages
- 17. Как использовать динамический ключ для работы с инфраструктурой сущности
- 18. Перевести данные с помощью другого типа Первичный ключ
- 19. Как перевести PEM открытый ключ в OpenSSL RSA * структуры
- 20. Динамический ключ C# обесценивает статические шаблоны IOC?
- 21. Что правильный способ перевести «динамический» строки в PyQt
- 22. настройка hstore в rails4, динамический ключ/значения
- 23. Перевести статическую страницу с qTranslate
- 24. Обновление Mongo array: удалить динамический ключ
- 25. Динамический ключ POST в данных jQuery
- 26. Динамический ключ массива во время цикла
- 27. Как отправить динамический ключ и значение как в jQuery Ajax?
- 28. Как использовать перевести службу и перевести фильтр
- 29. Rails динамический внешний ключ для отношений has_many
- 30. Генерировать динамический ключ в i18n AEM