我不太了解如何在Titanium Mobile中处理用户区域设置。 我现在已经设置了两个语言文件,至少英文版本工作正常。现在我希望能够在应用程序中设置区域设置,以便用户可以更改应用程序的语言。
这是怎么做到的? 处理货币,日期格式等其他区域设置问题的最佳方法是什么?
感谢您的回答! 干杯 克里斯
答案 0 :(得分:0)
您可以使用以下模块
https://marketplace.appcelerator.com/listing?q=locale%20-#!/list/page/1/search=locale%20-
此模块可帮助您遵循相同的i18n文件夹string.xml,它将仅在您的应用程序内强制使用该语言。
答案 1 :(得分:0)
使用和https://github.com/fnando/i18n-js之类的外部JS库可以在app中强制切换语言。该库已经非常强大。
答案 2 :(得分:0)
要更改应用程序的语言,您可以尝试这样做,因为我出于同样的目的使用它: -
我已在 alloy.js
中添加了此内容var language = Ti.App.Properties.getString('selectedLanguage','es');
Alloy.Globals.language = language;
Ti.Locale.setLanguage(language);
为了更改应用程序语言,我创建了一个tableView供桌面选择点击监听器我正在更改应用程序语言
if(e.index == 0){
Alloy.Globals.language = 'es';
Ti.App.Properties.setString('selectedLanguage','es');
}else{
Alloy.Globals.language = 'en';
Ti.App.Properties.setString('selectedLanguage','en');
}
毕竟我正在刷新我的屏幕,在我的函数updateScreenForLanguage();
function updateScreenForLanguage(){
$.Back.text = (L('Back'));
$.Title.text = (L('Profile'));
$.labelLanguagePreference.text = (L("Language_Preference"));
}
希望这会对你有所帮助。更多Titanium internationalization
答案 3 :(得分:-1)
可以像这样使用Titanium语言区域设置
var language = Titanium.Platform.locale;
Titanium.App.Properties.setString('locale',language);
Titanium.App.language = language;