【问题标题】:Adding new translations添加新翻译
【发布时间】:2020-11-05 22:51:25
【问题描述】:

我正在使用 FormatJS 来本地化我的应用程序。有一个方便的 CLI 可以从代码库中提取所有翻译。我可以生成 en.json 文件,并将其发送给翻译器。当我得到翻译后,我可以将它保存为 fr.json。到现在为止还挺好。 我不明白当我在我的应用程序中添加新翻译时该怎么做。当我再次运行 formatjs extract 时,我得到一个新的 en.js 文件,其中包含所有密钥。显然我不想将整个内容再次发送给翻译。我可以将新的 en.json 与以前的版本进行比较,但这是一个基本的步骤,我觉得我一定错过了什么?我在文档中没有找到任何关于此的内容。 FormatJS 如何处理这部分工作流程?

【问题讨论】:

  • 提取此类差异的一种方法是使用新工具“attranslate”:github.com/fkirc/attranslate 虽然 attranslate 旨在用于半自动翻译,但也可以仅用于提取差异

标签: localization internationalization formatjs


【解决方案1】:

似乎翻译服务通常负责区分数据。您将整个模板文件发送给他们,他们将所有翻译的字符串(新的+已经翻译的)发回翻译文件。至少这就是它与我公司使用的提供商的合作方式。 我的工作流程如下:

  • 使用 intl.formatMessage() 在源代码中添加新的翻译
  • formatjs extract新建en.json文件(模板文件)
  • 将翻译文件(例如 es.json、fr.json 等)替换为提供者提供的新文件
  • formatjs compile生成机器文件

我还创建了一个测试,确保 en.json 中的每个键在每个翻译文件中都有对应的键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2017-08-09
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    相关资源
    最近更新 更多