npm 包 wikitranslate 使用教程

阅读时长 7 分钟读完

如今,全球化的趋势越来越显著,跨国交流和合作日益频繁。在这个过程中,语言通常成为了一项重要的障碍。作为前端开发者,我们可以通过利用现有的技术来缓解这个问题。npm 包 wikitranslate 就是其中之一。

Wikitranslate 是什么?

Wikitranslate 是一款 npm 包,其主要功能是通过调用 Wikimedia 翻译 API 界面,从计算机本地化资源文件中提取可翻译字符串,并提供翻译服务。它支持 I18N 测试和自动化翻译。

它还支持多种语言翻译,包括英语、法语、德语、日语、韩语、西班牙语等等。

如何使用 Wikitranslate?

首先,你需要在终端中使用 npm 安装 wikitranslate:

接下来,我们需要设置一些配置,包括语言和 API 密钥等。你需要创建一个 .config 或者 .env 文件,写入以下配置:

其中 WIWIKI_LANGUAGE 代表语言,WIWIKI_API_KEY 代表 API 密钥。请更换成自己的值。

接着,我们需要编写代码来使用这个包。首先,我们需要引入它:

现在,我们可以使用 wikitranslate 对象调用翻译 API 了:

这里,我们调用了 wikitranslate.translate 函数,并传入需要翻译的文本数组,以及源语言和目标语言代码。在这个例子中,我们将把 “hello” 和 “world” 翻译成法语。最终,我们将输出包含翻译结果的数组。

一个更复杂的例子

上述例子相对简单,我们来看看一个稍微复杂的例子。在这个例子中,我们将使用 wikitranslate 包来翻译项目可翻译字符串,并将结果写入指定的本地化资源文件中。

首先,我们需要准备好本地化资源文件。在此例中,我们使用了一个简单的 JSON 文件,如下所示:

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

可以看到,里面包含了很多可翻译字符串,由于我们设定了 WIWIKI_LANGUAGE=en ,所以只有 "en" 中的字符串被标记为可翻译。接下来,我们需要调用 wikitranslate 包来实现翻译服务并将结果写入到本地化资源文件中。

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

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

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

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

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

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

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

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

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

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

在这个例子中,我们使用了 Node.js 的文件系统模块 fs 和路径模块 path 来读取和写入本地化资源文件。我们用 getLocale 函数读取 locale 文件,然后使用 translateLocale 函数对文件中的可翻译字符串进行翻译。为了不重复翻译已经翻译过的字符串,我们对每个固定的目标语言遍历文件中的所有 JSON key,只翻译未被翻译的文本。最后,我们将翻译结果写回到本地化资源文件中。

总结

Wikitranslate 是一款强大的 npm 包,可以帮助前端开发者轻松完成 I18N 工作。它支持多种语言,并且有着良好的可配置性,可以适应多种使用场景。本文以简单的代码示例带领读者快速了解了如何使用 Wikitranslate,希望读者可以通过本文的指导,继续深入学习相关内容。

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

纠错
反馈