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

Tianium Mobile:在应用程序中设置区域设置(语言),mobile,internationalization,locale,titanium,Mobile,Internationalization,Locale,Titanium,我不太明白Tianium Mobile如何处理用户区域设置。 我现在已经建立了两个语言文件,至少英文版本运行良好。现在我希望能够在应用程序中设置语言环境,以便用户可以更改应用程序的语言 这是怎么做到的? 处理其他语言环境问题(如货币、日期格式等)的最佳方法是什么 谢谢你的回答! 干杯 Chris可以这样使用钛语言区域设置 var language = Titanium.Platform.locale; Titanium.App.Properties.setString('locale',lang

我不太明白Tianium Mobile如何处理用户区域设置。 我现在已经建立了两个语言文件,至少英文版本运行良好。现在我希望能够在应用程序中设置语言环境,以便用户可以更改应用程序的语言

这是怎么做到的? 处理其他语言环境问题(如货币、日期格式等)的最佳方法是什么

谢谢你的回答! 干杯
Chris可以这样使用钛语言区域设置

var language = Titanium.Platform.locale;
Titanium.App.Properties.setString('locale',language);
Titanium.App.language = language;

您可以使用以下模块


此模块帮助您遵循相同的i18n文件夹string.xml,它将仅在应用程序中强制使用该语言

使用和外部JS库可以在应用程序内强制切换语言。图书馆已经相当强大了


要更改应用程序的语言,您可以尝试以下操作,因为我使用相同的语言用于相同的目的:-

我在alloy.js中添加了这个

为了更改应用程序语言,我在表的单击侦听器上创建了一个用于选择的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中


希望这对你有帮助。更多信息

如果您之前的屏幕截图表明您正在构建一个iOS应用程序,它在TiLocal中的支持程度不如android。具体来说,您将无法访问currencyCode或currencySymbol。但是你可以格式化电话号码,我没有看到任何关于格式化日期的文档,但是你可以为此编写一个定制的JS解决方案。Brian,谢谢你的评论。事实上是这样。我希望除了自己编写代码之外,还有别的方法。我想太糟糕了。欢呼这个问题是4年前提出来的。Tianium.App.language不是Tianium使用的财产,是吗?这个例子到底应该做什么?设置Titanium.App.Properties.setString'locale','de'后;值Titanium.Platform.locale未更改..检查此项了解详细信息我已签出文档,我的问题是如何使用locale函数在运行时更改语言。此函数将属性locale设置为当前语言,将全局变量Ti.App.language设置为相同的值。这是毫无用处的
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');
}
function updateScreenForLanguage(){
    $.Back.text = (L('Back'));
    $.Title.text = (L('Profile'));
    $.labelLanguagePreference.text = (L("Language_Preference"));    
}