Android 如何使用Appaccelerator为区域设置切换?

Android 如何使用Appaccelerator为区域设置切换?,android,ios,titanium,Android,Ios,Titanium,我有一个使用Appaccelerator构建的iPhone/Android应用程序。我已经将所有文本转换为语言环境(i18n//strings.xml),并且还实现了一个开关: <label for="flip-1" class="username">Language:</label> <select name="flip-1" id="flip-1" data-role="slider"> <option value="off">EN&l

我有一个使用Appaccelerator构建的iPhone/Android应用程序。我已经将所有文本转换为语言环境(i18n//strings.xml),并且还实现了一个开关:

<label for="flip-1" class="username">Language:</label>
<select name="flip-1" id="flip-1" data-role="slider">
    <option value="off">EN</option>
    <option value="on">NL</option>
</select>
语言:
EN
NL
这在Android和iPhone上运行得相当好


如何启用此select元素来更新应用程序中的活动语言区域设置,以便应用程序的语言会发生更改,并且在不重新启动应用程序的情况下是否可以这样做?

在运行时无法更改当前区域设置。语言环境取决于手机的当前语言,但您仍然可以进行一些变通。 在i18n目录中创建strings.xml文件,并将所有文本放在其中,如下所示:

<resources>
    <string name="en_car">Car</string>
    <string name="de_car">Auto</string>
</resources>

我没有测试它,只是想给你一些例子来处理它。您也可以像在Ti文档中一样传递提示选项:

这与我目前实现它的方式非常相似,唯一的区别是,我使用默认的L()函数。我似乎无法破解的是如何影响用于布局的.html文件中的语言。
Ti.App.defaultLang = "en"; // global variable with default language (set it in app.js)
function myL(str, lang) {
    if(lang && str) {
        return L(lang + '_' + str);
    } else {
        return L(Ti.App.defaultLang + '_' + str);
    }
}