【发布时间】:2013-04-19 17:03:02
【问题描述】:
我正在开发一个多语言的 PhoneGap 应用,并希望存储用户的语言偏好。在应用程序首次启动时,启动屏幕会出现 4 个标志,用户选择,然后被定向到该语言的登录页面。从那时起,应用程序加载会跳过初始屏幕并直接进入首选语言的登录页面。容易做到吗?建议?我熟悉 cookie/本地存储,但如果有人在我之前做过这件事,我会很感激具体的指示。谢谢。
【问题讨论】:
标签: cordova
我正在开发一个多语言的 PhoneGap 应用,并希望存储用户的语言偏好。在应用程序首次启动时,启动屏幕会出现 4 个标志,用户选择,然后被定向到该语言的登录页面。从那时起,应用程序加载会跳过初始屏幕并直接进入首选语言的登录页面。容易做到吗?建议?我熟悉 cookie/本地存储,但如果有人在我之前做过这件事,我会很感激具体的指示。谢谢。
【问题讨论】:
标签: cordova
你描述的应该很容易用 localStorage 来做。我在 Android 上使用它之前对其进行了研究,发现这个webpage 对code examples and explanations 很有帮助。很短很甜。
【讨论】:
保存到本地存储使用:
function saveLanuageID(languageID)
window.localStorage.setItem('lang', languageID);
从本地存储读取
function readLanguageID(){
if (typeof window.localStorage.getItem('lang')!== 'undefined' && window.localStorage.getItem('lang')!=null) {
return window.localStorage.getItem('lang');
}
else return false
}
您必须使用上面的代码测试保存的语言
if(!readLanguageID())
//redirect to splash
【讨论】:
我希望你使用本地存储,因为使用 cookie 在 IOS 中会出现一些问题。
【讨论】:
我遇到了同样的问题,但我采取了不同的方法。
语言文件位于单独的目录中,例如
/assets/www/de/index.html
/assets/www/en/index.html
用户可以通过工具栏中的按钮选择每个 Web 应用程序中的语言,该按钮会打开一个对话框。
在启动活动/屏幕中,我想在启动应用程序时选择所选语言,因此我必须知道本机(Android、iOS)选择了哪种语言。但是语言是在网络应用中选择的。
所以我创建了一个 PhoneGap 插件(目前只有 Android,但 iOS 会跟进),它允许我设置键/值对。在网络应用程序中,我设置了语言。本机(在活动中)我阅读语言(获取键/值对)并选择正确的 index.html。
我知道有一些解决方案可以让我在 Web 应用程序中存储日期。但我想要一个解决方案,让我可以从双方(本地和网络)访问值。
【讨论】: