npm 包 @localization/l10n 使用教程

阅读时长 6 分钟读完

简介

在现今的国际化市场中,多语言的实现是一个必须考虑的问题。而 @localization/l10n 包为解决多语言方面提供了更为便捷的工具,可以在前端项目中快速进行国际化的实现。

本文将介绍 @localization/l10n 包的使用方法以及详细说明其在前端项目中的应用。

安装

在命令行中执行以下命令,即可安装 @localization/l10n 包。

安装完成后,即可在项目中使用该包。

使用

初始化

在进行国际化的实现前,需要对 @localization/l10n 进行初始化。

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

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

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

在初始化时,需要传入当前语言(langCode)以及语言资源(resources)。

  • langCode 指当前语言的代码,可以传入字符串或者函数。如果传入的是函数,该函数将在每次改变语言时被执行。
  • resources 指所有语言资源的对象,每个语言由其语言代码作为键,值为一个对象,对象中的键为资源的名称,值为资源的文本。

更改语言

在需要更改语言时,可以调用 setLangCode 方法。

获取资源

可以使用 getResource 方法获取相应资源的文本。

getResource 方法的参数为需要获取的资源的键名,返回该资源对应当前语言文本。

占位符

@localization/l10n 包还支持传递参数。需要使用 %{param} 来指定占位符,其中 param 为需要传递的参数名。

需要注意的是,在资源中加入占位符时,需要将占位符的名称加入资源值中,如下所示。

实例化时参数特殊处理

首次创建实例时,您可以对它的 setLangCode()onChange() 方法初始化参数,这样就不用再次手动赋值

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

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

onChange 监听方法的使用

onChange() 方法能够监控到其它部分的语言数据修改,您可以根据情况,结合使用它。

如下,通过调用 l10n.onChange(rtlTest, function(target, code));,您可以监控到 l10n 对象在满足语言更改的情况下,自动更新占位符、改变文本或样式等。

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

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

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

示例

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

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

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

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

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

以上是 @localization/l10n 包的使用教程。希望能为大家提供帮助。

用法指南

该包适用于前端开发人员,当您需要将页面中的文本本地化时,可以使用此包进行转换。使用时,只需要创建实例并初始化即可,之后可通过 setLangCode 方法进行语言更改,并通过 getResource 方法获取语言化后的资源文本。

除此之外,还支持占位符的传递,也支持传递回调函数进行更多的操作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bc8967216659e24459b

纠错
反馈