概述
i18n(Internationalization)是前端国际化的一种解决方案,可以方便管理多语言内容,并可以提供对应的翻译。i18next-parser 是一款基于 i18next 的国际化 parsing 工具。它可以在代码中自动解析出需要翻译的文本内容,并生成对应的翻译文件。本文介绍了如何使用 @adlk/i18next-parser 进行前端国际化。
安装
使用 npm 进行安装:
npm install @adlk/i18next-parser
使用
1. 准备工作
首先需要在项目中引入 i18next 和 i18next-parser:
import i18next from 'i18next'; import Backend from 'i18next-fs-backend'; import Parser from '@adlk/i18next-parser';
i18next 是国际化的核心库,i18next-fs-backend 是 i18next 的数据源,@adlk/i18next-parser 是国际化解析工具。
2. 配置
在 i18next 初始化时,需要对工具进行配置。以下是一个示例配置:
-- -------------------- ---- ------- ------- ------------- ------- -- - ---- ------ ------ -------- - --------- ------------------------------ -- -- ----------- ------- - ---- ----- -- ------------------------ -- ---------- ---------- -------- - -- -- ------ ------ -- - -- -- - ----- ----- ---- ---------------------- -- -- -- -- -- ------ -------------------------------- -- ---------- -------------- -- -- -- - ----------- ------------ ----- -- ----------------- ---- -------- -- --------- ------------ -------- -- ------------- -- -------------- - ------------ ------ -- ----- -- ---
解析后的结果会自动生成到文件系统中。loadPath
中定义了语言文件的路径格式,将会通过 lng 和 ns 来解析。解析结果将被写入到 loadPath
所定义的路径。
3. 解析并翻译
使用 t
函数来翻译文本:
i18next.t('key');
其中,key
是键名,在语言翻译文件中作为映射的 key。在 saveMissing
option 开启的情况下,当解析操作发现的未知文本时,它将添加到 i18next 的 json 文件中,以便管理员可以在到位所需的文本之前查找并填写正确的翻译。
4. CLI Interface
还可以使用 i18next-parser 提供的命令行工具进行解析:
i18next-parser --config ./i18next-parser.config.js
示例代码
-- -------------------- ---- ------- ------ ------- ---- ---------- ------ ------- ---- --------------------- ------ ------ ---- ----------------------- ----- ----------- - ----- ----- ------- -- - ----- ------- ------------- ------- -------- - --------- ----------------------------- -------- ------------------------------------- -- -- ------- ------- - ---- ----- -- ---- -- ---------- --- -------- ------------------------- ---------- ------------ --------- -- ------- -------- - - ----- ----- ---- --------------------------- -- - ----- ------- ---- ------------------ -- -- -- -- -- -- -- -- --- -------- ---------------------------- --- -- ---------- --------- ------------ ----- ---- ---- ------------ ----- -- ----- -------------- - ------------ ------ -- --- -- ------ ------- ------------
总结
通过 i18next-parser 工具,可以更方便的管理前端国际化文件。在实际开发过程中,可以根据需要进行相关配置,并结合 i18next 核心库,达到前端国际化的目的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672683660cf7123b365cf