我遇到了一个奇怪的兼容性问题,我无法使用字符串作为我的JSON的关键。例如,如果以下JSON是我的翻译文件,
{
"modules" : {
"localization": {
"modal" : "Modal localized (en-US)"
}
}
}
系统只能在没有键是字符串的情况下接受它,例如:
{
modules : {
localization: {
modal : "Modal localized (en-US)"
}
}
}
是否可以配置i18next来实现这一目标?
答案 0 :(得分:0)
来自http://i18next.com/pages/doc_init.html
<html>
<head>
<script type="text/javascript" src="jquery-1.11.1.js"></script>
<script type="text/javascript" src="i18next-1.7.4.js"></script>
</head>
<body>
<h1 data-i18n='key'>My First Heading</h1>
</body>
<script type="text/javascript">
var resources = {
dev: { translation: { key: 'value' } },
en: { translation: { key: 'value' } },
'en-US': { translation: { key: 'value' } }
};
i18n.init({
resStore: resources,
lng: 'en-US'
}, function(t) {
$("h1").i18n();
});
</script>
</html>
如果对您来说效果更好,您可以将对象加载到资源中,这只是一个简单的演示。我无法找到任何与美国有关的方法。作为一个字符串 - 它抱怨&#39; - &#39;如果它没有引号。这可以防止它加载外部资源,所以我认为你必须自己处理从某个地方加载资源。