如何使用 appcelerator 在运行时更改语言应用程序
How to change language app at runtime with appcelerator
我正在使用 AppCelerator 为 iOS 和 Android 构建一个应用程序。
所以我在 i18n 下创建了两个文件夹
i18n
--en
----string.xml
--it
----string.xml
在string.xml我插入了一些资源。
现在如何在运行时更改应用程序的语言???
我正在尝试这样做但不起作用:
Ti.App.Properties.setString('SETTING_LANUAGE','it');
有多种方法可以在 运行 时更改应用程序语言,但它只会更改您应用程序的语言,而不会更改整个设备的语言。所以我希望这就是你想要实现的。
我知道的简单解决方案是:
- 例如使用L("appTitle")方法更改语言。
这是使用上述方法的简短代码片段:
zh -> 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");
}
请注意,这只是对如何在 运行 时更改语言的简单说明。你可以根据你的应用程序尝试任何你觉得合适的东西。祝你好运!
我正在使用 AppCelerator 为 iOS 和 Android 构建一个应用程序。
所以我在 i18n 下创建了两个文件夹
i18n
--en
----string.xml
--it
----string.xml
在string.xml我插入了一些资源。
现在如何在运行时更改应用程序的语言???
我正在尝试这样做但不起作用:
Ti.App.Properties.setString('SETTING_LANUAGE','it');
有多种方法可以在 运行 时更改应用程序语言,但它只会更改您应用程序的语言,而不会更改整个设备的语言。所以我希望这就是你想要实现的。
我知道的简单解决方案是:
- 例如使用L("appTitle")方法更改语言。
这是使用上述方法的简短代码片段:
zh -> 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");
}
请注意,这只是对如何在 运行 时更改语言的简单说明。你可以根据你的应用程序尝试任何你觉得合适的东西。祝你好运!