Angular translate - 为下拉菜单返回.determinePreferredLanguage()的值

时间:2017-05-23 20:16:35

标签: angularjs angular-translate

我使用angular-translate创建了语言选择的下拉菜单。
我希望默认语言选择是从$translateProvider.determinePreferredLanguage()获得的值。我无法弄清楚如何访问此值。
下面的代码适用于允许用户更改语言,但默认情况下下拉菜单中没有显示任何内容。
我知道"{{$translateProvider.determinePreferredLanguage()}}"是错误的,因为它是函数本身而不是它返回的内容。但是,我无法弄清楚如何显示用户的默认语言。

<select ng-model="langKey" ng-change="changeLanguage(langKey)">
    <option value="">{{$translateProvider.determinePreferredLanguage()}}</option>
    <option ng-repeat="language in languages" value="{{language.abbr}}">{{language.lang}}</option>
</select>

在我的helperService.js文件中,我的语言定义如下:

helper.languages = [
 {abbr: "ar", lang: "العربية"},
 {abbr: "zh-cn", lang: "简体中文"},
 {abbr: "zh-tw", lang: "中國,繁體(台灣)"},
 {abbr: "en", lang: "English"},
 {abbr: "fr", lang: "Français"},
 {abbr: "de", lang: "Deutsch"},
 {abbr: "it", lang: "Italiano"},
 {abbr: "ja", lang: "日本語"},
 {abbr: "ko", lang: "한국어"},
 {abbr: "pt-br", lang: "Português (Brasil)"},
 {abbr: "ru", lang: "Pусский"},
 {abbr: "es", lang: "Español"}
];

因此,如果用户的默认值为'en',则默认情况下它应在下拉列表中显示“English”。或者,如果它是'de',它应该说'Deutsch'。有什么建议吗?

0 个答案:

没有答案