# Linting Rules for gt-next: gt-next Lint
URL: https://generaltranslation.com/zh/docs/next-lint.mdx
---
title: gt-next Lint
description: 用于 gt-next 组件的 ESLint 插件。
---
目前为 alpha 版本,后续可能会有变动。
用于捕获 gt-next 组件中常见翻译错误的 ESLint 插件。
## 安装
```bash
npm install --save-dev @generaltranslation/gt-next-lint
```
## 配置
将以下内容添加到你的 `eslint.config.mjs` 中:
```javascript
import gtNext from "@generaltranslation/gt-next-lint";
export default [
{
plugins: { 'gt-next': gtNext },
rules: {
'gt-next/no-dynamic-jsx': 'warn',
'gt-next/no-dynamic-string': 'warn',
},
},
];
```
## 规则
### `no-dynamic-jsx`
使用变量组件将动态内容包裹在 `` 组件内。
```jsx
// ❌ 错误
Hello {userName}!
// ✅ 正确
Hello {userName}!
```
### `no-dynamic-string`
仅允许在翻译函数中使用字符串字面量。
```jsx
const gt = useGT();
// ❌ 错误
gt(`Hello ${name}`)
gt('Hello ' + name)
// ✅ 正确
gt('Hello, {name}!', { name })
```
## 支持的组件
* `` - 变量
* `` - 日期
* `` - 数字
* `` - 货币
## 支持的函数
* `useGT` - 客户端侧翻译
- `getGT` - 服务端翻译
## 配置预设
该插件内置了一个 `recommended` 配置预设:
```javascript
import gtNext from "@generaltranslation/gt-next-lint";
export default [
gtNext.configs.recommended,
];
```
这会同时启用 `no-dynamic-jsx` 和 `no-dynamic-string`,并将其设为警告。