首页 > 解决方案 > 以角度更改默认语言环境

问题描述

我用法语构建了一个角度应用程序,所以现在我想使用国际化(i18n)以其他语言(如 En)提供它,所以问题是 Angular 的默认语言环境是 En-es,当我写这个时<span i18n>Mes endroits</span>,我有这个

<file source-language= "en-US" datatype="plaintext" original="ng2.template">// source is English
    <body>
      <trans-unit id="4df6e2173dc9d9f8c60481273cf3371981e60fde" datatype="html">
        <source>Mes endroits</source> ... // but this is in french

我希望源语言是fr并提供例如messages.en.xlf

那么我可以将默认语言环境更改为 fr 吗,或者我必须用英语重写我的代码并提供 messages.fr.xlf

标签: angularinternationalizationlocaleangular8

解决方案


这应该可以通过sourceLocaleangular.json文件中设置。就我而言,核心应用程序是德语,因此文件的相关部分如下所示:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "angular-client": {
      "i18n": {
        "sourceLocale": {
          "code": "de",
          "baseHref": ""
        },
        "locales": {
          "en": {
            "translation": "src/locale/messages.en.xlf",
            "baseHref": ""
          }
        }
      }
    }
  }
}

对我来说,这正如预期的那样工作,XLF 文件的属性都正确。


推荐阅读