npm 包 babel-extract-gettext 使用教程

随着前端项目越来越复杂,多语言化也变得越来越必要。而其中一个必不可少的工具就是 gettext。而使用 webpack 打包的前端项目又通常会使用 babel,而 babel-extract-gettext 就是一个可以将 gettext 相关的信息提取出来的 babel 插件。

安装

使用 npm 进行安装:

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

同时也需要安装 gettext:

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

配置

在 babel 的配置文件中添加以下内容:

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

其中,functionNames 指定了 gettext 相关函数的名称及别名,如果使用不同的名称,需要进行相应修改。

使用

使用 babel-cli 运行:

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

会在 myfile.es5.js 文件中自动将 gettext 相关信息提取出来,生成 .pot 文件。

在运行 gettext 相关工具之前,需要添加如下的代码:

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

此后,使用 gettext的相关函数即可实现多语言化。

示例代码

我们以一个简单的 React 组件为例:

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

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

运行 babel-cli 后生成的 .pot 文件:

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

我们可以使用 gettext 相关工具将其翻译为其他语言,然后在使用时根据用户所选的语言进行相应的加载。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005601681e8991b448de2dc


猜你喜欢

  • NPM包 async-await-mongoclient-es6-promisify 使用教程

    在前端开发过程中,使用MongoDB是很常见的。而使用MongoDB的时候需要用到对数据库的增删改查操作,而这时候就需要用到Mongoose或者MongoClient这样的包。

    3 年前
  • npm 包 eslint-config-mdrobny 使用教程

    前言 为了提高前端项目的代码质量和风格统一,许多团队都会选择使用 ESLint 工具来统一代码风格;而在 ESLint 中,又有一种叫做“分享配置”的功能,这种配置可以让团队中的每个人都遵守同样的代码...

    3 年前
  • npm 包 onesignal-api-override 使用教程

    介绍 在前端开发过程中,我们经常需要使用第三方库来实现一些特定的功能。onesignal-api-override 是一个 npm 包,提供了对 OneSignal API 的良好支持,帮助开发者轻松...

    3 年前
  • npm 包 object-talk 使用教程

    在前端开发中,我们经常需要处理各种对象。针对这个需求,有许多 npm 包可以使用。其中一个比较有用的是 object-talk。在本篇文章中,我们将详细介绍 object-talk 的使用方法和注意事...

    3 年前
  • npm 包 amap-react-native 使用教程

    在前端开发中,地图应用已经成为了必不可少的一部分。而 AMap(高德地图)则是国内最为出色的地图服务提供商之一。为了让 React Native 开发者能够轻松使用 AMap,在 npm 包管理器中发...

    3 年前
  • npm 包 @pi0/nuxt-start 使用教程

    Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可以帮助我们快速构建服务器渲染的应用程序。而 @pi0/nuxt-start 是一个为了帮助前端开发者快速搭建 Nuxt.js 项目的 np...

    3 年前
  • npm包rhmap-auth-ldap使用教程

    前言 在现代化的前端开发中,npm包扮演着至关重要的角色。以rhmap-auth-ldap为例,学会使用它可以帮助我们更好地进行LDAP身份验证,从而更好地保护Web应用程序的数据安全。

    3 年前
  • npm 包 telvin-vue-input-tag 使用教程

    简介 telvin-vue-input-tag 是一个 Vue.js 的 UI 组件包,用于在表单中添加带有标签的输入框。它提供了许多有用的功能以及高度的可定制性,并在 Github 上得到了广泛的支...

    3 年前
  • npm 包 meanie-angular-debounce 使用教程

    介绍 meanie-angular-debounce 是一个 AngularJS 模块,它提供了一个可以延迟调用、限制执行次数和针对用户操作响应性良好的装饰器。它可以帮助开发者更好地处理基于时间或用户...

    3 年前
  • npm 包 @neoskop/ugl 使用教程

    如果想要在前端项目中压缩 JavaScript 文件,那么一个好的工具是必不可少的。其中,@neoskop/ugl 是一个基于 UglifyJS 的 npm 包,它可以帮助你更方便地压缩 JavaSc...

    3 年前
  • npm 包 a-task 使用教程

    简介 a-task 是一个基于 Promise 的任务队列库,它提供了队列的基本操作,如添加任务、更改任务状态、使用 Promise 等待任务完成等。a-task 可以让任务之间按照特定的顺序执行,支...

    3 年前
  • npm 包 haraka-plugin-aliases 使用教程

    什么是 haraka-plugin-aliases haraka-plugin-aliases 是一个基于 Node.js 的邮件服务器 haraka 的插件,用于配置邮件地址别名。

    3 年前
  • npm 包 dicebag 使用教程

    介绍 dicebag 是一个 JavaScript 库,提供了一系列实用的、用于处理随机数据的函数。使用 dicebag 可以方便地生成随机数、抽样、排列组合等常见的随机操作,是前端开发中常用的一款工...

    3 年前
  • npm 包 egg-apollo 使用教程

    前言 egg-apollo 是一款通过阿里云 Apollo 实现的配置中心服务,是 Egg.js 框架的一个插件。本文将介绍如何使用该插件,并提供示例代码来进行深入学习。

    3 年前
  • npm 包 imports-regex 使用教程

    在前端开发中,我们通常使用模块化的方式来组织代码。而在模块化的开发中,经常会使用 import 关键字来引入模块。然而,在大型的项目中,模块的引入往往非常繁琐,需要手动一个一个地写出来。

    3 年前
  • npm 包 censorify-ironmike 使用教程

    前言 前端开发涉及到很多的文本处理,例如对输入文本进行处理或者过滤。在此过程中我们需要使用一些工具或者库来帮助我们处理这些操作。在 npm 中我们可以找到很多有用的包,如今天要介绍的是一个用来过滤敏感...

    3 年前
  • npm 包 mms-cli 使用教程

    介绍 mms-cli 是一个基于命令行工具的前端模板项目生成工具,它提供了许多模板项目供用户使用,包括 React、Vue、Angular 等前端框架,并支持用户自定义模板项目。

    3 年前
  • npm 包 calculus-cli 使用教程

    前言: 随着前端技术的不断发展,前端开发对于基础学科的要求越来越高,如高等数学。在前端开发中,计算公式、函数以及数据处理等都需要用到数学知识。为了方便开发者快速完成复杂的数学计算,calculus-c...

    3 年前
  • npm 包 numbeo-api 使用教程

    在前端开发中,经常需要使用 API 来获取或处理数据。而 Numbeo 是一个提供国际比较、基于城市的统计数据的网站,可以方便地获取到全球城市的各种数据指标,如房价、通货膨胀、交通状况等等。

    3 年前
  • npm 包 react-native-datecs-printer 使用教程

    简介 react-native-datecs-printer 是一个 React Native 的打印机库,支持无线和有线打印机的连接,可以在 React Native 应用中方便地进行打印操作。

    3 年前

相关推荐

    暂无文章