我刚开始帮助制作了一个由cordova &构建的跨平台移动应用程序。我正在寻找一种提供内容的方式,即以多种语言提供菜单标签,类别名称等内容。当然,我可以简单地将它们全部放入一些js变量并动态设置它们,但我想知道是否有更优雅的解决方案。科尔多瓦的多语言内容
对不起,如果有一些明显的答案,当我搜索它时,我只发现平台(例如android)的具体答案,但显然这应该是一个通用的方法。
干杯&谢谢!
我刚开始帮助制作了一个由cordova &构建的跨平台移动应用程序。我正在寻找一种提供内容的方式,即以多种语言提供菜单标签,类别名称等内容。当然,我可以简单地将它们全部放入一些js变量并动态设置它们,但我想知道是否有更优雅的解决方案。科尔多瓦的多语言内容
对不起,如果有一些明显的答案,当我搜索它时,我只发现平台(例如android)的具体答案,但显然这应该是一个通用的方法。
干杯&谢谢!
要在cordova上使用多种语言,您应该在AngularJS中搜索! 有一个名为“Translate”的函数,它在HTML中用作过滤器,并在JS中用作函数。 下面是文档:https://angular-translate.github.io/docs/#/guide 基本上,你有这样的例子:
navigator.globalization.getPreferredLanguage(function (language) {
var applanguage = (language.value).split("-")[0];
switch (applanguage) {
case 'fr':
appLanguage = 'fr';
break;
case 'de':
appLanguage = 'de';
break;
case 'en':
appLanguage = 'en';
break;
default:
appLanguage = 'fr';
break;
}
});
这是一个寻找设备的语言,但你必须把translation.js文件在你的配置文件夹中。
下面是一个例子文件:
yourApp.config(['$translateProvider', function($translateProvider){
$translateProvider.translations('en', {
my_string1: 'Hello',
my_string2: 'Goodbye',
});
$translateProvider.translations('fr', {
my_string1: 'Bonjour',
my_string2: 'Au revoir',
});
最后,这里是你如何运用它
在HTML:
<p>{{my_string1 | translate}}</p>
在JS:
$translate.instant("no_internet");
好运气,并阅读文档,如果你没有理解我说的一切!
“我可以简单地将它们全部放入一些js变量并动态设置它们”这有什么问题? – Eric