您可以在新的 AngularJS i18n 系统(1.4 中推出)中翻译动态消息吗?

Can you translate dynamic messages in new AngularJS i18n system (coming in 1.4)?

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

我听说 AngularJS 1.4 将提供一种新的更好的 'angular' 国际化方式,但我终究找不到关于它的任何真正好的文档。

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

的错误消息

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

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

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

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

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

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