@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.
Files changed (123) hide show
  1. package/README.md +37 -2
  2. package/package.json +70 -4
  3. package/src/assets/NotoSansCJK-VF.otf +0 -0
  4. package/src/assets/OFL.txt +92 -0
  5. package/src/components/ClientOnly.tsx +21 -0
  6. package/src/components/ShenronExportPanel.tsx +213 -0
  7. package/src/components/app/AboutDialog.tsx +64 -0
  8. package/src/components/app/KoharuApp.tsx +58 -0
  9. package/src/components/app/StartupView.tsx +67 -0
  10. package/src/components/app/TitleBar.tsx +322 -0
  11. package/src/components/app/Updater.tsx +143 -0
  12. package/src/components/app/WindowChrome.tsx +137 -0
  13. package/src/components/controls/ColorSampling.tsx +70 -0
  14. package/src/components/controls/ColorWell.tsx +139 -0
  15. package/src/components/controls/CommitTextarea.tsx +63 -0
  16. package/src/components/controls/FontPicker.tsx +543 -0
  17. package/src/components/controls/ModelPicker.tsx +178 -0
  18. package/src/components/controls/OutputPicker.tsx +170 -0
  19. package/src/components/editor/ActivityCenter.tsx +234 -0
  20. package/src/components/editor/AgentPanel.tsx +352 -0
  21. package/src/components/editor/CanvasCommandBar.tsx +38 -0
  22. package/src/components/editor/CanvasOverlay.tsx +194 -0
  23. package/src/components/editor/CanvasWorkspace.tsx +947 -0
  24. package/src/components/editor/Editor.tsx +56 -0
  25. package/src/components/editor/InferenceControl.tsx +457 -0
  26. package/src/components/editor/Inspector.tsx +1073 -0
  27. package/src/components/editor/PageRail.tsx +581 -0
  28. package/src/components/editor/ResourceMonitor.tsx +151 -0
  29. package/src/components/editor/RightSidebar.tsx +50 -0
  30. package/src/components/editor/SelectionControls.tsx +184 -0
  31. package/src/components/editor/StatusBar.tsx +41 -0
  32. package/src/components/editor/ToolBar.tsx +182 -0
  33. package/src/components/editor/useCanvas.ts +194 -0
  34. package/src/components/preferences/GenerationPreferences.tsx +118 -0
  35. package/src/components/preferences/KoharuSettings.tsx +229 -0
  36. package/src/components/preferences/PipelinePreferences.tsx +173 -0
  37. package/src/components/preferences/PreferenceFields.tsx +149 -0
  38. package/src/components/preferences/ProviderPreferences.tsx +173 -0
  39. package/src/components/preferences/SettingsPage.tsx +336 -0
  40. package/src/components/preferences/TranslationPreferences.tsx +187 -0
  41. package/src/components/preferences/TypesettingPreferences.tsx +142 -0
  42. package/src/components/preferences/models.ts +103 -0
  43. package/src/components/start/StartView.tsx +277 -0
  44. package/src/index.ts +59 -0
  45. package/src/internal/components/accordion.tsx +72 -0
  46. package/src/internal/components/alert-dialog.tsx +189 -0
  47. package/src/internal/components/alert.tsx +76 -0
  48. package/src/internal/components/aspect-ratio.tsx +22 -0
  49. package/src/internal/components/attachment.tsx +207 -0
  50. package/src/internal/components/avatar.tsx +109 -0
  51. package/src/internal/components/badge.tsx +52 -0
  52. package/src/internal/components/breadcrumb.tsx +125 -0
  53. package/src/internal/components/bubble.tsx +128 -0
  54. package/src/internal/components/button-group.tsx +87 -0
  55. package/src/internal/components/button.tsx +58 -0
  56. package/src/internal/components/card.tsx +103 -0
  57. package/src/internal/components/checkbox.tsx +29 -0
  58. package/src/internal/components/collapsible.tsx +21 -0
  59. package/src/internal/components/combobox.tsx +298 -0
  60. package/src/internal/components/context-menu.tsx +272 -0
  61. package/src/internal/components/dialog.tsx +162 -0
  62. package/src/internal/components/direction.tsx +6 -0
  63. package/src/internal/components/drawer.tsx +230 -0
  64. package/src/internal/components/dropdown-menu.tsx +278 -0
  65. package/src/internal/components/empty.tsx +104 -0
  66. package/src/internal/components/field.tsx +238 -0
  67. package/src/internal/components/hover-card.tsx +52 -0
  68. package/src/internal/components/input-group.tsx +158 -0
  69. package/src/internal/components/input.tsx +20 -0
  70. package/src/internal/components/item.tsx +201 -0
  71. package/src/internal/components/kbd.tsx +26 -0
  72. package/src/internal/components/label.tsx +20 -0
  73. package/src/internal/components/marker.tsx +71 -0
  74. package/src/internal/components/menubar.tsx +280 -0
  75. package/src/internal/components/message.tsx +92 -0
  76. package/src/internal/components/native-select.tsx +61 -0
  77. package/src/internal/components/navigation-menu.tsx +168 -0
  78. package/src/internal/components/number-field.tsx +68 -0
  79. package/src/internal/components/pagination.tsx +130 -0
  80. package/src/internal/components/popover.tsx +91 -0
  81. package/src/internal/components/progress.tsx +83 -0
  82. package/src/internal/components/radio-group.tsx +38 -0
  83. package/src/internal/components/resizable.tsx +50 -0
  84. package/src/internal/components/scroll-area.tsx +88 -0
  85. package/src/internal/components/select.tsx +191 -0
  86. package/src/internal/components/separator.tsx +25 -0
  87. package/src/internal/components/sheet.tsx +140 -0
  88. package/src/internal/components/sidebar.tsx +723 -0
  89. package/src/internal/components/skeleton.tsx +13 -0
  90. package/src/internal/components/slider.tsx +56 -0
  91. package/src/internal/components/spinner.tsx +10 -0
  92. package/src/internal/components/switch.tsx +32 -0
  93. package/src/internal/components/table.tsx +116 -0
  94. package/src/internal/components/tabs.tsx +82 -0
  95. package/src/internal/components/textarea.tsx +18 -0
  96. package/src/internal/components/toast.tsx +235 -0
  97. package/src/internal/components/toggle-group.tsx +89 -0
  98. package/src/internal/components/toggle.tsx +45 -0
  99. package/src/internal/components/tooltip.tsx +67 -0
  100. package/src/internal/hooks/use-mobile.ts +19 -0
  101. package/src/internal/lib/utils.ts +6 -0
  102. package/src/internal/styles/globals.css +73 -0
  103. package/src/lib/backend.ts +85 -0
  104. package/src/lib/document.ts +46 -0
  105. package/src/lib/geometry.ts +272 -0
  106. package/src/lib/i18n.ts +54 -0
  107. package/src/lib/queries.ts +110 -0
  108. package/src/lib/store.ts +191 -0
  109. package/src/lib/translation.ts +35 -0
  110. package/src/locales/en-US/translation.json +536 -0
  111. package/src/locales/es-ES/translation.json +536 -0
  112. package/src/locales/ja-JP/translation.json +536 -0
  113. package/src/locales/ko-KR/translation.json +536 -0
  114. package/src/locales/pt-BR/translation.json +536 -0
  115. package/src/locales/ru-RU/translation.json +536 -0
  116. package/src/locales/tr-TR/translation.json +536 -0
  117. package/src/locales/zh-CN/translation.json +536 -0
  118. package/src/locales/zh-TW/translation.json +536 -0
  119. package/src/navigation.ts +28 -0
  120. package/src/providers.tsx +132 -0
  121. package/src/shenron-pipeline-env.d.ts +14 -0
  122. package/src/styles.css +246 -0
  123. package/tsconfig.json +21 -0
