我正在使用命令行工具 (ng-xi18n
) 从我编写的 Angular 2 应用程序中提取 i18n 字符串。此命令的输出是 messages.xlf
文件。来自 .po
背景,不熟悉.xlf
, 我假设这个文件相当于 .pot
文件(如果我错了,请纠正我)。
然后我假设如果我想翻译我的应用程序,我必须 cp messages.xlf messages.de.xlf
拥有模板文件( messages.de.xlf
)的副本( messages.xlf
),我可以在其中将每条消息翻译成德语(因此是 .de.xlf
)。
在翻译了一些虚拟文本并运行应用程序后,我看到它按预期工作,所以我停止翻译并继续开发应用程序。一段时间后,我添加了更多 i18n 字符串,最终认为我必须更新我的模板。这就是事情变得难以维护的地方。我更新了模板 messages.xlf
文件,很快就想知道如何将新字符串更新为已翻译的 messages.de.xlf
文件而不丢失我的进度。
当我使用 .po
进行开发时文件,多亏了像 poEdit 这样的好工具,这没问题,但我没有找到与 .xlf
类似的东西.在尝试了一些工具之后,我认为最好的选择是 Lokalize,但我也没有找到将模板文件合并到已经翻译(但过时)的文件的可能性。
到目前为止,这更像是一篇文章而不是一个问题,所以这里有一个简短的总结:
.xlf
的工作流程吗?文件真的可以媲美 .po
正如我最初的想法(如上所述),还是完全不同? .xlf
的最佳实践是什么?文件? .xlf
? 旁注:
.de.xlf
中。文件。 提前感谢您的帮助,我真的很感激
最佳答案
我写了一个名为 xliffmerge 的小型 npm 命令行工具。
原则上,它的作用与 Roland Oldengarm 的博客文章中描述的 gulp 任务相同。
它是免费的,您可以查看 https://github.com/martinroob/ngx-i18nsupport#readme
关于xliff - XLIFF 的工作流程/最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39350177/