@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.
Files changed (157) hide show
  1. package/.dockerignore +51 -0
  2. package/.env.example +33 -0
  3. package/.github/workflows/docs-pages.yml +57 -0
  4. package/.github/workflows/release.yml +49 -0
  5. package/.translaterc.json +44 -0
  6. package/CLAUDE.md +243 -0
  7. package/Dockerfile +55 -0
  8. package/README.md +371 -0
  9. package/RFC.md +1595 -0
  10. package/dist/cli/index.d.ts +2 -0
  11. package/dist/cli/index.js +4494 -0
  12. package/dist/cli/index.js.map +1 -0
  13. package/dist/index.d.ts +1152 -0
  14. package/dist/index.js +3841 -0
  15. package/dist/index.js.map +1 -0
  16. package/docker-compose.yml +56 -0
  17. package/docs/.vitepress/config.ts +161 -0
  18. package/docs/api/agent.md +262 -0
  19. package/docs/api/engine.md +274 -0
  20. package/docs/api/index.md +171 -0
  21. package/docs/api/providers.md +304 -0
  22. package/docs/changelog.md +64 -0
  23. package/docs/cli/dir.md +243 -0
  24. package/docs/cli/file.md +213 -0
  25. package/docs/cli/glossary.md +273 -0
  26. package/docs/cli/index.md +129 -0
  27. package/docs/cli/init.md +158 -0
  28. package/docs/cli/serve.md +211 -0
  29. package/docs/glossary.json +235 -0
  30. package/docs/guide/chunking.md +272 -0
  31. package/docs/guide/configuration.md +139 -0
  32. package/docs/guide/cost-optimization.md +237 -0
  33. package/docs/guide/docker.md +371 -0
  34. package/docs/guide/getting-started.md +150 -0
  35. package/docs/guide/glossary.md +241 -0
  36. package/docs/guide/index.md +86 -0
  37. package/docs/guide/ollama.md +515 -0
  38. package/docs/guide/prompt-caching.md +221 -0
  39. package/docs/guide/providers.md +232 -0
  40. package/docs/guide/quality-control.md +206 -0
  41. package/docs/guide/vitepress-integration.md +265 -0
  42. package/docs/index.md +63 -0
  43. package/docs/ja/api/agent.md +262 -0
  44. package/docs/ja/api/engine.md +274 -0
  45. package/docs/ja/api/index.md +171 -0
  46. package/docs/ja/api/providers.md +304 -0
  47. package/docs/ja/changelog.md +64 -0
  48. package/docs/ja/cli/dir.md +243 -0
  49. package/docs/ja/cli/file.md +213 -0
  50. package/docs/ja/cli/glossary.md +273 -0
  51. package/docs/ja/cli/index.md +111 -0
  52. package/docs/ja/cli/init.md +158 -0
  53. package/docs/ja/guide/chunking.md +271 -0
  54. package/docs/ja/guide/configuration.md +139 -0
  55. package/docs/ja/guide/cost-optimization.md +30 -0
  56. package/docs/ja/guide/getting-started.md +150 -0
  57. package/docs/ja/guide/glossary.md +214 -0
  58. package/docs/ja/guide/index.md +32 -0
  59. package/docs/ja/guide/ollama.md +410 -0
  60. package/docs/ja/guide/prompt-caching.md +221 -0
  61. package/docs/ja/guide/providers.md +232 -0
  62. package/docs/ja/guide/quality-control.md +137 -0
  63. package/docs/ja/guide/vitepress-integration.md +265 -0
  64. package/docs/ja/index.md +58 -0
  65. package/docs/ko/api/agent.md +262 -0
  66. package/docs/ko/api/engine.md +274 -0
  67. package/docs/ko/api/index.md +171 -0
  68. package/docs/ko/api/providers.md +304 -0
  69. package/docs/ko/changelog.md +64 -0
  70. package/docs/ko/cli/dir.md +243 -0
  71. package/docs/ko/cli/file.md +213 -0
  72. package/docs/ko/cli/glossary.md +273 -0
  73. package/docs/ko/cli/index.md +111 -0
  74. package/docs/ko/cli/init.md +158 -0
  75. package/docs/ko/guide/chunking.md +271 -0
  76. package/docs/ko/guide/configuration.md +139 -0
  77. package/docs/ko/guide/cost-optimization.md +30 -0
  78. package/docs/ko/guide/getting-started.md +150 -0
  79. package/docs/ko/guide/glossary.md +214 -0
  80. package/docs/ko/guide/index.md +32 -0
  81. package/docs/ko/guide/ollama.md +410 -0
  82. package/docs/ko/guide/prompt-caching.md +221 -0
  83. package/docs/ko/guide/providers.md +232 -0
  84. package/docs/ko/guide/quality-control.md +137 -0
  85. package/docs/ko/guide/vitepress-integration.md +265 -0
  86. package/docs/ko/index.md +58 -0
  87. package/docs/zh/api/agent.md +262 -0
  88. package/docs/zh/api/engine.md +274 -0
  89. package/docs/zh/api/index.md +171 -0
  90. package/docs/zh/api/providers.md +304 -0
  91. package/docs/zh/changelog.md +64 -0
  92. package/docs/zh/cli/dir.md +243 -0
  93. package/docs/zh/cli/file.md +213 -0
  94. package/docs/zh/cli/glossary.md +273 -0
  95. package/docs/zh/cli/index.md +111 -0
  96. package/docs/zh/cli/init.md +158 -0
  97. package/docs/zh/guide/chunking.md +271 -0
  98. package/docs/zh/guide/configuration.md +139 -0
  99. package/docs/zh/guide/cost-optimization.md +30 -0
  100. package/docs/zh/guide/getting-started.md +150 -0
  101. package/docs/zh/guide/glossary.md +214 -0
  102. package/docs/zh/guide/index.md +32 -0
  103. package/docs/zh/guide/ollama.md +410 -0
  104. package/docs/zh/guide/prompt-caching.md +221 -0
  105. package/docs/zh/guide/providers.md +232 -0
  106. package/docs/zh/guide/quality-control.md +137 -0
  107. package/docs/zh/guide/vitepress-integration.md +265 -0
  108. package/docs/zh/index.md +58 -0
  109. package/package.json +91 -0
  110. package/release.config.mjs +15 -0
  111. package/schemas/glossary.schema.json +110 -0
  112. package/src/cli/commands/dir.ts +469 -0
  113. package/src/cli/commands/file.ts +291 -0
  114. package/src/cli/commands/glossary.ts +221 -0
  115. package/src/cli/commands/init.ts +68 -0
  116. package/src/cli/commands/serve.ts +60 -0
  117. package/src/cli/index.ts +64 -0
  118. package/src/cli/options.ts +59 -0
  119. package/src/core/agent.ts +1119 -0
  120. package/src/core/chunker.ts +391 -0
  121. package/src/core/engine.ts +634 -0
  122. package/src/errors.ts +188 -0
  123. package/src/index.ts +147 -0
  124. package/src/integrations/vitepress.ts +549 -0
  125. package/src/parsers/markdown.ts +383 -0
  126. package/src/providers/claude.ts +259 -0
  127. package/src/providers/interface.ts +109 -0
  128. package/src/providers/ollama.ts +379 -0
  129. package/src/providers/openai.ts +308 -0
  130. package/src/providers/registry.ts +153 -0
  131. package/src/server/index.ts +152 -0
  132. package/src/server/middleware/auth.ts +93 -0
  133. package/src/server/middleware/logger.ts +90 -0
  134. package/src/server/routes/health.ts +84 -0
  135. package/src/server/routes/translate.ts +210 -0
  136. package/src/server/types.ts +138 -0
  137. package/src/services/cache.ts +899 -0
  138. package/src/services/config.ts +217 -0
  139. package/src/services/glossary.ts +247 -0
  140. package/src/types/analysis.ts +164 -0
  141. package/src/types/index.ts +265 -0
  142. package/src/types/modes.ts +121 -0
  143. package/src/types/mqm.ts +157 -0
  144. package/src/utils/logger.ts +141 -0
  145. package/src/utils/tokens.ts +116 -0
  146. package/tests/fixtures/glossaries/ml-glossary.json +53 -0
  147. package/tests/fixtures/input/lynq-installation.ko.md +350 -0
  148. package/tests/fixtures/input/lynq-installation.md +350 -0
  149. package/tests/fixtures/input/simple.ko.md +27 -0
  150. package/tests/fixtures/input/simple.md +27 -0
  151. package/tests/unit/chunker.test.ts +229 -0
  152. package/tests/unit/glossary.test.ts +146 -0
  153. package/tests/unit/markdown.test.ts +205 -0
  154. package/tests/unit/tokens.test.ts +81 -0
  155. package/tsconfig.json +28 -0
  156. package/tsup.config.ts +34 -0
  157. 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)。