我正在使用 FormatJS 来本地化我的应用程序。有一个方便的 CLI 可以从代码库中提取所有翻译。我可以生成 en.json 文件,并将其发送给翻译器。当我得到翻译后,我可以将它保存为 fr.json。到现在为止还挺好。我不明白当我在我的应用程序中添加新翻译时该怎么做。当我formatjs extract
再次运行时,我得到一个新的 en.js 文件,其中包含所有键。显然我不想将整个内容再次发送给翻译。我可以将新的 en.json 与以前的版本进行比较,但这是一个基本的步骤,我觉得我一定错过了什么?我在文档中没有找到任何关于此的内容。FormatJS 如何处理这部分工作流?
问问题
49 次
1 回答
1
似乎翻译服务通常负责区分数据。您将整个模板文件发送给他们,他们将所有翻译的字符串(新的+已经翻译的)发回翻译文件。至少这就是它与我公司使用的提供商的合作方式。我的工作流程如下:
- 使用 intl.formatMessage() 在源代码中添加新的翻译
formatjs extract
创建新的 en.json 文件(模板文件)- 用提供者提供的新文件替换翻译文件(例如 es.json、fr.json 等)
formatjs compile
生成机器文件
我还创建了一个测试,以确保 en.json 中的每个键在每个翻译文件中都有对应的键。
于 2021-01-27T22:15:57.207 回答