我剛開始幫助製作了一個由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