我使用angular-translate,它工作正常。我有选择语言的选择框。
.config(['$translateProvider', function($translateProvider) {
$translateProvider.translations('en', translationsEN);
$translateProvider.translations('hr', translationsCRO);
$translateProvider.preferredLanguage('en');
$translateProvider.fallbackLanguage('en');
$translateProvider.useSanitizeValueStrategy('escape');
$translateProvider.useSanitizeValueStrategy('sanitize'); */
}]); 下面是switch语言的ctrl
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};在视图中,这是有效的。
<ul class="dropdown-menu">
<li><a ng-click="changeLanguage('hr')" translate="BUTTON_LANG_CRO"></a></li>
<li><a ng-click="changeLanguage('en')" translate="BUTTON_LANG_EN"></a></li>
</ul>问题是,我想使用angular-i18n作为locale。和在相同的选择框上更改,与页面上的更改语言相同。如果我选择英语,请将language和localization...same更改为克罗地亚语等。
我添加了.config文件
.config(function(tmhDynamicLocaleProvider) {
tmhDynamicLocaleProvider.localeLocationPattern('bower_components/angular-i18n/angular-locale_{{locale}}.js');
});在控制器中我添加了
$rootScope.availableLocales = {
'en': 'English',
'hr': 'Hrvatski'};
$scope.changeLanguage('hr');
$rootScope.model = {selectedLocale: 'en'};
$rootScope.$locale = $locale;
$rootScope.changeLocale = tmhDynamicLocale.set;
sveKlupeServiceFactory.query(function (res) {
$scope.klupe = res.smart_benches;
});并且,如果我添加以下内容,则在视图中工作
<select ng-model="model.selectedLocale" ng-options="key as value for (key, value) in availableLocales" ng-change="changeLocale(model.selectedLocale)"></select>但这给了我第二个选择框。我尝试在第一个选择框中添加类似这样的内容,但这不起作用
<li><a ng-model="model.selectedLocale" ng-click="changeLanguage('hr'); changeLocale(model.selectedLocale)" translate="BUTTON_LANG_CRO"></a></li>
<li><a ng-model="model.selectedLocale" ng-click="changeLanguage('en'); changeLocale(model.selectedLocale)" translate="BUTTON_LANG_EN"></a></li>如果有人能帮我,谢谢
发布于 2016-07-21 17:58:36
我修好了这个,我就开始
<li><a ng-model="model.selectedLocale"
ng-click="changeLanguage('hr');
changeLocale('hr')" //here i set 'hr'
translate="BUTTON_LANG_CRO"></a> </li>
<li><a ng-model="model.selectedLocale"
ng-click="changeLanguage('en');
changeLocale('en')" //here i set 'en'
translate="BUTTON_LANG_EN"></a></li>https://stackoverflow.com/questions/38499945
复制相似问题