NPM包 Keystone-i18n 使用教程

阅读时长 5 分钟读完

什么是 Keystone-i18n?

Keystone-i18n是一个用于处理网站国际化的Node.js模块。它支持多语言翻译,允许您轻松地将您的网站拓展到多个语言市场。Keystone-i18n还可以帮助您自动化翻译流程。

安装 Keystone-i18n

要使用Keystone-i18n获得国际化支持,您需要在您的Node.js项目中先安装它。在命令行中输入以下命令:

安装过程可能需要一些时间,取决于您的网络速度。如果您想更新安装版本,运行以下命令:

配置 Keystone-i18n

在您的Node.js项目中,首先要做的是设置Keystone-i18n的配置文件。在您的根目录中创建一个名为i18n.config.js的文件,并添加以下内容:

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

在这个示例配置中,我设置了默认语言为英语。如果您的网站需要其他语言,您可以将locales设置为包含所有可用语言的数组。

inputPath和outputMessagesPath指定i18n应该查找哪个目录中的源文件和哪个文件名存储提取的消息。

msgmergeCommand和msgfmtCommand指定用于更新和编译消息的命令。这些命令的执行方式与Unix上msgmerge和msgfmt命令的执行方式相同。

接下来,您需要创建locales子目录,并在其中创建每种语言的子目录,如en、fr、es和de。

在每个语言目录中,创建名为messages.po的文件,并添加以下内容:

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

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

在这个示例配置中,我填入了msgid“Hello,world!”,这将是您要翻译的标语之一。

使用 Keystone-i18n

使用Keystone-i18n非常简单。首先,在您的Node.js项目中配置Keystone,并启用i18n中间件:

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

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

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

在这个示例配置中,我设置了Keystone对象的名称,Pug作为视图引擎,并启用了i18n中间件。

接下来,在您的Pug模板中使用_t标记来标识可翻译的字符串。

使用_t标记声明了一个可以被翻译的字符串。

最后,运行以下命令:

此命令将从文件中提取使用_t标记的所有可翻译字符串,并将它们存储在locales/messages.pot文件中。接下来,在每种语言的消息PO文件中翻译您的消息:

完成翻译后,运行以下命令:

此命令将编译所有翻译描述的消息。接下来,您可以在您的网站上预览已经翻译的网站。

总结

作为一个前端开发者,您需要能够支持多语言的网站。Keystone-i18n为您提供了一个简单的方式来处理国际化问题。如果您遵循本文中提到的步骤,您可以轻松地为您的Node.js项目添加国际化支持。

示例代码见GitHub:https://gist.github.com/anonymous/fc7003370837dabb1e42a03aeebbc53e

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

纠错
反馈