【问题标题】:How do I convert ICU formatted strings into an TMX (Translation memory exchange) file?如何将 ICU 格式的字符串转换为 TMX(翻译记忆交换)文件?
【发布时间】:2021-12-20 19:01:48
【问题描述】:

我正在尝试将多个数据源和语言环境聚合到一个 TMX translation memory file

我似乎找不到任何关于如何实现转换为 TMX 格式的好的文档/现有工具。 These converters are the closest thing I have found but they do not appear to be sufficient for formatting ICU syntax.

现在我已将字符串提取为 JSON 格式,如下所示:

{
  foo_id: {
    en: "This is a test",
    fr: "Some translation"
  },
  bar_id: {
    en: "{count, plural, one{This is a singular} other{This is a test for count #}}",
    fr: "{count, plural, one{Some translation} other{Some translation for count #}}"
  }
}

根据有多少翻译供应商在提交内容时允许 ICU 格式化,然后将他们的 TM 导出为.tmx 文件,感觉这一定是一个已解决的问题,但信息似乎很少,有人有这方面的经验吗?我正在使用formatjs 来编写 ICU 字符串。

【问题讨论】:

  • 可能很难找到 ICU - TMX 转换器,因为这些格式用于不同的目的。 ICU 是一种格式化可本地化资源的方式,而 TMX 用于交换翻译记忆库数据库。您可能会更幸运地找到一种在 ICU 和 XLIFF(另一种广泛使用的可转换为 TMX 的交换格式)之间转换的方法。 ICU 似乎是一种有趣的方法,但我很少看到它在实践中实施。还有 .po (gettext) 支持复数规则。同样,我想说与 .resx 等简单的键/值格式相比,采用是有限的

标签: localization internationalization translation icu formatjs


【解决方案1】:

由于 TMX 仅真正支持带有简单占位符(不是复数形式)的普通段,因此从 ICU 转换为 TMX 并不容易。

在翻译工具中对 ICU 的支持似乎相当不完整,但还有另一种格式可以完成类似的工作并提供更好的支持:.po gettext。通过 .po 访问 TMX 可能可行:

  1. 使用这个工具ICU2po从ICU转换为.po格式
  2. 将 .po 文件导入 TMS,例如Phrase 或 CAT 工具,例如Trados
  3. 运行人机翻译过程
  4. 导出 TMX

【讨论】:

    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多