localeLocationPattern не найден в угловом динамическом местоположении

0

я doo переводить с угловым переводом и локализацией с угловой динамической локализацией. Я пробую этот код, но локализация не изменилась. Я думаю, что проблема в том, что угловой не может найти localeLocationPattern. Вот код

app.config(function ($translateProvider, tmhDynamicLocaleProvider) {


$translateProvider.translations('en', {
LANGUAGE: 'Language',
LOG_OUT: 'Log out',
LOG_IN: 'Log in',

 });

 $translateProvider.translations('hr', {
LANGUAGE: 'Jezik',
LOG_OUT: 'Odjava',
LOG_IN: 'Prijava',

BUTTON_LANG_HR: 'Hrvatski',
BUTTON_LANG_EN: 'English'
  });

    $translateProvider.preferredLanguage('en');
    $translateProvider.useSanitizeValueStrategy('escape');
    $translateProvider.usePostCompiling(true);
    $translateProvider.useLocalStorage();


    //i think that angular can not find thistmhDynamicLocaleProvider.localeLocationPattern('https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.5.8/angular-locale_aa-dj.min.js'); 
    console.log(tmhDynamicLocaleProvider);
});

в контроллере я добавляю это

app.controller('klupeController', ['$rootScope', '$scope', '$translate', 'tmhDynamicLocale', '$locale', '$http', 
function ($rootScope, $scope, $translate, tmhDynamicLocale, $locale, $http)      {
 $locale, 'tmhDynamicLocale'
 $scope.changeLanguage = function (key) {
        $translate.use(key);
    };
    $rootScope.$on('$translateChangeSuccess', function (event, data) {
        // asking angular-dynamic-locale to load and apply proper AngularJS $locale setting
        tmhDynamicLocale.set(data.language);
        console.log(data.language);
   });
}]);
Теги:
angular-translate

1 ответ

0

Я исправлю это. Мое решение здесь. Я полностью удаляю

$rootScope.$on('$translateChangeSuccess', function (event, data) {
    // asking angular-dynamic-locale to load and apply proper AngularJS $locale setting
    tmhDynamicLocale.set(data.language);
    console.log(data.language);
 });

И задайте путь только в tmhDynamicLocale.js. После этого установите $ cookieStore, например

tmhDynamicLocaleProvider.useStorage('$cookieStore');

И, теперь работает, но когда я переключаю язык, локализация не изменяется, мне нужно обновить страницу, чтобы увидеть изменение. Для этого я устанавливаю в своем ctrl, где функция изменения языка и локализации, функция обновления страницы, как это

$scope.changeLanguage = function (key) {
        $translate.use(key);   
    };
    $rootScope.$on('$translateChangeSuccess', function (event, data) {
        // asking angular-dynamic-locale to load and apply proper AngularJS $locale setting
        tmhDynamicLocale.set(data.language);
         $state.go($state.current, {}, {reload: true});  //for page refresh
    });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню