【发布时间】:2016-08-15 23:50:36
【问题描述】:
我正在寻找一个国际化框架并遇到了jqueryi-18next.js。实际上,我对使用此插件感到非常困惑,因为示例文件中的代码与文档中的代码不同。
我修改后的 sample.html,我在其中添加了两个语言资源(de、fr),当我更改脚本中的“lng”值时它工作正常。
i18next.init({
lng: 'de',
resources: {
en: {
translation: {
nav: {
page1: 'Page One',
page2: 'Page Two',
page3: 'Page Three'
}
}
},
de: {
translation: {
nav: {
page1: 'Seite Eins',
page2: 'Seite Zwei',
page3: 'Seite Drei'
}
}
},
fr: {
translation: {
nav: {
page1: 'Page Un',
page2: 'Page Deux',
page3: 'Page Trois'
}
}
}
}
}, function(err, t) {
i18nextJquery.init(i18next, $);
$('.nav').localize();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-i18next/0.0.14/i18next-jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/2.0.22/i18next.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.js"></script>
<ul class="nav">
<li><a href="#" data-i18n="nav.page1"></a></li>
<li><a href="#" data-i18n="nav.page2"></a></li>
<li><a href="#" data-i18n="nav.page3"></a></li>
</ul>
根据文档,插件的初始化使用:
jqueryI18next.init(i18nextInstance, $, {...
此外,如果我从repository 加载 jquery-i18next.min.js,它根本不起作用,我只能看到列表项点。
我基本上想要实现的目标如下:
- 使用锚链接(en/de/fr)更改语言,无需重新加载整个页面。
- 从文件中加载翻译。我确实根据带有子文件夹(en/de/fr)的语言环境中的文档保存了三个 translation.json 文件,但没有任何成功,只有列表项点可见! :(
我不知道该怎么做,因此我非常感谢任何帮助!
非常感谢您!
【问题讨论】: