gpt4 book ai didi

javascript - 多语言支持 Cordova 应用程序

转载 作者:行者123 更新时间:2023-11-28 04:05:17 25 4
gpt4 key购买 nike

您好,我想让我的 Cordova 移动应用程序成为多语言。我在资源文件夹中有两个js文件{lang.en.js和lang.tr.js}。在文件中,下面有一个用于语言的字符串对象。

var strings = {
app_name: "Capser",
facebook_login_btn: "Login with Facebook",
gmail_login_btn: "Login with Gmail"
}

现在我想根据移动语言选择语言。我安装了全局化插件并在下面编写了函数。

function setLanguage() {
if (typeof (localStorage.language) === 'undefined') {
if (typeof (navigator.globalization) !== 'undefined') {
navigator.globalization.getPreferredLanguage(function (language) {
if (language.value.indexOf('en') != -1)
localStorage.language = 'en';
else
localStorage.language = 'tr';
}, function () {
localStorage.language = 'tr';
}
);
}
else if (typeof (navigator.language) !== 'undefined') {
var language = navigator.language;

if (language.indexOf('en') != -1)
localStorage.language = 'en';
else
localStorage.language = 'tr';
}
else {
localStorage.language = 'tr';
}
}
}

在index.js中,我首先调用这个函数,然后选择js文件。

setLanguage();
var languageScript = 'resources/lang.' + localStorage.language + '.js';

我的问题从这里开始。我想从文件中访问这个字符串对象。

$.getJSON(languageScript, function (data) {
console.log(data);
});

我在上面写了,但不起作用。如何从js文件中获取数据?

提前致谢

最佳答案

由于您的目标文件不是 JSON,因此您不应使用 getJSON 方法。但是,如果您想导入此语言文件,并假设该文件中您唯一拥有的就是语言翻译,则可以选择使该文件成为纯 JSON,并使用 $.getJSON 导入它们如上所述,它应该可以工作。例如,lang.en.js 应该是:

{
app_name: "Capser",
facebook_login_btn: "Login with Facebook",
gmail_login_btn: "Login with Gmail"
}

然后您可以使用 $.getJSON 通过 jQuery 加载此文件,并且在其回调中,您应该获取翻译数据。

关于javascript - 多语言支持 Cordova 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46753305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com