【问题标题】:Can you translate dynamic messages in new AngularJS i18n system (coming in 1.4)?你能在新的 AngularJS i18n 系统(1.4 版)中翻译动态消息吗?
【发布时间】:2015-04-12 09:23:40
【问题描述】:

我正在开始一个新的 Angular 项目,目前正在研究如何处理客户端和服务器端的翻译。

我听说 AngularJS 1.4 将提供一种新的更好的“角度”方式来执行 i18n,但我一生都找不到任何真正好的文档。

我知道有很多工具可以直接从 HTML 文件中提取文本。但是,从 Javascript 动态插入的文本呢?比如 API 调用失败时的错误消息——甚至是直接来自 API 的错误消息?

使用 angular-translate(具有键值转换)似乎很容易,但由于这是一个新项目,因此选择官方支持的最新解决方案似乎是明智之举(很快)。

我想错了吗?我什至应该有来自 javascript 的动态消息吗?具有 API 的服务器是否应该负责传递正确翻译的错误消息?

我看过:“Better i18n for your Angular apps Chirayu Krishnappa 和 Pascal Precht”,并阅读了官方网站上的“i18n 和 l10n”开发人员指南,但对我没有帮助。

【问题讨论】:

    标签: javascript angularjs api internationalization translation


    【解决方案1】:

    新的 i18n 解决方案基于预编译步骤,以使客户端和服务器端解决方案都成为可能。此时,应用程序逻辑没有被执行,因此来自 JavaScript 世界的消息在本地化进程中仍然是未知的。

    这意味着,模板中的所有消息都需要在编译时可用,因为这是我们所依赖的数据。

    底线:消息需要位于它们所属的位置,即模板,但可以在运行时使用 ng-if 等指令有条件地显示。例如。错误信息在这里。

    【讨论】:

      猜你喜欢
      • 2014-03-29
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 2017-06-20
      • 1970-01-01
      相关资源
      最近更新 更多