我正在使用 jQuery Mobile 开发 Phonegap 应用程序。这是一个非常基本的应用程序,其目的是用西类牙语和英语显示有关大型组织的信息。该应用程序的第一页显示 2 个选项:西类牙语和英语。如果用户选择西类牙语,则显示的信息必须是西类牙语,反之亦然。
使用 SQLite DB 可能会在 Windows Phone 上出现一些问题,因为它尚不受支持(请参阅 Phonegap Storage )。
有 File Storage选项也。还有原始 JSON 文件。
最佳答案
我的方法是创建一个特定于语言的 json 文件来保存所有字符串。在本例中为 english.json 和 spanish.json。构造 json 如下:
{
help: "Help",
ok: "Okay"
}
在应用程序的第一页上,例如,当用户单击西类牙语按钮时,它应该在 localStorage 中设置一个值。
localStorage.setItem("lang", "spanish");
然后在第二页中,一旦收到“deviceready”事件,您应该使用 XHR 加载正确的 json 文件。
var request = new XMLHttpRequest();
request.open("GET", localStorage.getItem("lang") + ".json", true);
request.onreadystatechange = function(){//Call a function when the state changes.
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
langStrings = JSON.parse(request.responseText);
}
}
}
request.send();
现在,每当您想使用翻译后的字符串时,您都可以从 langStrings 中获取它。
langStrings.ok;
有道理吗?
关于sqlite - 如何在phonegap应用程序中存储翻译并保存用户首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13810201/