我正在使用 jQuery Mobile 开发一个 Phonegap 应用程序。这是一个非常基本的应用程序,它的目的是用西班牙语和英语显示一个大型组织的信息。在应用程序的第一页显示 2 个选项,西班牙语和英语。如果用户选择西班牙语,则显示的信息必须是西班牙语,反之亦然。
在 Windows Phone 上使用 SQLite DB 可能会出现一些问题,因为它尚不受支持(请参阅Phonegap Storage)。
还有文件存储选项。以及原始 JSON 文件。
我正在使用 jQuery Mobile 开发一个 Phonegap 应用程序。这是一个非常基本的应用程序,它的目的是用西班牙语和英语显示一个大型组织的信息。在应用程序的第一页显示 2 个选项,西班牙语和英语。如果用户选择西班牙语,则显示的信息必须是西班牙语,反之亦然。
在 Windows Phone 上使用 SQLite DB 可能会出现一些问题,因为它尚不受支持(请参阅Phonegap 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;
说得通?