Titanium Mobile:在应用程序中设置区域设置(语言)

时间:2011-04-21 13:02:44

标签: mobile internationalization locale titanium

我不太了解如何在Titanium Mobile中处理用户区域设置。 我现在已经设置了两个语言文件,至少英文版本工作正常。现在我希望能够在应用程序中设置区域设置,以便用户可以更改应用程序的语言。

这是怎么做到的? 处理货币,日期格式等其他区域设置问题的最佳方法是什么?

感谢您的回答! 干杯 克里斯

4 个答案:

答案 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中强制切换语言。该库已经非常强大。

http://i18njs.com/

答案 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;