【问题标题】:How do I gracefully load a specific localization file dynamically in AngularJS?如何在 AngularJS 中优雅地动态加载特定的本地化文件?
【发布时间】:2015-07-08 23:45:21
【问题描述】:

目前,我有一个具有en, de, jp 等语言代码的系统。我需要提供 8 种语言的本地化,所以如果我在这里手动添加脚本文件就可以了:

<script src='/js/locale/angular-locale_de.js'></script>.

但我需要能够在标题中动态加载它。我尝试使用 ("head").append() 使用 jQuery hack,但在 Chrome 上抛出错误,说不推荐使用 ASYNC 请求。

【问题讨论】:

  • 为什么需要动态执行此操作?根据 Angular 的文档,您可以同时将所有这些都放在应用程序中,它应该可以工作。
  • 那会怎样?我需要告诉应用程序使用特定语言代码加载适当的脚本。
  • 抱歉,我误读了他们的文档。你是对的,你一次只能加载一个。不过,这可能会让您感兴趣:sbouchard.github.io/angular-dynamic-i18n/#!/usage
  • 如果你有不同语言的不同代码,也许你应该使用一个字典,通过 key/getter 提供翻译,并将其作为 Angular 服务提供?

标签: javascript angularjs


【解决方案1】:

如果你已经在使用 jQuery,你可以使用http://api.jquery.com/jQuery.getScript/

【讨论】:

  • 会不会把它加载到头脑中,不这么认为?
【解决方案2】:

您不必发明轮子,有一个模块 - 角度动态定位 - 为此,它非常简单: https://github.com/lgalfaso/angular-dynamic-locale

如果您正在寻找翻译,那就去吧 http://angular-translate.github.io/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    相关资源
    最近更新 更多