sqlite - 如何在phonegap应用程序中存储翻译并保存用户首选项?

标签 sqlite cordova jquery-mobile translation

我正在使用 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/

相关文章:

javascript - 使用 Phonegap API Prompt 替换 javascript Prompt

javascript - 在应用程序重新启动之前,不会显示对文件的修改(文件 API)

jquery移动按钮颜色改变

javascript - 如何拆分 Javascript 和 HTML 文件?

java - 将事件处理添加到 Jframe 对话框

android - 将加载指示器/进度条添加到 Phonegap Android 闪屏

Android SQLite 土耳其语

javascript - 在phonegap应用程序中以下CSS的效果是什么?

android 数据库还是 xml/kml?

html - sqlite-fts3 : custom tokenizer?