jvi*_*tti 80 angularjs angular-translate
有没有办法在控制器中获取当前使用的语言(没有$translateProvider)?
在$translate服务中找不到任何东西.
cha*_*tfl 153
$translate.use() 是一个吸气者和二传手.
请参阅文档链接中的此演示:
http://jsfiddle.net/PascalPrecht/eUGWJ/7/
Pas*_*cht 40
$translate.use()是要走的路.此外,当执行异步加载器时,您可能希望使用$translate.proposedLanguage()它返回当前加载但尚未完成加载的语言的语言键.
Joa*_*uez 36
当使用角转换-架静态文件,我已经注意到,$translate.proposedLanguage()返回undefined使用默认的语言时,而$translate.use()总是返回所提出的语言.
因此,我使用以下方法修复它:
var currentLang = $translate.proposedLanguage() || $translate.use();
Run Code Online (Sandbox Code Playgroud)
该$translate服务有一个名为preferredLanguage()return 的方法返回你想要的.此函数的返回是语言的字符串,如'en'.
我给你写了一个例子:
angular.module('traslateApp').controller('myController', ['$scope', '$translate', function($scope,$translate){
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};
$scope.getCurrentLanguage = function () {
$translate.preferredLanguage();
};
}])
Run Code Online (Sandbox Code Playgroud)
小智 8
$translate.use()似乎不适用于应用程序的初始加载,从存储中获取最后选择的语言:$translate.storage().get( $translate.storageKey() )
或者只是
$translate.proposedLanguage();
| 归档时间: |
|
| 查看次数: |
73613 次 |
| 最近记录: |