# @edx/reactifex 中文文档

规范地址：https://npmcn.com/package/%40edx/reactifex/

版本：2\.2\.0
npm 元数据更新时间：2026-07-10T14:29:55.186Z
中文译文更新时间：2026-11-13T07:50:10.528Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40edx/reactifex
原文对照：https://npmcn.com/package/%40edx/reactifex/?lang=original
项目主页：https://github.com/openedx/reactifex#readme
源码仓库：https://github.com/openedx/reactifex

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：18.5 kB，12 个文件
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2021-10-08T15:05:40.296Z
- 最新版本发布：2023-05-15T11:32:08.012Z
- 近 30 天下载量：9412（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 0 个）

## 中文简介

一个将反应- intl 信件移动到 transifex 并返回的助手

## 安装

```sh
npm install @edx/reactifex
```

也可以使用：`pnpm add @edx/reactifex`、`yarn add @edx/reactifex`、`bun add @edx/reactifex`

## README

# 反应ifex

Helper 工具,旨在方便上传反应-intl提取到的邮件到 transifex,支持ICU复数和翻译评论.

[![dependencies](https://img.shields.io/badge/dependencies-none-brightgreen.svg)](https://npmcn.com/package/%40edx/reactifex/reactifex) [![license](https://img.shields.io/npm/l/reactifex.svg)](https://npmcn.com/package/%40edx/reactifex/reactifex) [![npm\_version](https://img.shields.io/npm/v/reactifex.svg)](https://npmcn.com/package/%40edx/reactifex/reactifex) [![Build Status](https://github.com/openedx/reactifex/workflows/Node%20CI/badge.svg?branch=master)](https://github.com/openedx/reactifex/actions?query=workflow%3A%22Node+CI%22)

有两种使用方式——汇编和评论推.

## 编译模式

在此模式下, 已取出的信件 `babel-plugin-react-intl` (输入个人档案)合并. 生成的 json 适合上传到 Transifex并匹配其指定的 `KEYVALUEJSON` 格式.

用途 : `$(npm bin)/reactifex <input_folder> <output_file>`

-   `input_folder` 对应 `messagesDir` 选项 `babel-plugin-react-intl`
    -   注意反应ifex基于此默认假设文件夹结构
-   `output_file` 将适合上传到 transifex

## 注释推

这个模式是我当初写这个库的原因——我想要能够将评论用作 `PO` 文件有,但是我找到的用于转换反应-intl消息的工具都没有 `PO` 文件能够正确处理ICU复数化。 把一切都放在一个js的背景 `KEYVALUEJSON`,复数工作正确 _财务报告和审定财务报表_ 我们现在有对翻译的注释支持(默认情况下,Transifex的 `KEYVALUEJSON` 文件格式不允许包含带字符串的注释进行翻译).

使用有点复杂,我很抱歉,你会运行这个服务器边 作为一系列的击打命令。 请注意,我想 `$SECRET_USER` 财务报告和审定财务报表 `$SECRET_PWD` env vars存在是为了基本的认证目的. 见 [Transifex的API介绍](https://docs.transifex.com/api/introduction) 关于认证的更详细信息。 以下是一个实例,它会写在“Makefile”中,它使用反应fex:

```
tx_url1 = https://www.transifex.com/api/2/project/<project>/resource/<resource>/translation/<default_language_code>/strings/
tx_url2 = https://www.transifex.com/api/2/project/<project>/resource/<resource>/source/
push_translations:
    ./node_modules/reactifex/bash_scripts/get_hashed_strings.sh $(tx_url1)
    $$(npm bin)/reactifex <input_folder> --comments
    ./node_modules/reactifex/bash_scripts/put_comments.sh $(tx_url2)
```

-   [tx url1 (中文(简体) )](https://docs.transifex.com/api/translation-strings#identifying-strings-using-hashes) 财务报告和审定财务报表 [tx url2 (中文(简体) )](https://docs.transifex.com/api/resource-strings) 是由 Transifex API 文档定义的变量,为可读性提取.
    
-   首先, `bash_scripts/get_hashed_strings.sh` 使用url 参数调用。 这将会流行 `bash_scripts/hashmap.json` 包含关于您资源中的字符串的数据, 包括最重要的 `string_hash`。 。 。 .
    
-   接下来, 主反应ifex 脚本( 节点 js) 运行时会附加一个 `--comments` 旗帜,没有输出文件。 这个效果是召集你所有的 `babel-plugin-react-intl` 提取信件 _与_ 他们的评论附后。 从那里,它就足够简单 以匹配每个信息与它的 `string_hash`,并将这些对子保存在“ qq” 有限列表中,供以后消费.
    
-   终于, `bash_scripts/put_comments.sh` 以 Base PUT URL 作为参数运行(同时读取我们在前一步骤中创建的数据文件),通过 Transifex 的 API 更新每个信件的翻译评论.

## 常见问题

### @edx/reactifex 是什么？

一个将反应- intl 信件移动到 transifex 并返回的助手

### 如何安装 @edx/reactifex？

在项目目录运行 npm install @edx/reactifex，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 edx\_reactifex，可以用 npx edx\_reactifex 直接运行。

### @edx/reactifex 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/edx\_\_reactifex 是否存在。

### @edx/reactifex 可以商用吗？

@edx/reactifex 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @edx/reactifex 的下载量有多少？

根据 npm 官方下载统计，@edx/reactifex 在 2026/10/13 – 2026/11/11 这 30 天内被下载 9,412 次，日均约 314 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @edx/reactifex 还在维护吗？

最新版本 2\.2\.0 发布于 2023/05/15（3 年前）；至今共发布 9 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/10/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

