# gt: General Translation CLI tool: gt generate
URL: https://generaltranslation.com/zh/docs/cli/reference/commands/generate.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 生成用于手动翻译的源模板。gt generate 命令的 API 参考。

为默认区域设置和目标区域设置生成本地模板文件。如果你自行处理翻译，而不是通过 General Translation API 进行翻译，请使用此命令。

*注意：仅当 CLI 检测到 `gt-next`、`gt-react`、`gt-react-native`、`gt-tanstack-start`、`gt-node`、`gt-vue`、`gt-flask` 或 `gt-fastapi` 时可用。如果项目未使用上述任一库，则不会注册此命令。如果你使用 General Translation API，请改用 [`gt translate`](/docs/cli/reference/commands/translate)。*

## 概览 [#overview]

请先配置项目，再生成模板：

```bash
npx gt configure
npx gt generate
```

## 工作原理 [#how-it-works]

1. 读取 `gt.config.json`，确定默认区域设置、目标区域设置、源路径、词典以及 `files.gt.output` 路径。
2. 使用检测到的库所对应的解析器扫描内联内容和已配置的词典，收集方式与 [`gt translate`](/docs/cli/reference/commands/translate) 相同。
3. 用当前的源条目替换默认区域设置的模板。
4. 将这些条目合并到各个目标区域设置文件中：已有的目标值保持不变，新条目使用源文本，过时的条目则被移除。

该命令不会调用 General Translation API。如果未配置 `files.gt.output`，命令仍会扫描项目，但会直接退出，不写入模板。

## 选项 [#flags]

### 模板生成选项

| 参数                                              | 描述                                             | 类型         | 可选 | 默认值                                             |
| ----------------------------------------------- | ---------------------------------------------- | ---------- | -- | ----------------------------------------------- |
| `-c, --config <path>`                           | `gt.config.json` 的路径。                          | `string`   | 是  | 自动检测到的 `gt.config.json`                         |
| `--default-language, --default-locale <locale>` | 源模板使用的默认区域设置。                                  | `string`   | 是  | 已配置的默认区域设置                                      |
| `--new, --locales <locales...>`                 | 要合并其模板文件的目标区域设置。                               | `string[]` | 是  | 已配置的区域设置                                        |
| `--src <paths...>`                              | 匹配源文件的 glob 模式。                                | `string[]` | 是  | 匹配 `src`、`app`、`pages` 和 `components` 的 glob 模式 |
| `--dictionary <path>`                           | 词典文件的路径。                                       | `string`   | 是  | —                                               |
| `--tsconfig, --jsconfig <path>`                 | TypeScript 或 JavaScript 配置文件的路径，用于解析源代码中的导入路径。 | `string`   | 是  | 自动检测到的配置文件，或 `./tsconfig.json`                  |
| `--inline`                                      | 包含检测到的库所支持的内联内容。                               | `boolean`  | 是  | `true`                                          |
| `--ignore-errors`                               | 忽略扫描内联内容时发现的错误。                                | `boolean`  | 是  | `false`                                         |

### 兼容性选项

该命令与 [`gt translate`](/docs/cli/reference/commands/translate) 共用同一个解析器，因此其帮助输出中会列出以下选项，且命令也会接受这些选项。它们不会影响本地模板生成。尤其需要注意，`--dry-run` 并不会阻止文件写入。

| 参数                                        | 描述             | 类型                  | 可选 | 默认值          |
| ----------------------------------------- | -------------- | ------------------- | -- | ------------ |
| `--api-key <key>`                         | 可传入，但不生效。      | `string`            | 是  | —            |
| `--project-id <id>`                       | 可传入，但不生效。      | `string`            | 是  | —            |
| `--version-id <id>`                       | 可传入，但不生效。      | `string`            | 是  | —            |
| `--dry-run`                               | 可传入，但不会阻止写入模板。 | `boolean`           | 是  | `false`      |
| `--timeout <seconds>`                     | 可传入，但不生效。      | `number`            | 是  | `900`        |
| `--save-local`, `--no-save-local`         | 可传入，但不生效。      | `boolean`           | 是  | 配置值或 `false` |
| `--publish`                               | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--experimental-localize-static-urls`     | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--experimental-hide-default-locale`      | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--experimental-flatten-json-files`       | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--experimental-localize-static-imports`  | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--experimental-localize-relative-assets` | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--force`                                 | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--force-download`                        | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--omit-config-ids`                       | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--experimental-clear-locale-dirs`        | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--branch <branch>`                       | 可传入，但不生效。      | `string`            | 是  | —            |
| `--disable-branch-detection`              | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--enable-branching`                      | 可传入，但不生效。      | `boolean`           | 是  | `false`      |
| `--remote-name <name>`                    | 可传入，但不生效。      | `string`            | 是  | `origin`     |
| `--tag [value]`                           | 可传入，但不生效。      | `string \| boolean` | 是  | —            |
| `-m, --message <message>`                 | 可传入，但不生效。      | `string`            | 是  | —            |

## 示例 [#example]

```bash
# 为已配置的 locales 生成 templates
npx gt generate

# 从自定义源区域设置生成，忽略扫描错误
npx gt generate --default-locale en-US --ignore-errors
```

## 其他说明 [#notes]

生成模板文件后，翻译其中的目标值，并通过[本地翻译](/docs/react/guides/storing-translations)提供这些译文。每当源内容发生变化时，请重新运行 `generate`；同时请审校目标文件，因为从源中删除的条目也会同步从目标文件中删除。

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
