# @calm/eslint-plugin-react-intl 中文文档

规范地址：https://npmcn.com/package/%40calm/eslint-plugin-react-intl/

版本：1\.4\.1
npm 元数据更新时间：2026-06-23T17:48:12.164Z
中文译文更新时间：2026-11-09T00:10:21.199Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40calm/eslint-plugin-react-intl
原文对照：https://npmcn.com/package/%40calm/eslint-plugin-react-intl/?lang=original
项目主页：https://github.com/calm/eslint-plugin-react-intl#readme
源码仓库：https://github.com/calm/eslint-plugin-react-intl

弃用说明：This package is no longer actively maintained by Calm\. It remains available for compatibility with existing consumers, but new projects should avoid depending on it\.

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

- 包体积（解压后）：41.2 kB，12 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=0\.10\.0
- 运行依赖：1 个
- 首次发布：2019-04-18T19:26:33.406Z
- 最新版本发布：2020-02-28T00:29:32.052Z
- 近 30 天下载量：129756（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 0 个）

## 中文简介

React- Intl 集成的 Linter

## 安装

```sh
npm install @calm/eslint-plugin-react-intl
```

也可以使用：`pnpm add @calm/eslint-plugin-react-intl`、`yarn add @calm/eslint-plugin-react-intl`、`bun add @calm/eslint-plugin-react-intl`

## README

# @calm/eslint-plugin-反应-intl

这是一个插件,以确保 Intl 翻译的正确性 [反应- intl](https://www.npmjs.com/package/react-intl)。 。 。 . 由于它们应该存储在一个对象中进行翻译,所以它会禁用平原 html标签之间的文本.

该插件得到Calm工程团队的积极支持,欢迎各方提供/关注 [https://github.com/calm/eslint-plugin-resact-intl 互联网档案馆的存檔,存档日期2013-12-21](https://github.com/calm/eslint-plugin-react-intl)。 。 。 .

有三个备选方案可供选择,我们建议使他们能够确保: 所有语文的适当翻译.

{ noTrailing Whitespace: true} 选项是默认设置的, 不需要在规则一节中声明 . 这被推荐,因为有些语言在单词之间没有空格. 此外,选择 `ignoreLinks` 默认设置为真。 取决于你 使用大小写,您可能想要禁用此选项.

## 使用大小写

#### 格式化信件验证

-   检查以确保 html 标记中不存在纯文本( 应该翻译)
-   `<a>` 默认标记不检查( 这可以禁用)
-   数字被忽略了(每种语言都是一样的)
-   不允许拖放白空间( 可禁用)
-   非显性值被忽略( 如 : `-`(中文(简体) )
-   能够启用强制标签, 正在翻译 aria- label 属性(`<track label="subtitles" />`(中文(简体) )
-   能够使执行的备选案文属性被翻译( C)`<img alt="description" />`(中文(简体) )
-   能够执行输入`<Checkbox value="checkedA" inputProps={{ 'aria-label': 'Checkbox A' }} />`(中文(简体) )
    -   这是一些反应库的特有内容, 如 MaterialUI
    -   这里可以看到实例: [https://material-ui.com/组件/检查框/#可访问性](https://material-ui.com/components/checkboxes/#accessibility)

#### 缺少值验证

-   在组件内默认的Message属性, `{variable}` 必须在 `values` 属性
-   它会在逗号前查看任何东西,允许格式JS复数
    -   默认Message="{数}{数,复数,一{日}其他{日}将解决1个变量为 `number`

#### 缺少属性验证

-   组件必须同时具备 `defaultMessage` 财务报告和审定财务报表 `id` 属性集
    -   Calm 选择总是需要这些, 但是您可以选择禁用默认的 Message 选项 `requireDefaultMessage : false`
-   `defaultMessage` 财务报告和审定财务报表 `id` 属性不能为空
-   默认情况下不允许分散运算符
    -   散开操作员不能通过 Eslint 的 AST 评估,所以翻译不能保证
-   `requireDescription` 可选择设置以要求所有翻译包含描述属性
-   使用 `formatDefineMessages: true` 选项,以便从反应-intl中检查定义的Messages声明
    -   _小心点_ - 这假设定义Messages将永远意味着反应-intl方法,所以不声明其他定义Messages函数,除非它们保持与反应-intl相同的格式
-   可选 `requireIdAsString: false` 在 id 字段允许变量
    -   _小心点_ - id字段中的变量可能导致重复字符串被翻译,以及可能改变变量导致一个id而与之无关的翻译

## 安装

你首先需要安装 [ESLint 语录](http://eslint.org/)数字 :

```
$ npm i eslint --save-dev
```

下一个,安装 `@calm/eslint-plugin-react-intl`数字 :

```
$ npm install @calm/eslint-plugin-react-intl --save-dev
```

**说明:** 如果在全球安装了 ESLint(使用 `-g` 您必须安装 `@calm/eslint-plugin-react-intl` 在全球.

## 使用量

添加 `@calm/react-intl` 到您的插件区 `.eslintrc` 配置文件 。 你可以省略这个 `eslint-plugin-` 前缀 :

```json
{
    "plugins": [
        "@calm/react-intl"
    ]
}
```

然后在规则章节下配置您想要使用的规则 . 建议你明确设定每个选项.  
规则(带有默认设置)列举如下.

```json
{
    "rules": {
        "@calm/react-intl/missing-formatted-message": [2,
          {
            "noTrailingWhitespace": true,
            "ignoreLinks": true,
            "enforceLabels": false,
            "enforceImageAlts": false,
            "enforceInputProps": false
          }
        ],
        "@calm/react-intl/missing-attribute": [2,
            {
                "noTrailingWhitespace": true,
                "noSpreadOperator": true,
                "requireDescription": false,
                "formatDefineMessages": false,
                "requireIdAsString": true,
                "requireDefaultMessage": true,
            }
        ],
        "@calm/react-intl/missing-values": 2
    }
}
```

## 支持的规则

-   缺少格式信息
-   缺少属性
-   缺失值

## 常见问题

### @calm/eslint-plugin-react-intl 是什么？

React- Intl 集成的 Linter注意：该包已被作者标记为弃用——This package is no longer actively maintained by Calm\. It remains available for compatibility with existing consumers, but new projects should avoid depending on it\.

### 如何安装 @calm/eslint-plugin-react-intl？

在项目目录运行 npm install @calm/eslint-plugin-react-intl，或使用 pnpm add / yarn add / bun add。

### @calm/eslint-plugin-react-intl 支持 TypeScript 吗？

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

### @calm/eslint-plugin-react-intl 支持 ESM 还是 CommonJS？

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

### @calm/eslint-plugin-react-intl 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=0\.10\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @calm/eslint-plugin-react-intl 可以商用吗？

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

### @calm/eslint-plugin-react-intl 的下载量有多少？

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

### @calm/eslint-plugin-react-intl 还在维护吗？

最新版本 1\.4\.1 发布于 2020/02/28（6 年前）；至今共发布 10 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/04/19。作者已将其标记为弃用，新项目建议寻找替代方案。

