@aphrody/koharu-ui 0.0.0-stage → 0.1.0
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/README.md +37 -2
- package/package.json +70 -4
- package/src/assets/NotoSansCJK-VF.otf +0 -0
- package/src/assets/OFL.txt +92 -0
- package/src/components/ClientOnly.tsx +21 -0
- package/src/components/ShenronExportPanel.tsx +213 -0
- package/src/components/app/AboutDialog.tsx +64 -0
- package/src/components/app/KoharuApp.tsx +58 -0
- package/src/components/app/StartupView.tsx +67 -0
- package/src/components/app/TitleBar.tsx +322 -0
- package/src/components/app/Updater.tsx +143 -0
- package/src/components/app/WindowChrome.tsx +137 -0
- package/src/components/controls/ColorSampling.tsx +70 -0
- package/src/components/controls/ColorWell.tsx +139 -0
- package/src/components/controls/CommitTextarea.tsx +63 -0
- package/src/components/controls/FontPicker.tsx +543 -0
- package/src/components/controls/ModelPicker.tsx +178 -0
- package/src/components/controls/OutputPicker.tsx +170 -0
- package/src/components/editor/ActivityCenter.tsx +234 -0
- package/src/components/editor/AgentPanel.tsx +352 -0
- package/src/components/editor/CanvasCommandBar.tsx +38 -0
- package/src/components/editor/CanvasOverlay.tsx +194 -0
- package/src/components/editor/CanvasWorkspace.tsx +947 -0
- package/src/components/editor/Editor.tsx +56 -0
- package/src/components/editor/InferenceControl.tsx +457 -0
- package/src/components/editor/Inspector.tsx +1073 -0
- package/src/components/editor/PageRail.tsx +581 -0
- package/src/components/editor/ResourceMonitor.tsx +151 -0
- package/src/components/editor/RightSidebar.tsx +50 -0
- package/src/components/editor/SelectionControls.tsx +184 -0
- package/src/components/editor/StatusBar.tsx +41 -0
- package/src/components/editor/ToolBar.tsx +182 -0
- package/src/components/editor/useCanvas.ts +194 -0
- package/src/components/preferences/GenerationPreferences.tsx +118 -0
- package/src/components/preferences/KoharuSettings.tsx +229 -0
- package/src/components/preferences/PipelinePreferences.tsx +173 -0
- package/src/components/preferences/PreferenceFields.tsx +149 -0
- package/src/components/preferences/ProviderPreferences.tsx +173 -0
- package/src/components/preferences/SettingsPage.tsx +336 -0
- package/src/components/preferences/TranslationPreferences.tsx +187 -0
- package/src/components/preferences/TypesettingPreferences.tsx +142 -0
- package/src/components/preferences/models.ts +103 -0
- package/src/components/start/StartView.tsx +277 -0
- package/src/index.ts +59 -0
- package/src/internal/components/accordion.tsx +72 -0
- package/src/internal/components/alert-dialog.tsx +189 -0
- package/src/internal/components/alert.tsx +76 -0
- package/src/internal/components/aspect-ratio.tsx +22 -0
- package/src/internal/components/attachment.tsx +207 -0
- package/src/internal/components/avatar.tsx +109 -0
- package/src/internal/components/badge.tsx +52 -0
- package/src/internal/components/breadcrumb.tsx +125 -0
- package/src/internal/components/bubble.tsx +128 -0
- package/src/internal/components/button-group.tsx +87 -0
- package/src/internal/components/button.tsx +58 -0
- package/src/internal/components/card.tsx +103 -0
- package/src/internal/components/checkbox.tsx +29 -0
- package/src/internal/components/collapsible.tsx +21 -0
- package/src/internal/components/combobox.tsx +298 -0
- package/src/internal/components/context-menu.tsx +272 -0
- package/src/internal/components/dialog.tsx +162 -0
- package/src/internal/components/direction.tsx +6 -0
- package/src/internal/components/drawer.tsx +230 -0
- package/src/internal/components/dropdown-menu.tsx +278 -0
- package/src/internal/components/empty.tsx +104 -0
- package/src/internal/components/field.tsx +238 -0
- package/src/internal/components/hover-card.tsx +52 -0
- package/src/internal/components/input-group.tsx +158 -0
- package/src/internal/components/input.tsx +20 -0
- package/src/internal/components/item.tsx +201 -0
- package/src/internal/components/kbd.tsx +26 -0
- package/src/internal/components/label.tsx +20 -0
- package/src/internal/components/marker.tsx +71 -0
- package/src/internal/components/menubar.tsx +280 -0
- package/src/internal/components/message.tsx +92 -0
- package/src/internal/components/native-select.tsx +61 -0
- package/src/internal/components/navigation-menu.tsx +168 -0
- package/src/internal/components/number-field.tsx +68 -0
- package/src/internal/components/pagination.tsx +130 -0
- package/src/internal/components/popover.tsx +91 -0
- package/src/internal/components/progress.tsx +83 -0
- package/src/internal/components/radio-group.tsx +38 -0
- package/src/internal/components/resizable.tsx +50 -0
- package/src/internal/components/scroll-area.tsx +88 -0
- package/src/internal/components/select.tsx +191 -0
- package/src/internal/components/separator.tsx +25 -0
- package/src/internal/components/sheet.tsx +140 -0
- package/src/internal/components/sidebar.tsx +723 -0
- package/src/internal/components/skeleton.tsx +13 -0
- package/src/internal/components/slider.tsx +56 -0
- package/src/internal/components/spinner.tsx +10 -0
- package/src/internal/components/switch.tsx +32 -0
- package/src/internal/components/table.tsx +116 -0
- package/src/internal/components/tabs.tsx +82 -0
- package/src/internal/components/textarea.tsx +18 -0
- package/src/internal/components/toast.tsx +235 -0
- package/src/internal/components/toggle-group.tsx +89 -0
- package/src/internal/components/toggle.tsx +45 -0
- package/src/internal/components/tooltip.tsx +67 -0
- package/src/internal/hooks/use-mobile.ts +19 -0
- package/src/internal/lib/utils.ts +6 -0
- package/src/internal/styles/globals.css +73 -0
- package/src/lib/backend.ts +85 -0
- package/src/lib/document.ts +46 -0
- package/src/lib/geometry.ts +272 -0
- package/src/lib/i18n.ts +54 -0
- package/src/lib/queries.ts +110 -0
- package/src/lib/store.ts +191 -0
- package/src/lib/translation.ts +35 -0
- package/src/locales/en-US/translation.json +536 -0
- package/src/locales/es-ES/translation.json +536 -0
- package/src/locales/ja-JP/translation.json +536 -0
- package/src/locales/ko-KR/translation.json +536 -0
- package/src/locales/pt-BR/translation.json +536 -0
- package/src/locales/ru-RU/translation.json +536 -0
- package/src/locales/tr-TR/translation.json +536 -0
- package/src/locales/zh-CN/translation.json +536 -0
- package/src/locales/zh-TW/translation.json +536 -0
- package/src/navigation.ts +28 -0
- package/src/providers.tsx +132 -0
- package/src/shenron-pipeline-env.d.ts +14 -0
- package/src/styles.css +246 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,536 @@
|
|
|
1
|
+
{
|
|
2
|
+
"about": {
|
|
3
|
+
"author": "Author",
|
|
4
|
+
"description": "Manga translation tools",
|
|
5
|
+
"unavailable": "Unavailable",
|
|
6
|
+
"version": "Version"
|
|
7
|
+
},
|
|
8
|
+
"activity": {
|
|
9
|
+
"dismiss": "Dismiss",
|
|
10
|
+
"downloadFailed": "Download failed.",
|
|
11
|
+
"downloadingFiles": "Downloading {{count}} files",
|
|
12
|
+
"downloadingFiles_one": "Downloading {{count}} file",
|
|
13
|
+
"downloadingFiles_other": "Downloading {{count}} files",
|
|
14
|
+
"modelDownload": "Model download",
|
|
15
|
+
"pageLabel": "Page {{number}}: {{label}}",
|
|
16
|
+
"processing": "Processing",
|
|
17
|
+
"processingFailed": "Processing failed.",
|
|
18
|
+
"stop": "Stop",
|
|
19
|
+
"title": "Activity"
|
|
20
|
+
},
|
|
21
|
+
"agent": {
|
|
22
|
+
"account": "ChatGPT account",
|
|
23
|
+
"applying": "Applying project changes...",
|
|
24
|
+
"automatic": "Automatic",
|
|
25
|
+
"cancel": "Cancel",
|
|
26
|
+
"cancelled": "Cancelled.",
|
|
27
|
+
"deviceCode": "Device code",
|
|
28
|
+
"deviceCodeHint": "Your browser has opened. Enter this code to authorize Koharu.",
|
|
29
|
+
"emptyDescription": "Ask the agent to inspect, translate, edit, or process this project. It will view page images only when needed.",
|
|
30
|
+
"emptyTitle": "What should Koharu do?",
|
|
31
|
+
"failed": "The agent request failed.",
|
|
32
|
+
"loading": "Loading Codex...",
|
|
33
|
+
"message": "Message Koharu Agent",
|
|
34
|
+
"model": "Codex model",
|
|
35
|
+
"placeholder": "Ask Koharu to work on this project...",
|
|
36
|
+
"properties": "Properties",
|
|
37
|
+
"reasoning": "Reasoning",
|
|
38
|
+
"reasoningLevels": {
|
|
39
|
+
"high": "High",
|
|
40
|
+
"low": "Low",
|
|
41
|
+
"max": "Max",
|
|
42
|
+
"medium": "Medium",
|
|
43
|
+
"ultra": "Ultra",
|
|
44
|
+
"xhigh": "Extra high"
|
|
45
|
+
},
|
|
46
|
+
"send": "Send",
|
|
47
|
+
"signIn": "Sign in with Codex",
|
|
48
|
+
"signInDescription": "Sign in with your ChatGPT subscription. Koharu uses device-code authentication and never asks for an API key.",
|
|
49
|
+
"signInTitle": "Connect Codex",
|
|
50
|
+
"signOut": "Sign out",
|
|
51
|
+
"signingIn": "Waiting for sign-in...",
|
|
52
|
+
"thinking": "Thinking...",
|
|
53
|
+
"title": "Agent",
|
|
54
|
+
"working": "Working..."
|
|
55
|
+
},
|
|
56
|
+
"canvas": {
|
|
57
|
+
"empty": "Select a page to begin.",
|
|
58
|
+
"fit": "Fit Window",
|
|
59
|
+
"surface": "Koharu canvas",
|
|
60
|
+
"unavailable": "WebGPU canvas unavailable"
|
|
61
|
+
},
|
|
62
|
+
"colorPicker": {
|
|
63
|
+
"brushColor": "Brush color",
|
|
64
|
+
"hexCode": "Hex color code",
|
|
65
|
+
"sampleCanvas": "Pick color from canvas",
|
|
66
|
+
"transparent": "Transparent"
|
|
67
|
+
},
|
|
68
|
+
"common": {
|
|
69
|
+
"back": "Back",
|
|
70
|
+
"cancel": "Cancel",
|
|
71
|
+
"clearSearch": "Clear search",
|
|
72
|
+
"loading": "Loading…",
|
|
73
|
+
"reset": "Reset"
|
|
74
|
+
},
|
|
75
|
+
"errors": {
|
|
76
|
+
"fatalTitle": "Koharu could not continue",
|
|
77
|
+
"tryAgain": "Try again"
|
|
78
|
+
},
|
|
79
|
+
"fontPicker": {
|
|
80
|
+
"activeFilterCount": "{{count}} active filters",
|
|
81
|
+
"activeFilterCount_one": "{{count}} active filter",
|
|
82
|
+
"activeFilterCount_other": "{{count}} active filters",
|
|
83
|
+
"allPurposes": "All purposes",
|
|
84
|
+
"allScripts": "All scripts",
|
|
85
|
+
"allSources": "All sources",
|
|
86
|
+
"allStyles": "All styles",
|
|
87
|
+
"choose": "Choose a font",
|
|
88
|
+
"clearFilters": "Clear filters",
|
|
89
|
+
"filter": "Filter fonts",
|
|
90
|
+
"filterActiveLabel": "Filter fonts, {{count}} active",
|
|
91
|
+
"fontCount": "{{count}} fonts",
|
|
92
|
+
"fontCount_one": "{{count}} font",
|
|
93
|
+
"fontCount_other": "{{count}} fonts",
|
|
94
|
+
"fontLabel": "{{family}}, {{source}}",
|
|
95
|
+
"fonts": "Fonts",
|
|
96
|
+
"noResults": "No fonts match this search",
|
|
97
|
+
"purpose": "Purpose",
|
|
98
|
+
"script": "Script",
|
|
99
|
+
"scripts": {
|
|
100
|
+
"arab": "Arabic",
|
|
101
|
+
"beng": "Bengali",
|
|
102
|
+
"cyrl": "Cyrillic",
|
|
103
|
+
"deva": "Devanagari",
|
|
104
|
+
"gujr": "Gujarati",
|
|
105
|
+
"guru": "Gurmukhi",
|
|
106
|
+
"hang": "Hangul",
|
|
107
|
+
"hani": "Han",
|
|
108
|
+
"hebr": "Hebrew",
|
|
109
|
+
"hira": "Hiragana",
|
|
110
|
+
"kana": "Katakana",
|
|
111
|
+
"knda": "Kannada",
|
|
112
|
+
"latn": "Latin",
|
|
113
|
+
"mlym": "Malayalam",
|
|
114
|
+
"taml": "Tamil",
|
|
115
|
+
"telu": "Telugu",
|
|
116
|
+
"thai": "Thai"
|
|
117
|
+
},
|
|
118
|
+
"search": "Search fonts",
|
|
119
|
+
"source": "Source",
|
|
120
|
+
"sources": {
|
|
121
|
+
"bundled": "Bundled",
|
|
122
|
+
"system": "System"
|
|
123
|
+
},
|
|
124
|
+
"style": "Style"
|
|
125
|
+
},
|
|
126
|
+
"inference": {
|
|
127
|
+
"currentPage": "Current page",
|
|
128
|
+
"currentPageDescription": "Process only the page in the canvas.",
|
|
129
|
+
"entireProject": "Entire project",
|
|
130
|
+
"entireProjectDescription": "Process every page in this project.",
|
|
131
|
+
"model": "Model",
|
|
132
|
+
"noModel": "No model",
|
|
133
|
+
"notSet": "Not set",
|
|
134
|
+
"output": "Output",
|
|
135
|
+
"pipelineStages": "Pipeline stages",
|
|
136
|
+
"providerDefault": "Provider default",
|
|
137
|
+
"run": "Run",
|
|
138
|
+
"runProcessing": "Run processing",
|
|
139
|
+
"scope": "Scope",
|
|
140
|
+
"scopeShort": {
|
|
141
|
+
"page": "Page",
|
|
142
|
+
"project": "Project",
|
|
143
|
+
"selected-pages": "Selection"
|
|
144
|
+
},
|
|
145
|
+
"selectPagesFirst": "Select pages first",
|
|
146
|
+
"selectedCount": "{{count}} selected pages",
|
|
147
|
+
"selectedCount_one": "{{count}} selected page",
|
|
148
|
+
"selectedCount_other": "{{count}} selected pages",
|
|
149
|
+
"selectedPages": "Selected pages",
|
|
150
|
+
"selector": "Processing settings",
|
|
151
|
+
"shortcuts": "Processing options",
|
|
152
|
+
"stageCount": "{{count}} stages",
|
|
153
|
+
"stageCount_one": "{{count}} stage",
|
|
154
|
+
"stageCount_other": "{{count}} stages",
|
|
155
|
+
"stages": "Stages",
|
|
156
|
+
"stop": "Stop",
|
|
157
|
+
"stopProcessing": "Stop processing"
|
|
158
|
+
},
|
|
159
|
+
"inspector": {
|
|
160
|
+
"alignBottom": "Align bottom",
|
|
161
|
+
"alignCenter": "Align center",
|
|
162
|
+
"alignLeft": "Align left",
|
|
163
|
+
"alignMiddle": "Align middle",
|
|
164
|
+
"alignRight": "Align right",
|
|
165
|
+
"alignTop": "Align top",
|
|
166
|
+
"alignment": "Alignment",
|
|
167
|
+
"auto": "Auto",
|
|
168
|
+
"autoFit": "Auto fit",
|
|
169
|
+
"border": "Border",
|
|
170
|
+
"borderColor": "Border color",
|
|
171
|
+
"borderWidth": "Border width",
|
|
172
|
+
"chooseFontSize": "Choose font size",
|
|
173
|
+
"color": "Color",
|
|
174
|
+
"customFrame": "Custom frame",
|
|
175
|
+
"decreaseBorderWidth": "Decrease border width",
|
|
176
|
+
"direction": "Direction",
|
|
177
|
+
"font": "Font",
|
|
178
|
+
"fontSize": "Font size",
|
|
179
|
+
"fontStyle": "Font style",
|
|
180
|
+
"fontStyles": {
|
|
181
|
+
"italic": "Italic",
|
|
182
|
+
"normal": "Regular",
|
|
183
|
+
"oblique": "Oblique"
|
|
184
|
+
},
|
|
185
|
+
"fontWeight": "Font weight",
|
|
186
|
+
"horizontal": "Horizontal",
|
|
187
|
+
"increaseBorderWidth": "Increase border width",
|
|
188
|
+
"opacity": "Opacity",
|
|
189
|
+
"placement": "Placement",
|
|
190
|
+
"resetAutoFit": "Reset to auto fit",
|
|
191
|
+
"selectPage": "Select a page to inspect its layers.",
|
|
192
|
+
"size": "Size",
|
|
193
|
+
"source": "Source text",
|
|
194
|
+
"style": "Style",
|
|
195
|
+
"textColor": "Text color",
|
|
196
|
+
"textDirection": "Text direction",
|
|
197
|
+
"translation": "Translation",
|
|
198
|
+
"type": "Type",
|
|
199
|
+
"unplaced": "Unplaced",
|
|
200
|
+
"vertical": "Vertical",
|
|
201
|
+
"weight": "Weight",
|
|
202
|
+
"width": "Width"
|
|
203
|
+
},
|
|
204
|
+
"languages": {
|
|
205
|
+
"en-US": "English",
|
|
206
|
+
"es-ES": "Español",
|
|
207
|
+
"ja-JP": "日本語",
|
|
208
|
+
"ko-KR": "한국어",
|
|
209
|
+
"pt-BR": "Português brasileiro",
|
|
210
|
+
"ru-RU": "Русский",
|
|
211
|
+
"tr-TR": "Türkçe",
|
|
212
|
+
"zh-CN": "简体中文",
|
|
213
|
+
"zh-TW": "繁體中文"
|
|
214
|
+
},
|
|
215
|
+
"layers": {
|
|
216
|
+
"delete": "Delete {{name}}",
|
|
217
|
+
"edit": "Edit {{name}}",
|
|
218
|
+
"empty": "No layers on this page.",
|
|
219
|
+
"hide": "Hide {{name}}",
|
|
220
|
+
"imageName": "Image {{index}}",
|
|
221
|
+
"kinds": {
|
|
222
|
+
"cleanup": "Cleanup",
|
|
223
|
+
"dialogue": "Dialogue",
|
|
224
|
+
"freeText": "Free text",
|
|
225
|
+
"group": "Group",
|
|
226
|
+
"image": "Image",
|
|
227
|
+
"paint": "Paint",
|
|
228
|
+
"text": "Text",
|
|
229
|
+
"textGroup": "Text group"
|
|
230
|
+
},
|
|
231
|
+
"locked": "Locked",
|
|
232
|
+
"lockedLabel": "{{name}} is locked",
|
|
233
|
+
"moveDown": "Move {{name}} down",
|
|
234
|
+
"moveUp": "Move {{name}} up",
|
|
235
|
+
"opacityLabel": "{{name}} opacity",
|
|
236
|
+
"originalArtwork": "Original artwork",
|
|
237
|
+
"show": "Show {{name}}",
|
|
238
|
+
"sourceLabel": "{{name}} source text",
|
|
239
|
+
"textName": "Text {{index}}",
|
|
240
|
+
"title": "Layers",
|
|
241
|
+
"translationLabel": "{{name}} translation"
|
|
242
|
+
},
|
|
243
|
+
"menu": {
|
|
244
|
+
"about": "About",
|
|
245
|
+
"closeProject": "Close Project",
|
|
246
|
+
"delete": "Delete Selected",
|
|
247
|
+
"discord": "Discord",
|
|
248
|
+
"edit": "Edit",
|
|
249
|
+
"export": "Export Project",
|
|
250
|
+
"file": "File",
|
|
251
|
+
"fit": "Fit Window",
|
|
252
|
+
"github": "GitHub",
|
|
253
|
+
"help": "Help",
|
|
254
|
+
"import": "Import Pages",
|
|
255
|
+
"process": "Process",
|
|
256
|
+
"processLayers": "Process Selected Layers",
|
|
257
|
+
"processPages": "Process Selected Pages",
|
|
258
|
+
"processProject": "Process Project",
|
|
259
|
+
"redo": "Redo",
|
|
260
|
+
"runPhase": "Run {{phase}}",
|
|
261
|
+
"selectAllLayers": "Select All Layers",
|
|
262
|
+
"settings": "Settings",
|
|
263
|
+
"undo": "Undo",
|
|
264
|
+
"view": "View"
|
|
265
|
+
},
|
|
266
|
+
"model": {
|
|
267
|
+
"baseUrl": "Base URL",
|
|
268
|
+
"default": "Default",
|
|
269
|
+
"instructions": "Instructions",
|
|
270
|
+
"targetLanguage": "Target language"
|
|
271
|
+
},
|
|
272
|
+
"modelPicker": {
|
|
273
|
+
"empty": "No models are available.",
|
|
274
|
+
"loading": "Loading models…",
|
|
275
|
+
"noResults": "No models match this search.",
|
|
276
|
+
"search": "Search models",
|
|
277
|
+
"title": "Choose a model",
|
|
278
|
+
"useModel": "Use {{model}} from {{provider}}"
|
|
279
|
+
},
|
|
280
|
+
"navigator": {
|
|
281
|
+
"actionsFor": "Actions for {{page}}",
|
|
282
|
+
"delete": "Delete",
|
|
283
|
+
"emptyDescription": "Import image files or a folder to add pages.",
|
|
284
|
+
"emptyTitle": "No pages yet",
|
|
285
|
+
"filter": "Filter pages",
|
|
286
|
+
"importAction": "Import",
|
|
287
|
+
"importFiles": "Files…",
|
|
288
|
+
"importFolder": "Folder…",
|
|
289
|
+
"importing": "Importing pages…",
|
|
290
|
+
"importingAction": "Importing…",
|
|
291
|
+
"layerCount": "{{count}} layers",
|
|
292
|
+
"layerCount_one": "{{count}} layer",
|
|
293
|
+
"layerCount_other": "{{count}} layers",
|
|
294
|
+
"noImage": "No image",
|
|
295
|
+
"noResults": "No pages match this filter.",
|
|
296
|
+
"pageName": "Page name",
|
|
297
|
+
"pages": "Pages",
|
|
298
|
+
"rename": "Rename",
|
|
299
|
+
"renameDescription": "Choose a new name for this page.",
|
|
300
|
+
"renameTitle": "Rename page",
|
|
301
|
+
"selected": "{{count}} selected"
|
|
302
|
+
},
|
|
303
|
+
"outputPicker": {
|
|
304
|
+
"instructions": "Translation instructions",
|
|
305
|
+
"instructionsPlaceholder": "Optional guidance for tone, names, and formatting.",
|
|
306
|
+
"targetLanguage": "Target language",
|
|
307
|
+
"title": "Translation output"
|
|
308
|
+
},
|
|
309
|
+
"phase": {
|
|
310
|
+
"detection": "Detection",
|
|
311
|
+
"inpainting": "Inpainting",
|
|
312
|
+
"ocr": "OCR",
|
|
313
|
+
"translation": "Translation"
|
|
314
|
+
},
|
|
315
|
+
"phaseDescription": {
|
|
316
|
+
"detection": "Locate text on the page.",
|
|
317
|
+
"inpainting": "Rebuild the artwork behind removed text.",
|
|
318
|
+
"ocr": "Read the text inside each region.",
|
|
319
|
+
"translation": "Convert source text to the target language."
|
|
320
|
+
},
|
|
321
|
+
"providerDescriptions": {
|
|
322
|
+
"caiyun": "Caiyun translation API.",
|
|
323
|
+
"claude": "Anthropic Claude models.",
|
|
324
|
+
"deepl": "DeepL translation API.",
|
|
325
|
+
"deepseek": "DeepSeek language models.",
|
|
326
|
+
"gemini": "Google Gemini models.",
|
|
327
|
+
"google-cloud-translation": "Google Cloud Translation API.",
|
|
328
|
+
"grok": "xAI Grok language models.",
|
|
329
|
+
"lm-studio": "Models served by LM Studio.",
|
|
330
|
+
"local": "Models running on this device.",
|
|
331
|
+
"minimax": "MiniMax language models.",
|
|
332
|
+
"openai": "OpenAI language models.",
|
|
333
|
+
"openai-compatible": "Any server exposing an OpenAI-compatible API.",
|
|
334
|
+
"openrouter": "Models routed through OpenRouter."
|
|
335
|
+
},
|
|
336
|
+
"resources": {
|
|
337
|
+
"cpu": "CPU",
|
|
338
|
+
"processUtilization": "Process utilization",
|
|
339
|
+
"ram": "RAM",
|
|
340
|
+
"summary": "RAM {{ram}}%, CPU {{cpu}}%",
|
|
341
|
+
"title": "System resources",
|
|
342
|
+
"tooltip": "RAM {{ramUsed}} of {{ramTotal}} · CPU {{cpu}}%",
|
|
343
|
+
"usedOfTotal": "{{used}} of {{total}} used",
|
|
344
|
+
"vramUnavailable": "Unavailable",
|
|
345
|
+
"vramValue": "{{value}} VRAM"
|
|
346
|
+
},
|
|
347
|
+
"settings": {
|
|
348
|
+
"appearance": {
|
|
349
|
+
"description": "Match your workspace to the room without changing how artwork is rendered.",
|
|
350
|
+
"interface": "Interface",
|
|
351
|
+
"language": "Language",
|
|
352
|
+
"theme": "Theme",
|
|
353
|
+
"themeDescription": "System follows the operating-system setting.",
|
|
354
|
+
"themes": {
|
|
355
|
+
"dark": "Dark",
|
|
356
|
+
"light": "Light",
|
|
357
|
+
"system": "System"
|
|
358
|
+
},
|
|
359
|
+
"title": "Appearance"
|
|
360
|
+
},
|
|
361
|
+
"backToEditor": "Back to editor",
|
|
362
|
+
"generation": {
|
|
363
|
+
"description": "Fine-tune how language models generate translated text.",
|
|
364
|
+
"enableReasoning": "Enable reasoning",
|
|
365
|
+
"frequencyPenalty": "Frequency penalty",
|
|
366
|
+
"maxTokens": "Maximum tokens",
|
|
367
|
+
"minP": "Min P",
|
|
368
|
+
"presencePenalty": "Presence penalty",
|
|
369
|
+
"repeatPenalty": "Repeat penalty",
|
|
370
|
+
"sampling": "Sampling",
|
|
371
|
+
"samplingDescription": "Control how the model selects and varies generated text.",
|
|
372
|
+
"temperature": "Temperature",
|
|
373
|
+
"reasoning": "Reasoning",
|
|
374
|
+
"reasoningDescription": "Use model reasoning during translation.",
|
|
375
|
+
"title": "Generation",
|
|
376
|
+
"topK": "Top K",
|
|
377
|
+
"topP": "Top P",
|
|
378
|
+
"vision": "Vision",
|
|
379
|
+
"visionDescription": "Feed page images to the LLM during translation."
|
|
380
|
+
},
|
|
381
|
+
"loading": "Loading preferences…",
|
|
382
|
+
"pipeline": {
|
|
383
|
+
"description": "Choose the models and options used to process each page.",
|
|
384
|
+
"modelLabel": "{{stage}} model",
|
|
385
|
+
"options": {
|
|
386
|
+
"bubbleThreshold": "Bubble threshold",
|
|
387
|
+
"negativePrompt": "Negative prompt",
|
|
388
|
+
"panelThreshold": "Panel threshold",
|
|
389
|
+
"prompt": "Prompt",
|
|
390
|
+
"textThreshold": "Text threshold"
|
|
391
|
+
},
|
|
392
|
+
"processing": "Processing",
|
|
393
|
+
"stages": {
|
|
394
|
+
"detection": {
|
|
395
|
+
"description": "Find text, speech bubbles, and panels.",
|
|
396
|
+
"title": "Detection"
|
|
397
|
+
},
|
|
398
|
+
"inpainting": {
|
|
399
|
+
"description": "Rebuild artwork beneath removed text.",
|
|
400
|
+
"title": "Inpainting"
|
|
401
|
+
},
|
|
402
|
+
"ocr": {
|
|
403
|
+
"description": "Read the source text inside detected regions.",
|
|
404
|
+
"title": "OCR"
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
"title": "Pipeline"
|
|
408
|
+
},
|
|
409
|
+
"providers": {
|
|
410
|
+
"clearCredential": "Clear {{provider}} credential",
|
|
411
|
+
"configured": "Configured",
|
|
412
|
+
"connections": "Connections",
|
|
413
|
+
"connectionsDescription": "Credentials are stored securely on this device.",
|
|
414
|
+
"credential": "Credential",
|
|
415
|
+
"credentialLabel": "{{provider}} credential",
|
|
416
|
+
"description": "Connect translation and language-model providers.",
|
|
417
|
+
"notConfigured": "Not configured",
|
|
418
|
+
"title": "Providers"
|
|
419
|
+
},
|
|
420
|
+
"shortcuts": {
|
|
421
|
+
"description": "Single-key shortcuts are available whenever a text field is not focused.",
|
|
422
|
+
"inputLabel": "{{action}} shortcut",
|
|
423
|
+
"title": "Shortcuts",
|
|
424
|
+
"tools": "Tools"
|
|
425
|
+
},
|
|
426
|
+
"tabs": {
|
|
427
|
+
"appearance": "Appearance",
|
|
428
|
+
"pipeline": "Pipeline",
|
|
429
|
+
"providers": "Providers",
|
|
430
|
+
"shortcuts": "Shortcuts",
|
|
431
|
+
"translation": "Translation",
|
|
432
|
+
"typesetting": "Typesetting"
|
|
433
|
+
},
|
|
434
|
+
"title": "Settings",
|
|
435
|
+
"translation": {
|
|
436
|
+
"description": "Choose any configured provider model, then apply one shared set of translation and generation options.",
|
|
437
|
+
"instructionsDescription": "Names, tone, terminology, or formatting guidance.",
|
|
438
|
+
"instructionsLabel": "Translation instructions",
|
|
439
|
+
"instructionsPlaceholder": "Optional project-wide guidance",
|
|
440
|
+
"model": "Model",
|
|
441
|
+
"modelDescription": "Provider labels identify where each model runs; connections are configured separately.",
|
|
442
|
+
"modelQuantization": "Model quantization",
|
|
443
|
+
"output": "Output",
|
|
444
|
+
"quantization": "Quantization",
|
|
445
|
+
"quantizationDescription": "Smaller formats use less memory, usually with a quality tradeoff.",
|
|
446
|
+
"selectQuantization": "Select a quantization",
|
|
447
|
+
"targetLanguageDescription": "Choose the language to translate text into.",
|
|
448
|
+
"title": "Translation",
|
|
449
|
+
"translationModel": "Translation model",
|
|
450
|
+
"translationModelDescription": "Choose the model used to translate text."
|
|
451
|
+
},
|
|
452
|
+
"typesetting": {
|
|
453
|
+
"addFamily": "Add font family",
|
|
454
|
+
"defaultFamilies": "Default font families",
|
|
455
|
+
"description": "Set the ordered font stack used when a text layer has no assigned family.",
|
|
456
|
+
"empty": "No default families. Koharu will use the system fallback.",
|
|
457
|
+
"familyLabel": "Default font family {{index}}",
|
|
458
|
+
"fontFallback": "Font fallback",
|
|
459
|
+
"fontFallbackDescription": "Koharu uses the first available family that supports the text.",
|
|
460
|
+
"loadError": "Fonts could not be loaded. Existing families can still be removed.",
|
|
461
|
+
"loadingFonts": "Loading fonts…",
|
|
462
|
+
"removeFamily": "Remove {{family}}",
|
|
463
|
+
"title": "Typesetting"
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
"start": {
|
|
467
|
+
"create": "Create",
|
|
468
|
+
"deleteAction": "Delete project",
|
|
469
|
+
"deleteDescription": "This permanently deletes “{{name}}” and all of its pages. This action cannot be undone.",
|
|
470
|
+
"deleteLabel": "Delete {{name}}",
|
|
471
|
+
"deleteTitle": "Delete project?",
|
|
472
|
+
"deleting": "Deleting…",
|
|
473
|
+
"description": "Open a workspace or start a new translation.",
|
|
474
|
+
"emptyDescription": "Create your first project to start importing pages.",
|
|
475
|
+
"emptyTitle": "No projects yet",
|
|
476
|
+
"loadingProjects": "Loading projects…",
|
|
477
|
+
"newDescription": "Create a clean workspace for your pages, translations, and exports.",
|
|
478
|
+
"newProject": "New project",
|
|
479
|
+
"projectKind": "Koharu project",
|
|
480
|
+
"projectList": "Projects",
|
|
481
|
+
"projectName": "Project name",
|
|
482
|
+
"projectNamePlaceholder": "My new project",
|
|
483
|
+
"storageHint": "Projects are stored locally in your Documents folder.",
|
|
484
|
+
"title": "Projects",
|
|
485
|
+
"yourProjects": "Your projects"
|
|
486
|
+
},
|
|
487
|
+
"startup": {
|
|
488
|
+
"description": "Loading local AI runtimes and preparing the workspace. First launch can take a moment.",
|
|
489
|
+
"opening": "Opening Koharu…",
|
|
490
|
+
"status": "Initializing local runtimes",
|
|
491
|
+
"title": "Preparing Koharu"
|
|
492
|
+
},
|
|
493
|
+
"status": {
|
|
494
|
+
"zoom": "Zoom"
|
|
495
|
+
},
|
|
496
|
+
"tools": {
|
|
497
|
+
"brushSize": "Brush size",
|
|
498
|
+
"brushSizeInput": "Brush size",
|
|
499
|
+
"brushSizePixels": "Brush size: {{size}} pixels",
|
|
500
|
+
"brushSizeShort": "{{size}} px",
|
|
501
|
+
"color_picker": "Color picker",
|
|
502
|
+
"decreaseBrushSize": "Decrease brush size",
|
|
503
|
+
"draw": "Brush",
|
|
504
|
+
"eraser": "Eraser",
|
|
505
|
+
"increaseBrushSize": "Increase brush size",
|
|
506
|
+
"pan": "Pan",
|
|
507
|
+
"remove": "Remove",
|
|
508
|
+
"select": "Select",
|
|
509
|
+
"text": "Text"
|
|
510
|
+
},
|
|
511
|
+
"updater": {
|
|
512
|
+
"available": {
|
|
513
|
+
"description": "Koharu <strong>{{version}}</strong> is ready to install",
|
|
514
|
+
"title": "Update available"
|
|
515
|
+
},
|
|
516
|
+
"close": "Close",
|
|
517
|
+
"downloading": {
|
|
518
|
+
"subtitle": "Koharu {{version}}",
|
|
519
|
+
"title": "Downloading update…"
|
|
520
|
+
},
|
|
521
|
+
"error": {
|
|
522
|
+
"description": "Something went wrong while updating",
|
|
523
|
+
"title": "Update failed"
|
|
524
|
+
},
|
|
525
|
+
"later": "Later",
|
|
526
|
+
"noNotes": "No release notes provided.",
|
|
527
|
+
"retry": "Retry",
|
|
528
|
+
"update": "Update"
|
|
529
|
+
},
|
|
530
|
+
"window": {
|
|
531
|
+
"close": "Close",
|
|
532
|
+
"maximize": "Maximize",
|
|
533
|
+
"minimize": "Minimize",
|
|
534
|
+
"restore": "Restore"
|
|
535
|
+
}
|
|
536
|
+
}
|