npm 包 @ngx-translate/core 使用教程

阅读时长 6 分钟读完

在前端开发中,我们经常需要处理多语言的需求,而@ngx-translate/core 就是一个高质量、易于使用并且支持各种翻译后端的 Angular 上的多语言库。下面,我们来详细介绍一下如何使用它。

安装

你可以通过下面的命令来安装 @ngx-translate/core:

你还需要安装翻译后端库,@ngx-translate/core 内置了 HTTP 后端,如需使用其他后端,需额外安装,并且参照文档进行配置。

使用

初始化

  1. 引入 TranslateService 服务

首先,你需要在使用 TranslateService 服务的组件中引入 TranslateService。

  1. 初始化 TranslateService

你需要在你的应用启动文件中进行 TranslateService 的初始化,在这里我们采用 HttpServer 后端作为例子。

-- -------------------- ---- -------
------ - ---------- - ---- -----------------------
------ - ---------------- --------------- - ---- ----------------------
------ - ------------------- - ---- -----------------------------

------ -------- ----------------------- ----------- -
  ------ --- --------------------------
-

-----------
  -------- -
    -----------------
    -------------------------
      ------- -
        -------- ----------------
        ----------- ------------------
        ----- ------------
      -
    --
  --
  ---------- --------------
--
------ ----- --------- - -

使用 TranslateService

  1. 获取语言

你需要在应用刚刚启动时就将翻译文件加载到应用程序中,有几种方法可以做到这一点,最常见的是使用 APP_INITIALIZER,让 TranslateService 初始化时立即执行加载操作:

-- -------------------- ---- -------
------ - ---------------- -------- - ---- ----------------
------ - ---------------- - ---- ----------------------
------ - ------------ ---------- - ---- -----------------------
------ - ------------------- - ---- -----------------------------

------ -------- ------------------------------ ------------ -
  ------ --- ----------------------- -------------------------
-

----- ---------------------- - ------------------ ----------------- -- -- --
  --------------------------------------------------

-----------
  -------- ----------------------------
  ---------- -
    -
      -------- ----------------
      ----------- -----------------------
      ------ -----
      ----- ------------------
    --
    -
      -------- ------------
      --------- ------------------
    --
    -
      -------- ----------------
      ----------- ------------------
      ----- -------------
    -
  -
--
------ ----- --------- --

这里使用 toPromise() 方法将 Observable 转换为 Promise,这样可以让它返回,而不需要将我们的服务转换成 Observable。我们也可以在其他组件中注入 TranslateService,然后在 ngOnInit 生命周期中调用语言更新。

-- -------------------- ---- -------
------ - ---------- ------ - ---- ----------------
------ - ---------------- - ---- ----------------------

------------
  --------- -----------
  --------- -
    ------ -------- -- -- ------- ----- - --------- -------
    ----- ------ ------- - --------- ------
    ------- --------------------------------- -----------------
  -
--
------ ----- ------------ ---------- ------ -
  ----------- - -----

  ------------------- ---------- ----------------- --

  ---------- -
    ------------------------------------
    -------------------------------------
  -

  ---------------- -
    ---------------- - ---------------- --- ---- - ---- - -----
    -------------------------------------
  -
-

总结

@ngx-translate/core 可以说是一个非常好用的 Angular 上的多语言库了。我们在使用时需要注意按照文档进行配置,并且需要引入相应的翻译后端。使用 TranslateService 服务可以非常方便地处理多语言的需求,让我们的应用程序可以轻松地适应不同地区的用户。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/ngx-translate-the-core