javascript - AngularJS 中的动态语言选择

标签 javascript angularjs angular-translate

您好,我正在 Angularjs 中开发一个应用程序。该网站将有两种语言。他们是阿拉伯语和英语。 Belo 是我用于选择语言的逻辑。 如果浏览器默认语言是阿拉伯语,则以阿拉伯语显示网站。 如果浏览器默认语言不是阿拉伯语,则以英语显示网站。

我还在网站上保留了图像(阿拉伯语和英语)以在语言之间切换。

  <div class="language"><a href="#"><img src="images/arabic.png"></a></div>
        <div class="language"><a href="#"><img src="images/en-english-language-browser-function-512.png"></a></div>

现在有两个 anchor 标记。我正在尝试根据语言选择将图像绑定(bind)到 anchor 标记。我不需要 2 个 anchor 标记。

app.controller('RoslpAppController', ['$scope', '$translate', 'toastr', '$window', function ($scope, $translate, toastr, $window) {
    debugger;
    var lang = $window.navigator.language || $window.navigator.userLanguage;
    if (lang === 'ar-sa')
    {
        $translate.use('de_AR');
         //bind arabic.png
    }
    else
    {
        $translate.use('de_EN');
         //bind english.png
    }
}]); 

我是 Angular 世界的新手。我可以得到一些帮助来完成这个任务吗?任何帮助,将不胜感激。谢谢。

最佳答案

这不是 Controller 的问题,您不应该使用 Controller 进行语言选择。

您应该为此使用配置阶段,就像这样。

app.config(function($translateProvider) {
  $translateProvider.translations('en', {
    HEADLINE: 'Hello there, This is my awesome app!',
    INTRO_TEXT: 'And it has i18n support!',
    BUTTON_TEXT_EN: 'english',
    BUTTON_TEXT_DE: 'german'
  })
  .translations('de', {
    HEADLINE: 'Hey, das ist meine großartige App!',
    INTRO_TEXT: 'Und sie untersützt mehrere Sprachen!'
    BUTTON_TEXT_EN: 'englisch',
    BUTTON_TEXT_DE: 'deutsch'
  });
  $translateProvider.preferredLanguage('en');
});

关于javascript - AngularJS 中的动态语言选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43493019/

相关文章:

javascript - 解构和重命名属性

javascript - Angular Js 中一个或多个实体的验证失败

angularjs - Angular $translate 中 interpolationId 的目的是什么

javascript - 一年后,仍然在单元测试、集成测试和端到端测试中挣扎

javascript函数中的php

javascript - JavaScript 中的垂直 slider

javascript - 从外部按钮清除 Angular Bootstrap UI 选项卡集中与文本区域关联的 ng-model

css - D3 生成的 linearGradient 在 Firefox/IE 中不起作用

javascript - 使用translatePartialLoader时如何解决 Angular 翻译FOUC问题?

javascript - 数组引用中的 Angular 翻译