Skip to content

Commit c6edb51

Browse files
committed
docs(i18n): 重构 i18n 开发文档以区分不同工作流
旧的 i18n 开发流程文档将为个人/扩展创建语言包和为核心更新内置语言包的工作流程混合在一起,容易引起混淆。 本次更新将文档重构为两个清晰的场景: - 为普通用户或扩展开发者创建/更新语言包。 - 为核心贡献者更新内置语言包,并引入了 `i18n:copy` 脚本的使用说明。 这使得两种不同目的的工作流程更加清晰明了。同时,移除了指向本地文件的无效相对链接,改为纯文本路径。
1 parent b1c4a69 commit c6edb51

1 file changed

Lines changed: 24 additions & 14 deletions

File tree

docs-site/zh/developer-docs/extension-dev/i18n/customizing-ui-language.md

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ ComfyTavern 支持用户自定义界面语言。通过添加自定义语言包
3939

4040
除了 `_meta` 对象外,文件的其余部分应包含您要翻译的键值对。**强烈建议您使用项目提供的模板作为起点,以确保覆盖所有必要的翻译键。**
4141

42-
我们提供了一个自动扫描脚本 [`scripts/i18n-scanner.ts`](../../scripts/i18n-scanner.ts) 来从源代码中提取所有需要翻译的文本键,并生成一个模板文件。
42+
我们提供了一个自动扫描脚本 `scripts/i18n-scanner.ts` 来从源代码中提取所有需要翻译的文本键,并生成一个模板文件。
4343

4444
**对于普通用户:**
45-
您可以直接使用项目中预置的模板文件:[`scripts/locales-template.json`](../../scripts/locales-template.json)
45+
您可以直接使用项目中预置的模板文件:`scripts/locales-template.json`
4646
这个文件包含了所有UI文本的键,以及一个供您填写的 `_meta` 结构,对应的值均为 `"[TODO]"`。您需要做的就是:
47-
1. 复制 [`scripts/locales-template.json`](../../scripts/locales-template.json) 的内容。
47+
1. 复制 `scripts/locales-template.json` 的内容。
4848
2. 创建一个新的、以上述命名规范命名的文件(例如 `fr-FR.json`)。
4949
3. 将复制的内容粘贴进去,然后修改 `_meta` 对象中的占位符为您语言的实际名称。
5050
4. 将所有其他值为 `"[TODO]"` 的键翻译成您的目标语言。
@@ -95,7 +95,7 @@ ComfyTavern 支持用户自定义界面语言。通过添加自定义语言包
9595
例如,如果您创建了 `fr-FR.json`,则应将其放置为:
9696
`user://library/locales/ui/@ComfyTavern-ui/fr-FR.json`
9797

98-
您还可以将语言包文件放置在共享目录中`shared://library/locales/ui/@ComfyTavern-ui/` 或者`public\library\locales\ui\@ComfyTavern-ui` ,以便访问该部署实例的其他用户可以使用这些语言包。
98+
您还可以将语言包文件放置在共享目录中 `shared://library/locales/ui/@ComfyTavern-ui/` 或者 `public\library\locales\ui\@ComfyTavern-ui` ,以便访问该部署实例的其他用户可以使用这些语言包。
9999

100100
### 步骤 3:在应用中选择新语言
101101

@@ -114,7 +114,7 @@ ComfyTavern 支持用户自定义界面语言。通过添加自定义语言包
114114

115115
## 开发者指南:使用脚本生成与更新语言包
116116

117-
为了方便开发者和贡献者维护语言包,我们提供了一个强大的扫描工具:[`scripts/i18n-scanner.ts`](../../scripts/i18n-scanner.ts)
117+
为了方便开发者和贡献者维护语言包,我们提供了一个强大的扫描工具:`scripts/i18n-scanner.ts`
118118

119119
### 脚本功能
120120

