如何在运行时使用Appcelerator更改语言应用

比尔卡斯特里

我使用AppCelerator为iOS和Android构建应用程序。

所以我创建了在i18n下的两个文件夹

i18n
--en
----string.xml
--it
----string.xml

在string.xml中,我插入了一些资源。

现在如何在运行时更改应用程序的语言???

我正在尝试这样做,但不起作用:

Ti.App.Properties.setString('SETTING_LANUAGE','it');
Prashant Saini

有多种方法可以在运行时更改应用程序语言,但它只会更改应用程序的语言,而不会更改整个设备的语言。因此,我希望这是您要实现的目标。

我知道的简单解决方案是:

  • 例如,使用L(“ appTitle”)方法更改语言。

这是使用上述方法的简短代码段:

和-> strings.xml

<string name="en_home">Home</string>
<string name="en_cl">Change Language</string>

它-> strings.xml

<string name="it_home">Casa</string>
<string name="it_cl">Cambia lingua</string>

Alloy.js

// you can set this to any language at default or you can save the last applied language in the app
Alloy.Globals.Lang = "en_";

index.js

var win = Ti.UI.createWindow({
    backgroundColor : "#aaaaaa"
});
var lang = Alloy.Globals.Lang;

var label = Ti.UI.createLabel({
    text : L(lang + "home")
});

var btn = Ti.UI.createButton({
    title : L(lang + "cl"),
    bottom : 50,
    color : 'white',
    backgroundColor : "#0aa"
});
btn.addEventListener('click', changeLanguageItalian);

win.add(label);
win.add(btn);

win.open();

function changeLanguageItalian() {
  Alloy.Globals.Lang = "it_";
  lang =  Alloy.Globals.Lang;
  btn.title = L(lang+"cl");
  label.text = L(lang+"home");
}

请注意,这只是有关如何在运行时更改语言的简单说明。您可以根据自己的应用尝试任何感觉合适的东西。祝好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章