@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,243 @@
1
+ # llm-translate dir
2
+
3
+ ::: info 翻訳について
4
+ 英語以外のドキュメントはすべてClaude Sonnet 4を使用して自動翻訳されています。
5
+ :::
6
+
7
+ ディレクトリ内のすべてのファイルを翻訳します。
8
+
9
+ ## 概要
10
+
11
+ ```bash
12
+ llm-translate dir <input> <output> [options]
13
+ ```
14
+
15
+ ## 引数
16
+
17
+ | 引数 | 説明 |
18
+ |----------|-------------|
19
+ |`<input>`| 入力ディレクトリパス(必須) |
20
+ |`<output>`| 出力ディレクトリパス(必須) |
21
+
22
+ ## オプション
23
+
24
+ ### 言語オプション
25
+
26
+ | オプション | デフォルト | 説明 |
27
+ |--------|---------|-------------|
28
+ |`-s, --source-lang <lang>`| 設定のデフォルト | ソース言語コード |
29
+ |`-t, --target-lang <lang>`| 必須 | ターゲット言語コード |
30
+
31
+ ### 翻訳オプション
32
+
33
+ | オプション | デフォルト | 説明 |
34
+ |--------|---------|-------------|
35
+ |`-g, --glossary <path>`| なし | 用語集ファイルのパス |
36
+ |`-p, --provider <name>`|` claude`| LLMプロバイダー (claude\|openai\|ollama) |
37
+ |`-m, --model <name>`| プロバイダーのデフォルト | モデル名 |
38
+ |`--context <text>`| なし | 翻訳のための追加コンテキスト |
39
+
40
+ ### 品質オプション
41
+
42
+ | オプション | デフォルト | 説明 |
43
+ |--------|---------|-------------|
44
+ |`--quality <0-100>`| 85 | 品質しきい値 |
45
+ |`--max-iterations <n>`| 4 | 最大改良反復回数 |
46
+
47
+ ### ファイル選択
48
+
49
+ | オプション | デフォルト | 説明 |
50
+ |--------|---------|-------------|
51
+ |`--include <patterns>`|`*.md,*.markdown`| 含めるファイルパターン(カンマ区切り) |
52
+ |`--exclude <patterns>`| なし | 除外するファイルパターン(カンマ区切り) |
53
+
54
+ ### 処理オプション
55
+
56
+ | オプション | デフォルト | 説明 |
57
+ |--------|---------|-------------|
58
+ |`--parallel <n>`| 3 | 並列ファイル処理 |
59
+ |`--chunk-size <tokens>`| 1024 | チャンクあたりの最大トークン数 |
60
+ |`--no-cache`| false | 翻訳キャッシュを無効化 |
61
+
62
+ ### 出力オプション
63
+
64
+ | オプション | デフォルト | 説明 |
65
+ |--------|---------|-------------|
66
+ |`-f, --format <fmt>`| auto | 出力フォーマットを強制 (md\|html\|txt) |
67
+ |`--dry-run`| false | 翻訳される内容を表示 |
68
+ |`--json`| false | 結果をJSONで出力 |
69
+ |`-v, --verbose`| false | 詳細ログを有効化 |
70
+ |`-q, --quiet`| false | エラー以外の出力を抑制 |
71
+
72
+ ## 例
73
+
74
+ ### 基本的な使用方法
75
+
76
+ ```bash
77
+ # Translate all markdown files
78
+ llm-translate dir ./docs ./docs-ko -s en -t ko
79
+
80
+ # With glossary
81
+ llm-translate dir ./docs ./docs-ko -s en -t ko -g glossary.json
82
+ ```
83
+
84
+ ### ファイル選択
85
+
86
+ ```bash
87
+ # Custom include pattern
88
+ llm-translate dir ./docs ./docs-ko -s en -t ko --include "**/*.md"
89
+
90
+ # Multiple patterns
91
+ llm-translate dir ./docs ./docs-ko -s en -t ko --include "*.md,*.markdown,*.mdx"
92
+
93
+ # Exclude certain directories
94
+ llm-translate dir ./docs ./docs-ko -s en -t ko \
95
+ --exclude "node_modules/**,dist/**,drafts/**"
96
+ ```
97
+
98
+ ### 並列処理
99
+
100
+ ```bash
101
+ # Process 5 files in parallel
102
+ llm-translate dir ./docs ./docs-ko -s en -t ko --parallel 5
103
+
104
+ # Sequential processing (for rate-limited APIs)
105
+ llm-translate dir ./docs ./docs-ko -s en -t ko --parallel 1
106
+ ```
107
+
108
+ ### 品質設定
109
+
110
+ ```bash
111
+ # High quality for important docs
112
+ llm-translate dir ./docs ./docs-ko -s en -t ko --quality 95 --max-iterations 6
113
+
114
+ # Faster processing with lower threshold
115
+ llm-translate dir ./docs ./docs-ko -s en -t ko --quality 70 --max-iterations 2
116
+ ```
117
+
118
+ ### プレビューモード
119
+
120
+ ```bash
121
+ # Show what would be translated
122
+ llm-translate dir ./docs ./docs-ko -s en -t ko --dry-run
123
+ ```
124
+
125
+ 出力:
126
+ ```
127
+ Dry run mode - no translation will be performed
128
+
129
+ Files to translate:
130
+ getting-started.md → docs-ko/getting-started.md
131
+ guide/setup.md → docs-ko/guide/setup.md
132
+ api/reference.md → docs-ko/api/reference.md
133
+
134
+ Total: 3 file(s)
135
+ ```
136
+
137
+ ## 出力構造
138
+
139
+ ディレクトリ構造はデフォルトで保持されます:
140
+
141
+ ```
142
+ Input: Output:
143
+ docs/ docs-ko/
144
+ ├── getting-started.md ├── getting-started.md
145
+ ├── guide/ ├── guide/
146
+ │ ├── setup.md │ ├── setup.md
147
+ │ └── advanced.md │ └── advanced.md
148
+ └── api/ └── api/
149
+ └── reference.md └── reference.md
150
+ ```
151
+
152
+ ## 進捗レポート
153
+
154
+ ### 通常モード
155
+
156
+ ```
157
+ ℹ Found 5 file(s) to translate
158
+ ℹ Input: ./docs
159
+ ℹ Output: ./docs-ko
160
+ ℹ Target language: ko
161
+ ℹ Parallel processing: 3 file(s) at a time
162
+ [1/5] getting-started.md ✓
163
+ [2/5] guide/setup.md ✓
164
+ [3/5] guide/advanced.md ✓
165
+ [4/5] api/reference.md ✓
166
+ [5/5] api/types.md ✓
167
+
168
+ ────────────────────────────────────────────────────────
169
+ Translation Summary
170
+ ────────────────────────────────────────────────────────
171
+ Files: 5 succeeded, 0 failed
172
+ Duration: 45.2s
173
+ Tokens: 12,450 input / 8,320 output
174
+ Cache: 5,200 read / 2,100 write
175
+ ────────────────────────────────────────────────────────
176
+ ```
177
+
178
+ ### JSON出力
179
+
180
+ ```bash
181
+ llm-translate dir ./docs ./docs-ko -t ko --json
182
+ ```
183
+
184
+ ```json
185
+ {
186
+ "success": true,
187
+ "totalFiles": 5,
188
+ "successCount": 5,
189
+ "failCount": 0,
190
+ "totalDuration": 45234,
191
+ "tokensUsed": {
192
+ "input": 12450,
193
+ "output": 8320,
194
+ "cacheRead": 5200,
195
+ "cacheWrite": 2100
196
+ },
197
+ "files": [...]
198
+ }
199
+ ```
200
+
201
+ ## ベストプラクティス
202
+
203
+ ### 1. まずプレビューを実行
204
+
205
+ ```bash
206
+ llm-translate dir ./docs ./docs-ko -s en -t ko --dry-run
207
+ ```
208
+
209
+ ### 2. 適切な並列度を使用
210
+
211
+ - レート制限のあるAPI:`--parallel 1-2`
212
+ - 高い制限:`--parallel 5-10`
213
+ - ローカル (Ollama):`--parallel 1`(モデル制限あり)
214
+
215
+ ### 3. 大規模プロジェクトの処理
216
+
217
+ ```bash
218
+ # Split by subdirectory for better control
219
+ llm-translate dir ./docs/guide ./docs-ko/guide -s en -t ko
220
+ llm-translate dir ./docs/api ./docs-ko/api -s en -t ko
221
+ ```
222
+
223
+ ### 4. キャッシングの活用
224
+
225
+ キャッシュにより変更されていないコンテンツをスキップできます:
226
+
227
+ ```bash
228
+ # First run: translates all
229
+ llm-translate dir ./docs ./docs-ko -s en -t ko
230
+
231
+ # Second run: uses cache for unchanged content
232
+ llm-translate dir ./docs ./docs-ko -s en -t ko
233
+ ```
234
+
235
+ ### 5. コンテンツタイプ別の品質設定
236
+
237
+ ```bash
238
+ # High quality for user-facing docs
239
+ llm-translate dir ./docs/public ./docs-ko/public -s en -t ko --quality 95
240
+
241
+ # Standard quality for internal docs
242
+ llm-translate dir ./docs/internal ./docs-ko/internal -s en -t ko --quality 80
243
+ ```
@@ -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`| auto | 出力ファイルパス |
53
+ |`--format `,`-f`| auto | 出力フォーマットを強制(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
+ ```