@automattic/babel-plugin-replace-textdomain

中文文档
1.2.5发布于 2026/11/05GPL-2.0-or-laterCommonJS构建来源已验证近 30 天下载 1927

一个 Babel 插件,用于在 getext 类函数调用中替换文本域名 .

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 警卫
  4. 许可证

bel- plugin- 替换文本域

一个 Babel 插件,用于在 getext 类函数调用中替换文本域名 .

这在使用节点模块用于多个应用程序之间的代码共享(例如WordPress插件)时可能有用,因此每个应用程序的捆绑在整个过程中都使用一致的文本域.

安装

一般来说,你会通过你的软件包管理器安装这个,例如.

npm install --save-dev @automattic/babel-plugin-replace-textdomain

使用量

在您的 Babel 配置中, 您可能包含这样的插件 :

{
    "plugins": [
        [ "@automattic/babel-plugin-replace-textdomain", { "textdomain": "new-domain" } ]
    ]
}

插件选项是:

  • textdomain: 指定替换文本域。 值可能是一个字符串,它将取代所有域;一个对象,以映射出特定域(留下其他任何未被触动的域);或者一个函数,它将被传递给已存在的域(如果域完全缺失时为空字符串),并有望还原出新域(或为无效).

  • functions:指定接收域参数的函数。 这是一个对象映射函数名称到域参数的(零基)索引.

    默认函数列表处理 __, (中文(简体) ), _x, (中文(简体) ), _n,以及 _nx 提供的职能 @ wordpress/i18n (英语)。本列表将作为 require( '@automattic/babel-plugin-replace-textdomain' ).defaultFunctions。 。 。 .

  • i18nModule:指定用于解析导入别名的模块名称。 当一个函数从这个模块被导入并以别名调用时,插件仍然会识别它. 默认为 @wordpress/i18n。 。 。 .

  • requireI18nSource:跳过其被调用者可以证明对别的东西有决心的呼叫 i18nModule。默认为虚假.

    默认情况下,匹配函数列表的任何调用都会被重写,包括成员调用像 cache.__( key )。这对手写源来说是不错的,但是当插件运行在一个完整的捆绑上时——在这个捆绑中,一个依赖者自己的帮助者与真实的getext呼叫坐在同一个文件中——它改写了与i18n无关的呼叫. 有了这个选项,一个被调用者一旦可以被追踪到另一个模块就被留下了,而一个来源无法确定的被调用者仍然被重写(因此一个未识别的捆绑者形状不会默默地留下一个捆绑而未翻译).

要报告没有域名或对域有不当价值的指定 i18n 函数的实例,请设置 DEBUG 包含的环境变量 @automattic/babel-plugin-replace-textdomain。 。 。 .

警卫

需要报告安全弱点吗? 转到 https://automattic.com/security/ (中文(中国大陆) ) 或者直接到我们的安全漏洞赏金网站 https://hackerone.com/自失常症。 。 。 .

许可证

bail-plugin-倒置文本域名的许可证根据 GNU 通用公共许可证 v2( 或以后)

版本与发布记录

@automattic/babel-plugin-replace-textdomain 共发布 72 个版本,首次发布于 2021/12/15;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.2.5latest2026/11/053 天前
1.2.42026/10/2118 天前
1.2.32026/10/2019 天前
1.2.22026/09/161 个月前
1.2.12026/08/063 个月前
1.2.02026/07/313 个月前

关于 @automattic/babel-plugin-replace-textdomain 的常见问题

@automattic/babel-plugin-replace-textdomain 是什么?

一个 Babel 插件,用于在 getext 类函数调用中替换文本域名 .

如何安装 @automattic/babel-plugin-replace-textdomain?

在项目目录运行 npm install @automattic/babel-plugin-replace-textdomain,或使用 pnpm add / yarn add / bun add。

@automattic/babel-plugin-replace-textdomain 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/automattic__babel-plugin-replace-textdomain 是否存在。

@automattic/babel-plugin-replace-textdomain 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@automattic/babel-plugin-replace-textdomain 可以商用吗?

@automattic/babel-plugin-replace-textdomain 使用 GPL-2.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@automattic/babel-plugin-replace-textdomain 的下载量有多少?

根据 npm 官方下载统计,@automattic/babel-plugin-replace-textdomain 在 2026/10/07 – 2026/11/05 这 30 天内被下载 1,927 次,日均约 64 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@automattic/babel-plugin-replace-textdomain 还在维护吗?

最新版本 1.2.5 发布于 2026/11/05(3 天前);至今共发布 72 个版本,其中过去 12 个月发布了 18 个;首次发布于 2021/12/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。