Cordova中的多语言内容

时间:2016-12-15 15:30:37

标签: angularjs cordova ionic-framework cordova-plugins multilingual

我刚刚开始帮助开发一款使用cordova& amp;离子。我正在寻找一种方式来提供多种语言的内容,例如菜单标签,类别名称等。当然我可以简单地将它们全部放入一些js变量并动态设置它们,但我想知道是否有更优雅的解决方案。

很抱歉,如果有一些明显的答案,当我搜索它时,我只找到了平台(例如android)特定的答案,但显然这应该是一种通用的方法。

干杯&谢谢!

1 个答案:

答案 0 :(得分:0)

要在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");
祝你好运,如果你不理解我所说的一切,请阅读文档!