Cordova 中的多语言内容
Multi-language Content in Cordova
我刚刚开始帮助开发一个使用 cordova 和 ionic 构建的跨平台移动应用程序。我正在寻找一种提供内容的方法,即以多种语言提供菜单标签、类别名称等内容。当然我可以简单的把它们都放到一些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");
祝你好运,如果你不理解我所说的一切,请阅读文档!
我刚刚开始帮助开发一个使用 cordova 和 ionic 构建的跨平台移动应用程序。我正在寻找一种提供内容的方法,即以多种语言提供菜单标签、类别名称等内容。当然我可以简单的把它们都放到一些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");
祝你好运,如果你不理解我所说的一切,请阅读文档!