$translate.use() - путь. Кроме того, когда выполняется асинхронный загрузчик, вы можете использовать $translate.proposedLanguage(), который возвращает языковой ключ для языка, который в настоящее время загружен, но еще не загружен.
Ответ 3
При использовании angular -translate-loader-static-files я заметил, что $translate.proposedLanguage() возвратил undefined при использовании языка по умолчанию, в то время как $translate.use() всегда возвращал предлагаемый язык.
Поэтому я исправил его, используя:
var currentLang = $translate.proposedLanguage() || $translate.use();
Ответ 4
Служба $translate имеет метод preferredLanguage(), который возвращает то, что вы хотите. Возврат этой функции - это строка языка, например 'en'.
Здесь я написал вам пример:
angular.module('traslateApp').controller('myController', ['$scope', '$translate', function($scope,$translate){
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};
$scope.getCurrentLanguage = function () {
$translate.preferredLanguage();
};
}])
Ответ 5
$translate.use() похоже, не работает при начальной загрузке приложения, чтобы получить последний выбранный язык из хранилища: $translate.storage().get( $translate.storageKey() )
или просто
$translate.proposedLanguage();