Im, использующий модуль gettext для углового обработки моих переводов. Это работает почти идеально. gettextgettext module in angularjs does not translate gettextCatalog.getString() в контроллере
Теперь у меня есть 2 контроллера. 1 называется basecontroller другими контроллерами для каждого представления. поэтому базовый контроллер подключен к тегу html и с помощью ngRoutes я присоединяю к каждому представлению diffrent-контроллер.
Теперь в базовом контроллере я установить язык так:
//set lang
$rootScope.selectedLang = 'NL';
//Switch language
$scope.setLang = function(type,lang) {
if (type == 'select') {
ngDialog.open({
template: 'views/popups/set-language.php',
className: 'ngdialog-theme-flat',
controller: 'BaseCtrl'
});
}
if (type == 'set') {
if (lang == 'nl') {
gettextCatalog.setCurrentLanguage('nl');
$rootScope.selectedLang = 'NL';
}
if (lang == 'en') {
gettextCatalog.setCurrentLanguage('en');
$rootScope.selectedLang = 'EN';
}
ngDialog.closeAll();
}
}
это работает отлично. Когда пользователь нажимает на NL, он переводится в NL, и когда пользователь нажимает на EN, он переводит тексты на eng.
Проблема в том, что для каждого контролера у меня также есть строки. это в JavaScript, так в searchcontroller, например, у меня есть:
$rootScope.stepText = gettextCatalog.getString("step_1_header");
эти переводы для глобальных вещей, как названия заголовка, что изменения в контроллер.
Это также отлично работает, но теперь проблема заключается в переключателе. Когда я переключаюсь на английский, все тексты переводятся, но не $ rootScope.stepText = gettextCatalog.getString ("step_1_header");
Я думаю, это потому, что я делаю переключатель в базовом контроллере. Кто-нибудь есть идея исправить это?