使用 webpack-extract-translation-keys-plugin 提取多语言文本

在开发多语言前端应用程序时,必须将所有文本转换为可翻译的变量。对于大型项目,这可能会变得非常繁琐。解决这个问题的一种方法是使用 webpack-extract-translation-keys-plugin,它可以自动提取您的应用程序中的所有可翻译文本,并将其转换为易于管理的语言包。

安装和配置

首先,在项目的根目录下安装 webpack-extract-translation-keys-plugin

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

然后在你的 webpack 配置文件中,引入该插件并将其添加到 plugins 配置中。

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

插件使用

使用 webpack-extract-translation-keys-plugin 插件可以将代码中的所有文本提取到一个 JSON 文件中。在 webpack 打包时,插件会读取您的代码,并将可翻译的文本提取到特定的 JSON 文件中,这些文本可以作为语言包加载到应用程序中。

在插件提取文本时,它将使用一些默认选项。可以通过向构造函数添加选项对象来更改这些选项,例如可以为 JSON 文件提供自定义路径和名称。

在前端代码中,我们可以使用 __()gettext() 来包含文本,例如:

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

在运行 webpack 命令后,会创建一个新文件 i18nkeys.json,其中将包含所有可翻译文本的对应的键。

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

使用此 JSON 文件即可轻松地将文本翻译成其他语言。

示例代码

下面是一个使用 webpack-extract-translation-keys-plugin 插件的示例代码:

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

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

在上面的示例中,插件输出的 JSON 文件将存储在 ./src/locale/i18nkeys.json 路径中。每个被 __()gettext() 包装的文本将转换为 JSON 中对应的键,并在 i18n 函数中返回该键。这个函数是默认的函数名称,可以通过添加 functionDefaultName 选项来修改。

结论

使用 webpack-extract-translation-keys-plugin 插件,可以轻松地将应用程序中的所有文本提取到一个语言包中,这使得在开发多语言应用时非常方便。本文已经详细地介绍了如何安装和使用该插件以及如何改变它的默认选项,并提供了相应的示例代码,希望能够提供帮助。

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


