Javascript 如何将语言更改为多个文件,而不是i18next中的一个文件?
我正在使用i18next和localstorage更改我网站的语言(带有标记的传单地图)。我将所有语言都放在一个名为lang.js的文件中。我想把它分成多个文件,每个文件对应一种语言。我怎么能做到 链接到github上的语言文件: 我的职能:Javascript 如何将语言更改为多个文件,而不是i18next中的一个文件?,javascript,i18next,Javascript,I18next,我正在使用i18next和localstorage更改我网站的语言(带有标记的传单地图)。我将所有语言都放在一个名为lang.js的文件中。我想把它分成多个文件,每个文件对应一种语言。我怎么能做到 链接到github上的语言文件: 我的职能: $(document).ready(function() { var language = "en"; if (localStorage.getItem("language") != null) language = lo
$(document).ready(function() {
var language = "en";
if (localStorage.getItem("language") != null)
language = localStorage.getItem("language");
i18n.init({
lng: language,
resStore: resources,
fallbackLng: "en"
}, function(o) {
$(document).i18n()
}), $(".lang").click(function() {
var o = $(this).attr("data-lang");
localStorage.setItem("language", o);
i18n.init({
lng: o
}, function(o) {
$(document).i18n()
})
})
});
语言示例(在同一文件中):
我不确定你是否还需要一个答案,所以我将把这个放在这里,以防其他人面临类似的问题 我在类似情况下所做的是:
$(document).ready(function() {
var language = "en";
if (localStorage.getItem("language") != null)
language = localStorage.getItem("language");
i18n.init({
lng: language,
resGetPath: '/languages/__lng__.min.json',
fallbackLng: "en"
}, function(o) {
$(document).i18n()
}), $(".lang").click(function() {
var o = $(this).attr("data-lang");
localStorage.setItem("language", o);
i18n.init({
lng: o
}, function(o) {
$(document).i18n()
})
})
});
这将为您提供每种语言的文件,您可以从文件中删除语言密钥:
{
"translation": {
"help": "Help Me!
}
}
如果您有多个名称空间,还可以通过以下方式为每个名称空间使用一个文件:
resGetPath: "/languages/__lng__/__ns__.min.json"
您的文件/languages/en/translation.min.json
不应包含名称空间的键,如下所示:
{
"help": "Help Me!
}
令人惊叹的!这就是我想要分开的语言文件!我到家后会测试。谢谢你,我想我做错了什么。翻译不起作用。如果resGetPath为'/js/languages/__lng__.json',则文件必须为:js/languages/en.json?此外,文件的开头应该是这样的:
{“translation”:{“AddYourNote”:“AddYourNote”,
{
"help": "Help Me!
}