angular - 当 i18nMissingTranslation 设置为忽略时,消息错过翻译
问题描述
我正在尝试以多种语言为 Web 应用程序提供服务,但是尽管设置i18nMissingTranslation
为ignore
,它仍然会在缺少翻译时引发错误。
我已经尝试i18nMissingTranslation
在配置中设置,例如在官方i18n 文档prod
中定义的单个语言环境配置中并通过命令参数设置:
ng build --prod --i18nFormat xlf --i18nFile src/locale/messages.fr.xlf --i18nLocale fr --baseHref /fr/ --outputPath dist/fr/
导出消息的脚本:
"xi18n": "ng xi18n --i18n-locale en-US --output-path ./locale/ --out-file messages.en-US.xlf"
包含所有语言环境的配置:
"config": {
"locales": "en-US fr nl"
}
构建语言的脚本:
"build": "ng build --prod",
"build:loop": "for lang in ${npm_package_config_locales}; do LANG=${lang} && npm run-script build:i18n; done",
"build:i18n": "npm run-script build -- --i18nFormat xlf --i18nFile src/locale/messages.${LANG}.xlf --i18nLocale ${LANG} --baseHref /${LANG}/ --outputPath dist/${LANG}/"
如果尚未翻译所有翻译,我希望这可以让我导出缺少目标标签的网站。
相反,我收到每个缺少的目标标签的错误:
ERROR in xliff parse errors:
Message {} misses a translation ("
解决方案
解决方案不是按照指示复制空/模板翻译并更新语言来处理它们,而是手动创建一个新文件并从头开始放入新的翻译。
您不希望有缺少target
标签的条目,如果它们还没有被翻译,您就不应该拥有这些条目。
推荐阅读
- javascript - 当用户手动向上或向下滚动时重置当前部分计数器
- algorithm - 如何证明均匀分区是快速排序算法的最佳情况?
- android - 使用 java.io.IOException 不生成测试覆盖率报告
- c# - 抛出异常:UWP 后台任务中未知模块中的“System.TypeLoadException”
- c# - 使用 C# 在 MVVM 中使用组合框和按钮单击事件的不同方法?
- node.js - node-postgres 监听/通知超时
- android - 将数据从一个活动的 EditText 传输到另一个活动的 EditText
- php - 这是使用 PHP MySQL 设置用户访问级别的安全方法吗?
- android - 如何更新默认歌曲元数据?
- wordpress - woocommerce api是否有替代身份验证?