📜  @ngx-translate core (1)

📅  最后修改于: 2023-12-03 14:38:56.352000             🧑  作者: Mango

@ngx-translate/core

@ngx-translate/core 是一个 Angular 的国际化(i18n)库,它负责管理翻译文本,其旨在提供丰富的功能和灵活的配置,以便支持各种定位需求。

简介

@ngx-translate/core 通过使用翻译器服务(TranslateService)来扫描应用程序中以相应 ids 键标识的文本,并将其翻译成当前支持的语言。 默认情况下,@ngx-translate/core 使用的是浏览器所提供的语言环境。翻译文本可以按需预加载或延迟加载。

除了翻译,@ngx-translate/core 还支持使用参数、选择以及不同的复数和性别规则。

特点
  • 翻译器服务(TranslateService):放置和存储翻译文本;
  • 相应的指令用于延迟加载翻译文本;
  • 实用的过滤器(translate)和管道(TranslatePipe)使在模板中轻松使用翻译;
  • 通过集成 ng-pluralize 实现选择适当的数字;
  • 支持随着语言的更改而更改应用程序部分;
  • 支持多语言应用;
  • 全局配置同时还支持组件级配置;
  • 支持延迟加载和预加载;
  • 可以与 ngx-translate/http-loader 集成以从服务器端获取翻译;
  • 通过集成 messageformat 实现国际化形式。
安装

运行以下命令安装 @ngx-translate/core:

npm install @ngx-translate/core --save
使用

使用 TranslateService 对象翻译文本,如下所示:

import { TranslateService } from '@ngx-translate/core';

...

constructor(private translate: TranslateService) {
  this.translate.setDefaultLang('en');
  this.translate.use('en');
}

...

const someString: string = this.translate.instant('MY_TRANSLATION_ID');

在模板中轻松使用翻译(可以使用过滤器或管道):

<h1>{{ 'MY_TRANSLATION_ID' | translate }}</h1>

<h1>{{ 'MY_TRANSLATION_ID' | translate: someObject }}</h1>

必要时使用延迟加载指令:

<h2 [translate]="'MY_TRANSLATION_ID'" ></h2>

了解更多有关如何使用 @ngx-translate/core 的信息,请参考文档

支持

如果您在使用 @ngx-translate/core 库时遇到任何问题或错误,请提交问题或者Pull Request。感谢您的支持,我们努力提供更好、更稳定的代码库。

更多信息
示例

请参考 Stackblitz 示例 以快速开始使用 @ngx-translate/core。