首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本地化与语言翻译

本地化与语言翻译
EN

Stack Overflow用户
提问于 2016-07-21 17:15:42
回答 1查看 386关注 0票数 0

我使用angular-translate,它工作正常。我有选择语言的选择框。

代码语言:javascript
复制
.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

代码语言:javascript
复制
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};

在视图中,这是有效的。

代码语言:javascript
复制
<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文件

代码语言:javascript
复制
.config(function(tmhDynamicLocaleProvider) {
tmhDynamicLocaleProvider.localeLocationPattern('bower_components/angular-i18n/angular-locale_{{locale}}.js');
});

在控制器中我添加了

代码语言:javascript
复制
$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;
    });

并且,如果我添加以下内容,则在视图中工作

代码语言:javascript
复制
<select ng-model="model.selectedLocale" ng-options="key as value for (key, value) in availableLocales" ng-change="changeLocale(model.selectedLocale)"></select>

但这给了我第二个选择框。我尝试在第一个选择框中添加类似这样的内容,但这不起作用

代码语言:javascript
复制
<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>

如果有人能帮我,谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-07-21 17:58:36

我修好了这个,我就开始

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38499945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档