【问题标题】:How use XMB translate files on Angular 9?如何在 Angular 9 上使用 XMB 翻译文件?
【发布时间】:2020-07-06 09:20:44
【问题描述】:

我知道如何使用 Angular XLF 文件进行翻译,但可以对其进行配置,使翻译文件具有 XMB 扩展名。

我采取的步骤是:

1) 将i18n标签放在html中

2) ng xi18n --output-path src/locale --format=xmb

3) 将messages.xmb复制到另一个名为message.it.xmb的文件中

4) 将 Angular json 配置为新翻译

"it": {
         "aot": true,
         "outputPath": "dist/it/",
         "i18nFile": "src/locale/messages.it.xmb",
         "i18nFormat": "xmb",
         "i18nLocale": "it",
         "i18nMissingTranslation": "error"
      }

当您使用 XLF 时,您必须将翻译放在属性中, 我认为在XMB的情况下不需要设置目标,翻译直接放在,例如:

<msg id="homeAboutMainTitle">
    Sobri Nozotris Italian
  </msg>

在构建时出现问题给我一个未知错误,有人知道如何使用 XMB 扩展吗?

错误是: 发生未处理的异常:不支持的翻译文件格式。 有关详细信息,请参阅“C:\Users\MyUser\AppData\Local\Temp\ng-u2rhGQ\angular-errors.log”。

【问题讨论】:

    标签: angular internationalization angular-i18n


    【解决方案1】:

    XLIFF 和 XMB 是不同的格式,不是同一种格式但扩展名不同。

    XMB 是 Google 特有的,可用的工具并不多。

    XLIFF 有什么问题?

    【讨论】:

      【解决方案2】:

      XLIFF 和 XMB 都可以在上述过程中使用,但方式非常不同。 XLIFF 保存每个句子的原始文本和匹配的翻译。

      XMB 保留原始文本,但在翻译时,会复制整个文件,并且文件中的文本会替换为翻译后的文本。您收到的错误很可能与翻译过程中引入的某些内容有关,这很常见。翻译人员可能会无意中编辑代码而不是文本,或者可能添加了导致中断的外来字符。

      您可以共享原始文件、翻译文件和错误日志吗?

      【讨论】:

        猜你喜欢
        • 2020-07-08
        • 1970-01-01
        • 1970-01-01
        • 2020-03-10
        • 2015-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多