javascript - Angularjs 1.5.x 本地化最佳实践

标签 javascript html angularjs

Here

For newer versions of the framework (>=1.4.0) use the built-in i18n tools, when using older versions (<1.4.0) use angular-translate.

In documentation本地化有很多步骤

我发现了

a) angular-localize

b) angular-localization

但他们有小星星。

本地化有哪些最佳实践?

我认为简单的方法是

  1. 在 html 中使用属性“lcz”

index.html

<div lcz>Hi <span>{model.Name}</span></div>
<div lcz>Hello <span>{model.Name}</span></div>
  • 使用 gulp 解析所有 html 并生成本地化资源(与之前生成的合并)
  • {
      "global": 
      {
       "Hi ": 
       {
        "en": "Global Hi en ",
        "ru": "Global Hi ru ",
       }
       "Hello ":
       {
        "en": "Global Hello en ",
        "ru": "Global Hello ru ",
       }
      }
      "index.html":
      {
       {
        "en": "Local Hi en ",
        "ru": "Local Hi ru ",
       }
       "Hello ":
       {
        "en": "",
        "ru": "",
       }
      }
    }
    
  • 运行构建本地化 html index.html > index.en.htmlindex.html > index.ru.html 其中文本将替换为本地化资源
  • 第一个 div 使用“Local Hi en”

    第二个div使用“Global Hello en”

    有类似的库吗?

    最佳答案

    从表面上看,如果你指的是语言翻译,那就是本地化。在这种情况下,您最好的选择是 angular-translate

    您可以在应用程序配置中指定语言,或将它们加载为 .json

    要指定需要翻译的内容,添加|翻译过滤器如

    <h2>{{ 'hello' | translate }}</h2>
    

    或使用translate指令:

    <h2 translate="hello"></h2>
    

    嗯,它比这更深入,它支持动态语言切换之类的东西,并且有一些扩展,例如 localStorage、用于记住用户语言偏好的 cookie,并且有很好的支持(和星星)

    关于javascript - Angularjs 1.5.x 本地化最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37268743/

    相关文章:

    javascript - $(document).AngularJS 的现成替代方案

    javascript - 如何重新运行当前$state的 Controller ?

    java - 在 Java 小程序运行失败时执行 JavaScript

    javascript过滤方法查询

    javascript - 停止输入提交表单 - 得到奇怪的结果

    javascript - 难以理解 DOM API

    javascript - 在 Canvas 中以 % 宽度居中圆圈

    javascript - Angular2 ng-if 有什么问题

    javascript - 如何正确结束或销毁扬声器实例而不出现 `illegal hardware instruction` 错误?

    javascript - 刷新页面后调用 setItem() 时 $windows.localStorage 重置