如今,全球化的趋势越来越显著,跨国交流和合作日益频繁。在这个过程中,语言通常成为了一项重要的障碍。作为前端开发者,我们可以通过利用现有的技术来缓解这个问题。npm 包 wikitranslate 就是其中之一。
Wikitranslate 是什么?
Wikitranslate 是一款 npm 包,其主要功能是通过调用 Wikimedia 翻译 API 界面,从计算机本地化资源文件中提取可翻译字符串,并提供翻译服务。它支持 I18N 测试和自动化翻译。
它还支持多种语言翻译,包括英语、法语、德语、日语、韩语、西班牙语等等。
如何使用 Wikitranslate?
首先,你需要在终端中使用 npm 安装 wikitranslate:
npm install wikitranslate --save-dev
接下来,我们需要设置一些配置,包括语言和 API 密钥等。你需要创建一个 .config
或者 .env
文件,写入以下配置:
# .config WIWIKI_LANGUAGE=en WIWIKI_API_KEY=<your_api_key>
其中 WIWIKI_LANGUAGE
代表语言,WIWIKI_API_KEY
代表 API 密钥。请更换成自己的值。
接着,我们需要编写代码来使用这个包。首先,我们需要引入它:
const wikitranslate = require('wikitranslate');
现在,我们可以使用 wikitranslate
对象调用翻译 API 了:
const wikitranslate = require('wikitranslate'); wikitranslate.translate(['hello', 'world'], 'en', 'fr').then((translations) => { console.log(translations); }).catch((error) => { console.error(error); });
这里,我们调用了 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