【发布时间】:2017-08-15 14:32:12
【问题描述】:
我正在从后端获取 JSON,我需要在 UI 上对其进行解析。 对于 JSON 中的所有键,我必须翻译它们并在 UI 上显示。
例如: i18n.t('key') 会给我翻译后的价值。
但对于某些键,例如“名称”、“日期” 例如: i18n.t('名字') 翻译给出以下输出 “key 'translation:name (en-US)' 返回一个对象而不是字符串。”
请你帮我处理一下这个场景。
【问题讨论】:
-
请分享代码示例。
-
Handlebar helper: Handlebars.registerHelper('t', function() { var params = getParamsFromArgs(arguments).join(''); var result = params && i18n.t(params) || ''; return new Handlebars.SafeString(result); }); html 中的模板:{{t 'name'}}或 Jquery $.t('name') 它给了我错误,而不是从 messages.property 替换值
-
试试 i18n.t('key', { returnObjects: true });你会看到 name 返回一个对象而不是字符串(默认情况下没有 returnObjects 选项 i18next 只允许字符串值作为有效的翻译)
标签: javascript jquery json i18next