@@ -124,28 +124,38 @@ ComfyTavern 支持用户自定义界面语言。通过添加自定义语言包
124124
2. **处理内置语言包**:更新核心开发者维护的语言包(位于 `apps/frontend-vueflow/src/locales`),并将合并产物输出到 `scripts/merged_locales/built-in/`
125125
3. **处理扩展语言包**:更新您放置在 `locales-extensions` 目录下的自定义语言包,并将合并产物输出到 `locales-extensions/merged_locales/`
126126

127-
### 如何使用脚本更新您的自定义语言包
127+
### 开发者工作流程
128128

129-
这是一个两步流程:首先使用脚本更新文件,然后将更新后的文件部署到应用中
129+
根据您的目标,有两种主要的工作流程
130130

131-
#### 步骤 A:使用脚本生成合并文件
131+
#### 场景 1:创建或更新个人/扩展语言包
132132

133-
1. **放置您的文件**:将您正在翻译的语言包文件(例如 `my-lang.json`)放置在项目根目录下的 `locales-extensions` 文件夹中。
133+
如果您希望创建供个人使用或分享的语言包,而不是将其作为应用的核心部分,请遵循此流程。
134+
135+
1. **放置您的文件**:将您正在翻译的语言包文件(例如 `my-lang.json`)放置在项目根目录下的 `locales-extensions` 文件夹中。如果该文件夹不存在,请手动创建。
134136
2. **运行扫描脚本**:在项目根目录下,打开终端并执行:
135137
```bash
136138
bun run i18n:scan
137139
```
138140
3. **获取更新后的文件**:脚本执行完毕后,在 `locales-extensions/merged_locales/` 目录下找到更新后的文件(例如 `my-lang.json`)。这个文件现在包含了所有最新的翻译键,同时保留了您已完成的翻译。
141+
4. **部署到应用**:要使您的语言包生效,您必须将上一步中得到的最终文件,**手动复制**到“**步骤 2:放置语言包文件**”中描述的运行时目录之一(例如 `user://library/locales/ui/@ComfyTavern-ui/`)。
139142

140-
#### 步骤 B:使语言包在应用中生效
143+
**请注意**`locales-extensions` 目录仅为脚本处理提供便利,应用本身不会从中加载文件。
141144

142-
**`locales-extensions` 目录仅为脚本处理提供便利,应用本身不会从中加载文件。**
145+
#### 场景 2:贡献或更新内置语言包(核心开发)
143146

144-
要使您的语言包生效,您必须完成最后一步
147+
如果您是 ComfyTavern 的核心贡献者,希望更新或添加一个内置语言包,请遵循以下步骤
145148

146-
- 将您在**步骤 A**中得到的、位于 `locales-extensions/merged_locales/` 目录下的最终文件,**复制**到“**步骤 2:放置语言包文件**”中描述的运行时目录之一(例如 `user://library/locales/ui/@ComfyTavern-ui/`)。
149+
1. **定位文件**:内置语言包的源文件位于 `apps/frontend-vueflow/src/locales`
150+
2. **运行扫描**:执行 `bun run i18n:scan`。脚本会扫描最新的翻译键,并将合并后的文件输出到 `scripts/merged_locales/built-in/` 目录。
151+
3. **翻译**:在 `scripts/merged_locales/built-in/` 目录中找到您的语言文件,完成所有值为 `"[TODO]"` 的条目的翻译。
152+
4. **复制回项目**:完成翻译后,执行以下命令将文件复制回应用源目录:
153+
```bash
154+
bun run i18n:copy
155+
```
156+
此命令会自动将合并后的语言包复制到 `apps/frontend-vueflow/src/locales`,完成更新。
147157

148-
完成这个复制操作并刷新应用后,您的自定义语言就会出现在设置菜单中
158+
完成以上步骤并重新构建应用后,您的更改将成为内置语言包的一部分
149159

150160
## 高级:翻译覆盖与合并
151161

0 commit comments

Comments
 (0)