猜你喜欢

  • npm 包 wild.js 使用教程

    前端开发经常需要使用各种 JavaScript 库和框架,npm 是一个能够方便地管理这些依赖的工具。其中一个非常有用的 npm 包是 wild.js,它是一个实用的 JavaScript 工具库,提...

    4 年前
  • npm 包 winston2 使用教程

    如果你在开发 Node.js 项目的过程中遇到了需要记录日志的需求,那么你可以关注一下 winston2,它是 Node.js 环境下的一个强大的日志记录库,提供了丰富的功能和可扩展性。

    4 年前
  • npm 包 winston2-graylog2 使用教程

    在前端开发中,我们经常需要记录日志来帮助我们定位问题。而 winston 是一个流行的 Node.js 日志框架,拥有丰富的日志级别和传输方式。本文将介绍如何使用 npm 包 winston2-gra...

    4 年前
  • NPM 包 windows10-fluently-vibrancy 使用教程

    前言 Web 开发中,如何制作出漂亮的界面是我们都需要掌握的技能。在较为流行的框架中,例如 React、Angular、Vue 等,都会给我们提供丰富的样式组件以及工具,但是在一些场景中,我们需要通过...

    4 年前
  • npm 包 windows_98.css 使用教程

    简介 windows_98.css 是一个基于 CSS 的库,能够让网页元素呈现出 Windows 98 风格。它可以使网页元素更具有视觉吸引力和复古感,特别适合于一些具有怀旧元素的网站。

    4 年前
  • npm包windowsill使用教程

    1. 引言 Node.js是目前最受欢迎的JavaScript运行时环境之一,它流行的主要原因之一是其大量的npm包。npm包使得前端开发人员能够快速开发、测试和部署应用程序,这些包提供了很多有用的功...

    4 年前
  • npm 包 windowswifi 使用教程

    随着无线网络的普及,Windows 操作系统中也提供了很多管理 Wi-Fi 连接的功能。npm 包 Windowswifi 就是一个在 Node.js 环境下使用的 Windows Wi-Fi 连接管...

    4 年前
  • npm 包 windowz 使用教程

    介绍 windowz 是一个使得浏览器嵌入更加自由的 npm 包,它提供了一种简单、可配置的方式,使开发人员能够在任何 Web 应用程序中创建自定义窗口,从而增强用户交互性和用户体验。

    4 年前
  • npm 包 windrose 使用教程

    介绍 windrose 是一款基于 D3.js 开发的风向图 npm 包,它不仅可以用于展示风向,还能展示其他方位的数据,如南北方向、东西方向等等。本文将介绍如何使用 windrose,在实现项目时,...

    4 年前
  • npm 包 windows.web.http.headers 使用教程

    在前端开发中,我们经常需要和 Web API 进行数据交互。而 HTTP 头部则是在这个过程中经常需要使用和控制的。windows.web.http.headers 是一个适用于 JavaScript...

    4 年前
  • npm 包 `windows.web.http` 的使用教程

    windows.web.http 是一个基于 Windows Runtime(简称 WinRT) 的 HTTP 请求库,它是 Windows Store 应用程序开发中相对推荐的 HTTP 请求库,因...

    4 年前
  • npm 包 windows.web.syndication 使用教程

    npm 包 windows.web.syndication 是一个针对 Windows 平台的 JavaScript 库,提供 RSS 和 Atom 数据的解析功能。

    4 年前
  • npm包windows10-fluently使用教程

    本文将向读者介绍如何使用npm包Windows10-fluently将Windows 10流畅设计应用于前端开发中。介绍将覆盖npm包的安装和使用,以及示例代码。 简介 Windows 10是一款颇受...

    4 年前
  • npm 包 windows.web.http.filters 使用教程

    在前端开发中,很多时候我们需要发送 HTTP 请求来获取数据或者和后端交互。而在现代化的浏览器中,通过原生的方式发送 HTTP 请求已经变得越来越复杂。为了解决这个问题,Microsoft 推出了一个...

    4 年前
  • npm 包 windows10-fluently-color 使用教程

    作为前端开发工程师,我们在项目开发中经常需要使用到各种 npm 包来帮助我们完成工作。其中,windows10-fluently-color 是一个非常有意思的 npm 包,它可以帮助我们在前端项目中...

    4 年前
  • npm 包 windows10-fluently-titlebar 使用教程

    在 Windows 10 操作系统中,标题栏是各种第三方应用程序的一部分,可以使其看起来更美观。而通过使用 windows10-fluently-titlebar 这个 npm 包,我们可以轻松地实现...

    4 年前
  • npm 包 wl 使用教程

    在前端开发过程中,我们常常需要使用很多第三方库和工具。npm 是一个很好的管理这些库和工具的平台。而 wl 则是一个非常实用的 npm 包。本文将介绍 wl 的使用教程,从深度和学习的角度展开讨论,并...

    4 年前
  • npm 包 wilddog-token-generator 使用教程

    概述 Wilddog-Token-Generator 是一款用于生成 Wilddog 实时数据库的身份验证令牌的 npm 包。它可以帮助前端开发者轻松地为自己的实时应用程序创建安全的访问令牌,而无需编...

    4 年前
  • npm 包 wildebai 使用教程

    wildebai 是一个非常实用的 npm 包,可以用于帮助前端开发人员更方便地进行一些常见操作,如判断数据类型、生成随机数、操作字符串等。在本文中,我们将深入探讨 wildebai 的使用方法,并提...

    4 年前
  • npm 包 wildember 使用教程

    简介 wildember 是一个用于快速创建基于 Ember.js 框架的 Web 应用程序的工具集合。它包含了许多常用的 Ember.js 组件和插件,能够提高开发效率,缩短开发周期。

    4 年前

相关推荐

    暂无文章