@@ -0,0 +1,536 @@
1
+ {
2
+ "about": {
3
+ "author": "Autor",
4
+ "description": "Ferramentas de tradução de mangá",
5
+ "unavailable": "Indisponível",
6
+ "version": "Versão"
7
+ },
8
+ "activity": {
9
+ "dismiss": "Dispensar",
10
+ "downloadFailed": "Falha no download.",
11
+ "downloadingFiles": "Baixando {{count}} arquivos",
12
+ "downloadingFiles_one": "Baixando {{count}} arquivos",
13
+ "downloadingFiles_other": "Baixando {{count}} arquivos",
14
+ "modelDownload": "Download do modelo",
15
+ "pageLabel": "Página {{number}}: {{label}}",
16
+ "processing": "Processando",
17
+ "processingFailed": "Falha no processamento.",
18
+ "stop": "Parar",
19
+ "title": "Atividade"
20
+ },
21
+ "agent": {
22
+ "account": "Conta do ChatGPT",
23
+ "applying": "Aplicando alterações ao projeto…",
24
+ "automatic": "Automático",
25
+ "cancel": "Cancelar",
26
+ "cancelled": "Cancelado.",
27
+ "deviceCode": "Código do dispositivo",
28
+ "deviceCodeHint": "Seu navegador foi aberto. Digite este código para autorizar o Koharu.",
29
+ "emptyDescription": "Peça ao agente para inspecionar, traduzir, editar ou processar este projeto. Ele verá as imagens das páginas somente quando necessário.",
30
+ "emptyTitle": "O que o Koharu deve fazer?",
31
+ "failed": "A solicitação do agente falhou.",
32
+ "loading": "Carregando o Codex…",
33
+ "message": "Enviar mensagem ao agente do Koharu",
34
+ "model": "Modelo do Codex",
35
+ "placeholder": "Peça ao Koharu para trabalhar neste projeto…",
36
+ "properties": "Propriedades",
37
+ "reasoning": "Raciocínio",
38
+ "reasoningLevels": {
39
+ "high": "Alto",
40
+ "low": "Baixo",
41
+ "max": "Máximo",
42
+ "medium": "Médio",
43
+ "ultra": "Ultra",
44
+ "xhigh": "Muito alto"
45
+ },
46
+ "send": "Enviar",
47
+ "signIn": "Entrar com o Codex",
48
+ "signInDescription": "Entre com sua assinatura do ChatGPT. O Koharu usa autenticação por código de dispositivo e nunca solicita uma chave de API.",
49
+ "signInTitle": "Conectar ao Codex",
50
+ "signOut": "Sair",
51
+ "signingIn": "Aguardando o login…",
52
+ "thinking": "Pensando…",
53
+ "title": "Agente",
54
+ "working": "Trabalhando…"
55
+ },
56
+ "canvas": {
57
+ "empty": "Selecione uma página para começar.",
58
+ "fit": "Ajustar à janela",
59
+ "surface": "Tela do Koharu",
60
+ "unavailable": "A tela WebGPU não está disponível"
61
+ },
62
+ "colorPicker": {
63
+ "brushColor": "Cor do pincel",
64
+ "hexCode": "Código hexadecimal da cor",
65
+ "sampleCanvas": "Escolher cor da tela",
66
+ "transparent": "Transparente"
67
+ },
68
+ "common": {
69
+ "back": "Voltar",
70
+ "cancel": "Cancelar",
71
+ "clearSearch": "Limpar busca",
72
+ "loading": "Carregando…",
73
+ "reset": "Redefinir"
74
+ },
75
+ "errors": {
76
+ "fatalTitle": "O Koharu não pôde continuar",
77
+ "tryAgain": "Tentar novamente"
78
+ },
79
+ "fontPicker": {
80
+ "activeFilterCount": "{{count}} filtros ativos",
81
+ "activeFilterCount_one": "{{count}} filtro ativo",
82
+ "activeFilterCount_other": "{{count}} filtros ativos",
83
+ "allPurposes": "Todas as finalidades",
84
+ "allScripts": "Todos os sistemas de escrita",
85
+ "allSources": "Todas as origens",
86
+ "allStyles": "Todos os estilos",
87
+ "choose": "Escolher uma fonte",
88
+ "clearFilters": "Limpar filtros",
89
+ "filter": "Filtrar fontes",
90
+ "filterActiveLabel": "Filtrar fontes, {{count}} ativos",
91
+ "fontCount": "{{count}} fontes",
92
+ "fontCount_one": "{{count}} fonte",
93
+ "fontCount_other": "{{count}} fontes",
94
+ "fontLabel": "{{family}}, {{source}}",
95
+ "fonts": "Fontes",
96
+ "noResults": "Nenhuma fonte corresponde à busca",
97
+ "purpose": "Finalidade",
98
+ "script": "Sistema de escrita",
99
+ "scripts": {
100
+ "arab": "Árabe",
101
+ "beng": "Bengali",
102
+ "cyrl": "Cirílico",
103
+ "deva": "Devanágari",
104
+ "gujr": "Guzerate",
105
+ "guru": "Gurmukhi",
106
+ "hang": "Hangul",
107
+ "hani": "Han",
108
+ "hebr": "Hebraico",
109
+ "hira": "Hiragana",
110
+ "kana": "Katakana",
111
+ "knda": "Canarês",
112
+ "latn": "Latino",
113
+ "mlym": "Malaiala",
114
+ "taml": "Tâmil",
115
+ "telu": "Télugo",
116
+ "thai": "Tailandês"
117
+ },
118
+ "search": "Buscar fontes",
119
+ "source": "Origem",
120
+ "sources": {
121
+ "bundled": "Incluídas",
122
+ "system": "Sistema"
123
+ },
124
+ "style": "Estilo"
125
+ },
126
+ "inference": {
127
+ "currentPage": "Página atual",
128
+ "currentPageDescription": "Processa somente a página na tela.",
129
+ "entireProject": "Projeto inteiro",
130
+ "entireProjectDescription": "Processa todas as páginas deste projeto.",
131
+ "model": "Modelo",
132
+ "noModel": "Sem modelo",
133
+ "notSet": "Não definido",
134
+ "output": "Saída",
135
+ "pipelineStages": "Etapas do pipeline",
136
+ "providerDefault": "Padrão do provedor",
137
+ "run": "Executar",
138
+ "runProcessing": "Executar processamento",
139
+ "scope": "Escopo",
140
+ "scopeShort": {
141
+ "page": "Página",
142
+ "project": "Projeto",
143
+ "selected-pages": "Seleção"
144
+ },
145
+ "selectPagesFirst": "Selecione páginas primeiro",
146
+ "selectedCount": "{{count}} páginas selecionadas",
147
+ "selectedCount_one": "{{count}} páginas selecionadas",
148
+ "selectedCount_other": "{{count}} páginas selecionadas",
149
+ "selectedPages": "Páginas selecionadas",
150
+ "selector": "Configurações de processamento",
151
+ "shortcuts": "Opções de processamento",
152
+ "stageCount": "{{count}} etapas",
153
+ "stageCount_one": "{{count}} etapas",
154
+ "stageCount_other": "{{count}} etapas",
155
+ "stages": "Etapas",
156
+ "stop": "Parar",
157
+ "stopProcessing": "Parar processamento"
158
+ },
159
+ "inspector": {
160
+ "alignBottom": "Alinhar embaixo",
161
+ "alignCenter": "Centralizar",
162
+ "alignLeft": "Alinhar à esquerda",
163
+ "alignMiddle": "Alinhar ao meio",
164
+ "alignRight": "Alinhar à direita",
165
+ "alignTop": "Alinhar em cima",
166
+ "alignment": "Alinhamento",
167
+ "auto": "Automático",
168
+ "autoFit": "Ajuste automático",
169
+ "border": "Contorno",
170
+ "borderColor": "Cor do contorno",
171
+ "borderWidth": "Largura do contorno",
172
+ "chooseFontSize": "Escolher tamanho da fonte",
173
+ "color": "Cor",
174
+ "customFrame": "Quadro personalizado",
175
+ "decreaseBorderWidth": "Diminuir largura do contorno",
176
+ "direction": "Direção",
177
+ "font": "Fonte",
178
+ "fontSize": "Tamanho da fonte",
179
+ "fontStyle": "Estilo da fonte",
180
+ "fontStyles": {
181
+ "italic": "Itálico",
182
+ "normal": "Regular",
183
+ "oblique": "Oblíquo"
184
+ },
185
+ "fontWeight": "Peso da fonte",
186
+ "horizontal": "Horizontal",
187
+ "increaseBorderWidth": "Aumentar largura do contorno",
188
+ "opacity": "Opacidade",
189
+ "placement": "Posicionamento",
190
+ "resetAutoFit": "Redefinir para ajuste automático",
191
+ "selectPage": "Selecione uma página para inspecionar suas camadas.",
192
+ "size": "Tamanho",
193
+ "source": "Texto original",
194
+ "style": "Estilo",
195
+ "textColor": "Cor do texto",
196
+ "textDirection": "Direção do texto",
197
+ "translation": "Tradução",
198
+ "type": "Tipografia",
199
+ "unplaced": "Não posicionado",
200
+ "vertical": "Vertical",
201
+ "weight": "Peso",
202
+ "width": "Largura"
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": "Excluir {{name}}",
217
+ "edit": "Editar {{name}}",
218
+ "empty": "Não há camadas nesta página.",
219
+ "hide": "Ocultar {{name}}",
220
+ "imageName": "Imagem {{index}}",
221
+ "kinds": {
222
+ "cleanup": "Limpeza",
223
+ "dialogue": "Diálogo",
224
+ "freeText": "Texto livre",
225
+ "group": "Grupo",
226
+ "image": "Imagem",
227
+ "paint": "Pintura",
228
+ "text": "Texto",
229
+ "textGroup": "Grupo de texto"
230
+ },
231
+ "locked": "Bloqueada",
232
+ "lockedLabel": "{{name}} está bloqueada",
233
+ "moveDown": "Mover {{name}} para baixo",
234
+ "moveUp": "Mover {{name}} para cima",
235
+ "opacityLabel": "Opacidade de {{name}}",
236
+ "originalArtwork": "Arte original",
237
+ "show": "Mostrar {{name}}",
238
+ "sourceLabel": "Texto de origem de {{name}}",
239
+ "textName": "Texto {{index}}",
240
+ "title": "Camadas",
241
+ "translationLabel": "Tradução de {{name}}"
242
+ },
243
+ "menu": {
244
+ "about": "Sobre",
245
+ "closeProject": "Fechar projeto",
246
+ "delete": "Excluir seleção",
247
+ "discord": "Discord",
248
+ "edit": "Editar",
249
+ "export": "Exportar projeto",
250
+ "file": "Arquivo",
251
+ "fit": "Ajustar à janela",
252
+ "github": "GitHub",
253
+ "help": "Ajuda",
254
+ "import": "Importar páginas",
255
+ "process": "Processar",
256
+ "processLayers": "Processar camadas selecionadas",
257
+ "processPages": "Processar páginas selecionadas",
258
+ "processProject": "Processar projeto",
259
+ "redo": "Refazer",
260
+ "runPhase": "Executar {{phase}}",
261
+ "selectAllLayers": "Selecionar todas as camadas",
262
+ "settings": "Configurações",
263
+ "undo": "Desfazer",
264
+ "view": "Exibir"
265
+ },
266
+ "model": {
267
+ "baseUrl": "URL base",
268
+ "default": "Padrão",
269
+ "instructions": "Instruções",
270
+ "targetLanguage": "Idioma de destino"
271
+ },
272
+ "modelPicker": {
273
+ "empty": "Nenhum modelo disponível.",
274
+ "loading": "Carregando modelos…",
275
+ "noResults": "Nenhum modelo corresponde à busca.",
276
+ "search": "Buscar modelos",
277
+ "title": "Escolher um modelo",
278
+ "useModel": "Usar {{model}} de {{provider}}"
279
+ },
280
+ "navigator": {
281
+ "actionsFor": "Ações para {{page}}",
282
+ "delete": "Excluir",
283
+ "emptyDescription": "Importe arquivos de imagem ou uma pasta para adicionar páginas.",
284
+ "emptyTitle": "Ainda não há páginas",
285
+ "filter": "Filtrar páginas",
286
+ "importAction": "Importar",
287
+ "importFiles": "Arquivos…",
288
+ "importFolder": "Pasta…",
289
+ "importing": "Importando páginas…",
290
+ "importingAction": "Importando…",
291
+ "layerCount": "{{count}} camadas",
292
+ "layerCount_one": "{{count}} camadas",
293
+ "layerCount_other": "{{count}} camadas",
294
+ "noImage": "Sem imagem",
295
+ "noResults": "Nenhuma página corresponde a este filtro.",
296
+ "pageName": "Nome da página",
297
+ "pages": "Páginas",
298
+ "rename": "Renomear",
299
+ "renameDescription": "Escolha um novo nome para esta página.",
300
+ "renameTitle": "Renomear página",
301
+ "selected": "{{count}} selecionadas"
302
+ },
303
+ "outputPicker": {
304
+ "instructions": "Instruções de tradução",
305
+ "instructionsPlaceholder": "Orientações opcionais sobre tom, nomes e formatação.",
306
+ "targetLanguage": "Idioma de destino",
307
+ "title": "Saída da tradução"
308
+ },
309
+ "phase": {
310
+ "detection": "Detecção",
311
+ "inpainting": "Preenchimento",
312
+ "ocr": "OCR",
313
+ "translation": "Tradução"
314
+ },
315
+ "phaseDescription": {
316
+ "detection": "Localiza o texto na página.",
317
+ "inpainting": "Reconstrói a arte após remover o texto.",
318
+ "ocr": "Lê o texto dentro de cada região.",
319
+ "translation": "Converte o texto original para o idioma de destino."
320
+ },
321
+ "providerDescriptions": {
322
+ "caiyun": "API de tradução do Caiyun.",
323
+ "claude": "Modelos Claude da Anthropic.",
324
+ "deepl": "API de tradução do DeepL.",
325
+ "deepseek": "Modelos de linguagem da DeepSeek.",
326
+ "gemini": "Modelos Google Gemini.",
327
+ "google-cloud-translation": "API do Google Cloud Translation.",
328
+ "grok": "Modelos de linguagem Grok da xAI.",
329
+ "lm-studio": "Modelos servidos pelo LM Studio.",
330
+ "local": "Modelos executados neste dispositivo.",
331
+ "minimax": "Modelos de linguagem da MiniMax.",
332
+ "openai": "Modelos de linguagem da OpenAI.",
333
+ "openai-compatible": "Qualquer servidor que ofereça uma API compatível com a OpenAI.",
334
+ "openrouter": "Modelos roteados pelo OpenRouter."
335
+ },
336
+ "resources": {
337
+ "cpu": "CPU",
338
+ "processUtilization": "Uso do processo",
339
+ "ram": "RAM",
340
+ "summary": "RAM {{ram}}%, CPU {{cpu}}%",
341
+ "title": "Recursos do sistema",
342
+ "tooltip": "RAM {{ramUsed}} de {{ramTotal}} · CPU {{cpu}}%",
343
+ "usedOfTotal": "{{used}} de {{total}} usados",
344
+ "vramUnavailable": "Indisponível",
345
+ "vramValue": "{{value}} de VRAM"
346
+ },
347
+ "settings": {
348
+ "appearance": {
349
+ "description": "Adapte o espaço de trabalho ao ambiente sem alterar a renderização da arte.",
350
+ "interface": "Interface",
351
+ "language": "Idioma",
352
+ "theme": "Tema",
353
+ "themeDescription": "Sistema segue a configuração do sistema operacional.",
354
+ "themes": {
355
+ "dark": "Escuro",
356
+ "light": "Claro",
357
+ "system": "Sistema"
358
+ },
359
+ "title": "Aparência"
360
+ },
361
+ "backToEditor": "Voltar ao editor",
362
+ "generation": {
363
+ "description": "Ajuste como os modelos de linguagem geram o texto traduzido.",
364
+ "enableReasoning": "Ativar raciocínio",
365
+ "frequencyPenalty": "Penalidade de frequência",
366
+ "maxTokens": "Máximo de tokens",
367
+ "minP": "P mínimo",
368
+ "presencePenalty": "Penalidade de presença",
369
+ "repeatPenalty": "Penalidade de repetição",
370
+ "sampling": "Amostragem",
371
+ "samplingDescription": "Controla como o modelo seleciona e varia o texto gerado.",
372
+ "temperature": "Temperatura",
373
+ "reasoning": "Raciocínio",
374
+ "reasoningDescription": "Usa o raciocínio do modelo durante a tradução.",
375
+ "title": "Geração",
376
+ "topK": "Top K",
377
+ "topP": "Top P",
378
+ "vision": "Visão",
379
+ "visionDescription": "Fornece imagens das páginas ao LLM durante a tradução."
380
+ },
381
+ "loading": "Carregando preferências…",
382
+ "pipeline": {
383
+ "description": "Escolha os modelos e opções usados para processar cada página.",
384
+ "modelLabel": "Modelo de {{stage}}",
385
+ "options": {
386
+ "bubbleThreshold": "Limite de balão",
387
+ "negativePrompt": "Prompt negativo",
388
+ "panelThreshold": "Limite de quadro",
389
+ "prompt": "Prompt",
390
+ "textThreshold": "Limite de texto"
391
+ },
392
+ "processing": "Processando",
393
+ "stages": {
394
+ "detection": {
395
+ "description": "Encontra texto, balões e quadros.",
396
+ "title": "Detecção"
397
+ },
398
+ "inpainting": {
399
+ "description": "Reconstrói a arte sob o texto removido.",
400
+ "title": "Preenchimento"
401
+ },
402
+ "ocr": {
403
+ "description": "Lê o texto de origem nas regiões detectadas.",
404
+ "title": "OCR"
405
+ }
406
+ },
407
+ "title": "Pipeline"
408
+ },
409
+ "providers": {
410
+ "clearCredential": "Limpar credencial de {{provider}}",
411
+ "configured": "Configurado",
412
+ "connections": "Conexões",
413
+ "connectionsDescription": "As credenciais são armazenadas com segurança neste dispositivo.",
414
+ "credential": "Credencial",
415
+ "credentialLabel": "Credencial de {{provider}}",
416
+ "description": "Conecte provedores de tradução e modelos de linguagem.",
417
+ "notConfigured": "Não configurado",
418
+ "title": "Provedores"
419
+ },
420
+ "shortcuts": {
421
+ "description": "Atalhos de uma tecla ficam disponíveis quando nenhum campo de texto está em foco.",
422
+ "inputLabel": "Atalho de {{action}}",
423
+ "title": "Atalhos",
424
+ "tools": "Ferramentas"
425
+ },
426
+ "tabs": {
427
+ "appearance": "Aparência",
428
+ "pipeline": "Pipeline",
429
+ "providers": "Provedores",
430
+ "shortcuts": "Atalhos",
431
+ "translation": "Tradução",
432
+ "typesetting": "Composição"
433
+ },
434
+ "title": "Configurações",
435
+ "translation": {
436
+ "description": "Escolha um modelo de qualquer provedor configurado e aplique um conjunto compartilhado de opções de tradução e geração.",
437
+ "instructionsDescription": "Orientações de nomes, tom, terminologia ou formatação.",
438
+ "instructionsLabel": "Instruções de tradução",
439
+ "instructionsPlaceholder": "Orientações opcionais para todo o projeto",
440
+ "model": "Modelo",
441
+ "modelDescription": "Os rótulos de provedor indicam onde cada modelo é executado; as conexões são configuradas separadamente.",
442
+ "modelQuantization": "Quantização do modelo",
443
+ "output": "Saída",
444
+ "quantization": "Quantização",
445
+ "quantizationDescription": "Formatos menores usam menos memória, geralmente com perda de qualidade.",
446
+ "selectQuantization": "Selecionar uma quantização",
447
+ "targetLanguageDescription": "Escolha o idioma para o qual o texto será traduzido.",
448
+ "title": "Tradução",
449
+ "translationModel": "Modelo de tradução",
450
+ "translationModelDescription": "Escolha o modelo usado para traduzir texto."
451
+ },
452
+ "typesetting": {
453
+ "addFamily": "Adicionar família de fontes",
454
+ "defaultFamilies": "Famílias de fontes padrão",
455
+ "description": "Defina a pilha ordenada de fontes usada quando uma camada de texto não tem família atribuída.",
456
+ "empty": "Nenhuma família padrão. O Koharu usará a alternativa do sistema.",
457
+ "familyLabel": "Família de fontes padrão {{index}}",
458
+ "fontFallback": "Fontes alternativas",
459
+ "fontFallbackDescription": "O Koharu usa a primeira família disponível compatível com o texto.",
460
+ "loadError": "Não foi possível carregar as fontes. As famílias existentes ainda podem ser removidas.",
461
+ "loadingFonts": "Carregando fontes…",
462
+ "removeFamily": "Remover {{family}}",
463
+ "title": "Composição tipográfica"
464
+ }
465
+ },
466
+ "start": {
467
+ "create": "Criar",
468
+ "deleteAction": "Excluir projeto",
469
+ "deleteDescription": "Isso exclui permanentemente “{{name}}” e todas as suas páginas. Esta ação não pode ser desfeita.",
470
+ "deleteLabel": "Excluir {{name}}",
471
+ "deleteTitle": "Excluir projeto?",
472
+ "deleting": "Excluindo…",
473
+ "description": "Abra um espaço de trabalho ou inicie uma nova tradução.",
474
+ "emptyDescription": "Crie seu primeiro projeto para começar a importar páginas.",
475
+ "emptyTitle": "Ainda não há projetos",
476
+ "loadingProjects": "Carregando projetos…",
477
+ "newDescription": "Crie um espaço de trabalho limpo para suas páginas, traduções e exportações.",
478
+ "newProject": "Novo projeto",
479
+ "projectKind": "Projeto do Koharu",
480
+ "projectList": "Projetos",
481
+ "projectName": "Nome do projeto",
482
+ "projectNamePlaceholder": "Meu novo projeto",
483
+ "storageHint": "Os projetos são armazenados localmente na pasta Documentos.",
484
+ "title": "Projetos",
485
+ "yourProjects": "Seus projetos"
486
+ },
487
+ "startup": {
488
+ "description": "Carregando os runtimes locais de IA e preparando o espaço de trabalho. A primeira inicialização pode levar alguns instantes.",
489
+ "opening": "Abrindo o Koharu…",
490
+ "status": "Inicializando runtimes locais",
491
+ "title": "Preparando o Koharu"
492
+ },
493
+ "status": {
494
+ "zoom": "Zoom"
495
+ },
496
+ "tools": {
497
+ "brushSize": "Tamanho do pincel",
498
+ "brushSizeInput": "Tamanho do pincel",
499
+ "brushSizePixels": "Tamanho do pincel: {{size}} pixels",
500
+ "brushSizeShort": "{{size}} px",
501
+ "color_picker": "Seletor de cores",
502
+ "decreaseBrushSize": "Diminuir tamanho do pincel",
503
+ "draw": "Desenhar",
504
+ "eraser": "Borracha",
505
+ "increaseBrushSize": "Aumentar tamanho do pincel",
506
+ "pan": "Mover",
507
+ "remove": "Remover",
508
+ "select": "Selecionar",
509
+ "text": "Texto"
510
+ },
511
+ "updater": {
512
+ "available": {
513
+ "description": "Koharu <strong>{{version}}</strong> está pronto para instalar",
514
+ "title": "Atualização disponível"
515
+ },
516
+ "close": "Fechar",
517
+ "downloading": {
518
+ "subtitle": "Koharu {{version}}",
519
+ "title": "Baixando atualização…"
520
+ },
521
+ "error": {
522
+ "description": "Algo deu errado durante a atualização",
523
+ "title": "Falha na atualização"
524
+ },
525
+ "later": "Mais tarde",
526
+ "noNotes": "Nenhuma nota de versão fornecida.",
527
+ "retry": "Tentar novamente",
528
+ "update": "Atualizar"
529
+ },
530
+ "window": {
531
+ "close": "Fechar",
532
+ "maximize": "Maximizar",
533
+ "minimize": "Minimizar",
534
+ "restore": "Restaurar"
535
+ }
536
+ }