@llm-translate/cli 1.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +51 -0
- package/.env.example +33 -0
- package/.github/workflows/docs-pages.yml +57 -0
- package/.github/workflows/release.yml +49 -0
- package/.translaterc.json +44 -0
- package/CLAUDE.md +243 -0
- package/Dockerfile +55 -0
- package/README.md +371 -0
- package/RFC.md +1595 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +4494 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +1152 -0
- package/dist/index.js +3841 -0
- package/dist/index.js.map +1 -0
- package/docker-compose.yml +56 -0
- package/docs/.vitepress/config.ts +161 -0
- package/docs/api/agent.md +262 -0
- package/docs/api/engine.md +274 -0
- package/docs/api/index.md +171 -0
- package/docs/api/providers.md +304 -0
- package/docs/changelog.md +64 -0
- package/docs/cli/dir.md +243 -0
- package/docs/cli/file.md +213 -0
- package/docs/cli/glossary.md +273 -0
- package/docs/cli/index.md +129 -0
- package/docs/cli/init.md +158 -0
- package/docs/cli/serve.md +211 -0
- package/docs/glossary.json +235 -0
- package/docs/guide/chunking.md +272 -0
- package/docs/guide/configuration.md +139 -0
- package/docs/guide/cost-optimization.md +237 -0
- package/docs/guide/docker.md +371 -0
- package/docs/guide/getting-started.md +150 -0
- package/docs/guide/glossary.md +241 -0
- package/docs/guide/index.md +86 -0
- package/docs/guide/ollama.md +515 -0
- package/docs/guide/prompt-caching.md +221 -0
- package/docs/guide/providers.md +232 -0
- package/docs/guide/quality-control.md +206 -0
- package/docs/guide/vitepress-integration.md +265 -0
- package/docs/index.md +63 -0
- package/docs/ja/api/agent.md +262 -0
- package/docs/ja/api/engine.md +274 -0
- package/docs/ja/api/index.md +171 -0
- package/docs/ja/api/providers.md +304 -0
- package/docs/ja/changelog.md +64 -0
- package/docs/ja/cli/dir.md +243 -0
- package/docs/ja/cli/file.md +213 -0
- package/docs/ja/cli/glossary.md +273 -0
- package/docs/ja/cli/index.md +111 -0
- package/docs/ja/cli/init.md +158 -0
- package/docs/ja/guide/chunking.md +271 -0
- package/docs/ja/guide/configuration.md +139 -0
- package/docs/ja/guide/cost-optimization.md +30 -0
- package/docs/ja/guide/getting-started.md +150 -0
- package/docs/ja/guide/glossary.md +214 -0
- package/docs/ja/guide/index.md +32 -0
- package/docs/ja/guide/ollama.md +410 -0
- package/docs/ja/guide/prompt-caching.md +221 -0
- package/docs/ja/guide/providers.md +232 -0
- package/docs/ja/guide/quality-control.md +137 -0
- package/docs/ja/guide/vitepress-integration.md +265 -0
- package/docs/ja/index.md +58 -0
- package/docs/ko/api/agent.md +262 -0
- package/docs/ko/api/engine.md +274 -0
- package/docs/ko/api/index.md +171 -0
- package/docs/ko/api/providers.md +304 -0
- package/docs/ko/changelog.md +64 -0
- package/docs/ko/cli/dir.md +243 -0
- package/docs/ko/cli/file.md +213 -0
- package/docs/ko/cli/glossary.md +273 -0
- package/docs/ko/cli/index.md +111 -0
- package/docs/ko/cli/init.md +158 -0
- package/docs/ko/guide/chunking.md +271 -0
- package/docs/ko/guide/configuration.md +139 -0
- package/docs/ko/guide/cost-optimization.md +30 -0
- package/docs/ko/guide/getting-started.md +150 -0
- package/docs/ko/guide/glossary.md +214 -0
- package/docs/ko/guide/index.md +32 -0
- package/docs/ko/guide/ollama.md +410 -0
- package/docs/ko/guide/prompt-caching.md +221 -0
- package/docs/ko/guide/providers.md +232 -0
- package/docs/ko/guide/quality-control.md +137 -0
- package/docs/ko/guide/vitepress-integration.md +265 -0
- package/docs/ko/index.md +58 -0
- package/docs/zh/api/agent.md +262 -0
- package/docs/zh/api/engine.md +274 -0
- package/docs/zh/api/index.md +171 -0
- package/docs/zh/api/providers.md +304 -0
- package/docs/zh/changelog.md +64 -0
- package/docs/zh/cli/dir.md +243 -0
- package/docs/zh/cli/file.md +213 -0
- package/docs/zh/cli/glossary.md +273 -0
- package/docs/zh/cli/index.md +111 -0
- package/docs/zh/cli/init.md +158 -0
- package/docs/zh/guide/chunking.md +271 -0
- package/docs/zh/guide/configuration.md +139 -0
- package/docs/zh/guide/cost-optimization.md +30 -0
- package/docs/zh/guide/getting-started.md +150 -0
- package/docs/zh/guide/glossary.md +214 -0
- package/docs/zh/guide/index.md +32 -0
- package/docs/zh/guide/ollama.md +410 -0
- package/docs/zh/guide/prompt-caching.md +221 -0
- package/docs/zh/guide/providers.md +232 -0
- package/docs/zh/guide/quality-control.md +137 -0
- package/docs/zh/guide/vitepress-integration.md +265 -0
- package/docs/zh/index.md +58 -0
- package/package.json +91 -0
- package/release.config.mjs +15 -0
- package/schemas/glossary.schema.json +110 -0
- package/src/cli/commands/dir.ts +469 -0
- package/src/cli/commands/file.ts +291 -0
- package/src/cli/commands/glossary.ts +221 -0
- package/src/cli/commands/init.ts +68 -0
- package/src/cli/commands/serve.ts +60 -0
- package/src/cli/index.ts +64 -0
- package/src/cli/options.ts +59 -0
- package/src/core/agent.ts +1119 -0
- package/src/core/chunker.ts +391 -0
- package/src/core/engine.ts +634 -0
- package/src/errors.ts +188 -0
- package/src/index.ts +147 -0
- package/src/integrations/vitepress.ts +549 -0
- package/src/parsers/markdown.ts +383 -0
- package/src/providers/claude.ts +259 -0
- package/src/providers/interface.ts +109 -0
- package/src/providers/ollama.ts +379 -0
- package/src/providers/openai.ts +308 -0
- package/src/providers/registry.ts +153 -0
- package/src/server/index.ts +152 -0
- package/src/server/middleware/auth.ts +93 -0
- package/src/server/middleware/logger.ts +90 -0
- package/src/server/routes/health.ts +84 -0
- package/src/server/routes/translate.ts +210 -0
- package/src/server/types.ts +138 -0
- package/src/services/cache.ts +899 -0
- package/src/services/config.ts +217 -0
- package/src/services/glossary.ts +247 -0
- package/src/types/analysis.ts +164 -0
- package/src/types/index.ts +265 -0
- package/src/types/modes.ts +121 -0
- package/src/types/mqm.ts +157 -0
- package/src/utils/logger.ts +141 -0
- package/src/utils/tokens.ts +116 -0
- package/tests/fixtures/glossaries/ml-glossary.json +53 -0
- package/tests/fixtures/input/lynq-installation.ko.md +350 -0
- package/tests/fixtures/input/lynq-installation.md +350 -0
- package/tests/fixtures/input/simple.ko.md +27 -0
- package/tests/fixtures/input/simple.md +27 -0
- package/tests/unit/chunker.test.ts +229 -0
- package/tests/unit/glossary.test.ts +146 -0
- package/tests/unit/markdown.test.ts +205 -0
- package/tests/unit/tokens.test.ts +81 -0
- package/tsconfig.json +28 -0
- package/tsup.config.ts +34 -0
- package/vitest.config.ts +16 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# llm-translate file
|
|
2
|
+
|
|
3
|
+
::: info 翻译说明
|
|
4
|
+
所有非英文文档均使用 Claude Sonnet 4 自动翻译。
|
|
5
|
+
:::
|
|
6
|
+
|
|
7
|
+
翻译单个文件。
|
|
8
|
+
|
|
9
|
+
## 语法
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
llm-translate file <input> [output] [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 参数
|
|
16
|
+
|
|
17
|
+
| 参数 | 描述 |
|
|
18
|
+
|----------|-------------|
|
|
19
|
+
|`<input>`| 输入文件路径(必需) |
|
|
20
|
+
|`[output]`| 输出文件路径(可选,默认为 stdout) |
|
|
21
|
+
|
|
22
|
+
## 选项
|
|
23
|
+
|
|
24
|
+
### 翻译选项
|
|
25
|
+
|
|
26
|
+
| 选项 | 默认值 | 描述 |
|
|
27
|
+
|--------|---------|-------------|
|
|
28
|
+
|`--source-lang `,`-s`| 必需 | 源语言代码 |
|
|
29
|
+
|`--target-lang `,`-t`| 必需 | 目标语言代码 |
|
|
30
|
+
|`--glossary `,`-g`| 无 | 术语表文件路径 |
|
|
31
|
+
|
|
32
|
+
### 质量选项
|
|
33
|
+
|
|
34
|
+
| 选项 | 默认值 | 描述 |
|
|
35
|
+
|--------|---------|-------------|
|
|
36
|
+
|`--quality`| 85 | 质量阈值(0-100) |
|
|
37
|
+
|`--max-iterations`| 4 | 最大优化迭代次数 |
|
|
38
|
+
|`--strict-quality`| false | 未达到阈值时失败 |
|
|
39
|
+
|`--strict-glossary`| false | 术语表术语未应用时失败 |
|
|
40
|
+
|
|
41
|
+
### 提供商选项
|
|
42
|
+
|
|
43
|
+
| 选项 | 默认值 | 描述 |
|
|
44
|
+
|--------|---------|-------------|
|
|
45
|
+
|`--provider `,`-p`| claude | 提供商名称 |
|
|
46
|
+
|`--model `,`-m`| 不定 | 模型标识符 |
|
|
47
|
+
|
|
48
|
+
### 输出选项
|
|
49
|
+
|
|
50
|
+
| 选项 | 默认值 | 描述 |
|
|
51
|
+
|--------|---------|-------------|
|
|
52
|
+
|`--output `,`-o`| 自动 | 输出文件路径 |
|
|
53
|
+
|`--format `,`-f`| 自动 | 强制输出格式(md\|html\|txt) |
|
|
54
|
+
|`--dry-run`| false | 显示将要执行的操作 |
|
|
55
|
+
|`--json`| false | 以 JSON 格式输出结果 |
|
|
56
|
+
|`--verbose `,`-v`| false | 启用详细日志记录 |
|
|
57
|
+
|`--quiet `,`-q`| false | 抑制非错误输出 |
|
|
58
|
+
|
|
59
|
+
### 高级选项
|
|
60
|
+
|
|
61
|
+
| 选项 | 默认值 | 描述 |
|
|
62
|
+
|--------|---------|-------------|
|
|
63
|
+
|`--no-cache`| false | 禁用翻译缓存 |
|
|
64
|
+
|`--chunk-size`| 1024 | 每个分块的最大令牌数 |
|
|
65
|
+
|`--context`| 无 | 翻译的附加上下文 |
|
|
66
|
+
|
|
67
|
+
## 示例
|
|
68
|
+
|
|
69
|
+
### 基本用法
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Translate to Korean
|
|
73
|
+
llm-translate file README.md -o README.ko.md -s en -t ko
|
|
74
|
+
|
|
75
|
+
# With explicit output path
|
|
76
|
+
llm-translate file README.md --output README.ko.md --source-lang en --target-lang ko
|
|
77
|
+
|
|
78
|
+
# Specify source and target languages
|
|
79
|
+
llm-translate file doc.md -o doc.ja.md --source-lang en --target-lang ja
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 使用术语表
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Use glossary for consistent terminology
|
|
86
|
+
llm-translate file api-docs.md -o api-docs.ko.md \
|
|
87
|
+
-s en -t ko \
|
|
88
|
+
--glossary glossary.json
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 质量控制
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Higher quality threshold
|
|
95
|
+
llm-translate file important.md -o important.ko.md \
|
|
96
|
+
-s en -t ko \
|
|
97
|
+
--quality 95 \
|
|
98
|
+
--max-iterations 6
|
|
99
|
+
|
|
100
|
+
# Strict mode (fail if not met)
|
|
101
|
+
llm-translate file legal.md -o legal.ko.md \
|
|
102
|
+
--source-lang en \
|
|
103
|
+
--target-lang ko \
|
|
104
|
+
--quality 95 \
|
|
105
|
+
--strict-quality
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 提供商选择
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Use Claude Sonnet
|
|
112
|
+
llm-translate file doc.md -o doc.ko.md \
|
|
113
|
+
-s en -t ko \
|
|
114
|
+
--provider claude \
|
|
115
|
+
--model claude-sonnet-4-5-20250929
|
|
116
|
+
|
|
117
|
+
# Use OpenAI
|
|
118
|
+
llm-translate file doc.md -o doc.ko.md \
|
|
119
|
+
-s en -t ko \
|
|
120
|
+
--provider openai \
|
|
121
|
+
--model gpt-4o
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### 从 stdin 输入
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Pipe content (uses stdin mode when no TTY)
|
|
128
|
+
cat doc.md | llm-translate -s en -t ko > doc.ko.md
|
|
129
|
+
|
|
130
|
+
# Use with other tools
|
|
131
|
+
curl https://example.com/doc.md | llm-translate -s en -t ko
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## 输出格式
|
|
135
|
+
|
|
136
|
+
### 普通模式
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
✓ Translated README.md → README.ko.md
|
|
140
|
+
Quality: 92/85 (threshold met)
|
|
141
|
+
Duration: 3.2s
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### 详细模式
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
llm-translate file doc.md -o doc.ko.md --target ko --verbose
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
ℹ Loading configuration...
|
|
152
|
+
ℹ Provider: claude (claude-haiku-4-5-20251001)
|
|
153
|
+
ℹ Parsing document...
|
|
154
|
+
ℹ Chunks: 5
|
|
155
|
+
ℹ Starting translation...
|
|
156
|
+
|
|
157
|
+
[Chunk 1/5] Starting initial translation...
|
|
158
|
+
[Chunk 1/5] Quality: 78/85
|
|
159
|
+
[Chunk 1/5] Generating improvements...
|
|
160
|
+
[Chunk 1/5] Quality: 91/85 ✓
|
|
161
|
+
|
|
162
|
+
[Chunk 2/5] Starting initial translation...
|
|
163
|
+
[Chunk 2/5] Quality: 88/85 ✓
|
|
164
|
+
...
|
|
165
|
+
|
|
166
|
+
✓ Translation complete
|
|
167
|
+
Quality: 89/85 (threshold met)
|
|
168
|
+
Iterations: avg 1.8
|
|
169
|
+
Tokens: 5,234 input / 6,456 output
|
|
170
|
+
Cache: 3,200 read / 800 written
|
|
171
|
+
Duration: 8.4s
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## 语言代码
|
|
175
|
+
|
|
176
|
+
常见语言代码:
|
|
177
|
+
|
|
178
|
+
| 代码 | 语言 |
|
|
179
|
+
|------|----------|
|
|
180
|
+
|`en`| 英语 |
|
|
181
|
+
|`ko`| 韩语 |
|
|
182
|
+
|`ja`| 日语 |
|
|
183
|
+
|`zh`| 中文(简体) |
|
|
184
|
+
|`zh-TW`| 中文(繁体) |
|
|
185
|
+
|`es`| 西班牙语 |
|
|
186
|
+
|`fr`| 法语 |
|
|
187
|
+
|`de`| 德语 |
|
|
188
|
+
|
|
189
|
+
## 错误处理
|
|
190
|
+
|
|
191
|
+
### 文件未找到
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
$ llm-translate file missing.md -s en -t ko
|
|
195
|
+
Error: Could not read file 'missing.md'
|
|
196
|
+
Exit code: 3
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### 质量未达标(严格模式)
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
$ llm-translate file doc.md -o doc.ko.md -s en -t ko --quality 99 --strict-quality
|
|
203
|
+
Error: Quality threshold not met: 94/99
|
|
204
|
+
Exit code: 4
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### API 错误
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
$ llm-translate file doc.md --target ko
|
|
211
|
+
Error: Provider error: Rate limit exceeded
|
|
212
|
+
Exit code: 5
|
|
213
|
+
```
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
# llm-translate glossary
|
|
2
|
+
|
|
3
|
+
::: info 翻译说明
|
|
4
|
+
所有非英文文档均使用 Claude Sonnet 4 自动翻译。
|
|
5
|
+
:::
|
|
6
|
+
|
|
7
|
+
管理术语表文件以确保术语一致性。
|
|
8
|
+
|
|
9
|
+
## 概要
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
llm-translate glossary <subcommand> [options]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 子命令
|
|
16
|
+
|
|
17
|
+
### list
|
|
18
|
+
|
|
19
|
+
列出术语表中的所有术语。
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
llm-translate glossary list --glossary glossary.json
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
选项:
|
|
26
|
+
| 选项 | 描述 |
|
|
27
|
+
|--------|-------------|
|
|
28
|
+
|`--glossary `,`-g`| 术语表文件路径(必需) |
|
|
29
|
+
|`--target `,`-t`| 按目标语言过滤 |
|
|
30
|
+
|`--format `| 输出格式:` table `、` json`|
|
|
31
|
+
|
|
32
|
+
示例:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# List all terms
|
|
36
|
+
llm-translate glossary list -g glossary.json
|
|
37
|
+
|
|
38
|
+
# Filter by target language
|
|
39
|
+
llm-translate glossary list -g glossary.json --target ko
|
|
40
|
+
|
|
41
|
+
# JSON output
|
|
42
|
+
llm-translate glossary list -g glossary.json --format json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
输出:
|
|
46
|
+
```
|
|
47
|
+
Glossary: glossary.json (15 terms)
|
|
48
|
+
|
|
49
|
+
Source | Korean (ko) | Japanese (ja) | Flags
|
|
50
|
+
----------------|------------------|------------------|-------
|
|
51
|
+
component | 컴포넌트 | コンポーネント |
|
|
52
|
+
prop | 프롭 | プロップ |
|
|
53
|
+
state | 상태 | ステート |
|
|
54
|
+
TypeScript | - | - | DNT
|
|
55
|
+
API | - | - | DNT, CS
|
|
56
|
+
|
|
57
|
+
DNT = Do Not Translate, CS = Case Sensitive
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### validate
|
|
61
|
+
|
|
62
|
+
验证术语表文件结构和内容。
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
llm-translate glossary validate --glossary glossary.json
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
选项:
|
|
69
|
+
| 选项 | 描述 |
|
|
70
|
+
|--------|-------------|
|
|
71
|
+
|`--glossary `,`-g`| 术语表文件路径(必需) |
|
|
72
|
+
|`--strict`| 警告时失败 |
|
|
73
|
+
|
|
74
|
+
示例:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Basic validation
|
|
78
|
+
llm-translate glossary validate -g glossary.json
|
|
79
|
+
|
|
80
|
+
# Strict mode
|
|
81
|
+
llm-translate glossary validate -g glossary.json --strict
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
输出:
|
|
85
|
+
```
|
|
86
|
+
Validating glossary.json...
|
|
87
|
+
|
|
88
|
+
✓ Valid JSON structure
|
|
89
|
+
✓ Required fields present
|
|
90
|
+
✓ 15 terms found
|
|
91
|
+
|
|
92
|
+
Warnings:
|
|
93
|
+
- Term "component" has no context
|
|
94
|
+
- Term "hook" missing Japanese translation
|
|
95
|
+
|
|
96
|
+
✓ Validation passed (2 warnings)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### add
|
|
100
|
+
|
|
101
|
+
向术语表添加新术语。
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
llm-translate glossary add <source> [options]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
选项:
|
|
108
|
+
| 选项 | 描述 |
|
|
109
|
+
|--------|-------------|
|
|
110
|
+
|`--glossary `,`-g`| 术语表文件路径(必需) |
|
|
111
|
+
|`--target `| 目标翻译(格式:` lang=value`) |
|
|
112
|
+
|`--context`| 术语的上下文 |
|
|
113
|
+
|`--dnt`| 标记为"不翻译" |
|
|
114
|
+
|`--case-sensitive`| 标记为区分大小写 |
|
|
115
|
+
|
|
116
|
+
示例:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Add with translations
|
|
120
|
+
llm-translate glossary add "container" \
|
|
121
|
+
-g glossary.json \
|
|
122
|
+
--target ko="컨테이너" \
|
|
123
|
+
--target ja="コンテナ"
|
|
124
|
+
|
|
125
|
+
# Add do-not-translate term
|
|
126
|
+
llm-translate glossary add "Kubernetes" \
|
|
127
|
+
-g glossary.json \
|
|
128
|
+
--dnt
|
|
129
|
+
|
|
130
|
+
# Add with context
|
|
131
|
+
llm-translate glossary add "instance" \
|
|
132
|
+
-g glossary.json \
|
|
133
|
+
--target ko="인스턴스" \
|
|
134
|
+
--context "Cloud computing instance"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### remove
|
|
138
|
+
|
|
139
|
+
从术语表中删除术语。
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
llm-translate glossary remove <source> --glossary glossary.json
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
示例:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
llm-translate glossary remove "deprecated-term" -g glossary.json
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### update
|
|
152
|
+
|
|
153
|
+
更新现有术语。
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
llm-translate glossary update <source> [options]
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
选项:
|
|
160
|
+
| 选项 | 描述 |
|
|
161
|
+
|--------|-------------|
|
|
162
|
+
|`--glossary `,`-g`| 术语表文件路径(必需) |
|
|
163
|
+
|`--target`| 更新目标翻译 |
|
|
164
|
+
|`--context`| 更新上下文 |
|
|
165
|
+
|`--dnt`| 设置/取消设置不翻译 |
|
|
166
|
+
|
|
167
|
+
示例:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Update translation
|
|
171
|
+
llm-translate glossary update "component" \
|
|
172
|
+
-g glossary.json \
|
|
173
|
+
--target ko="컴포넌트 요소"
|
|
174
|
+
|
|
175
|
+
# Add context
|
|
176
|
+
llm-translate glossary update "state" \
|
|
177
|
+
-g glossary.json \
|
|
178
|
+
--context "React component state"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### stats
|
|
182
|
+
|
|
183
|
+
显示术语表统计信息。
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
llm-translate glossary stats --glossary glossary.json
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
输出:
|
|
190
|
+
```
|
|
191
|
+
Glossary Statistics: glossary.json
|
|
192
|
+
|
|
193
|
+
Terms: 15
|
|
194
|
+
- With translations: 12
|
|
195
|
+
- Do not translate: 3
|
|
196
|
+
|
|
197
|
+
Languages:
|
|
198
|
+
- Korean (ko): 12 terms
|
|
199
|
+
- Japanese (ja): 10 terms
|
|
200
|
+
- Chinese (zh): 8 terms
|
|
201
|
+
|
|
202
|
+
Token estimate: ~450 tokens
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### merge
|
|
206
|
+
|
|
207
|
+
合并多个术语表。
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
llm-translate glossary merge \
|
|
211
|
+
--input glossary-a.json \
|
|
212
|
+
--input glossary-b.json \
|
|
213
|
+
--output merged.json
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
选项:
|
|
217
|
+
| 选项 | 描述 |
|
|
218
|
+
|--------|-------------|
|
|
219
|
+
|`--input `,`-i`| 输入术语表文件(多个) |
|
|
220
|
+
|`--output `,`-o`| 输出合并的术语表 |
|
|
221
|
+
|`--strategy `| 冲突解决:` first `、` last `、` error`|
|
|
222
|
+
|
|
223
|
+
### export
|
|
224
|
+
|
|
225
|
+
将术语表导出为不同格式。
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
llm-translate glossary export --glossary glossary.json --format csv
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
选项:
|
|
232
|
+
| 选项 | 描述 |
|
|
233
|
+
|--------|-------------|
|
|
234
|
+
|`--format `| 导出格式:` csv `、` tsv `、` xlsx`|
|
|
235
|
+
|`--output `,`-o`| 输出文件路径 |
|
|
236
|
+
|
|
237
|
+
## 最佳实践
|
|
238
|
+
|
|
239
|
+
### 组织大型术语表
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# Split by domain
|
|
243
|
+
glossaries/
|
|
244
|
+
├── common.json # Shared terms
|
|
245
|
+
├── frontend.json # UI terminology
|
|
246
|
+
├── backend.json # Server terminology
|
|
247
|
+
└── devops.json # Infrastructure terms
|
|
248
|
+
|
|
249
|
+
# Merge for use
|
|
250
|
+
llm-translate glossary merge \
|
|
251
|
+
-i glossaries/common.json \
|
|
252
|
+
-i glossaries/frontend.json \
|
|
253
|
+
-o project-glossary.json
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 版本控制
|
|
257
|
+
|
|
258
|
+
将术语表包含在版本控制中:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
git add glossary.json
|
|
262
|
+
git commit -m "Add project glossary"
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### 定期维护
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# Validate before commits
|
|
269
|
+
llm-translate glossary validate -g glossary.json --strict
|
|
270
|
+
|
|
271
|
+
# Review stats periodically
|
|
272
|
+
llm-translate glossary stats -g glossary.json
|
|
273
|
+
```
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# CLI 参考
|
|
2
|
+
|
|
3
|
+
::: info 翻译说明
|
|
4
|
+
所有非英文文档均使用 Claude Sonnet 4 自动翻译。
|
|
5
|
+
:::
|
|
6
|
+
|
|
7
|
+
llm-translate 提供了用于翻译文档的命令行界面。
|
|
8
|
+
|
|
9
|
+
## 安装
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @llm-translate/cli
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 全局选项
|
|
16
|
+
|
|
17
|
+
这些选项适用于所有命令:
|
|
18
|
+
|
|
19
|
+
| 选项 | 描述 |
|
|
20
|
+
|--------|-------------|
|
|
21
|
+
|`--help `,`-h`| 显示帮助 |
|
|
22
|
+
|`--version `,`-V`| 显示版本 |
|
|
23
|
+
|`--verbose `,`-v`| 启用详细输出 |
|
|
24
|
+
|`--quiet `,`-q`| 抑制非必要输出 |
|
|
25
|
+
|`--config`| 配置文件路径 |
|
|
26
|
+
|
|
27
|
+
## 命令
|
|
28
|
+
|
|
29
|
+
### [file](./file)
|
|
30
|
+
|
|
31
|
+
翻译单个文件。
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
llm-translate file <input> [output] [options]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### [dir](./dir)
|
|
38
|
+
|
|
39
|
+
翻译目录中的所有文件。
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
llm-translate dir <input> <output> [options]
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### [init](./init)
|
|
46
|
+
|
|
47
|
+
初始化配置文件。
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
llm-translate init [options]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### [glossary](./glossary)
|
|
54
|
+
|
|
55
|
+
管理术语表文件。
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
llm-translate glossary <subcommand> [options]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 快速示例
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Translate a file to Korean
|
|
65
|
+
llm-translate file README.md -o README.ko.md -s en -t ko
|
|
66
|
+
|
|
67
|
+
# Translate with glossary
|
|
68
|
+
llm-translate file docs/guide.md -o docs/guide.ja.md \
|
|
69
|
+
-s en -t ja --glossary glossary.json
|
|
70
|
+
|
|
71
|
+
# Batch translate a directory
|
|
72
|
+
llm-translate dir ./docs ./docs-ko -s en -t ko
|
|
73
|
+
|
|
74
|
+
# Initialize config
|
|
75
|
+
llm-translate init --provider claude
|
|
76
|
+
|
|
77
|
+
# Validate glossary
|
|
78
|
+
llm-translate glossary validate glossary.json
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 退出代码
|
|
82
|
+
|
|
83
|
+
| 代码 | 描述 |
|
|
84
|
+
|------|-------------|
|
|
85
|
+
| 0 | 成功 |
|
|
86
|
+
| 1 | 一般错误 |
|
|
87
|
+
| 2 | 无效参数 |
|
|
88
|
+
| 3 | 文件未找到 |
|
|
89
|
+
| 4 | 未达到质量阈值(严格模式) |
|
|
90
|
+
| 5 | 提供商/API 错误 |
|
|
91
|
+
| 6 | 术语表验证失败 |
|
|
92
|
+
|
|
93
|
+
## 环境变量
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# API Keys
|
|
97
|
+
ANTHROPIC_API_KEY=sk-ant-xxxxx
|
|
98
|
+
OPENAI_API_KEY=sk-xxxxx
|
|
99
|
+
OLLAMA_BASE_URL=http://localhost:11434
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## 配置优先级
|
|
103
|
+
|
|
104
|
+
设置按以下顺序应用(后者覆盖前者):
|
|
105
|
+
|
|
106
|
+
1. 内置默认值
|
|
107
|
+
2. 配置文件 (`.translaterc.json`)
|
|
108
|
+
3. 环境变量
|
|
109
|
+
4. CLI 参数
|
|
110
|
+
|
|
111
|
+
详情请参见[配置](../guide/configuration)。
|