首页 > 解决方案 > 角度 10 翻译字符串 ID 不匹配

问题描述

我们有 Angular 10.1.4 并使用此命令来提取字符串:ng xi18n --ivy --format=xlf --output-path apps/my-app/src/i18n. 然后我将 xlf 转换为 json 格式,并在应用程序初始化期间加载 json 翻译loadTranslations(jsonTranslations)。似乎直截了当。在我的代码/模板中,我不使用自定义 ID,而是让 Angular 生成 ID。

当我运行我的应用程序时出现问题,我在控制台中收到此警告:

localize.js:392 No translation found for "8594131441489834924" ("Name can not contain numbers and special characters").

我在我的 xlf(和 json 文件)文件中看到了那个特定的字符串,但它的 ID 与控制台显示的不同。知道为什么相同字符串的运行时 ID 与 xi18n 生成的不同吗?

非常感谢帮助。

标签: angularlocalizationangular10

解决方案


对于那些将面临类似问题的人。问题是我们使用 --aot=false 参数在本地运行我们的服务器。由于我们使用 --ivy 参数运行我们的 xi18n,它为 aot 构建它。


推荐阅读