更改默认的语言环境

时间:2020-04-03 11:34:23

标签: angular internationalization locale angular8

我用法语构建了一个角度应用程序,所以现在我想使用国际化(i18n)在其他语言(例如En)中提供它,因此问题是Angular的默认语言环境是En-es,当我编写此{{ 1}},我有这个

<span i18n>Mes endroits</span>

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

因此我可以将默认语言环境更改为fr,还是必须用英语重写代码并提供 messages.fr.xlf

3 个答案:

答案 0 :(得分:2)

这应该可以通过在sourceLocale文件中设置angular.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文件都正确地归属了。

答案 1 :(得分:1)

以下是angular提供的文档。

Stackblitz link

在app.module.ts中将其添加到提供程序中:

{ provide: LOCALE_ID, useValue: 'de-DE'}

答案 2 :(得分:0)

这可以帮助您ngx-translate/ng2-translate,该库在有角度的项目中非常常见。

我个人比较喜欢这样翻译。

您将能够使用翻译管道。像这样

<p>{{ 'myPlaces' | translate }}</p>

然后在fr.json中定义:

{ 'myPlaces' : 'Mes endroits' }

我让您检查文档