dsh-live-voice-debugger 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +2 -0
- package/lib/client.js +1238 -806
- package/package.json +5 -1
package/lib/client.js
CHANGED
|
@@ -5,6 +5,14 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __esm = (fn, res, err) => function __init() {
|
|
9
|
+
if (err) throw err[0];
|
|
10
|
+
try {
|
|
11
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
12
|
+
} catch (e) {
|
|
13
|
+
throw err = [e], e;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
8
16
|
var __export = (target, all) => {
|
|
9
17
|
for (var name in all)
|
|
10
18
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -27,6 +35,978 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
35
|
));
|
|
28
36
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
37
|
|
|
38
|
+
// src/i18n/commons/en.ts
|
|
39
|
+
var translation, en_default;
|
|
40
|
+
var init_en = __esm({
|
|
41
|
+
"src/i18n/commons/en.ts"() {
|
|
42
|
+
translation = {
|
|
43
|
+
activate: "Open debugger in a separate window",
|
|
44
|
+
all: "All modules",
|
|
45
|
+
close: "Close debugger",
|
|
46
|
+
content: "Inspect text content (sensitive)",
|
|
47
|
+
developer: "Developer",
|
|
48
|
+
diagnostics: "Diagnostics",
|
|
49
|
+
empty: "No transitions recorded yet.",
|
|
50
|
+
error: "Diagnostic source failed.",
|
|
51
|
+
eventsClear: "Clear events",
|
|
52
|
+
eventsPause: "Pause events",
|
|
53
|
+
eventsResume: "Resume events",
|
|
54
|
+
filter: "Filter modules",
|
|
55
|
+
freeze: "Freeze view",
|
|
56
|
+
help: "Read-only state tree updated at 10 Hz. Text is hidden by default. This panel does not control voice.",
|
|
57
|
+
omitted: "Additional items omitted",
|
|
58
|
+
popupBlocked: "The browser blocked the debugger window. Allow popups for this site and try again.",
|
|
59
|
+
refreshRate: "Refresh rate",
|
|
60
|
+
resume: "Resume updates",
|
|
61
|
+
states: "Current states",
|
|
62
|
+
title: "Live Voice Debugger",
|
|
63
|
+
transitions: "Recent state transitions",
|
|
64
|
+
waiting: "Waiting for a compatible Live Voice runtime."
|
|
65
|
+
};
|
|
66
|
+
en_default = Object.freeze(translation);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// src/i18n/recordings/en.ts
|
|
71
|
+
var translation2, en_default2;
|
|
72
|
+
var init_en2 = __esm({
|
|
73
|
+
"src/i18n/recordings/en.ts"() {
|
|
74
|
+
translation2 = {
|
|
75
|
+
active: "Recording",
|
|
76
|
+
allSources: "All sources",
|
|
77
|
+
attempts: "Transcription history",
|
|
78
|
+
audio: "Recording playback",
|
|
79
|
+
audioError: "Unable to load or play recording audio.",
|
|
80
|
+
cancel: "Cancel",
|
|
81
|
+
captured: "Captured audio",
|
|
82
|
+
completed: "Completed",
|
|
83
|
+
confirmDelete: "Delete this entire recording, including its audio and transcription history? This cannot be undone. Deleting an active recording also discards its future saved audio.",
|
|
84
|
+
date: "Started",
|
|
85
|
+
delete: "Delete entire session",
|
|
86
|
+
deleteError: "Unable to delete the recording.",
|
|
87
|
+
duration: "Duration",
|
|
88
|
+
empty: "No recording sessions match this filter.",
|
|
89
|
+
end: "End",
|
|
90
|
+
engine: "Engine",
|
|
91
|
+
error: "Error",
|
|
92
|
+
export: "Export self-contained JSON",
|
|
93
|
+
exportError: "Unable to export the recording.",
|
|
94
|
+
failed: "Failed",
|
|
95
|
+
help: "Inspect saved audio, speech/silence boundaries and transcription attempts. Audio and transcripts may be sensitive. Playback is local; export includes audio and text. Inspection never changes capture; only explicit deletion removes recordings.",
|
|
96
|
+
interrupted: "Interrupted",
|
|
97
|
+
loadError: "Unable to load recording sessions. Try refreshing.",
|
|
98
|
+
loading: "Loading recordings\u2026",
|
|
99
|
+
memory: "Memory only",
|
|
100
|
+
microphone: "Microphone",
|
|
101
|
+
noAttempts: "No transcription attempts yet.",
|
|
102
|
+
open: "Open segment",
|
|
103
|
+
pending: "Pending",
|
|
104
|
+
persistent: "Saved locally",
|
|
105
|
+
pinConfirmed: "Confirmed at",
|
|
106
|
+
pinDelay: "Confirmation delay",
|
|
107
|
+
pins: "Boundary pins",
|
|
108
|
+
play: "Play segment",
|
|
109
|
+
playSession: "Play saved session",
|
|
110
|
+
refresh: "Refresh recordings",
|
|
111
|
+
saved: "Saved audio",
|
|
112
|
+
segments: "Segments",
|
|
113
|
+
selectSession: "Select a recording session.",
|
|
114
|
+
shared: "Shared audio",
|
|
115
|
+
silence: "Silence",
|
|
116
|
+
source: "Source",
|
|
117
|
+
sourceFilter: "Filter sources",
|
|
118
|
+
speech: "Speech",
|
|
119
|
+
star: "Keep indefinitely",
|
|
120
|
+
starError: "Unable to change recording protection.",
|
|
121
|
+
starHelp: "Exclude this recording from automatic cleanup and the retention count. Manual deletion is still allowed. This does not change browser storage or eviction protection.",
|
|
122
|
+
starred: "Protected from automatic cleanup",
|
|
123
|
+
start: "Start",
|
|
124
|
+
state: "State",
|
|
125
|
+
success: "Success",
|
|
126
|
+
timeline: "Speech / silence timeline",
|
|
127
|
+
title: "Recordings",
|
|
128
|
+
unavailable: "Recording service unavailable. Enable recording in Live Voice settings with a compatible runtime.",
|
|
129
|
+
unstar: "Remove protection",
|
|
130
|
+
unstarHelp: "Allow automatic cleanup and include this recording in the retention count again. Manual deletion is still allowed. Browser storage and eviction protection are unchanged."
|
|
131
|
+
};
|
|
132
|
+
en_default2 = Object.freeze(translation2);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// src/i18n/runtimes/en.ts
|
|
137
|
+
var translation3, en_default3;
|
|
138
|
+
var init_en3 = __esm({
|
|
139
|
+
"src/i18n/runtimes/en.ts"() {
|
|
140
|
+
translation3 = {
|
|
141
|
+
active: "Active requests",
|
|
142
|
+
audio: "Last audio duration",
|
|
143
|
+
cache: "Cached model files",
|
|
144
|
+
cancelled: "Cancelled",
|
|
145
|
+
completed: "Completed transcriptions",
|
|
146
|
+
device: "Requested execution provider",
|
|
147
|
+
error: "Error code",
|
|
148
|
+
events: "Runtime events (last 100)",
|
|
149
|
+
failed: "Failed / cancelled transcriptions",
|
|
150
|
+
gpu: "WebGPU adapter available",
|
|
151
|
+
heap: "Page JavaScript heap estimate",
|
|
152
|
+
help: "Model/cache sizes are file bytes, not RAM. PCM counts only queued/active input buffers. Page JavaScript heap, when available, is a non-standard page-wide estimate and excludes complete worker/WASM/GPU memory. Model RAM and VRAM cannot be reliably measured here. WebGPU initialization does not prove every graph operator ran on GPU. Events are plugin lifecycle metadata, not raw ONNX logs; no audio or transcripts are retained.",
|
|
153
|
+
id: "Worker identity",
|
|
154
|
+
inference: "Last worker inference",
|
|
155
|
+
load: "Load round trip / worker",
|
|
156
|
+
memory: "Memory and storage",
|
|
157
|
+
model: "Model",
|
|
158
|
+
modelBytes: "Complete model download",
|
|
159
|
+
no: "No",
|
|
160
|
+
pcm: "Accounted input PCM",
|
|
161
|
+
pending: "Pending worker requests",
|
|
162
|
+
quantization: "Encoder / decoder precision",
|
|
163
|
+
queue: "Queued transcriptions",
|
|
164
|
+
ram: "Model RAM",
|
|
165
|
+
ratio: "Processing / audio ratio",
|
|
166
|
+
ready: "Ready",
|
|
167
|
+
released: "Released",
|
|
168
|
+
revision: "Pinned revision",
|
|
169
|
+
started: "Started",
|
|
170
|
+
status: "Status",
|
|
171
|
+
storage: "Available origin storage",
|
|
172
|
+
success: "Success",
|
|
173
|
+
title: "Runtimes",
|
|
174
|
+
unavailable: "Unavailable",
|
|
175
|
+
versions: "ONNX Runtime / Transformers.js",
|
|
176
|
+
vram: "Model VRAM",
|
|
177
|
+
worker: "Worker active",
|
|
178
|
+
yes: "Yes"
|
|
179
|
+
};
|
|
180
|
+
en_default3 = Object.freeze(translation3);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
// src/i18n/en.ts
|
|
185
|
+
var en_exports = {};
|
|
186
|
+
__export(en_exports, {
|
|
187
|
+
default: () => en_default4
|
|
188
|
+
});
|
|
189
|
+
var translation4, en_default4;
|
|
190
|
+
var init_en4 = __esm({
|
|
191
|
+
"src/i18n/en.ts"() {
|
|
192
|
+
init_en();
|
|
193
|
+
init_en2();
|
|
194
|
+
init_en3();
|
|
195
|
+
translation4 = { commons: en_default, recordings: en_default2, runtimes: en_default3 };
|
|
196
|
+
en_default4 = Object.freeze(translation4);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
// src/i18n/commons/es.ts
|
|
201
|
+
var translation5, es_default;
|
|
202
|
+
var init_es = __esm({
|
|
203
|
+
"src/i18n/commons/es.ts"() {
|
|
204
|
+
translation5 = {
|
|
205
|
+
activate: "Abrir depurador en una ventana separada",
|
|
206
|
+
all: "Todos los m\xF3dulos",
|
|
207
|
+
close: "Cerrar depurador",
|
|
208
|
+
content: "Inspeccionar contenido de texto (sensible)",
|
|
209
|
+
developer: "Desarrollador",
|
|
210
|
+
diagnostics: "Diagn\xF3stico",
|
|
211
|
+
empty: "Todav\xEDa no hay transiciones registradas.",
|
|
212
|
+
error: "La fuente de diagn\xF3stico fall\xF3.",
|
|
213
|
+
eventsClear: "Borrar eventos",
|
|
214
|
+
eventsPause: "Pausar eventos",
|
|
215
|
+
eventsResume: "Reanudar eventos",
|
|
216
|
+
filter: "Filtrar m\xF3dulos",
|
|
217
|
+
freeze: "Congelar vista",
|
|
218
|
+
help: "\xC1rbol de estados de solo lectura actualizado a 10 Hz. Texto oculto por defecto. Este panel no controla la voz.",
|
|
219
|
+
omitted: "Elementos adicionales omitidos",
|
|
220
|
+
popupBlocked: "El navegador bloque\xF3 la ventana del depurador. Permita ventanas emergentes en este sitio e int\xE9ntelo de nuevo.",
|
|
221
|
+
refreshRate: "Frecuencia de actualizaci\xF3n",
|
|
222
|
+
resume: "Reanudar actualizaciones",
|
|
223
|
+
states: "Estados actuales",
|
|
224
|
+
title: "Depurador de Voz en vivo",
|
|
225
|
+
transitions: "Transiciones de estado recientes",
|
|
226
|
+
waiting: "Esperando un runtime de Voz en vivo compatible."
|
|
227
|
+
};
|
|
228
|
+
es_default = Object.freeze(translation5);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
// src/i18n/recordings/es.ts
|
|
233
|
+
var translation6, es_default2;
|
|
234
|
+
var init_es2 = __esm({
|
|
235
|
+
"src/i18n/recordings/es.ts"() {
|
|
236
|
+
translation6 = {
|
|
237
|
+
active: "Grabando",
|
|
238
|
+
allSources: "Todas las fuentes",
|
|
239
|
+
attempts: "Historial de transcripci\xF3n",
|
|
240
|
+
audio: "Reproducci\xF3n de la grabaci\xF3n",
|
|
241
|
+
audioError: "No se pudo cargar o reproducir el audio.",
|
|
242
|
+
cancel: "Cancelar",
|
|
243
|
+
captured: "Audio capturado",
|
|
244
|
+
completed: "Completada",
|
|
245
|
+
confirmDelete: "\xBFEliminar toda esta grabaci\xF3n, incluido el audio y el historial de transcripci\xF3n? No se puede deshacer. Eliminar una grabaci\xF3n activa tambi\xE9n descarta su audio guardado futuro.",
|
|
246
|
+
date: "Inicio",
|
|
247
|
+
delete: "Eliminar sesi\xF3n completa",
|
|
248
|
+
deleteError: "No se pudo eliminar la grabaci\xF3n.",
|
|
249
|
+
duration: "Duraci\xF3n",
|
|
250
|
+
empty: "Ninguna grabaci\xF3n coincide con el filtro.",
|
|
251
|
+
end: "Fin",
|
|
252
|
+
engine: "Motor",
|
|
253
|
+
error: "Error",
|
|
254
|
+
export: "Exportar JSON completo",
|
|
255
|
+
exportError: "No se pudo exportar la grabaci\xF3n.",
|
|
256
|
+
failed: "Fallida",
|
|
257
|
+
help: "Inspeccione audio guardado, l\xEDmites de voz/silencio e intentos de transcripci\xF3n. Audio y texto pueden ser sensibles. La reproducci\xF3n es local; la exportaci\xF3n incluye audio y texto. Inspeccionar no cambia la captura; solo la eliminaci\xF3n expl\xEDcita borra grabaciones.",
|
|
258
|
+
interrupted: "Interrumpida",
|
|
259
|
+
loadError: "No se pudieron cargar las grabaciones. Intente actualizar.",
|
|
260
|
+
loading: "Cargando grabaciones\u2026",
|
|
261
|
+
memory: "Solo en memoria",
|
|
262
|
+
microphone: "Micr\xF3fono",
|
|
263
|
+
noAttempts: "Todav\xEDa no hay intentos de transcripci\xF3n.",
|
|
264
|
+
open: "Segmento abierto",
|
|
265
|
+
pending: "Pendiente",
|
|
266
|
+
persistent: "Guardada localmente",
|
|
267
|
+
pinConfirmed: "Confirmado en",
|
|
268
|
+
pinDelay: "Demora de confirmaci\xF3n",
|
|
269
|
+
pins: "Marcadores de l\xEDmite",
|
|
270
|
+
play: "Reproducir segmento",
|
|
271
|
+
playSession: "Reproducir sesi\xF3n guardada",
|
|
272
|
+
refresh: "Actualizar grabaciones",
|
|
273
|
+
saved: "Audio guardado",
|
|
274
|
+
segments: "Segmentos",
|
|
275
|
+
selectSession: "Seleccione una sesi\xF3n de grabaci\xF3n.",
|
|
276
|
+
shared: "Audio compartido",
|
|
277
|
+
silence: "Silencio",
|
|
278
|
+
source: "Fuente",
|
|
279
|
+
sourceFilter: "Filtrar fuentes",
|
|
280
|
+
speech: "Voz",
|
|
281
|
+
star: "Conservar indefinidamente",
|
|
282
|
+
starError: "No se pudo cambiar la protecci\xF3n de la grabaci\xF3n.",
|
|
283
|
+
starHelp: "Excluye esta grabaci\xF3n de la limpieza autom\xE1tica y del recuento de retenci\xF3n. La eliminaci\xF3n manual sigue permitida. No cambia el almacenamiento ni la protecci\xF3n contra eliminaci\xF3n del navegador.",
|
|
284
|
+
starred: "Protegida de la limpieza autom\xE1tica",
|
|
285
|
+
start: "Inicio",
|
|
286
|
+
state: "Estado",
|
|
287
|
+
success: "\xC9xito",
|
|
288
|
+
timeline: "Cronolog\xEDa de voz / silencio",
|
|
289
|
+
title: "Grabaciones",
|
|
290
|
+
unavailable: "Servicio de grabaci\xF3n no disponible. Active la grabaci\xF3n en los ajustes de Voz en vivo con un runtime compatible.",
|
|
291
|
+
unstar: "Quitar protecci\xF3n",
|
|
292
|
+
unstarHelp: "Permite la limpieza autom\xE1tica e incluye de nuevo esta grabaci\xF3n en el recuento de retenci\xF3n. La eliminaci\xF3n manual sigue permitida. El almacenamiento y la protecci\xF3n contra eliminaci\xF3n del navegador no cambian."
|
|
293
|
+
};
|
|
294
|
+
es_default2 = Object.freeze(translation6);
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
|
|
298
|
+
// src/i18n/runtimes/es.ts
|
|
299
|
+
var translation7, es_default3;
|
|
300
|
+
var init_es3 = __esm({
|
|
301
|
+
"src/i18n/runtimes/es.ts"() {
|
|
302
|
+
translation7 = {
|
|
303
|
+
active: "Solicitudes activas",
|
|
304
|
+
audio: "Duraci\xF3n del \xFAltimo audio",
|
|
305
|
+
cache: "Archivos del modelo en cach\xE9",
|
|
306
|
+
cancelled: "Cancelado",
|
|
307
|
+
completed: "Transcripciones completadas",
|
|
308
|
+
device: "Proveedor de ejecuci\xF3n solicitado",
|
|
309
|
+
error: "C\xF3digo de error",
|
|
310
|
+
events: "Eventos del runtime (\xFAltimos 100)",
|
|
311
|
+
failed: "Transcripciones fallidas / canceladas",
|
|
312
|
+
gpu: "Adaptador WebGPU disponible",
|
|
313
|
+
heap: "Estimaci\xF3n del heap JavaScript de la p\xE1gina",
|
|
314
|
+
help: "El tama\xF1o del modelo/cach\xE9 corresponde a archivos, no a RAM. PCM cuenta solo los b\xFAferes de entrada activos/en cola. El heap JavaScript es una estimaci\xF3n no est\xE1ndar de toda la p\xE1gina y no incluye toda la memoria de workers/WASM/GPU. La RAM/VRAM del modelo no se puede medir de forma fiable aqu\xED. Inicializar WebGPU no prueba que todos los operadores usen la GPU. Los eventos son metadatos del plugin, no logs brutos de ONNX; no guardan audio ni transcripciones.",
|
|
315
|
+
id: "Identidad del worker",
|
|
316
|
+
inference: "\xDAltima inferencia en el worker",
|
|
317
|
+
load: "Carga ida y vuelta / worker",
|
|
318
|
+
memory: "Memoria y almacenamiento",
|
|
319
|
+
model: "Modelo",
|
|
320
|
+
modelBytes: "Descarga completa del modelo",
|
|
321
|
+
no: "No",
|
|
322
|
+
pcm: "PCM de entrada contabilizado",
|
|
323
|
+
pending: "Solicitudes pendientes del worker",
|
|
324
|
+
quantization: "Precisi\xF3n del encoder / decoder",
|
|
325
|
+
queue: "Transcripciones en cola",
|
|
326
|
+
ram: "RAM del modelo",
|
|
327
|
+
ratio: "Relaci\xF3n procesamiento / audio",
|
|
328
|
+
ready: "Listo",
|
|
329
|
+
released: "Liberado",
|
|
330
|
+
revision: "Revisi\xF3n fijada",
|
|
331
|
+
started: "Iniciado",
|
|
332
|
+
status: "Estado",
|
|
333
|
+
storage: "Almacenamiento disponible de este origen",
|
|
334
|
+
success: "\xC9xito",
|
|
335
|
+
title: "Runtimes",
|
|
336
|
+
unavailable: "No disponible",
|
|
337
|
+
versions: "ONNX Runtime / Transformers.js",
|
|
338
|
+
vram: "VRAM del modelo",
|
|
339
|
+
worker: "Worker activo",
|
|
340
|
+
yes: "S\xED"
|
|
341
|
+
};
|
|
342
|
+
es_default3 = Object.freeze(translation7);
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
|
|
346
|
+
// src/i18n/es.ts
|
|
347
|
+
var es_exports = {};
|
|
348
|
+
__export(es_exports, {
|
|
349
|
+
default: () => es_default4
|
|
350
|
+
});
|
|
351
|
+
var translation8, es_default4;
|
|
352
|
+
var init_es4 = __esm({
|
|
353
|
+
"src/i18n/es.ts"() {
|
|
354
|
+
init_es();
|
|
355
|
+
init_es2();
|
|
356
|
+
init_es3();
|
|
357
|
+
translation8 = { commons: es_default, recordings: es_default2, runtimes: es_default3 };
|
|
358
|
+
es_default4 = Object.freeze(translation8);
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
|
|
362
|
+
// src/i18n/commons/fr.ts
|
|
363
|
+
var translation9, fr_default;
|
|
364
|
+
var init_fr = __esm({
|
|
365
|
+
"src/i18n/commons/fr.ts"() {
|
|
366
|
+
translation9 = {
|
|
367
|
+
activate: "Ouvrir le d\xE9bogueur dans une fen\xEAtre s\xE9par\xE9e",
|
|
368
|
+
all: "Tous les modules",
|
|
369
|
+
close: "Fermer le d\xE9bogueur",
|
|
370
|
+
content: "Inspecter le texte (sensible)",
|
|
371
|
+
developer: "D\xE9veloppeur",
|
|
372
|
+
diagnostics: "Diagnostic",
|
|
373
|
+
empty: "Aucune transition enregistr\xE9e.",
|
|
374
|
+
error: "La source de diagnostic a \xE9chou\xE9.",
|
|
375
|
+
eventsClear: "Effacer les \xE9v\xE9nements",
|
|
376
|
+
eventsPause: "Suspendre les \xE9v\xE9nements",
|
|
377
|
+
eventsResume: "Reprendre les \xE9v\xE9nements",
|
|
378
|
+
filter: "Filtrer les modules",
|
|
379
|
+
freeze: "Figer la vue",
|
|
380
|
+
help: "Arbre des \xE9tats en lecture seule actualis\xE9 \xE0 10 Hz. Texte masqu\xE9 par d\xE9faut. Ce panneau ne contr\xF4le pas la voix.",
|
|
381
|
+
omitted: "\xC9l\xE9ments suppl\xE9mentaires masqu\xE9s",
|
|
382
|
+
popupBlocked: "Le navigateur a bloqu\xE9 la fen\xEAtre du d\xE9bogueur. Autorisez les fen\xEAtres contextuelles pour ce site et r\xE9essayez.",
|
|
383
|
+
refreshRate: "Fr\xE9quence de mise \xE0 jour",
|
|
384
|
+
resume: "Reprendre les mises \xE0 jour",
|
|
385
|
+
states: "\xC9tats actuels",
|
|
386
|
+
title: "D\xE9bogueur Voix en direct",
|
|
387
|
+
transitions: "Transitions r\xE9centes des \xE9tats",
|
|
388
|
+
waiting: "En attente d\u2019un runtime Voix en direct compatible."
|
|
389
|
+
};
|
|
390
|
+
fr_default = Object.freeze(translation9);
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
|
|
394
|
+
// src/i18n/recordings/fr.ts
|
|
395
|
+
var translation10, fr_default2;
|
|
396
|
+
var init_fr2 = __esm({
|
|
397
|
+
"src/i18n/recordings/fr.ts"() {
|
|
398
|
+
translation10 = {
|
|
399
|
+
active: "Enregistrement",
|
|
400
|
+
allSources: "Toutes les sources",
|
|
401
|
+
attempts: "Historique des transcriptions",
|
|
402
|
+
audio: "Lecture de l\u2019enregistrement",
|
|
403
|
+
audioError: "Impossible de charger ou lire l\u2019audio.",
|
|
404
|
+
cancel: "Annuler",
|
|
405
|
+
captured: "Audio captur\xE9",
|
|
406
|
+
completed: "Termin\xE9",
|
|
407
|
+
confirmDelete: "Supprimer cet enregistrement entier, y compris son audio et son historique de transcription ? Cette action est irr\xE9versible. Supprimer un enregistrement actif supprime aussi son futur audio enregistr\xE9.",
|
|
408
|
+
date: "D\xE9but",
|
|
409
|
+
delete: "Supprimer toute la session",
|
|
410
|
+
deleteError: "Impossible de supprimer l\u2019enregistrement.",
|
|
411
|
+
duration: "Dur\xE9e",
|
|
412
|
+
empty: "Aucun enregistrement ne correspond au filtre.",
|
|
413
|
+
end: "Fin",
|
|
414
|
+
engine: "Moteur",
|
|
415
|
+
error: "Erreur",
|
|
416
|
+
export: "Exporter le JSON autonome",
|
|
417
|
+
exportError: "Impossible d\u2019exporter l\u2019enregistrement.",
|
|
418
|
+
failed: "\xC9chec",
|
|
419
|
+
help: "Inspectez l\u2019audio sauvegard\xE9, les limites parole/silence et les tentatives de transcription. Audio et texte peuvent \xEAtre sensibles. Lecture locale ; l\u2019export contient l\u2019audio et le texte. L\u2019inspection ne change pas la capture ; seule une suppression explicite efface les enregistrements.",
|
|
420
|
+
interrupted: "Interrompu",
|
|
421
|
+
loadError: "Impossible de charger les enregistrements. Actualisez la liste.",
|
|
422
|
+
loading: "Chargement des enregistrements\u2026",
|
|
423
|
+
memory: "En m\xE9moire uniquement",
|
|
424
|
+
microphone: "Microphone",
|
|
425
|
+
noAttempts: "Aucune tentative de transcription.",
|
|
426
|
+
open: "Segment ouvert",
|
|
427
|
+
pending: "En attente",
|
|
428
|
+
persistent: "Sauvegard\xE9 localement",
|
|
429
|
+
pinConfirmed: "Confirm\xE9 \xE0",
|
|
430
|
+
pinDelay: "D\xE9lai de confirmation",
|
|
431
|
+
pins: "Marqueurs de limite",
|
|
432
|
+
play: "Lire le segment",
|
|
433
|
+
playSession: "Lire la session sauvegard\xE9e",
|
|
434
|
+
refresh: "Actualiser les enregistrements",
|
|
435
|
+
saved: "Audio sauvegard\xE9",
|
|
436
|
+
segments: "Segments",
|
|
437
|
+
selectSession: "S\xE9lectionnez une session d\u2019enregistrement.",
|
|
438
|
+
shared: "Audio partag\xE9",
|
|
439
|
+
silence: "Silence",
|
|
440
|
+
source: "Source",
|
|
441
|
+
sourceFilter: "Filtrer les sources",
|
|
442
|
+
speech: "Parole",
|
|
443
|
+
star: "Conserver ind\xE9finiment",
|
|
444
|
+
starError: "Impossible de modifier la protection de l\u2019enregistrement.",
|
|
445
|
+
starHelp: "Exclut cet enregistrement du nettoyage automatique et du nombre d\u2019enregistrements \xE0 conserver. La suppression manuelle reste autoris\xE9e. Le stockage et la protection contre l\u2019\xE9viction par le navigateur ne changent pas.",
|
|
446
|
+
starred: "Prot\xE9g\xE9 du nettoyage automatique",
|
|
447
|
+
start: "D\xE9but",
|
|
448
|
+
state: "\xC9tat",
|
|
449
|
+
success: "R\xE9ussite",
|
|
450
|
+
timeline: "Chronologie parole / silence",
|
|
451
|
+
title: "Enregistrements",
|
|
452
|
+
unavailable: "Service d\u2019enregistrement indisponible. Activez l\u2019enregistrement dans les param\xE8tres de Voix en direct avec un runtime compatible.",
|
|
453
|
+
unstar: "Retirer la protection",
|
|
454
|
+
unstarHelp: "Autorise le nettoyage automatique et compte \xE0 nouveau cet enregistrement parmi ceux \xE0 conserver. La suppression manuelle reste autoris\xE9e. Le stockage et la protection contre l\u2019\xE9viction par le navigateur ne changent pas."
|
|
455
|
+
};
|
|
456
|
+
fr_default2 = Object.freeze(translation10);
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
|
|
460
|
+
// src/i18n/runtimes/fr.ts
|
|
461
|
+
var translation11, fr_default3;
|
|
462
|
+
var init_fr3 = __esm({
|
|
463
|
+
"src/i18n/runtimes/fr.ts"() {
|
|
464
|
+
translation11 = {
|
|
465
|
+
active: "Requ\xEAtes actives",
|
|
466
|
+
audio: "Dur\xE9e du dernier audio",
|
|
467
|
+
cache: "Fichiers du mod\xE8le en cache",
|
|
468
|
+
cancelled: "Annul\xE9",
|
|
469
|
+
completed: "Transcriptions termin\xE9es",
|
|
470
|
+
device: "Fournisseur d\u2019ex\xE9cution demand\xE9",
|
|
471
|
+
error: "Code d\u2019erreur",
|
|
472
|
+
events: "\xC9v\xE9nements du runtime (100 derniers)",
|
|
473
|
+
failed: "Transcriptions \xE9chou\xE9es / annul\xE9es",
|
|
474
|
+
gpu: "Adaptateur WebGPU disponible",
|
|
475
|
+
heap: "Estimation du tas JavaScript de la page",
|
|
476
|
+
help: "La taille du mod\xE8le/cache mesure les fichiers, pas la RAM. PCM compte seulement les buffers d\u2019entr\xE9e actifs/en attente. Le tas JavaScript est une estimation non standard de la page et exclut une partie de la m\xE9moire workers/WASM/GPU. La RAM/VRAM du mod\xE8le ne peut pas \xEAtre mesur\xE9e fiablement ici. Initialiser WebGPU ne prouve pas que tous les op\xE9rateurs utilisent le GPU. Les \xE9v\xE9nements sont des m\xE9tadonn\xE9es du plugin, pas des logs ONNX bruts ; aucun audio ni transcription conserv\xE9s.",
|
|
477
|
+
id: "Identit\xE9 du worker",
|
|
478
|
+
inference: "Derni\xE8re inf\xE9rence du worker",
|
|
479
|
+
load: "Chargement aller-retour / worker",
|
|
480
|
+
memory: "M\xE9moire et stockage",
|
|
481
|
+
model: "Mod\xE8le",
|
|
482
|
+
modelBytes: "T\xE9l\xE9chargement complet du mod\xE8le",
|
|
483
|
+
no: "Non",
|
|
484
|
+
pcm: "PCM d\u2019entr\xE9e comptabilis\xE9",
|
|
485
|
+
pending: "Requ\xEAtes du worker en attente",
|
|
486
|
+
quantization: "Pr\xE9cision encoder / decoder",
|
|
487
|
+
queue: "Transcriptions en attente",
|
|
488
|
+
ram: "RAM du mod\xE8le",
|
|
489
|
+
ratio: "Rapport traitement / audio",
|
|
490
|
+
ready: "Pr\xEAt",
|
|
491
|
+
released: "Lib\xE9r\xE9",
|
|
492
|
+
revision: "R\xE9vision fix\xE9e",
|
|
493
|
+
started: "D\xE9marr\xE9",
|
|
494
|
+
status: "\xC9tat",
|
|
495
|
+
storage: "Stockage disponible pour cette origine",
|
|
496
|
+
success: "Succ\xE8s",
|
|
497
|
+
title: "Runtimes",
|
|
498
|
+
unavailable: "Indisponible",
|
|
499
|
+
versions: "ONNX Runtime / Transformers.js",
|
|
500
|
+
vram: "VRAM du mod\xE8le",
|
|
501
|
+
worker: "Worker actif",
|
|
502
|
+
yes: "Oui"
|
|
503
|
+
};
|
|
504
|
+
fr_default3 = Object.freeze(translation11);
|
|
505
|
+
}
|
|
506
|
+
});
|
|
507
|
+
|
|
508
|
+
// src/i18n/fr.ts
|
|
509
|
+
var fr_exports = {};
|
|
510
|
+
__export(fr_exports, {
|
|
511
|
+
default: () => fr_default4
|
|
512
|
+
});
|
|
513
|
+
var translation12, fr_default4;
|
|
514
|
+
var init_fr4 = __esm({
|
|
515
|
+
"src/i18n/fr.ts"() {
|
|
516
|
+
init_fr();
|
|
517
|
+
init_fr2();
|
|
518
|
+
init_fr3();
|
|
519
|
+
translation12 = { commons: fr_default, recordings: fr_default2, runtimes: fr_default3 };
|
|
520
|
+
fr_default4 = Object.freeze(translation12);
|
|
521
|
+
}
|
|
522
|
+
});
|
|
523
|
+
|
|
524
|
+
// src/i18n/commons/hi.ts
|
|
525
|
+
var translation13, hi_default;
|
|
526
|
+
var init_hi = __esm({
|
|
527
|
+
"src/i18n/commons/hi.ts"() {
|
|
528
|
+
translation13 = {
|
|
529
|
+
activate: "\u0921\u0940\u092C\u0917\u0930 \u0905\u0932\u0917 \u0935\u093F\u0902\u0921\u094B \u092E\u0947\u0902 \u0916\u094B\u0932\u0947\u0902",
|
|
530
|
+
all: "\u0938\u092D\u0940 \u092E\u0949\u0921\u094D\u092F\u0942\u0932",
|
|
531
|
+
close: "\u0921\u0940\u092C\u0917\u0930 \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
532
|
+
content: "\u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0938\u093E\u092E\u0917\u094D\u0930\u0940 \u0926\u0947\u0916\u0947\u0902 (\u0938\u0902\u0935\u0947\u0926\u0928\u0936\u0940\u0932)",
|
|
533
|
+
developer: "\u0921\u0947\u0935\u0932\u092A\u0930",
|
|
534
|
+
diagnostics: "\u0928\u093F\u0926\u093E\u0928",
|
|
535
|
+
empty: "\u0905\u092D\u0940 \u0915\u094B\u0908 \u091F\u094D\u0930\u093E\u0902\u091C\u093C\u093F\u0936\u0928 \u0926\u0930\u094D\u091C \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",
|
|
536
|
+
error: "\u0921\u093E\u092F\u0917\u094D\u0928\u094B\u0938\u094D\u091F\u093F\u0915 \u0938\u094D\u0930\u094B\u0924 \u0935\u093F\u092B\u0932 \u0939\u0941\u0906\u0964",
|
|
537
|
+
eventsClear: "\u0907\u0935\u0947\u0902\u091F \u0938\u093E\u092B\u093C \u0915\u0930\u0947\u0902",
|
|
538
|
+
eventsPause: "\u0907\u0935\u0947\u0902\u091F \u0930\u094B\u0915\u0947\u0902",
|
|
539
|
+
eventsResume: "\u0907\u0935\u0947\u0902\u091F \u092B\u093F\u0930 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902",
|
|
540
|
+
filter: "\u092E\u0949\u0921\u094D\u092F\u0942\u0932 \u092B\u093C\u093F\u0932\u094D\u091F\u0930 \u0915\u0930\u0947\u0902",
|
|
541
|
+
freeze: "\u0926\u0943\u0936\u094D\u092F \u0930\u094B\u0915\u0947\u0902",
|
|
542
|
+
help: "\u0915\u0947\u0935\u0932 \u092A\u0922\u093C\u0928\u0947 \u0935\u093E\u0932\u093E \u0938\u094D\u091F\u0947\u091F \u091F\u094D\u0930\u0940 10 Hz \u092A\u0930 \u0905\u092A\u0921\u0947\u091F \u0939\u094B\u0924\u093E \u0939\u0948\u0964 \u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0921\u093F\u092B\u093C\u0949\u0932\u094D\u091F \u0930\u0942\u092A \u0938\u0947 \u091B\u093F\u092A\u093E \u0939\u0948\u0964 \u092F\u0939 \u092A\u0948\u0928\u0932 \u0935\u0949\u0907\u0938 \u0915\u094B \u0928\u093F\u092F\u0902\u0924\u094D\u0930\u093F\u0924 \u0928\u0939\u0940\u0902 \u0915\u0930\u0924\u093E\u0964",
|
|
543
|
+
omitted: "\u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924 \u0906\u0907\u091F\u092E \u091B\u093F\u092A\u093E\u090F \u0917\u090F",
|
|
544
|
+
popupBlocked: "\u092C\u094D\u0930\u093E\u0909\u091C\u093C\u0930 \u0928\u0947 \u0921\u0940\u092C\u0917\u0930 \u0935\u093F\u0902\u0921\u094B \u092C\u094D\u0932\u0949\u0915 \u0915\u0930 \u0926\u0940\u0964 \u0907\u0938 \u0938\u093E\u0907\u091F \u0915\u0947 \u0932\u093F\u090F \u092A\u0949\u092A-\u0905\u092A \u0915\u0940 \u0905\u0928\u0941\u092E\u0924\u093F \u0926\u0947\u0902 \u0914\u0930 \u092B\u093F\u0930 \u0915\u094B\u0936\u093F\u0936 \u0915\u0930\u0947\u0902\u0964",
|
|
545
|
+
refreshRate: "\u0905\u092A\u0921\u0947\u091F \u0906\u0935\u0943\u0924\u094D\u0924\u093F",
|
|
546
|
+
resume: "\u0905\u092A\u0921\u0947\u091F \u092B\u093F\u0930 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902",
|
|
547
|
+
states: "\u0935\u0930\u094D\u0924\u092E\u093E\u0928 \u0938\u094D\u0925\u093F\u0924\u093F\u092F\u093E\u0901",
|
|
548
|
+
title: "\u0932\u093E\u0907\u0935 \u0935\u0949\u0907\u0938 \u0921\u0940\u092C\u0917\u0930",
|
|
549
|
+
transitions: "\u0939\u093E\u0932 \u0915\u0947 \u0938\u094D\u091F\u0947\u091F \u091F\u094D\u0930\u093E\u0902\u091C\u093C\u093F\u0936\u0928",
|
|
550
|
+
waiting: "\u0938\u0902\u0917\u0924 \u0932\u093E\u0907\u0935 \u0935\u0949\u0907\u0938 \u0930\u0928\u091F\u093E\u0907\u092E \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948\u0964"
|
|
551
|
+
};
|
|
552
|
+
hi_default = Object.freeze(translation13);
|
|
553
|
+
}
|
|
554
|
+
});
|
|
555
|
+
|
|
556
|
+
// src/i18n/recordings/hi.ts
|
|
557
|
+
var translation14, hi_default2;
|
|
558
|
+
var init_hi2 = __esm({
|
|
559
|
+
"src/i18n/recordings/hi.ts"() {
|
|
560
|
+
translation14 = {
|
|
561
|
+
active: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u091C\u093E\u0930\u0940",
|
|
562
|
+
allSources: "\u0938\u092D\u0940 \u0938\u094D\u0930\u094B\u0924",
|
|
563
|
+
attempts: "\u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u0907\u0924\u093F\u0939\u093E\u0938",
|
|
564
|
+
audio: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u092A\u094D\u0932\u0947\u092C\u0948\u0915",
|
|
565
|
+
audioError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0911\u0921\u093F\u092F\u094B \u0932\u094B\u0921 \u092F\u093E \u091A\u0932\u093E\u092F\u093E \u0928\u0939\u0940\u0902 \u091C\u093E \u0938\u0915\u093E\u0964",
|
|
566
|
+
cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
567
|
+
captured: "\u0915\u0948\u092A\u094D\u091A\u0930 \u0915\u093F\u092F\u093E \u0917\u092F\u093E \u0911\u0921\u093F\u092F\u094B",
|
|
568
|
+
completed: "\u092A\u0942\u0930\u094D\u0923",
|
|
569
|
+
confirmDelete: "\u0911\u0921\u093F\u092F\u094B \u0914\u0930 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u0907\u0924\u093F\u0939\u093E\u0938 \u0938\u0939\u093F\u0924 \u092F\u0939 \u092A\u0942\u0930\u0940 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u090F\u0901? \u0907\u0938\u0947 \u0935\u093E\u092A\u0938 \u0928\u0939\u0940\u0902 \u0932\u093E\u092F\u093E \u091C\u093E \u0938\u0915\u0924\u093E\u0964 \u0938\u0915\u094D\u0930\u093F\u092F \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u0928\u0947 \u092A\u0930 \u0906\u0917\u0947 \u0938\u0939\u0947\u091C\u093E \u091C\u093E\u0928\u0947 \u0935\u093E\u0932\u093E \u0911\u0921\u093F\u092F\u094B \u092D\u0940 \u0939\u091F\u093E \u0926\u093F\u092F\u093E \u091C\u093E\u0924\u093E \u0939\u0948\u0964",
|
|
570
|
+
date: "\u0936\u0941\u0930\u0941\u0906\u0924",
|
|
571
|
+
delete: "\u092A\u0942\u0930\u0940 \u0938\u0924\u094D\u0930 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u090F\u0901",
|
|
572
|
+
deleteError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u0908 \u0928\u0939\u0940\u0902 \u091C\u093E \u0938\u0915\u0940\u0964",
|
|
573
|
+
duration: "\u0905\u0935\u0927\u093F",
|
|
574
|
+
empty: "\u0907\u0938 \u092B\u093C\u093F\u0932\u094D\u091F\u0930 \u0938\u0947 \u092E\u0947\u0932 \u0916\u093E\u0924\u0940 \u0915\u094B\u0908 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",
|
|
575
|
+
end: "\u0905\u0902\u0924",
|
|
576
|
+
engine: "\u0907\u0902\u091C\u0928",
|
|
577
|
+
error: "\u0924\u094D\u0930\u0941\u091F\u093F",
|
|
578
|
+
export: "\u0938\u094D\u0935\u092F\u0902\u092A\u0942\u0930\u094D\u0923 JSON \u0928\u093F\u0930\u094D\u092F\u093E\u0924 \u0915\u0930\u0947\u0902",
|
|
579
|
+
exportError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0928\u093F\u0930\u094D\u092F\u093E\u0924 \u0928\u0939\u0940\u0902 \u0915\u0940 \u091C\u093E \u0938\u0915\u0940\u0964",
|
|
580
|
+
failed: "\u0935\u093F\u092B\u0932",
|
|
581
|
+
help: "\u0938\u0939\u0947\u091C\u093E \u0911\u0921\u093F\u092F\u094B, \u0906\u0935\u093E\u091C\u093C/\u092E\u094C\u0928 \u0938\u0940\u092E\u093E\u090F\u0901 \u0914\u0930 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u092A\u094D\u0930\u092F\u093E\u0938 \u0926\u0947\u0916\u0947\u0902\u0964 \u0911\u0921\u093F\u092F\u094B \u0914\u0930 \u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0938\u0902\u0935\u0947\u0926\u0928\u0936\u0940\u0932 \u0939\u094B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902\u0964 \u092A\u094D\u0932\u0947\u092C\u0948\u0915 \u0938\u094D\u0925\u093E\u0928\u0940\u092F \u0939\u0948; \u0928\u093F\u0930\u094D\u092F\u093E\u0924 \u092E\u0947\u0902 \u0911\u0921\u093F\u092F\u094B \u0914\u0930 \u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0936\u093E\u092E\u093F\u0932 \u0939\u0948\u0902\u0964 \u0928\u093F\u0930\u0940\u0915\u094D\u0937\u0923 \u0915\u0948\u092A\u094D\u091A\u0930 \u0928\u0939\u0940\u0902 \u092C\u0926\u0932\u0924\u093E; \u0915\u0947\u0935\u0932 \u0938\u094D\u092A\u0937\u094D\u091F \u0939\u091F\u093E\u0928\u0947 \u0915\u0940 \u0915\u093E\u0930\u094D\u0930\u0935\u093E\u0908 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u0924\u0940 \u0939\u0948\u0964",
|
|
582
|
+
interrupted: "\u092C\u093E\u0927\u093F\u0924",
|
|
583
|
+
loadError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0938\u0924\u094D\u0930 \u0932\u094B\u0921 \u0928\u0939\u0940\u0902 \u0939\u094B \u0938\u0915\u0947\u0964 \u0930\u0940\u092B\u093C\u094D\u0930\u0947\u0936 \u0915\u0930\u0947\u0902\u0964",
|
|
584
|
+
loading: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u0940 \u0939\u0948\u0902\u2026",
|
|
585
|
+
memory: "\u0915\u0947\u0935\u0932 \u092E\u0947\u092E\u094B\u0930\u0940 \u092E\u0947\u0902",
|
|
586
|
+
microphone: "\u092E\u093E\u0907\u0915\u094D\u0930\u094B\u092B\u093C\u094B\u0928",
|
|
587
|
+
noAttempts: "\u0905\u092D\u0940 \u0915\u094B\u0908 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u092A\u094D\u0930\u092F\u093E\u0938 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",
|
|
588
|
+
open: "\u0916\u0941\u0932\u093E \u0916\u0902\u0921",
|
|
589
|
+
pending: "\u0932\u0902\u092C\u093F\u0924",
|
|
590
|
+
persistent: "\u0938\u094D\u0925\u093E\u0928\u0940\u092F \u0930\u0942\u092A \u0938\u0947 \u0938\u0939\u0947\u091C\u093E",
|
|
591
|
+
pinConfirmed: "\u092A\u0941\u0937\u094D\u091F\u093F \u0938\u092E\u092F",
|
|
592
|
+
pinDelay: "\u092A\u0941\u0937\u094D\u091F\u093F \u092E\u0947\u0902 \u0935\u093F\u0932\u0902\u092C",
|
|
593
|
+
pins: "\u0938\u0940\u092E\u093E \u091A\u093F\u0939\u094D\u0928",
|
|
594
|
+
play: "\u0916\u0902\u0921 \u091A\u0932\u093E\u090F\u0901",
|
|
595
|
+
playSession: "\u0938\u0939\u0947\u091C\u093E \u0938\u0924\u094D\u0930 \u091A\u0932\u093E\u090F\u0901",
|
|
596
|
+
refresh: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0930\u0940\u092B\u093C\u094D\u0930\u0947\u0936 \u0915\u0930\u0947\u0902",
|
|
597
|
+
saved: "\u0938\u0939\u0947\u091C\u093E \u0911\u0921\u093F\u092F\u094B",
|
|
598
|
+
segments: "\u0916\u0902\u0921",
|
|
599
|
+
selectSession: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0938\u0924\u094D\u0930 \u091A\u0941\u0928\u0947\u0902\u0964",
|
|
600
|
+
shared: "\u0938\u093E\u091D\u093E \u0911\u0921\u093F\u092F\u094B",
|
|
601
|
+
silence: "\u092E\u094C\u0928",
|
|
602
|
+
source: "\u0938\u094D\u0930\u094B\u0924",
|
|
603
|
+
sourceFilter: "\u0938\u094D\u0930\u094B\u0924 \u092B\u093C\u093F\u0932\u094D\u091F\u0930 \u0915\u0930\u0947\u0902",
|
|
604
|
+
speech: "\u0906\u0935\u093E\u091C\u093C",
|
|
605
|
+
star: "\u0905\u0928\u093F\u0936\u094D\u091A\u093F\u0924 \u0915\u093E\u0932 \u0924\u0915 \u0930\u0916\u0947\u0902",
|
|
606
|
+
starError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u0940 \u0938\u0941\u0930\u0915\u094D\u0937\u093E \u092C\u0926\u0932\u0940 \u0928\u0939\u0940\u0902 \u091C\u093E \u0938\u0915\u0940\u0964",
|
|
607
|
+
starHelp: "\u0907\u0938 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u094B \u0938\u094D\u0935\u091A\u093E\u0932\u093F\u0924 \u0938\u092B\u093C\u093E\u0908 \u0914\u0930 \u0930\u0916\u0940 \u091C\u093E\u0928\u0947 \u0935\u093E\u0932\u0940 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u0940 \u0917\u093F\u0928\u0924\u0940 \u0938\u0947 \u092C\u093E\u0939\u0930 \u0930\u0916\u0947\u0902\u0964 \u092E\u0948\u0928\u094D\u092F\u0941\u0905\u0932 \u0930\u0942\u092A \u0938\u0947 \u0939\u091F\u093E\u0928\u093E \u0905\u092C \u092D\u0940 \u0938\u0902\u092D\u0935 \u0939\u0948\u0964 \u0907\u0938\u0938\u0947 \u092C\u094D\u0930\u093E\u0909\u091C\u093C\u0930 \u0915\u0947 \u0938\u094D\u091F\u094B\u0930\u0947\u091C \u092F\u093E \u0928\u093F\u0937\u094D\u0915\u093E\u0938\u0928 \u0938\u0941\u0930\u0915\u094D\u0937\u093E \u092E\u0947\u0902 \u092C\u0926\u0932\u093E\u0935 \u0928\u0939\u0940\u0902 \u0939\u094B\u0924\u093E\u0964",
|
|
608
|
+
starred: "\u0938\u094D\u0935\u091A\u093E\u0932\u093F\u0924 \u0938\u092B\u093C\u093E\u0908 \u0938\u0947 \u0938\u0941\u0930\u0915\u094D\u0937\u093F\u0924",
|
|
609
|
+
start: "\u0936\u0941\u0930\u0941\u0906\u0924",
|
|
610
|
+
state: "\u0938\u094D\u0925\u093F\u0924\u093F",
|
|
611
|
+
success: "\u0938\u092B\u0932",
|
|
612
|
+
timeline: "\u0906\u0935\u093E\u091C\u093C / \u092E\u094C\u0928 \u0938\u092E\u092F\u0930\u0947\u0916\u093E",
|
|
613
|
+
title: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917",
|
|
614
|
+
unavailable: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0938\u0947\u0935\u093E \u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u0938\u0902\u0917\u0924 \u0930\u0928\u091F\u093E\u0907\u092E \u0915\u0947 \u0938\u093E\u0925 \u0932\u093E\u0907\u0935 \u0935\u0949\u0907\u0938 \u0938\u0947\u091F\u093F\u0902\u0917\u094D\u0938 \u092E\u0947\u0902 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u091A\u093E\u0932\u0942 \u0915\u0930\u0947\u0902\u0964",
|
|
615
|
+
unstar: "\u0938\u0941\u0930\u0915\u094D\u0937\u093E \u0939\u091F\u093E\u090F\u0901",
|
|
616
|
+
unstarHelp: "\u0938\u094D\u0935\u091A\u093E\u0932\u093F\u0924 \u0938\u092B\u093C\u093E\u0908 \u0915\u0940 \u0905\u0928\u0941\u092E\u0924\u093F \u0926\u0947\u0902 \u0914\u0930 \u0907\u0938 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u094B \u092B\u093F\u0930 \u0938\u0947 \u0930\u0916\u0940 \u091C\u093E\u0928\u0947 \u0935\u093E\u0932\u0940 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u0940 \u0917\u093F\u0928\u0924\u0940 \u092E\u0947\u0902 \u0936\u093E\u092E\u093F\u0932 \u0915\u0930\u0947\u0902\u0964 \u092E\u0948\u0928\u094D\u092F\u0941\u0905\u0932 \u0930\u0942\u092A \u0938\u0947 \u0939\u091F\u093E\u0928\u093E \u0905\u092C \u092D\u0940 \u0938\u0902\u092D\u0935 \u0939\u0948\u0964 \u092C\u094D\u0930\u093E\u0909\u091C\u093C\u0930 \u0915\u093E \u0938\u094D\u091F\u094B\u0930\u0947\u091C \u0914\u0930 \u0928\u093F\u0937\u094D\u0915\u093E\u0938\u0928 \u0938\u0941\u0930\u0915\u094D\u0937\u093E \u0928\u0939\u0940\u0902 \u092C\u0926\u0932\u0924\u0947\u0964"
|
|
617
|
+
};
|
|
618
|
+
hi_default2 = Object.freeze(translation14);
|
|
619
|
+
}
|
|
620
|
+
});
|
|
621
|
+
|
|
622
|
+
// src/i18n/runtimes/hi.ts
|
|
623
|
+
var translation15, hi_default3;
|
|
624
|
+
var init_hi3 = __esm({
|
|
625
|
+
"src/i18n/runtimes/hi.ts"() {
|
|
626
|
+
translation15 = {
|
|
627
|
+
active: "\u0938\u0915\u094D\u0930\u093F\u092F \u0905\u0928\u0941\u0930\u094B\u0927",
|
|
628
|
+
audio: "\u092A\u093F\u091B\u0932\u0947 \u0911\u0921\u093F\u092F\u094B \u0915\u0940 \u0905\u0935\u0927\u093F",
|
|
629
|
+
cache: "\u0915\u0948\u0936 \u0915\u0940 \u0917\u0908 \u092E\u0949\u0921\u0932 \u092B\u093C\u093E\u0907\u0932\u0947\u0902",
|
|
630
|
+
cancelled: "\u0930\u0926\u094D\u0926",
|
|
631
|
+
completed: "\u092A\u0942\u0930\u0940 \u0939\u0941\u0908 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928",
|
|
632
|
+
device: "\u0905\u0928\u0941\u0930\u094B\u0927\u093F\u0924 \u0928\u093F\u0937\u094D\u092A\u093E\u0926\u0928 \u092A\u094D\u0930\u0926\u093E\u0924\u093E",
|
|
633
|
+
error: "\u0924\u094D\u0930\u0941\u091F\u093F \u0915\u094B\u0921",
|
|
634
|
+
events: "\u0930\u0928\u091F\u093E\u0907\u092E \u0918\u091F\u0928\u093E\u090F\u0901 (\u092A\u093F\u091B\u0932\u0940 100)",
|
|
635
|
+
failed: "\u0935\u093F\u092B\u0932 / \u0930\u0926\u094D\u0926 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928",
|
|
636
|
+
gpu: "WebGPU \u090F\u0921\u093E\u092A\u094D\u091F\u0930 \u0909\u092A\u0932\u092C\u094D\u0927",
|
|
637
|
+
heap: "\u092A\u0947\u091C JavaScript \u0939\u0940\u092A \u0915\u093E \u0905\u0928\u0941\u092E\u093E\u0928",
|
|
638
|
+
help: "\u092E\u0949\u0921\u0932/\u0915\u0948\u0936 \u0915\u093E \u0906\u0915\u093E\u0930 \u092B\u093C\u093E\u0907\u0932\u094B\u0902 \u0915\u093E \u0939\u0948, RAM \u0915\u093E \u0928\u0939\u0940\u0902\u0964 PCM \u0915\u0947\u0935\u0932 \u0938\u0915\u094D\u0930\u093F\u092F/\u0915\u0924\u093E\u0930\u092C\u0926\u094D\u0927 \u0907\u0928\u092A\u0941\u091F \u092C\u092B\u093C\u0930 \u0917\u093F\u0928\u0924\u093E \u0939\u0948\u0964 JavaScript \u0939\u0940\u092A \u092A\u0942\u0930\u0947 \u092A\u0947\u091C \u0915\u093E \u0917\u0948\u0930-\u092E\u093E\u0928\u0915 \u0905\u0928\u0941\u092E\u093E\u0928 \u0939\u0948 \u0914\u0930 \u092A\u0942\u0930\u0940 worker/WASM/GPU \u092E\u0947\u092E\u094B\u0930\u0940 \u0928\u0939\u0940\u0902 \u092E\u093E\u092A\u0924\u093E\u0964 \u092E\u0949\u0921\u0932 RAM/VRAM \u092F\u0939\u093E\u0901 \u092D\u0930\u094B\u0938\u0947\u092E\u0902\u0926 \u0924\u0930\u0940\u0915\u0947 \u0938\u0947 \u0928\u0939\u0940\u0902 \u092E\u093E\u092A\u0940 \u091C\u093E \u0938\u0915\u0924\u0940\u0964 WebGPU \u0936\u0941\u0930\u0942 \u0939\u094B\u0928\u0947 \u0915\u093E \u092E\u0924\u0932\u092C \u0938\u092D\u0940 \u0911\u092A\u0930\u0947\u091F\u0930 GPU \u092A\u0930 \u091A\u0932\u0947, \u092F\u0939 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u0918\u091F\u0928\u093E\u090F\u0901 \u092A\u094D\u0932\u0917\u0907\u0928 \u091C\u0940\u0935\u0928\u091A\u0915\u094D\u0930 \u092E\u0947\u091F\u093E\u0921\u0947\u091F\u093E \u0939\u0948\u0902, \u0915\u091A\u094D\u091A\u0947 ONNX \u0932\u0949\u0917 \u0928\u0939\u0940\u0902; \u0911\u0921\u093F\u092F\u094B \u092F\u093E \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u0928\u0939\u0940\u0902 \u0930\u0916\u0924\u0947\u0964",
|
|
639
|
+
id: "\u0935\u0930\u094D\u0915\u0930 \u092A\u0939\u091A\u093E\u0928",
|
|
640
|
+
inference: "\u0935\u0930\u094D\u0915\u0930 \u0915\u093E \u092A\u093F\u091B\u0932\u093E \u0907\u0928\u094D\u092B\u093C\u0930\u0947\u0902\u0938",
|
|
641
|
+
load: "\u0932\u094B\u0921 \u0930\u093E\u0909\u0902\u0921 \u091F\u094D\u0930\u093F\u092A / \u0935\u0930\u094D\u0915\u0930",
|
|
642
|
+
memory: "\u092E\u0947\u092E\u094B\u0930\u0940 \u0914\u0930 \u0938\u094D\u091F\u094B\u0930\u0947\u091C",
|
|
643
|
+
model: "\u092E\u0949\u0921\u0932",
|
|
644
|
+
modelBytes: "\u092A\u0942\u0930\u093E \u092E\u0949\u0921\u0932 \u0921\u093E\u0909\u0928\u0932\u094B\u0921",
|
|
645
|
+
no: "\u0928\u0939\u0940\u0902",
|
|
646
|
+
pcm: "\u0917\u093F\u0928\u093E \u0917\u092F\u093E \u0907\u0928\u092A\u0941\u091F PCM",
|
|
647
|
+
pending: "\u0932\u0902\u092C\u093F\u0924 \u0935\u0930\u094D\u0915\u0930 \u0905\u0928\u0941\u0930\u094B\u0927",
|
|
648
|
+
quantization: "\u090F\u0928\u0915\u094B\u0921\u0930 / \u0921\u093F\u0915\u094B\u0921\u0930 \u092A\u0930\u093F\u0936\u0941\u0926\u094D\u0927\u0924\u093E",
|
|
649
|
+
queue: "\u0915\u0924\u093E\u0930\u092C\u0926\u094D\u0927 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928",
|
|
650
|
+
ram: "\u092E\u0949\u0921\u0932 RAM",
|
|
651
|
+
ratio: "\u092A\u094D\u0930\u0938\u0902\u0938\u094D\u0915\u0930\u0923 / \u0911\u0921\u093F\u092F\u094B \u0905\u0928\u0941\u092A\u093E\u0924",
|
|
652
|
+
ready: "\u0924\u0948\u092F\u093E\u0930",
|
|
653
|
+
released: "\u092E\u0941\u0915\u094D\u0924",
|
|
654
|
+
revision: "\u092A\u093F\u0928 \u0915\u093F\u092F\u093E \u0917\u092F\u093E \u0930\u093F\u0935\u093F\u091C\u093C\u0928",
|
|
655
|
+
started: "\u0936\u0941\u0930\u0942",
|
|
656
|
+
status: "\u0938\u094D\u0925\u093F\u0924\u093F",
|
|
657
|
+
storage: "\u0907\u0938 \u0913\u0930\u093F\u091C\u093F\u0928 \u0915\u093E \u0909\u092A\u0932\u092C\u094D\u0927 \u0938\u094D\u091F\u094B\u0930\u0947\u091C",
|
|
658
|
+
success: "\u0938\u092B\u0932",
|
|
659
|
+
title: "\u0930\u0928\u091F\u093E\u0907\u092E",
|
|
660
|
+
unavailable: "\u0905\u0928\u0941\u092A\u0932\u092C\u094D\u0927",
|
|
661
|
+
versions: "ONNX Runtime / Transformers.js",
|
|
662
|
+
vram: "\u092E\u0949\u0921\u0932 VRAM",
|
|
663
|
+
worker: "\u0935\u0930\u094D\u0915\u0930 \u0938\u0915\u094D\u0930\u093F\u092F",
|
|
664
|
+
yes: "\u0939\u093E\u0901"
|
|
665
|
+
};
|
|
666
|
+
hi_default3 = Object.freeze(translation15);
|
|
667
|
+
}
|
|
668
|
+
});
|
|
669
|
+
|
|
670
|
+
// src/i18n/hi.ts
|
|
671
|
+
var hi_exports = {};
|
|
672
|
+
__export(hi_exports, {
|
|
673
|
+
default: () => hi_default4
|
|
674
|
+
});
|
|
675
|
+
var translation16, hi_default4;
|
|
676
|
+
var init_hi4 = __esm({
|
|
677
|
+
"src/i18n/hi.ts"() {
|
|
678
|
+
init_hi();
|
|
679
|
+
init_hi2();
|
|
680
|
+
init_hi3();
|
|
681
|
+
translation16 = { commons: hi_default, recordings: hi_default2, runtimes: hi_default3 };
|
|
682
|
+
hi_default4 = Object.freeze(translation16);
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
|
|
686
|
+
// src/i18n/commons/pt-BR.ts
|
|
687
|
+
var translation17, pt_BR_default;
|
|
688
|
+
var init_pt_BR = __esm({
|
|
689
|
+
"src/i18n/commons/pt-BR.ts"() {
|
|
690
|
+
translation17 = {
|
|
691
|
+
activate: "Abrir debugger em janela separada",
|
|
692
|
+
all: "Todos os m\xF3dulos",
|
|
693
|
+
close: "Fechar debugger",
|
|
694
|
+
content: "Inspecionar conte\xFAdo de texto (sens\xEDvel)",
|
|
695
|
+
developer: "Desenvolvedor",
|
|
696
|
+
diagnostics: "Diagn\xF3stico",
|
|
697
|
+
empty: "Nenhuma transi\xE7\xE3o registrada ainda.",
|
|
698
|
+
error: "A fonte de diagn\xF3stico falhou.",
|
|
699
|
+
eventsClear: "Limpar eventos",
|
|
700
|
+
eventsPause: "Pausar eventos",
|
|
701
|
+
eventsResume: "Retomar eventos",
|
|
702
|
+
filter: "Filtrar m\xF3dulos",
|
|
703
|
+
freeze: "Congelar visualiza\xE7\xE3o",
|
|
704
|
+
help: "\xC1rvore de estados somente leitura atualizada a 10 Hz. Texto oculto por padr\xE3o. Este painel n\xE3o controla a voz.",
|
|
705
|
+
omitted: "Itens adicionais omitidos",
|
|
706
|
+
popupBlocked: "O navegador bloqueou a janela do debugger. Permita pop-ups neste site e tente novamente.",
|
|
707
|
+
refreshRate: "Frequ\xEAncia de atualiza\xE7\xE3o",
|
|
708
|
+
resume: "Retomar atualiza\xE7\xF5es",
|
|
709
|
+
states: "Estados atuais",
|
|
710
|
+
title: "Depurador da Voz ao Vivo",
|
|
711
|
+
transitions: "Transi\xE7\xF5es de estado recentes",
|
|
712
|
+
waiting: "Aguardando um runtime da Voz ao Vivo compat\xEDvel."
|
|
713
|
+
};
|
|
714
|
+
pt_BR_default = Object.freeze(translation17);
|
|
715
|
+
}
|
|
716
|
+
});
|
|
717
|
+
|
|
718
|
+
// src/i18n/recordings/pt-BR.ts
|
|
719
|
+
var translation18, pt_BR_default2;
|
|
720
|
+
var init_pt_BR2 = __esm({
|
|
721
|
+
"src/i18n/recordings/pt-BR.ts"() {
|
|
722
|
+
translation18 = {
|
|
723
|
+
active: "Gravando",
|
|
724
|
+
allSources: "Todas as fontes",
|
|
725
|
+
attempts: "Hist\xF3rico de transcri\xE7\xE3o",
|
|
726
|
+
audio: "Reprodu\xE7\xE3o da grava\xE7\xE3o",
|
|
727
|
+
audioError: "N\xE3o foi poss\xEDvel carregar ou reproduzir o \xE1udio.",
|
|
728
|
+
cancel: "Cancelar",
|
|
729
|
+
captured: "\xC1udio capturado",
|
|
730
|
+
completed: "Conclu\xEDda",
|
|
731
|
+
confirmDelete: "Excluir esta grava\xE7\xE3o inteira, incluindo \xE1udio e hist\xF3rico de transcri\xE7\xE3o? N\xE3o \xE9 poss\xEDvel desfazer. Excluir uma grava\xE7\xE3o ativa tamb\xE9m descarta o \xE1udio salvo futuro.",
|
|
732
|
+
date: "In\xEDcio",
|
|
733
|
+
delete: "Excluir sess\xE3o inteira",
|
|
734
|
+
deleteError: "N\xE3o foi poss\xEDvel excluir a grava\xE7\xE3o.",
|
|
735
|
+
duration: "Dura\xE7\xE3o",
|
|
736
|
+
empty: "Nenhuma grava\xE7\xE3o corresponde ao filtro.",
|
|
737
|
+
end: "Fim",
|
|
738
|
+
engine: "Motor",
|
|
739
|
+
error: "Erro",
|
|
740
|
+
export: "Exportar JSON completo",
|
|
741
|
+
exportError: "N\xE3o foi poss\xEDvel exportar a grava\xE7\xE3o.",
|
|
742
|
+
failed: "Falhou",
|
|
743
|
+
help: "Inspecione \xE1udio salvo, limites de fala/sil\xEAncio e tentativas de transcri\xE7\xE3o. \xC1udio e texto podem ser sens\xEDveis. Reprodu\xE7\xE3o local; a exporta\xE7\xE3o inclui \xE1udio e texto. Inspecionar n\xE3o altera a captura; apenas a exclus\xE3o expl\xEDcita remove grava\xE7\xF5es.",
|
|
744
|
+
interrupted: "Interrompida",
|
|
745
|
+
loadError: "N\xE3o foi poss\xEDvel carregar as grava\xE7\xF5es. Tente atualizar.",
|
|
746
|
+
loading: "Carregando grava\xE7\xF5es\u2026",
|
|
747
|
+
memory: "Somente na mem\xF3ria",
|
|
748
|
+
microphone: "Microfone",
|
|
749
|
+
noAttempts: "Nenhuma tentativa de transcri\xE7\xE3o ainda.",
|
|
750
|
+
open: "Segmento aberto",
|
|
751
|
+
pending: "Pendente",
|
|
752
|
+
persistent: "Salva localmente",
|
|
753
|
+
pinConfirmed: "Confirmado em",
|
|
754
|
+
pinDelay: "Atraso de confirma\xE7\xE3o",
|
|
755
|
+
pins: "Marcadores de limite",
|
|
756
|
+
play: "Reproduzir segmento",
|
|
757
|
+
playSession: "Reproduzir sess\xE3o salva",
|
|
758
|
+
refresh: "Atualizar grava\xE7\xF5es",
|
|
759
|
+
saved: "\xC1udio salvo",
|
|
760
|
+
segments: "Segmentos",
|
|
761
|
+
selectSession: "Selecione uma sess\xE3o de grava\xE7\xE3o.",
|
|
762
|
+
shared: "\xC1udio compartilhado",
|
|
763
|
+
silence: "Sil\xEAncio",
|
|
764
|
+
source: "Fonte",
|
|
765
|
+
sourceFilter: "Filtrar fontes",
|
|
766
|
+
speech: "Fala",
|
|
767
|
+
star: "Manter por tempo indeterminado",
|
|
768
|
+
starError: "N\xE3o foi poss\xEDvel alterar a prote\xE7\xE3o da grava\xE7\xE3o.",
|
|
769
|
+
starHelp: "Exclui esta grava\xE7\xE3o da limpeza autom\xE1tica e da contagem de reten\xE7\xE3o. A exclus\xE3o manual continua permitida. N\xE3o altera o armazenamento nem a prote\xE7\xE3o contra remo\xE7\xE3o pelo navegador.",
|
|
770
|
+
starred: "Protegida da limpeza autom\xE1tica",
|
|
771
|
+
start: "In\xEDcio",
|
|
772
|
+
state: "Estado",
|
|
773
|
+
success: "Sucesso",
|
|
774
|
+
timeline: "Linha do tempo de fala / sil\xEAncio",
|
|
775
|
+
title: "Grava\xE7\xF5es",
|
|
776
|
+
unavailable: "Servi\xE7o de grava\xE7\xE3o indispon\xEDvel. Ative a grava\xE7\xE3o nas configura\xE7\xF5es da Voz ao Vivo com um runtime compat\xEDvel.",
|
|
777
|
+
unstar: "Remover prote\xE7\xE3o",
|
|
778
|
+
unstarHelp: "Permite a limpeza autom\xE1tica e inclui novamente esta grava\xE7\xE3o na contagem de reten\xE7\xE3o. A exclus\xE3o manual continua permitida. O armazenamento e a prote\xE7\xE3o contra remo\xE7\xE3o pelo navegador n\xE3o mudam."
|
|
779
|
+
};
|
|
780
|
+
pt_BR_default2 = Object.freeze(translation18);
|
|
781
|
+
}
|
|
782
|
+
});
|
|
783
|
+
|
|
784
|
+
// src/i18n/runtimes/pt-BR.ts
|
|
785
|
+
var translation19, pt_BR_default3;
|
|
786
|
+
var init_pt_BR3 = __esm({
|
|
787
|
+
"src/i18n/runtimes/pt-BR.ts"() {
|
|
788
|
+
translation19 = {
|
|
789
|
+
active: "Requisi\xE7\xF5es ativas",
|
|
790
|
+
audio: "Dura\xE7\xE3o do \xFAltimo \xE1udio",
|
|
791
|
+
cache: "Arquivos do modelo em cache",
|
|
792
|
+
cancelled: "Cancelado",
|
|
793
|
+
completed: "Transcri\xE7\xF5es conclu\xEDdas",
|
|
794
|
+
device: "Provedor de execu\xE7\xE3o solicitado",
|
|
795
|
+
error: "C\xF3digo do erro",
|
|
796
|
+
events: "Eventos do runtime (\xFAltimos 100)",
|
|
797
|
+
failed: "Transcri\xE7\xF5es com falha / canceladas",
|
|
798
|
+
gpu: "Adaptador WebGPU dispon\xEDvel",
|
|
799
|
+
heap: "Estimativa do heap JavaScript da p\xE1gina",
|
|
800
|
+
help: "O tamanho do modelo/cache \xE9 de arquivos, n\xE3o RAM. PCM conta apenas buffers de entrada ativos/na fila. O heap JavaScript, quando dispon\xEDvel, \xE9 uma estimativa n\xE3o padronizada da p\xE1gina e n\xE3o inclui toda a mem\xF3ria dos workers/WASM/GPU. N\xE3o \xE9 poss\xEDvel medir com confian\xE7a a RAM/VRAM do modelo aqui. Inicializar WebGPU n\xE3o prova que todos os operadores rodaram na GPU. Os eventos s\xE3o metadados do ciclo de vida do plugin, n\xE3o logs brutos do ONNX; n\xE3o guardam \xE1udio nem transcri\xE7\xF5es.",
|
|
801
|
+
id: "Identidade do worker",
|
|
802
|
+
inference: "\xDAltima infer\xEAncia no worker",
|
|
803
|
+
load: "Carregamento ida e volta / worker",
|
|
804
|
+
memory: "Mem\xF3ria e armazenamento",
|
|
805
|
+
model: "Modelo",
|
|
806
|
+
modelBytes: "Download completo do modelo",
|
|
807
|
+
no: "N\xE3o",
|
|
808
|
+
pcm: "PCM de entrada contabilizado",
|
|
809
|
+
pending: "Requisi\xE7\xF5es pendentes no worker",
|
|
810
|
+
quantization: "Precis\xE3o do encoder / decoder",
|
|
811
|
+
queue: "Transcri\xE7\xF5es na fila",
|
|
812
|
+
ram: "RAM do modelo",
|
|
813
|
+
ratio: "Rela\xE7\xE3o processamento / \xE1udio",
|
|
814
|
+
ready: "Pronto",
|
|
815
|
+
released: "Liberado",
|
|
816
|
+
revision: "Revis\xE3o fixada",
|
|
817
|
+
started: "Iniciado",
|
|
818
|
+
status: "Estado",
|
|
819
|
+
storage: "Armazenamento dispon\xEDvel nesta origem",
|
|
820
|
+
success: "Sucesso",
|
|
821
|
+
title: "Runtimes",
|
|
822
|
+
unavailable: "Indispon\xEDvel",
|
|
823
|
+
versions: "ONNX Runtime / Transformers.js",
|
|
824
|
+
vram: "VRAM do modelo",
|
|
825
|
+
worker: "Worker ativo",
|
|
826
|
+
yes: "Sim"
|
|
827
|
+
};
|
|
828
|
+
pt_BR_default3 = Object.freeze(translation19);
|
|
829
|
+
}
|
|
830
|
+
});
|
|
831
|
+
|
|
832
|
+
// src/i18n/pt-BR.ts
|
|
833
|
+
var pt_BR_exports = {};
|
|
834
|
+
__export(pt_BR_exports, {
|
|
835
|
+
default: () => pt_BR_default4
|
|
836
|
+
});
|
|
837
|
+
var translation20, pt_BR_default4;
|
|
838
|
+
var init_pt_BR4 = __esm({
|
|
839
|
+
"src/i18n/pt-BR.ts"() {
|
|
840
|
+
init_pt_BR();
|
|
841
|
+
init_pt_BR2();
|
|
842
|
+
init_pt_BR3();
|
|
843
|
+
translation20 = { commons: pt_BR_default, recordings: pt_BR_default2, runtimes: pt_BR_default3 };
|
|
844
|
+
pt_BR_default4 = Object.freeze(translation20);
|
|
845
|
+
}
|
|
846
|
+
});
|
|
847
|
+
|
|
848
|
+
// src/i18n/commons/zh.ts
|
|
849
|
+
var translation21, zh_default;
|
|
850
|
+
var init_zh = __esm({
|
|
851
|
+
"src/i18n/commons/zh.ts"() {
|
|
852
|
+
translation21 = {
|
|
853
|
+
activate: "\u5728\u72EC\u7ACB\u7A97\u53E3\u4E2D\u6253\u5F00\u8C03\u8BD5\u5668",
|
|
854
|
+
all: "\u6240\u6709\u6A21\u5757",
|
|
855
|
+
close: "\u5173\u95ED\u8C03\u8BD5\u5668",
|
|
856
|
+
content: "\u67E5\u770B\u6587\u672C\u5185\u5BB9\uFF08\u654F\u611F\uFF09",
|
|
857
|
+
developer: "\u5F00\u53D1\u8005",
|
|
858
|
+
diagnostics: "\u8BCA\u65AD",
|
|
859
|
+
empty: "\u5C1A\u672A\u8BB0\u5F55\u72B6\u6001\u8F6C\u6362\u3002",
|
|
860
|
+
error: "\u8BCA\u65AD\u6570\u636E\u6E90\u5931\u8D25\u3002",
|
|
861
|
+
eventsClear: "\u6E05\u9664\u4E8B\u4EF6",
|
|
862
|
+
eventsPause: "\u6682\u505C\u4E8B\u4EF6",
|
|
863
|
+
eventsResume: "\u6062\u590D\u4E8B\u4EF6",
|
|
864
|
+
filter: "\u7B5B\u9009\u6A21\u5757",
|
|
865
|
+
freeze: "\u51BB\u7ED3\u89C6\u56FE",
|
|
866
|
+
help: "\u53EA\u8BFB\u72B6\u6001\u6811\u4EE5 10 Hz \u66F4\u65B0\u3002\u9ED8\u8BA4\u9690\u85CF\u6587\u672C\u3002\u6B64\u9762\u677F\u4E0D\u63A7\u5236\u8BED\u97F3\u3002",
|
|
867
|
+
omitted: "\u5DF2\u7701\u7565\u5176\u4ED6\u9879\u76EE",
|
|
868
|
+
popupBlocked: "\u6D4F\u89C8\u5668\u963B\u6B62\u4E86\u8C03\u8BD5\u5668\u7A97\u53E3\u3002\u8BF7\u5141\u8BB8\u6B64\u7F51\u7AD9\u7684\u5F39\u51FA\u7A97\u53E3\uFF0C\u7136\u540E\u91CD\u8BD5\u3002",
|
|
869
|
+
refreshRate: "\u66F4\u65B0\u9891\u7387",
|
|
870
|
+
resume: "\u6062\u590D\u66F4\u65B0",
|
|
871
|
+
states: "\u5F53\u524D\u72B6\u6001",
|
|
872
|
+
title: "\u5B9E\u65F6\u8BED\u97F3\u8C03\u8BD5\u5668",
|
|
873
|
+
transitions: "\u6700\u8FD1\u7684\u72B6\u6001\u8F6C\u6362",
|
|
874
|
+
waiting: "\u6B63\u5728\u7B49\u5F85\u517C\u5BB9\u7684\u5B9E\u65F6\u8BED\u97F3\u8FD0\u884C\u65F6\u3002"
|
|
875
|
+
};
|
|
876
|
+
zh_default = Object.freeze(translation21);
|
|
877
|
+
}
|
|
878
|
+
});
|
|
879
|
+
|
|
880
|
+
// src/i18n/recordings/zh.ts
|
|
881
|
+
var translation22, zh_default2;
|
|
882
|
+
var init_zh2 = __esm({
|
|
883
|
+
"src/i18n/recordings/zh.ts"() {
|
|
884
|
+
translation22 = {
|
|
885
|
+
active: "\u6B63\u5728\u5F55\u5236",
|
|
886
|
+
allSources: "\u6240\u6709\u6765\u6E90",
|
|
887
|
+
attempts: "\u8F6C\u5F55\u5386\u53F2",
|
|
888
|
+
audio: "\u5F55\u97F3\u64AD\u653E",
|
|
889
|
+
audioError: "\u65E0\u6CD5\u52A0\u8F7D\u6216\u64AD\u653E\u5F55\u97F3\u97F3\u9891\u3002",
|
|
890
|
+
cancel: "\u53D6\u6D88",
|
|
891
|
+
captured: "\u5DF2\u6355\u83B7\u97F3\u9891",
|
|
892
|
+
completed: "\u5DF2\u5B8C\u6210",
|
|
893
|
+
confirmDelete: "\u5220\u9664\u6574\u4E2A\u5F55\u97F3\uFF0C\u5305\u62EC\u97F3\u9891\u548C\u8F6C\u5F55\u5386\u53F2\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002\u5220\u9664\u6B63\u5728\u5F55\u5236\u7684\u4F1A\u8BDD\u8FD8\u4F1A\u4E22\u5F03\u540E\u7EED\u4FDD\u5B58\u7684\u97F3\u9891\u3002",
|
|
894
|
+
date: "\u5F00\u59CB\u65F6\u95F4",
|
|
895
|
+
delete: "\u5220\u9664\u6574\u4E2A\u4F1A\u8BDD",
|
|
896
|
+
deleteError: "\u65E0\u6CD5\u5220\u9664\u5F55\u97F3\u3002",
|
|
897
|
+
duration: "\u65F6\u957F",
|
|
898
|
+
empty: "\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u5F55\u97F3\u4F1A\u8BDD\u3002",
|
|
899
|
+
end: "\u7ED3\u675F",
|
|
900
|
+
engine: "\u5F15\u64CE",
|
|
901
|
+
error: "\u9519\u8BEF",
|
|
902
|
+
export: "\u5BFC\u51FA\u5B8C\u6574\u72EC\u7ACB JSON",
|
|
903
|
+
exportError: "\u65E0\u6CD5\u5BFC\u51FA\u5F55\u97F3\u3002",
|
|
904
|
+
failed: "\u5931\u8D25",
|
|
905
|
+
help: "\u67E5\u770B\u5DF2\u4FDD\u5B58\u97F3\u9891\u3001\u8BED\u97F3/\u9759\u97F3\u8FB9\u754C\u548C\u8F6C\u5F55\u5C1D\u8BD5\u3002\u97F3\u9891\u548C\u6587\u672C\u53EF\u80FD\u654F\u611F\u3002\u64AD\u653E\u5728\u672C\u5730\u8FDB\u884C\uFF1B\u5BFC\u51FA\u5305\u542B\u97F3\u9891\u548C\u6587\u672C\u3002\u67E5\u770B\u4E0D\u4F1A\u66F4\u6539\u91C7\u96C6\uFF1B\u53EA\u6709\u660E\u786E\u5220\u9664\u64CD\u4F5C\u624D\u4F1A\u79FB\u9664\u5F55\u97F3\u3002",
|
|
906
|
+
interrupted: "\u5DF2\u4E2D\u65AD",
|
|
907
|
+
loadError: "\u65E0\u6CD5\u52A0\u8F7D\u5F55\u97F3\u4F1A\u8BDD\u3002\u8BF7\u5237\u65B0\u91CD\u8BD5\u3002",
|
|
908
|
+
loading: "\u6B63\u5728\u52A0\u8F7D\u5F55\u97F3\u2026",
|
|
909
|
+
memory: "\u4EC5\u5728\u5185\u5B58\u4E2D",
|
|
910
|
+
microphone: "\u9EA6\u514B\u98CE",
|
|
911
|
+
noAttempts: "\u5C1A\u65E0\u8F6C\u5F55\u5C1D\u8BD5\u3002",
|
|
912
|
+
open: "\u672A\u7ED3\u675F\u7247\u6BB5",
|
|
913
|
+
pending: "\u5904\u7406\u4E2D",
|
|
914
|
+
persistent: "\u5DF2\u4FDD\u5B58\u5230\u672C\u5730",
|
|
915
|
+
pinConfirmed: "\u786E\u8BA4\u65F6\u95F4",
|
|
916
|
+
pinDelay: "\u786E\u8BA4\u5EF6\u8FDF",
|
|
917
|
+
pins: "\u8FB9\u754C\u6807\u8BB0",
|
|
918
|
+
play: "\u64AD\u653E\u7247\u6BB5",
|
|
919
|
+
playSession: "\u64AD\u653E\u5DF2\u4FDD\u5B58\u4F1A\u8BDD",
|
|
920
|
+
refresh: "\u5237\u65B0\u5F55\u97F3",
|
|
921
|
+
saved: "\u5DF2\u4FDD\u5B58\u97F3\u9891",
|
|
922
|
+
segments: "\u7247\u6BB5",
|
|
923
|
+
selectSession: "\u8BF7\u9009\u62E9\u5F55\u97F3\u4F1A\u8BDD\u3002",
|
|
924
|
+
shared: "\u5171\u4EAB\u97F3\u9891",
|
|
925
|
+
silence: "\u9759\u97F3",
|
|
926
|
+
source: "\u6765\u6E90",
|
|
927
|
+
sourceFilter: "\u7B5B\u9009\u6765\u6E90",
|
|
928
|
+
speech: "\u8BED\u97F3",
|
|
929
|
+
star: "\u65E0\u9650\u671F\u4FDD\u7559",
|
|
930
|
+
starError: "\u65E0\u6CD5\u66F4\u6539\u5F55\u97F3\u4FDD\u62A4\u3002",
|
|
931
|
+
starHelp: "\u5C06\u6B64\u5F55\u97F3\u6392\u9664\u5728\u81EA\u52A8\u6E05\u7406\u548C\u4FDD\u7559\u6570\u91CF\u7EDF\u8BA1\u4E4B\u5916\u3002\u4ECD\u53EF\u624B\u52A8\u5220\u9664\u3002\u8FD9\u4E0D\u4F1A\u66F4\u6539\u6D4F\u89C8\u5668\u5B58\u50A8\u6216\u9632\u9010\u51FA\u4FDD\u62A4\u3002",
|
|
932
|
+
starred: "\u53D7\u4FDD\u62A4\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406",
|
|
933
|
+
start: "\u5F00\u59CB",
|
|
934
|
+
state: "\u72B6\u6001",
|
|
935
|
+
success: "\u6210\u529F",
|
|
936
|
+
timeline: "\u8BED\u97F3 / \u9759\u97F3\u65F6\u95F4\u7EBF",
|
|
937
|
+
title: "\u5F55\u97F3",
|
|
938
|
+
unavailable: "\u5F55\u97F3\u670D\u52A1\u4E0D\u53EF\u7528\u3002\u8BF7\u5728\u517C\u5BB9\u7684\u5B9E\u65F6\u8BED\u97F3\u8BBE\u7F6E\u4E2D\u542F\u7528\u5F55\u97F3\u3002",
|
|
939
|
+
unstar: "\u53D6\u6D88\u4FDD\u62A4",
|
|
940
|
+
unstarHelp: "\u5141\u8BB8\u81EA\u52A8\u6E05\u7406\uFF0C\u5E76\u5C06\u6B64\u5F55\u97F3\u91CD\u65B0\u8BA1\u5165\u4FDD\u7559\u6570\u91CF\u3002\u4ECD\u53EF\u624B\u52A8\u5220\u9664\u3002\u6D4F\u89C8\u5668\u5B58\u50A8\u548C\u9632\u9010\u51FA\u4FDD\u62A4\u4FDD\u6301\u4E0D\u53D8\u3002"
|
|
941
|
+
};
|
|
942
|
+
zh_default2 = Object.freeze(translation22);
|
|
943
|
+
}
|
|
944
|
+
});
|
|
945
|
+
|
|
946
|
+
// src/i18n/runtimes/zh.ts
|
|
947
|
+
var translation23, zh_default3;
|
|
948
|
+
var init_zh3 = __esm({
|
|
949
|
+
"src/i18n/runtimes/zh.ts"() {
|
|
950
|
+
translation23 = {
|
|
951
|
+
active: "\u6D3B\u52A8\u8BF7\u6C42",
|
|
952
|
+
audio: "\u4E0A\u6B21\u97F3\u9891\u65F6\u957F",
|
|
953
|
+
cache: "\u6A21\u578B\u6587\u4EF6\u7F13\u5B58",
|
|
954
|
+
cancelled: "\u5DF2\u53D6\u6D88",
|
|
955
|
+
completed: "\u5DF2\u5B8C\u6210\u8F6C\u5F55",
|
|
956
|
+
device: "\u8BF7\u6C42\u7684\u6267\u884C\u63D0\u4F9B\u7A0B\u5E8F",
|
|
957
|
+
error: "\u9519\u8BEF\u4EE3\u7801",
|
|
958
|
+
events: "\u8FD0\u884C\u65F6\u4E8B\u4EF6\uFF08\u6700\u8FD1100\u6761\uFF09",
|
|
959
|
+
failed: "\u5931\u8D25 / \u5DF2\u53D6\u6D88\u8F6C\u5F55",
|
|
960
|
+
gpu: "WebGPU\u9002\u914D\u5668\u53EF\u7528",
|
|
961
|
+
heap: "\u9875\u9762JavaScript\u5806\u4F30\u8BA1",
|
|
962
|
+
help: "\u6A21\u578B/\u7F13\u5B58\u5927\u5C0F\u662F\u6587\u4EF6\u5B57\u8282\u6570\uFF0C\u4E0D\u662F\u5185\u5B58\u3002PCM\u4EC5\u7EDF\u8BA1\u6D3B\u52A8/\u6392\u961F\u7684\u8F93\u5165\u7F13\u51B2\u533A\u3002JavaScript\u5806\u662F\u975E\u6807\u51C6\u7684\u9875\u9762\u7EA7\u4F30\u8BA1\uFF0C\u4E0D\u5305\u542B\u5B8C\u6574\u7684worker/WASM/GPU\u5185\u5B58\u3002\u6B64\u5904\u65E0\u6CD5\u53EF\u9760\u6D4B\u91CF\u6A21\u578BRAM/\u663E\u5B58\u3002WebGPU\u521D\u59CB\u5316\u6210\u529F\u4E0D\u4EE3\u8868\u5168\u90E8\u7B97\u5B50\u90FD\u5728GPU\u6267\u884C\u3002\u4E8B\u4EF6\u662F\u63D2\u4EF6\u751F\u547D\u5468\u671F\u5143\u6570\u636E\uFF0C\u4E0D\u662F\u539F\u59CBONNX\u65E5\u5FD7\uFF1B\u4E0D\u4FDD\u7559\u97F3\u9891\u6216\u8F6C\u5F55\u3002",
|
|
963
|
+
id: "Worker\u6807\u8BC6",
|
|
964
|
+
inference: "\u4E0A\u6B21Worker\u63A8\u7406",
|
|
965
|
+
load: "\u52A0\u8F7D\u5F80\u8FD4 / Worker",
|
|
966
|
+
memory: "\u5185\u5B58\u4E0E\u5B58\u50A8",
|
|
967
|
+
model: "\u6A21\u578B",
|
|
968
|
+
modelBytes: "\u5B8C\u6574\u6A21\u578B\u4E0B\u8F7D",
|
|
969
|
+
no: "\u5426",
|
|
970
|
+
pcm: "\u5DF2\u7EDF\u8BA1\u8F93\u5165PCM",
|
|
971
|
+
pending: "Worker\u5F85\u5904\u7406\u8BF7\u6C42",
|
|
972
|
+
quantization: "\u7F16\u7801\u5668 / \u89E3\u7801\u5668\u7CBE\u5EA6",
|
|
973
|
+
queue: "\u6392\u961F\u8F6C\u5F55",
|
|
974
|
+
ram: "\u6A21\u578BRAM",
|
|
975
|
+
ratio: "\u5904\u7406 / \u97F3\u9891\u6BD4\u7387",
|
|
976
|
+
ready: "\u5C31\u7EEA",
|
|
977
|
+
released: "\u5DF2\u91CA\u653E",
|
|
978
|
+
revision: "\u56FA\u5B9A\u7248\u672C",
|
|
979
|
+
started: "\u5DF2\u5F00\u59CB",
|
|
980
|
+
status: "\u72B6\u6001",
|
|
981
|
+
storage: "\u6B64\u6765\u6E90\u53EF\u7528\u5B58\u50A8",
|
|
982
|
+
success: "\u6210\u529F",
|
|
983
|
+
title: "\u8FD0\u884C\u65F6",
|
|
984
|
+
unavailable: "\u4E0D\u53EF\u7528",
|
|
985
|
+
versions: "ONNX Runtime / Transformers.js",
|
|
986
|
+
vram: "\u6A21\u578B\u663E\u5B58",
|
|
987
|
+
worker: "Worker\u6D3B\u52A8",
|
|
988
|
+
yes: "\u662F"
|
|
989
|
+
};
|
|
990
|
+
zh_default3 = Object.freeze(translation23);
|
|
991
|
+
}
|
|
992
|
+
});
|
|
993
|
+
|
|
994
|
+
// src/i18n/zh.ts
|
|
995
|
+
var zh_exports = {};
|
|
996
|
+
__export(zh_exports, {
|
|
997
|
+
default: () => zh_default4
|
|
998
|
+
});
|
|
999
|
+
var translation24, zh_default4;
|
|
1000
|
+
var init_zh4 = __esm({
|
|
1001
|
+
"src/i18n/zh.ts"() {
|
|
1002
|
+
init_zh();
|
|
1003
|
+
init_zh2();
|
|
1004
|
+
init_zh3();
|
|
1005
|
+
translation24 = { commons: zh_default, recordings: zh_default2, runtimes: zh_default3 };
|
|
1006
|
+
zh_default4 = Object.freeze(translation24);
|
|
1007
|
+
}
|
|
1008
|
+
});
|
|
1009
|
+
|
|
30
1010
|
// src/apply.tsx
|
|
31
1011
|
var apply_exports = {};
|
|
32
1012
|
__export(apply_exports, {
|
|
@@ -34,7 +1014,7 @@ __export(apply_exports, {
|
|
|
34
1014
|
inject: () => inject
|
|
35
1015
|
});
|
|
36
1016
|
module.exports = __toCommonJS(apply_exports);
|
|
37
|
-
var
|
|
1017
|
+
var import_react27 = __toESM(require("react"), 1);
|
|
38
1018
|
|
|
39
1019
|
// ../live-voice/src/shared/design-system/buttons/IconButton.tsx
|
|
40
1020
|
var import_react2 = __toESM(require("react"), 1);
|
|
@@ -529,13 +1509,13 @@ function duration(samples, rate) {
|
|
|
529
1509
|
return [Math.floor(seconds / 3600), Math.floor(seconds / 60) % 60, seconds % 60].map((n) => String(n).padStart(2, "0")).join(":") + "." + String(milliseconds % 1e3).padStart(3, "0");
|
|
530
1510
|
}
|
|
531
1511
|
var sourceKey = (session) => JSON.stringify([session.kind, session.sourceId]);
|
|
532
|
-
var sourceName = (session, copy) => (session.kind === "microphone" ? copy.
|
|
1512
|
+
var sourceName = (session, copy) => (session.kind === "microphone" ? copy.recordings.microphone : copy.recordings.shared) + " \xB7 " + (session.label || session.sourceId) + " \xB7 " + session.sourceId;
|
|
533
1513
|
function stateName(session, copy) {
|
|
534
1514
|
return {
|
|
535
|
-
recording: copy.
|
|
536
|
-
completed: copy.
|
|
537
|
-
interrupted: copy.
|
|
538
|
-
failed: copy.
|
|
1515
|
+
recording: copy.recordings.active,
|
|
1516
|
+
completed: copy.recordings.completed,
|
|
1517
|
+
interrupted: copy.recordings.interrupted,
|
|
1518
|
+
failed: copy.recordings.failed
|
|
539
1519
|
}[session.state];
|
|
540
1520
|
}
|
|
541
1521
|
function RecordingPanel({ copy, target }) {
|
|
@@ -571,7 +1551,7 @@ function RecordingPanel({ copy, target }) {
|
|
|
571
1551
|
inspector.current?.select(visible[0].id);
|
|
572
1552
|
}, [filter, view.selected?.id, view.loading, visible[0]?.id]);
|
|
573
1553
|
const selected = view.selected && visible.some((s) => s.id === view.selected?.id) ? view.selected : null;
|
|
574
|
-
return /* @__PURE__ */ import_react22.default.createElement("section", { className: "dlvd-recordings", "aria-label": copy.
|
|
1554
|
+
return /* @__PURE__ */ import_react22.default.createElement("section", { className: "dlvd-recordings", "aria-label": copy.recordings.title }, /* @__PURE__ */ import_react22.default.createElement("p", null, copy.recordings.help), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dlvd-toolbar" }, /* @__PURE__ */ import_react22.default.createElement("label", null, copy.recordings.sourceFilter, " ", /* @__PURE__ */ import_react22.default.createElement("select", { value: filter, onChange: (event) => setFilter(event.target.value) }, /* @__PURE__ */ import_react22.default.createElement("option", { value: "" }, copy.recordings.allSources), sources.map((session) => /* @__PURE__ */ import_react22.default.createElement("option", { key: sourceKey(session), value: sourceKey(session) }, sourceName(session, copy))))), /* @__PURE__ */ import_react22.default.createElement(
|
|
575
1555
|
"button",
|
|
576
1556
|
{
|
|
577
1557
|
type: "button",
|
|
@@ -580,16 +1560,16 @@ function RecordingPanel({ copy, target }) {
|
|
|
580
1560
|
inspector.current?.refresh();
|
|
581
1561
|
}
|
|
582
1562
|
},
|
|
583
|
-
copy.
|
|
584
|
-
)), view.failed && /* @__PURE__ */ import_react22.default.createElement("p", { role: "alert" }, copy.
|
|
1563
|
+
copy.recordings.refresh
|
|
1564
|
+
)), view.failed && /* @__PURE__ */ import_react22.default.createElement("p", { role: "alert" }, copy.recordings.loadError), !view.service ? /* @__PURE__ */ import_react22.default.createElement("p", { role: "status" }, copy.recordings.unavailable) : /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, view.loading && /* @__PURE__ */ import_react22.default.createElement("p", { role: "status" }, copy.recordings.loading), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dlvd-recording-columns" }, /* @__PURE__ */ import_react22.default.createElement(
|
|
585
1565
|
"div",
|
|
586
1566
|
{
|
|
587
1567
|
className: "dlvd-session-list dlvd-scroll",
|
|
588
1568
|
tabIndex: 0,
|
|
589
|
-
"aria-label": copy.
|
|
1569
|
+
"aria-label": copy.recordings.title
|
|
590
1570
|
},
|
|
591
|
-
!visible.length && !view.loading && /* @__PURE__ */ import_react22.default.createElement("p", null, copy.
|
|
592
|
-
sources.filter((source) => !filter || sourceKey(source) === filter).map((source) => /* @__PURE__ */ import_react22.default.createElement("section", { key: sourceKey(source), "aria-label": sourceName(source, copy) }, /* @__PURE__ */ import_react22.default.createElement("h3", null, sourceName(source, copy)), /* @__PURE__ */ import_react22.default.createElement("table", null, /* @__PURE__ */ import_react22.default.createElement("thead", null, /* @__PURE__ */ import_react22.default.createElement("tr", null, /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.
|
|
1571
|
+
!visible.length && !view.loading && /* @__PURE__ */ import_react22.default.createElement("p", null, copy.recordings.empty),
|
|
1572
|
+
sources.filter((source) => !filter || sourceKey(source) === filter).map((source) => /* @__PURE__ */ import_react22.default.createElement("section", { key: sourceKey(source), "aria-label": sourceName(source, copy) }, /* @__PURE__ */ import_react22.default.createElement("h3", null, sourceName(source, copy)), /* @__PURE__ */ import_react22.default.createElement("table", null, /* @__PURE__ */ import_react22.default.createElement("thead", null, /* @__PURE__ */ import_react22.default.createElement("tr", null, /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.date), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.state), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.duration), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.saved))), /* @__PURE__ */ import_react22.default.createElement("tbody", null, visible.filter((session) => sourceKey(session) === sourceKey(source)).map((session) => /* @__PURE__ */ import_react22.default.createElement("tr", { key: session.id, "data-selected": session.id === selected?.id }, /* @__PURE__ */ import_react22.default.createElement("td", null, /* @__PURE__ */ import_react22.default.createElement(
|
|
593
1573
|
"button",
|
|
594
1574
|
{
|
|
595
1575
|
type: "button",
|
|
@@ -600,14 +1580,14 @@ function RecordingPanel({ copy, target }) {
|
|
|
600
1580
|
"span",
|
|
601
1581
|
{
|
|
602
1582
|
role: "img",
|
|
603
|
-
"aria-label": copy.
|
|
604
|
-
title: copy.
|
|
1583
|
+
"aria-label": copy.recordings.starred,
|
|
1584
|
+
title: copy.recordings.starHelp
|
|
605
1585
|
},
|
|
606
1586
|
"\u2605"
|
|
607
1587
|
),
|
|
608
1588
|
" ",
|
|
609
1589
|
/* @__PURE__ */ import_react22.default.createElement("time", { dateTime: session.startedAt }, new Date(session.startedAt).toLocaleString())
|
|
610
|
-
)), /* @__PURE__ */ import_react22.default.createElement("td", null, stateName(session, copy)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(session.capturedSamples, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(session.savedSamples, session.sampleRate), /* @__PURE__ */ import_react22.default.createElement("br", null), session.storage === "indexeddb" || session.persistent ? copy.
|
|
1590
|
+
)), /* @__PURE__ */ import_react22.default.createElement("td", null, stateName(session, copy)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(session.capturedSamples, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(session.savedSamples, session.sampleRate), /* @__PURE__ */ import_react22.default.createElement("br", null), session.storage === "indexeddb" || session.persistent ? copy.recordings.persistent : copy.recordings.memory)))))))
|
|
611
1591
|
), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dlvd-recording-detail dlvd-scroll", tabIndex: 0 }, selected ? /* @__PURE__ */ import_react22.default.createElement(
|
|
612
1592
|
RecordingDetail,
|
|
613
1593
|
{
|
|
@@ -618,7 +1598,7 @@ function RecordingPanel({ copy, target }) {
|
|
|
618
1598
|
segments: view.segments,
|
|
619
1599
|
refresh: () => inspector.current?.refresh()
|
|
620
1600
|
}
|
|
621
|
-
) : /* @__PURE__ */ import_react22.default.createElement("p", null, copy.
|
|
1601
|
+
) : /* @__PURE__ */ import_react22.default.createElement("p", null, copy.recordings.selectSession)))));
|
|
622
1602
|
}
|
|
623
1603
|
function RecordingDetail({
|
|
624
1604
|
copy,
|
|
@@ -689,7 +1669,7 @@ function RecordingDetail({
|
|
|
689
1669
|
} catch {
|
|
690
1670
|
if (token === generation.current && request === playGeneration.current) {
|
|
691
1671
|
clearPlayback();
|
|
692
|
-
setError("
|
|
1672
|
+
setError("audioError");
|
|
693
1673
|
setPlaying(false);
|
|
694
1674
|
}
|
|
695
1675
|
} finally {
|
|
@@ -721,7 +1701,7 @@ function RecordingDetail({
|
|
|
721
1701
|
} catch {
|
|
722
1702
|
if (token === generation.current) {
|
|
723
1703
|
clearDownload();
|
|
724
|
-
setError("
|
|
1704
|
+
setError("exportError");
|
|
725
1705
|
}
|
|
726
1706
|
} finally {
|
|
727
1707
|
if (token === generation.current) setExporting(false);
|
|
@@ -735,7 +1715,7 @@ function RecordingDetail({
|
|
|
735
1715
|
await service.setStarred(session.id, !session.starred);
|
|
736
1716
|
if (token === generation.current) refresh();
|
|
737
1717
|
} catch {
|
|
738
|
-
if (token === generation.current) setError("
|
|
1718
|
+
if (token === generation.current) setError("starError");
|
|
739
1719
|
} finally {
|
|
740
1720
|
if (token === generation.current) setStarring(false);
|
|
741
1721
|
}
|
|
@@ -755,20 +1735,20 @@ function RecordingDetail({
|
|
|
755
1735
|
refresh();
|
|
756
1736
|
}
|
|
757
1737
|
} catch {
|
|
758
|
-
if (token === generation.current) setError("
|
|
1738
|
+
if (token === generation.current) setError("deleteError");
|
|
759
1739
|
} finally {
|
|
760
1740
|
if (token === generation.current) setDeleting(false);
|
|
761
1741
|
}
|
|
762
1742
|
};
|
|
763
1743
|
const length = Math.max(1, session.savedSamples);
|
|
764
|
-
const segmentName = (segment) => (segment.kind === "speech" ? copy.
|
|
765
|
-
return /* @__PURE__ */ import_react22.default.createElement("section", { ref: container, "aria-label": sourceName(session, copy) }, /* @__PURE__ */ import_react22.default.createElement("h3", null, sourceName(session, copy)), /* @__PURE__ */ import_react22.default.createElement("dl", { className: "dlvd-recording-meta" }, /* @__PURE__ */ import_react22.default.createElement("dt", null, copy.
|
|
1744
|
+
const segmentName = (segment) => (segment.kind === "speech" ? copy.recordings.speech : copy.recordings.silence) + " \xB7 " + duration(segment.startSample, session.sampleRate) + " \u2014 " + duration(segment.endSample, session.sampleRate);
|
|
1745
|
+
return /* @__PURE__ */ import_react22.default.createElement("section", { ref: container, "aria-label": sourceName(session, copy) }, /* @__PURE__ */ import_react22.default.createElement("h3", null, sourceName(session, copy)), /* @__PURE__ */ import_react22.default.createElement("dl", { className: "dlvd-recording-meta" }, /* @__PURE__ */ import_react22.default.createElement("dt", null, copy.recordings.date), /* @__PURE__ */ import_react22.default.createElement("dd", null, new Date(session.startedAt).toLocaleString()), /* @__PURE__ */ import_react22.default.createElement("dt", null, copy.recordings.state), /* @__PURE__ */ import_react22.default.createElement("dd", null, stateName(session, copy)), /* @__PURE__ */ import_react22.default.createElement("dt", null, copy.recordings.captured), /* @__PURE__ */ import_react22.default.createElement("dd", null, duration(session.capturedSamples, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("dt", null, copy.recordings.saved), /* @__PURE__ */ import_react22.default.createElement("dd", null, duration(session.savedSamples, session.sampleRate), " \xB7", session.storage === "indexeddb" || session.persistent ? copy.recordings.persistent : copy.recordings.memory), session.endedAt && /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, /* @__PURE__ */ import_react22.default.createElement("dt", null, copy.recordings.end), /* @__PURE__ */ import_react22.default.createElement("dd", null, new Date(session.endedAt).toLocaleString()))), session.error && /* @__PURE__ */ import_react22.default.createElement("p", { role: "alert" }, copy.recordings.error, ": ", session.error), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dlvd-toolbar" }, /* @__PURE__ */ import_react22.default.createElement(
|
|
766
1746
|
"button",
|
|
767
1747
|
{
|
|
768
1748
|
type: "button",
|
|
769
|
-
"aria-label": session.starred ? copy.
|
|
1749
|
+
"aria-label": session.starred ? copy.recordings.unstar : copy.recordings.star,
|
|
770
1750
|
"aria-pressed": !!session.starred,
|
|
771
|
-
title: session.starred ? copy.
|
|
1751
|
+
title: session.starred ? copy.recordings.unstarHelp : copy.recordings.starHelp,
|
|
772
1752
|
disabled: starring || deleting,
|
|
773
1753
|
onClick: () => void toggleStarred()
|
|
774
1754
|
},
|
|
@@ -780,36 +1760,47 @@ function RecordingDetail({
|
|
|
780
1760
|
disabled: playing || deleting || !session.savedSamples,
|
|
781
1761
|
onClick: () => void play()
|
|
782
1762
|
},
|
|
783
|
-
copy.
|
|
784
|
-
), /* @__PURE__ */ import_react22.default.createElement("button", { type: "button", disabled: exporting || deleting, onClick: () => void exportSession() }, copy.
|
|
1763
|
+
copy.recordings.playSession
|
|
1764
|
+
), /* @__PURE__ */ import_react22.default.createElement("button", { type: "button", disabled: exporting || deleting, onClick: () => void exportSession() }, copy.recordings.export), /* @__PURE__ */ import_react22.default.createElement(
|
|
785
1765
|
"button",
|
|
786
1766
|
{
|
|
787
1767
|
type: "button",
|
|
788
1768
|
disabled: deleting || starring,
|
|
789
1769
|
onClick: () => setConfirmDelete(true)
|
|
790
1770
|
},
|
|
791
|
-
copy.
|
|
792
|
-
)), confirmDelete && /* @__PURE__ */ import_react22.default.createElement(
|
|
793
|
-
"
|
|
1771
|
+
copy.recordings.delete
|
|
1772
|
+
)), confirmDelete && /* @__PURE__ */ import_react22.default.createElement(
|
|
1773
|
+
"div",
|
|
794
1774
|
{
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
1775
|
+
className: "dlvd-delete-confirm",
|
|
1776
|
+
role: "group",
|
|
1777
|
+
"aria-label": copy.recordings.confirmDelete
|
|
798
1778
|
},
|
|
799
|
-
copy.
|
|
800
|
-
|
|
1779
|
+
/* @__PURE__ */ import_react22.default.createElement("p", null, copy.recordings.confirmDelete),
|
|
1780
|
+
/* @__PURE__ */ import_react22.default.createElement(
|
|
1781
|
+
"button",
|
|
1782
|
+
{
|
|
1783
|
+
type: "button",
|
|
1784
|
+
disabled: deleting || starring,
|
|
1785
|
+
onClick: () => void removeSession()
|
|
1786
|
+
},
|
|
1787
|
+
copy.recordings.delete
|
|
1788
|
+
),
|
|
1789
|
+
" ",
|
|
1790
|
+
/* @__PURE__ */ import_react22.default.createElement("button", { type: "button", disabled: deleting, onClick: () => setConfirmDelete(false) }, copy.recordings.cancel)
|
|
1791
|
+
), error && /* @__PURE__ */ import_react22.default.createElement("p", { role: "alert" }, copy.recordings[error]), /* @__PURE__ */ import_react22.default.createElement(
|
|
801
1792
|
"audio",
|
|
802
1793
|
{
|
|
803
1794
|
ref: audio,
|
|
804
1795
|
controls: true,
|
|
805
1796
|
preload: "none",
|
|
806
|
-
"aria-label": copy.
|
|
1797
|
+
"aria-label": copy.recordings.audio,
|
|
807
1798
|
onError: () => {
|
|
808
1799
|
clearPlayback();
|
|
809
|
-
setError("
|
|
1800
|
+
setError("audioError");
|
|
810
1801
|
}
|
|
811
1802
|
}
|
|
812
|
-
), /* @__PURE__ */ import_react22.default.createElement("h4", null, copy.
|
|
1803
|
+
), /* @__PURE__ */ import_react22.default.createElement("h4", null, copy.recordings.timeline), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dlvd-timeline", role: "group", "aria-label": copy.recordings.timeline }, segments.map((segment) => /* @__PURE__ */ import_react22.default.createElement(
|
|
813
1804
|
"button",
|
|
814
1805
|
{
|
|
815
1806
|
key: segment.id,
|
|
@@ -835,55 +1826,55 @@ function RecordingDetail({
|
|
|
835
1826
|
className: "dlvd-pin",
|
|
836
1827
|
"aria-hidden": "true",
|
|
837
1828
|
style: { left: Math.min(length, pin.atSample) / length * 100 + "%" },
|
|
838
|
-
title: (pin.kind === "speech-start" ? copy.
|
|
1829
|
+
title: (pin.kind === "speech-start" ? copy.recordings.speech : copy.recordings.silence) + " \xB7 " + duration(pin.atSample, session.sampleRate)
|
|
839
1830
|
}
|
|
840
|
-
))), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dlvd-timeline-legend" }, /* @__PURE__ */ import_react22.default.createElement("span", { "data-kind": "speech" }, copy.
|
|
1831
|
+
))), /* @__PURE__ */ import_react22.default.createElement("div", { className: "dlvd-timeline-legend" }, /* @__PURE__ */ import_react22.default.createElement("span", { "data-kind": "speech" }, copy.recordings.speech), " \xB7 ", /* @__PURE__ */ import_react22.default.createElement("span", { "data-kind": "silence" }, copy.recordings.silence), " \xB7 ", duration(session.savedSamples, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("h4", null, copy.recordings.segments), /* @__PURE__ */ import_react22.default.createElement("table", { className: "dlvd-segments" }, /* @__PURE__ */ import_react22.default.createElement("thead", null, /* @__PURE__ */ import_react22.default.createElement("tr", null, /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.state), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.start), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.end), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.duration), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.audio))), /* @__PURE__ */ import_react22.default.createElement("tbody", null, segments.map((segment) => /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, { key: segment.id }, /* @__PURE__ */ import_react22.default.createElement("tr", { "data-selected": selectedSegment === segment.id }, /* @__PURE__ */ import_react22.default.createElement("td", null, segment.kind === "speech" ? copy.recordings.speech : copy.recordings.silence, segment.open && /* @__PURE__ */ import_react22.default.createElement("small", null, copy.recordings.open)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(segment.startSample, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(segment.endSample, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(segment.endSample - segment.startSample, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("td", null, /* @__PURE__ */ import_react22.default.createElement(
|
|
841
1832
|
"button",
|
|
842
1833
|
{
|
|
843
1834
|
type: "button",
|
|
844
1835
|
disabled: deleting || segment.endSample <= segment.startSample,
|
|
845
|
-
"aria-label": copy.
|
|
1836
|
+
"aria-label": copy.recordings.play + " \xB7 " + segmentName(segment),
|
|
846
1837
|
onClick: () => void play(segment)
|
|
847
1838
|
},
|
|
848
|
-
copy.
|
|
849
|
-
))), segment.kind === "speech" && /* @__PURE__ */ import_react22.default.createElement("tr", null, /* @__PURE__ */ import_react22.default.createElement("td", { colSpan: 5 }, /* @__PURE__ */ import_react22.default.createElement("details", { open: selectedSegment === segment.id || void 0 }, /* @__PURE__ */ import_react22.default.createElement("summary", null, copy.
|
|
850
|
-
pending: copy.
|
|
851
|
-
success: copy.
|
|
852
|
-
error: copy.
|
|
853
|
-
}[attempt.status]), /* @__PURE__ */ import_react22.default.createElement("time", { dateTime: attempt.createdAt }, new Date(attempt.createdAt).toLocaleString()), attempt.finishedAt && /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, " ", "\u2014", " ", /* @__PURE__ */ import_react22.default.createElement("time", { dateTime: attempt.finishedAt }, new Date(attempt.finishedAt).toLocaleString())), /* @__PURE__ */ import_react22.default.createElement("div", null, duration(attempt.startSample, session.sampleRate), " \u2014", " ", duration(attempt.endSample, session.sampleRate)), attempt.text != null && /* @__PURE__ */ import_react22.default.createElement("p", { className: "dlvd-transcript" }, attempt.text), attempt.error && /* @__PURE__ */ import_react22.default.createElement("p", { className: "dlvd-attempt-error" }, copy.
|
|
1839
|
+
copy.recordings.play
|
|
1840
|
+
))), segment.kind === "speech" && /* @__PURE__ */ import_react22.default.createElement("tr", null, /* @__PURE__ */ import_react22.default.createElement("td", { colSpan: 5 }, /* @__PURE__ */ import_react22.default.createElement("details", { open: selectedSegment === segment.id || void 0 }, /* @__PURE__ */ import_react22.default.createElement("summary", null, copy.recordings.attempts, " \xB7 ", segment.attempts.length), !segment.attempts.length && /* @__PURE__ */ import_react22.default.createElement("p", null, copy.recordings.noAttempts), segment.attempts.map((attempt) => /* @__PURE__ */ import_react22.default.createElement("article", { className: "dlvd-attempt", key: attempt.id }, /* @__PURE__ */ import_react22.default.createElement("div", null, copy.recordings.engine, ": ", attempt.engine, " \xB7", {
|
|
1841
|
+
pending: copy.recordings.pending,
|
|
1842
|
+
success: copy.recordings.success,
|
|
1843
|
+
error: copy.recordings.error
|
|
1844
|
+
}[attempt.status]), /* @__PURE__ */ import_react22.default.createElement("time", { dateTime: attempt.createdAt }, new Date(attempt.createdAt).toLocaleString()), attempt.finishedAt && /* @__PURE__ */ import_react22.default.createElement(import_react22.default.Fragment, null, " ", "\u2014", " ", /* @__PURE__ */ import_react22.default.createElement("time", { dateTime: attempt.finishedAt }, new Date(attempt.finishedAt).toLocaleString())), /* @__PURE__ */ import_react22.default.createElement("div", null, duration(attempt.startSample, session.sampleRate), " \u2014", " ", duration(attempt.endSample, session.sampleRate)), attempt.text != null && /* @__PURE__ */ import_react22.default.createElement("p", { className: "dlvd-transcript" }, attempt.text), attempt.error && /* @__PURE__ */ import_react22.default.createElement("p", { className: "dlvd-attempt-error" }, copy.recordings.error, ": ", attempt.error)))))))))), /* @__PURE__ */ import_react22.default.createElement("details", null, /* @__PURE__ */ import_react22.default.createElement("summary", null, copy.recordings.pins, " \xB7 ", session.pins.length), /* @__PURE__ */ import_react22.default.createElement("table", null, /* @__PURE__ */ import_react22.default.createElement("thead", null, /* @__PURE__ */ import_react22.default.createElement("tr", null, /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.state), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.start), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.pinConfirmed), /* @__PURE__ */ import_react22.default.createElement("th", { scope: "col" }, copy.recordings.pinDelay))), /* @__PURE__ */ import_react22.default.createElement("tbody", null, session.pins.map((pin) => /* @__PURE__ */ import_react22.default.createElement("tr", { key: pin.id }, /* @__PURE__ */ import_react22.default.createElement("td", null, pin.kind === "speech-start" ? copy.recordings.speech : copy.recordings.silence), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(pin.atSample, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(pin.confirmedAtSample, session.sampleRate)), /* @__PURE__ */ import_react22.default.createElement("td", null, duration(pin.delaySamples, session.sampleRate))))))));
|
|
854
1845
|
}
|
|
855
1846
|
|
|
856
1847
|
// src/RuntimePanel.tsx
|
|
857
1848
|
var import_react23 = __toESM(require("react"), 1);
|
|
858
1849
|
function RuntimePanel({ data, copy }) {
|
|
859
|
-
const unknown = copy.
|
|
1850
|
+
const unknown = copy.runtimes.unavailable;
|
|
860
1851
|
const bytes = (n) => typeof n === "number" && Number.isFinite(n) ? (n / 1073741824).toFixed(3) + " GiB (" + Math.round(n).toLocaleString() + " B)" : unknown;
|
|
861
1852
|
const ms = (n) => typeof n === "number" && Number.isFinite(n) ? Math.round(n).toLocaleString() + " ms" : unknown;
|
|
862
1853
|
const status = (v) => ({
|
|
863
|
-
loading: copy.
|
|
864
|
-
ready: copy.
|
|
865
|
-
error: copy.
|
|
866
|
-
downloaded: copy.
|
|
867
|
-
absent: copy.
|
|
868
|
-
started: copy.
|
|
869
|
-
success: copy.
|
|
870
|
-
released: copy.
|
|
871
|
-
cancelled: copy.
|
|
1854
|
+
loading: copy.recordings.loading,
|
|
1855
|
+
ready: copy.runtimes.ready,
|
|
1856
|
+
error: copy.recordings.error,
|
|
1857
|
+
downloaded: copy.runtimes.released,
|
|
1858
|
+
absent: copy.runtimes.released,
|
|
1859
|
+
started: copy.runtimes.started,
|
|
1860
|
+
success: copy.runtimes.success,
|
|
1861
|
+
released: copy.runtimes.released,
|
|
1862
|
+
cancelled: copy.runtimes.cancelled
|
|
872
1863
|
})[v] ?? unknown;
|
|
873
1864
|
const row = (label, value) => /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, { key: label }, /* @__PURE__ */ import_react23.default.createElement("dt", null, label), /* @__PURE__ */ import_react23.default.createElement("dd", null, value));
|
|
874
|
-
return /* @__PURE__ */ import_react23.default.createElement("section", { className: "dlvd-runtimes dlvd-scroll", tabIndex: 0, "aria-label": copy.
|
|
875
|
-
copy.
|
|
1865
|
+
return /* @__PURE__ */ import_react23.default.createElement("section", { className: "dlvd-runtimes dlvd-scroll", tabIndex: 0, "aria-label": copy.runtimes.title }, /* @__PURE__ */ import_react23.default.createElement("h3", null, copy.runtimes.title, " ", /* @__PURE__ */ import_react23.default.createElement(Hint, { label: copy.runtimes.title }, copy.runtimes.help)), /* @__PURE__ */ import_react23.default.createElement("dl", { className: "dlvd-recording-meta" }, row(
|
|
1866
|
+
copy.runtimes.versions,
|
|
876
1867
|
(data.versions?.onnx ?? unknown) + " / " + (data.versions?.transformers ?? unknown)
|
|
877
|
-
), row(copy.
|
|
878
|
-
copy.
|
|
879
|
-
data.gpu === "available" ? copy.
|
|
880
|
-
), row(copy.
|
|
881
|
-
copy.
|
|
1868
|
+
), row(copy.runtimes.id, data.runtimeId ?? unknown), row(
|
|
1869
|
+
copy.runtimes.gpu,
|
|
1870
|
+
data.gpu === "available" ? copy.runtimes.yes : data.gpu === "unavailable" ? copy.runtimes.no : unknown
|
|
1871
|
+
), row(copy.runtimes.storage, bytes(data.storageAvailableBytes)), row(copy.runtimes.heap, bytes(data.pageJsHeapBytes)), row(copy.runtimes.ram, unknown), row(copy.runtimes.vram, unknown)), (data.models ?? []).map((model) => /* @__PURE__ */ import_react23.default.createElement("article", { className: "dlvd-runtime-card", key: model.key }, /* @__PURE__ */ import_react23.default.createElement("h3", null, model.name), /* @__PURE__ */ import_react23.default.createElement("dl", { className: "dlvd-recording-meta" }, row(copy.runtimes.status, status(model.phase)), row(
|
|
1872
|
+
copy.runtimes.device,
|
|
882
1873
|
model.device === "webgpu" ? "WebGPU" : model.device === "wasm" ? "WebAssembly CPU" : unknown
|
|
883
|
-
), row(copy.
|
|
884
|
-
copy.
|
|
1874
|
+
), row(copy.runtimes.worker, model.workerActive ? copy.runtimes.yes : copy.runtimes.no), row(copy.runtimes.revision, model.repository + " @ " + model.revision), row(copy.runtimes.quantization, model.encoderDtype + " / " + model.decoderDtype), row(copy.runtimes.modelBytes, bytes(model.modelBytes)), row(copy.runtimes.cache, bytes(model.cachedBytes)), row(copy.runtimes.pcm, bytes(model.pcmBytes)), row(copy.runtimes.load, ms(model.loadMs) + " / " + ms(model.workerLoadMs)), row(copy.runtimes.inference, ms(model.workerInferenceMs)), row(copy.runtimes.audio, ms(model.audioMs)), row(
|
|
1875
|
+
copy.runtimes.ratio,
|
|
885
1876
|
model.workerInferenceMs != null && model.audioMs > 0 ? (model.workerInferenceMs / model.audioMs).toFixed(2) + "\xD7" : unknown
|
|
886
|
-
), row(copy.
|
|
1877
|
+
), row(copy.runtimes.queue, model.queued), row(copy.runtimes.active, model.active), row(copy.runtimes.pending, model.pendingRequests), row(copy.runtimes.completed, model.completed), row(copy.runtimes.failed, model.failed)), model.error && /* @__PURE__ */ import_react23.default.createElement("p", { role: "alert" }, copy.runtimes.error, ": ", /* @__PURE__ */ import_react23.default.createElement("code", null, model.error)))), /* @__PURE__ */ import_react23.default.createElement("h3", null, copy.runtimes.events), /* @__PURE__ */ import_react23.default.createElement("div", { className: "dlvd-history" }, !data.events?.length && /* @__PURE__ */ import_react23.default.createElement("p", null, copy.commons.empty), [...data.events ?? []].reverse().map((event) => /* @__PURE__ */ import_react23.default.createElement("div", { key: event.sequence, "data-level": event.status === "error" ? "error" : "debug" }, /* @__PURE__ */ import_react23.default.createElement("time", null, new Date(event.timeMs).toLocaleTimeString()), " \xB7 ", event.model, " \xB7", " ", event.operation === "load" ? copy.runtimes.load : event.operation === "worker" ? copy.runtimes.worker : copy.runtimes.inference, " ", "\xB7 ", status(event.status), event.durationMs != null ? " \xB7 " + ms(event.durationMs) : "", event.code && /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, " ", "\xB7 ", /* @__PURE__ */ import_react23.default.createElement("code", null, event.code))))));
|
|
887
1878
|
}
|
|
888
1879
|
|
|
889
1880
|
// src/DebuggerPanel.tsx
|
|
@@ -949,7 +1940,7 @@ function DebuggerPanel({
|
|
|
949
1940
|
import_react24.default.useEffect(() => {
|
|
950
1941
|
if (tab === "runtimes" && !hasRuntimes) setTab("states");
|
|
951
1942
|
}, [tab, hasRuntimes]);
|
|
952
|
-
return /* @__PURE__ */ import_react24.default.createElement("aside", { className: "dlvd-panel", "aria-label": copy.title }, /* @__PURE__ */ import_react24.default.createElement("header", null, /* @__PURE__ */ import_react24.default.createElement("strong", null, copy.title), /* @__PURE__ */ import_react24.default.createElement("span", null, refreshHz, " Hz"), /* @__PURE__ */ import_react24.default.createElement("button", { type: "button", onClick: onClose, "aria-label": copy.close }, "\xD7")), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-tabs", role: "tablist", "aria-label": copy.title }, tabs.map((name) => /* @__PURE__ */ import_react24.default.createElement(
|
|
1943
|
+
return /* @__PURE__ */ import_react24.default.createElement("aside", { className: "dlvd-panel", "aria-label": copy.commons.title }, /* @__PURE__ */ import_react24.default.createElement("header", null, /* @__PURE__ */ import_react24.default.createElement("strong", null, copy.commons.title), /* @__PURE__ */ import_react24.default.createElement("span", null, refreshHz, " Hz"), /* @__PURE__ */ import_react24.default.createElement("button", { type: "button", onClick: onClose, "aria-label": copy.commons.close }, "\xD7")), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-tabs", role: "tablist", "aria-label": copy.commons.title }, tabs.map((name) => /* @__PURE__ */ import_react24.default.createElement(
|
|
953
1944
|
"button",
|
|
954
1945
|
{
|
|
955
1946
|
type: "button",
|
|
@@ -970,7 +1961,7 @@ function DebuggerPanel({
|
|
|
970
1961
|
}
|
|
971
1962
|
}
|
|
972
1963
|
},
|
|
973
|
-
name === "recordings" ? copy.
|
|
1964
|
+
name === "recordings" ? copy.recordings.title : name === "runtimes" ? copy.runtimes.title : copy.commons.states
|
|
974
1965
|
))), /* @__PURE__ */ import_react24.default.createElement(
|
|
975
1966
|
"div",
|
|
976
1967
|
{
|
|
@@ -1000,15 +1991,15 @@ function DebuggerPanel({
|
|
|
1000
1991
|
"aria-labelledby": tabsId + "-states-tab",
|
|
1001
1992
|
hidden: tab !== "states"
|
|
1002
1993
|
},
|
|
1003
|
-
/* @__PURE__ */ import_react24.default.createElement("p", null, copy.help),
|
|
1004
|
-
/* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-toolbar" }, /* @__PURE__ */ import_react24.default.createElement("label", null, copy.refreshRate, /* @__PURE__ */ import_react24.default.createElement(
|
|
1994
|
+
/* @__PURE__ */ import_react24.default.createElement("p", null, copy.commons.help),
|
|
1995
|
+
/* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-toolbar" }, /* @__PURE__ */ import_react24.default.createElement("label", null, copy.commons.refreshRate, /* @__PURE__ */ import_react24.default.createElement(
|
|
1005
1996
|
"select",
|
|
1006
1997
|
{
|
|
1007
1998
|
value: refreshHz,
|
|
1008
1999
|
onChange: (event) => setRefreshHz(Number(event.target.value))
|
|
1009
2000
|
},
|
|
1010
2001
|
[1, 2, 5, 10, 20].map((hz) => /* @__PURE__ */ import_react24.default.createElement("option", { key: hz, value: hz }, hz, " Hz"))
|
|
1011
|
-
)), /* @__PURE__ */ import_react24.default.createElement("button", { type: "button", onClick: () => setFrozen(!frozen) }, frozen ? copy.resume : copy.freeze), /* @__PURE__ */ import_react24.default.createElement("label", null, /* @__PURE__ */ import_react24.default.createElement(
|
|
2002
|
+
)), /* @__PURE__ */ import_react24.default.createElement("button", { type: "button", onClick: () => setFrozen(!frozen) }, frozen ? copy.commons.resume : copy.commons.freeze), /* @__PURE__ */ import_react24.default.createElement("label", null, /* @__PURE__ */ import_react24.default.createElement(
|
|
1012
2003
|
"input",
|
|
1013
2004
|
{
|
|
1014
2005
|
type: "checkbox",
|
|
@@ -1019,8 +2010,8 @@ function DebuggerPanel({
|
|
|
1019
2010
|
setContent(event.target.checked);
|
|
1020
2011
|
}
|
|
1021
2012
|
}
|
|
1022
|
-
), copy.content)),
|
|
1023
|
-
failed ? /* @__PURE__ */ import_react24.default.createElement("p", { role: "alert" }, copy.error) : !view ? /* @__PURE__ */ import_react24.default.createElement("p", { role: "status" }, copy.waiting) : /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-columns" }, /* @__PURE__ */ import_react24.default.createElement("section", { className: "dlvd-state-pane", "aria-label": copy.states }, /* @__PURE__ */ import_react24.default.createElement("h3", null, copy.states), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-scroll", tabIndex: 0 }, /* @__PURE__ */ import_react24.default.createElement(StateTree, { name: "context", value: view.state, omitted: copy.omitted }))), /* @__PURE__ */ import_react24.default.createElement("section", { className: "dlvd-event-pane", "aria-label": copy.transitions }, /* @__PURE__ */ import_react24.default.createElement("h3", null, copy.transitions), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-toolbar" }, /* @__PURE__ */ import_react24.default.createElement(
|
|
2013
|
+
), copy.commons.content)),
|
|
2014
|
+
failed ? /* @__PURE__ */ import_react24.default.createElement("p", { role: "alert" }, copy.commons.error) : !view ? /* @__PURE__ */ import_react24.default.createElement("p", { role: "status" }, copy.commons.waiting) : /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-columns" }, /* @__PURE__ */ import_react24.default.createElement("section", { className: "dlvd-state-pane", "aria-label": copy.commons.states }, /* @__PURE__ */ import_react24.default.createElement("h3", null, copy.commons.states), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-scroll", tabIndex: 0 }, /* @__PURE__ */ import_react24.default.createElement(StateTree, { name: "context", value: view.state, omitted: copy.commons.omitted }))), /* @__PURE__ */ import_react24.default.createElement("section", { className: "dlvd-event-pane", "aria-label": copy.commons.transitions }, /* @__PURE__ */ import_react24.default.createElement("h3", null, copy.commons.transitions), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-toolbar" }, /* @__PURE__ */ import_react24.default.createElement(
|
|
1024
2015
|
"button",
|
|
1025
2016
|
{
|
|
1026
2017
|
type: "button",
|
|
@@ -1032,7 +2023,7 @@ function DebuggerPanel({
|
|
|
1032
2023
|
setEventsPaused(paused);
|
|
1033
2024
|
}
|
|
1034
2025
|
},
|
|
1035
|
-
eventsPaused ? copy.eventsResume : copy.eventsPause
|
|
2026
|
+
eventsPaused ? copy.commons.eventsResume : copy.commons.eventsPause
|
|
1036
2027
|
), /* @__PURE__ */ import_react24.default.createElement(
|
|
1037
2028
|
"button",
|
|
1038
2029
|
{
|
|
@@ -1042,723 +2033,170 @@ function DebuggerPanel({
|
|
|
1042
2033
|
setView((current) => current ? { ...current, transitions: [] } : current);
|
|
1043
2034
|
}
|
|
1044
2035
|
},
|
|
1045
|
-
copy.eventsClear
|
|
1046
|
-
)), /* @__PURE__ */ import_react24.default.createElement("label", null, copy.filter, /* @__PURE__ */ import_react24.default.createElement("select", { value: module2, onChange: (event) => setModule(event.target.value) }, /* @__PURE__ */ import_react24.default.createElement("option", { value: "" }, copy.all), modules.map((name) => /* @__PURE__ */ import_react24.default.createElement("option", { key: name }, name)))), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-history dlvd-scroll", tabIndex: 0 }, view.transitions.filter((entry) => !module2 || entry.module === module2).slice().reverse().map((entry) => /* @__PURE__ */ import_react24.default.createElement("details", { key: entry.sequence, "data-level": entry.level }, /* @__PURE__ */ import_react24.default.createElement("summary", null, /* @__PURE__ */ import_react24.default.createElement("small", null, new Date(entry.timeMs).toLocaleTimeString()), " ", /* @__PURE__ */ import_react24.default.createElement("code", null, entry.sessionId, " / ", entry.module)), /* @__PURE__ */ import_react24.default.createElement(
|
|
2036
|
+
copy.commons.eventsClear
|
|
2037
|
+
)), /* @__PURE__ */ import_react24.default.createElement("label", null, copy.commons.filter, /* @__PURE__ */ import_react24.default.createElement("select", { value: module2, onChange: (event) => setModule(event.target.value) }, /* @__PURE__ */ import_react24.default.createElement("option", { value: "" }, copy.commons.all), modules.map((name) => /* @__PURE__ */ import_react24.default.createElement("option", { key: name }, name)))), /* @__PURE__ */ import_react24.default.createElement("div", { className: "dlvd-history dlvd-scroll", tabIndex: 0 }, view.transitions.filter((entry) => !module2 || entry.module === module2).slice().reverse().map((entry) => /* @__PURE__ */ import_react24.default.createElement("details", { key: entry.sequence, "data-level": entry.level }, /* @__PURE__ */ import_react24.default.createElement("summary", null, /* @__PURE__ */ import_react24.default.createElement("small", null, new Date(entry.timeMs).toLocaleTimeString()), " ", /* @__PURE__ */ import_react24.default.createElement("code", null, entry.sessionId, " / ", entry.module)), /* @__PURE__ */ import_react24.default.createElement(
|
|
2038
|
+
StateTree,
|
|
2039
|
+
{
|
|
2040
|
+
name: "before",
|
|
2041
|
+
value: entry.before,
|
|
2042
|
+
omitted: copy.commons.omitted
|
|
2043
|
+
}
|
|
2044
|
+
), /* @__PURE__ */ import_react24.default.createElement(StateTree, { name: "after", value: entry.after, omitted: copy.commons.omitted }))), !view.transitions.length && /* @__PURE__ */ import_react24.default.createElement("p", null, copy.commons.empty))))
|
|
1047
2045
|
));
|
|
1048
2046
|
}
|
|
1049
2047
|
|
|
1050
|
-
// src/
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
eventsPause: "Pause events",
|
|
1064
|
-
eventsResume: "Resume events",
|
|
1065
|
-
filter: "Filter modules",
|
|
1066
|
-
freeze: "Freeze view",
|
|
1067
|
-
help: "Read-only state tree updated at 10 Hz. Text is hidden by default. This panel does not control voice.",
|
|
1068
|
-
omitted: "Additional items omitted",
|
|
1069
|
-
popupBlocked: "The browser blocked the debugger window. Allow popups for this site and try again.",
|
|
1070
|
-
recordingActive: "Recording",
|
|
1071
|
-
recordingAllSources: "All sources",
|
|
1072
|
-
recordingAttempts: "Transcription history",
|
|
1073
|
-
recordingAudio: "Recording playback",
|
|
1074
|
-
recordingAudioError: "Unable to load or play recording audio.",
|
|
1075
|
-
recordingCancel: "Cancel",
|
|
1076
|
-
recordingCaptured: "Captured audio",
|
|
1077
|
-
recordingCompleted: "Completed",
|
|
1078
|
-
recordingConfirmDelete: "Delete this entire recording, including its audio and transcription history? This cannot be undone. Deleting an active recording also discards its future saved audio.",
|
|
1079
|
-
recordingDate: "Started",
|
|
1080
|
-
recordingDelete: "Delete entire session",
|
|
1081
|
-
recordingDeleteError: "Unable to delete the recording.",
|
|
1082
|
-
recordingDuration: "Duration",
|
|
1083
|
-
recordingEmpty: "No recording sessions match this filter.",
|
|
1084
|
-
recordingEnd: "End",
|
|
1085
|
-
recordingEngine: "Engine",
|
|
1086
|
-
recordingError: "Error",
|
|
1087
|
-
recordingExport: "Export self-contained JSON",
|
|
1088
|
-
recordingExportError: "Unable to export the recording.",
|
|
1089
|
-
recordingFailed: "Failed",
|
|
1090
|
-
recordingHelp: "Inspect saved audio, speech/silence boundaries and transcription attempts. Audio and transcripts may be sensitive. Playback is local; export includes audio and text. Inspection never changes capture; only explicit deletion removes recordings.",
|
|
1091
|
-
recordingInterrupted: "Interrupted",
|
|
1092
|
-
recordingLoadError: "Unable to load recording sessions. Try refreshing.",
|
|
1093
|
-
recordingLoading: "Loading recordings\u2026",
|
|
1094
|
-
recordingMemory: "Memory only",
|
|
1095
|
-
recordingMicrophone: "Microphone",
|
|
1096
|
-
recordingNoAttempts: "No transcription attempts yet.",
|
|
1097
|
-
recordingOpen: "Open segment",
|
|
1098
|
-
recordingPending: "Pending",
|
|
1099
|
-
recordingPersistent: "Saved locally",
|
|
1100
|
-
recordingPinConfirmed: "Confirmed at",
|
|
1101
|
-
recordingPinDelay: "Confirmation delay",
|
|
1102
|
-
recordingPins: "Boundary pins",
|
|
1103
|
-
recordingPlay: "Play segment",
|
|
1104
|
-
recordingPlaySession: "Play saved session",
|
|
1105
|
-
recordingRefresh: "Refresh recordings",
|
|
1106
|
-
recordingSaved: "Saved audio",
|
|
1107
|
-
recordingSegments: "Segments",
|
|
1108
|
-
recordingSelectSession: "Select a recording session.",
|
|
1109
|
-
recordingShared: "Shared audio",
|
|
1110
|
-
recordingSilence: "Silence",
|
|
1111
|
-
recordingSource: "Source",
|
|
1112
|
-
recordingSourceFilter: "Filter sources",
|
|
1113
|
-
recordingSpeech: "Speech",
|
|
1114
|
-
recordingStar: "Keep indefinitely",
|
|
1115
|
-
recordingStarError: "Unable to change recording protection.",
|
|
1116
|
-
recordingStarHelp: "Exclude this recording from automatic cleanup and the retention count. Manual deletion is still allowed. This does not change browser storage or eviction protection.",
|
|
1117
|
-
recordingStarred: "Protected from automatic cleanup",
|
|
1118
|
-
recordingStart: "Start",
|
|
1119
|
-
recordingState: "State",
|
|
1120
|
-
recordingSuccess: "Success",
|
|
1121
|
-
recordingTimeline: "Speech / silence timeline",
|
|
1122
|
-
recordingTitle: "Recordings",
|
|
1123
|
-
recordingUnavailable: "Recording service unavailable. Enable recording in Live Voice settings with a compatible runtime.",
|
|
1124
|
-
recordingUnstar: "Remove protection",
|
|
1125
|
-
recordingUnstarHelp: "Allow automatic cleanup and include this recording in the retention count again. Manual deletion is still allowed. Browser storage and eviction protection are unchanged.",
|
|
1126
|
-
refreshRate: "Refresh rate",
|
|
1127
|
-
resume: "Resume updates",
|
|
1128
|
-
runtimeActive: "Active requests",
|
|
1129
|
-
runtimeAudio: "Last audio duration",
|
|
1130
|
-
runtimeCache: "Cached model files",
|
|
1131
|
-
runtimeCancelled: "Cancelled",
|
|
1132
|
-
runtimeCompleted: "Completed transcriptions",
|
|
1133
|
-
runtimeDevice: "Requested execution provider",
|
|
1134
|
-
runtimeError: "Error code",
|
|
1135
|
-
runtimeEvents: "Runtime events (last 100)",
|
|
1136
|
-
runtimeFailed: "Failed / cancelled transcriptions",
|
|
1137
|
-
runtimeGpu: "WebGPU adapter available",
|
|
1138
|
-
runtimeHeap: "Page JavaScript heap estimate",
|
|
1139
|
-
runtimeHelp: "Model/cache sizes are file bytes, not RAM. PCM counts only queued/active input buffers. Page JavaScript heap, when available, is a non-standard page-wide estimate and excludes complete worker/WASM/GPU memory. Model RAM and VRAM cannot be reliably measured here. WebGPU initialization does not prove every graph operator ran on GPU. Events are plugin lifecycle metadata, not raw ONNX logs; no audio or transcripts are retained.",
|
|
1140
|
-
runtimeId: "Worker identity",
|
|
1141
|
-
runtimeInference: "Last worker inference",
|
|
1142
|
-
runtimeLoad: "Load round trip / worker",
|
|
1143
|
-
runtimeMemory: "Memory and storage",
|
|
1144
|
-
runtimeModel: "Model",
|
|
1145
|
-
runtimeModelBytes: "Complete model download",
|
|
1146
|
-
runtimeNo: "No",
|
|
1147
|
-
runtimePcm: "Accounted input PCM",
|
|
1148
|
-
runtimePending: "Pending worker requests",
|
|
1149
|
-
runtimeQuantization: "Encoder / decoder precision",
|
|
1150
|
-
runtimeQueue: "Queued transcriptions",
|
|
1151
|
-
runtimeRam: "Model RAM",
|
|
1152
|
-
runtimeRatio: "Processing / audio ratio",
|
|
1153
|
-
runtimeReady: "Ready",
|
|
1154
|
-
runtimeReleased: "Released",
|
|
1155
|
-
runtimeRevision: "Pinned revision",
|
|
1156
|
-
runtimeStarted: "Started",
|
|
1157
|
-
runtimeStatus: "Status",
|
|
1158
|
-
runtimeStorage: "Available origin storage",
|
|
1159
|
-
runtimeSuccess: "Success",
|
|
1160
|
-
runtimeTitle: "Runtimes",
|
|
1161
|
-
runtimeUnavailable: "Unavailable",
|
|
1162
|
-
runtimeVersions: "ONNX Runtime / Transformers.js",
|
|
1163
|
-
runtimeVram: "Model VRAM",
|
|
1164
|
-
runtimeWorker: "Worker active",
|
|
1165
|
-
runtimeYes: "Yes",
|
|
1166
|
-
states: "Current states",
|
|
1167
|
-
title: "Live Voice Debugger",
|
|
1168
|
-
transitions: "Recent state transitions",
|
|
1169
|
-
waiting: "Waiting for a compatible Live Voice runtime."
|
|
1170
|
-
},
|
|
2048
|
+
// src/i18n/catalogs.ts
|
|
2049
|
+
init_en4();
|
|
2050
|
+
init_es4();
|
|
2051
|
+
init_fr4();
|
|
2052
|
+
init_hi4();
|
|
2053
|
+
init_pt_BR4();
|
|
2054
|
+
init_zh4();
|
|
2055
|
+
var dictionaries = Object.freeze({ en: en_default4, es: es_default4, fr: fr_default4, hi: hi_default4, "pt-BR": pt_BR_default4, zh: zh_default4 });
|
|
2056
|
+
var Langs = {
|
|
2057
|
+
en: { name: "English", short: "en", locale: "en", lang: () => Promise.resolve().then(() => (init_en4(), en_exports)) },
|
|
2058
|
+
es: { name: "Espa\xF1ol", short: "es", locale: "es", lang: () => Promise.resolve().then(() => (init_es4(), es_exports)) },
|
|
2059
|
+
fr: { name: "Fran\xE7ais", short: "fr", locale: "fr", lang: () => Promise.resolve().then(() => (init_fr4(), fr_exports)) },
|
|
2060
|
+
hi: { name: "\u0939\u093F\u0928\u094D\u0926\u0940", short: "hi", locale: "hi", lang: () => Promise.resolve().then(() => (init_hi4(), hi_exports)) },
|
|
1171
2061
|
"pt-BR": {
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
developer: "Desenvolvedor",
|
|
1177
|
-
diagnostics: "Diagn\xF3stico",
|
|
1178
|
-
empty: "Nenhuma transi\xE7\xE3o registrada ainda.",
|
|
1179
|
-
error: "A fonte de diagn\xF3stico falhou.",
|
|
1180
|
-
eventsClear: "Limpar eventos",
|
|
1181
|
-
eventsPause: "Pausar eventos",
|
|
1182
|
-
eventsResume: "Retomar eventos",
|
|
1183
|
-
filter: "Filtrar m\xF3dulos",
|
|
1184
|
-
freeze: "Congelar visualiza\xE7\xE3o",
|
|
1185
|
-
help: "\xC1rvore de estados somente leitura atualizada a 10 Hz. Texto oculto por padr\xE3o. Este painel n\xE3o controla a voz.",
|
|
1186
|
-
omitted: "Itens adicionais omitidos",
|
|
1187
|
-
popupBlocked: "O navegador bloqueou a janela do debugger. Permita pop-ups neste site e tente novamente.",
|
|
1188
|
-
recordingActive: "Gravando",
|
|
1189
|
-
recordingAllSources: "Todas as fontes",
|
|
1190
|
-
recordingAttempts: "Hist\xF3rico de transcri\xE7\xE3o",
|
|
1191
|
-
recordingAudio: "Reprodu\xE7\xE3o da grava\xE7\xE3o",
|
|
1192
|
-
recordingAudioError: "N\xE3o foi poss\xEDvel carregar ou reproduzir o \xE1udio.",
|
|
1193
|
-
recordingCancel: "Cancelar",
|
|
1194
|
-
recordingCaptured: "\xC1udio capturado",
|
|
1195
|
-
recordingCompleted: "Conclu\xEDda",
|
|
1196
|
-
recordingConfirmDelete: "Excluir esta grava\xE7\xE3o inteira, incluindo \xE1udio e hist\xF3rico de transcri\xE7\xE3o? N\xE3o \xE9 poss\xEDvel desfazer. Excluir uma grava\xE7\xE3o ativa tamb\xE9m descarta o \xE1udio salvo futuro.",
|
|
1197
|
-
recordingDate: "In\xEDcio",
|
|
1198
|
-
recordingDelete: "Excluir sess\xE3o inteira",
|
|
1199
|
-
recordingDeleteError: "N\xE3o foi poss\xEDvel excluir a grava\xE7\xE3o.",
|
|
1200
|
-
recordingDuration: "Dura\xE7\xE3o",
|
|
1201
|
-
recordingEmpty: "Nenhuma grava\xE7\xE3o corresponde ao filtro.",
|
|
1202
|
-
recordingEnd: "Fim",
|
|
1203
|
-
recordingEngine: "Motor",
|
|
1204
|
-
recordingError: "Erro",
|
|
1205
|
-
recordingExport: "Exportar JSON completo",
|
|
1206
|
-
recordingExportError: "N\xE3o foi poss\xEDvel exportar a grava\xE7\xE3o.",
|
|
1207
|
-
recordingFailed: "Falhou",
|
|
1208
|
-
recordingHelp: "Inspecione \xE1udio salvo, limites de fala/sil\xEAncio e tentativas de transcri\xE7\xE3o. \xC1udio e texto podem ser sens\xEDveis. Reprodu\xE7\xE3o local; a exporta\xE7\xE3o inclui \xE1udio e texto. Inspecionar n\xE3o altera a captura; apenas a exclus\xE3o expl\xEDcita remove grava\xE7\xF5es.",
|
|
1209
|
-
recordingInterrupted: "Interrompida",
|
|
1210
|
-
recordingLoadError: "N\xE3o foi poss\xEDvel carregar as grava\xE7\xF5es. Tente atualizar.",
|
|
1211
|
-
recordingLoading: "Carregando grava\xE7\xF5es\u2026",
|
|
1212
|
-
recordingMemory: "Somente na mem\xF3ria",
|
|
1213
|
-
recordingMicrophone: "Microfone",
|
|
1214
|
-
recordingNoAttempts: "Nenhuma tentativa de transcri\xE7\xE3o ainda.",
|
|
1215
|
-
recordingOpen: "Segmento aberto",
|
|
1216
|
-
recordingPending: "Pendente",
|
|
1217
|
-
recordingPersistent: "Salva localmente",
|
|
1218
|
-
recordingPinConfirmed: "Confirmado em",
|
|
1219
|
-
recordingPinDelay: "Atraso de confirma\xE7\xE3o",
|
|
1220
|
-
recordingPins: "Marcadores de limite",
|
|
1221
|
-
recordingPlay: "Reproduzir segmento",
|
|
1222
|
-
recordingPlaySession: "Reproduzir sess\xE3o salva",
|
|
1223
|
-
recordingRefresh: "Atualizar grava\xE7\xF5es",
|
|
1224
|
-
recordingSaved: "\xC1udio salvo",
|
|
1225
|
-
recordingSegments: "Segmentos",
|
|
1226
|
-
recordingSelectSession: "Selecione uma sess\xE3o de grava\xE7\xE3o.",
|
|
1227
|
-
recordingShared: "\xC1udio compartilhado",
|
|
1228
|
-
recordingSilence: "Sil\xEAncio",
|
|
1229
|
-
recordingSource: "Fonte",
|
|
1230
|
-
recordingSourceFilter: "Filtrar fontes",
|
|
1231
|
-
recordingSpeech: "Fala",
|
|
1232
|
-
recordingStar: "Manter por tempo indeterminado",
|
|
1233
|
-
recordingStarError: "N\xE3o foi poss\xEDvel alterar a prote\xE7\xE3o da grava\xE7\xE3o.",
|
|
1234
|
-
recordingStarHelp: "Exclui esta grava\xE7\xE3o da limpeza autom\xE1tica e da contagem de reten\xE7\xE3o. A exclus\xE3o manual continua permitida. N\xE3o altera o armazenamento nem a prote\xE7\xE3o contra remo\xE7\xE3o pelo navegador.",
|
|
1235
|
-
recordingStarred: "Protegida da limpeza autom\xE1tica",
|
|
1236
|
-
recordingStart: "In\xEDcio",
|
|
1237
|
-
recordingState: "Estado",
|
|
1238
|
-
recordingSuccess: "Sucesso",
|
|
1239
|
-
recordingTimeline: "Linha do tempo de fala / sil\xEAncio",
|
|
1240
|
-
recordingTitle: "Grava\xE7\xF5es",
|
|
1241
|
-
recordingUnavailable: "Servi\xE7o de grava\xE7\xE3o indispon\xEDvel. Ative a grava\xE7\xE3o nas configura\xE7\xF5es da Voz ao Vivo com um runtime compat\xEDvel.",
|
|
1242
|
-
recordingUnstar: "Remover prote\xE7\xE3o",
|
|
1243
|
-
recordingUnstarHelp: "Permite a limpeza autom\xE1tica e inclui novamente esta grava\xE7\xE3o na contagem de reten\xE7\xE3o. A exclus\xE3o manual continua permitida. O armazenamento e a prote\xE7\xE3o contra remo\xE7\xE3o pelo navegador n\xE3o mudam.",
|
|
1244
|
-
refreshRate: "Frequ\xEAncia de atualiza\xE7\xE3o",
|
|
1245
|
-
resume: "Retomar atualiza\xE7\xF5es",
|
|
1246
|
-
runtimeActive: "Requisi\xE7\xF5es ativas",
|
|
1247
|
-
runtimeAudio: "Dura\xE7\xE3o do \xFAltimo \xE1udio",
|
|
1248
|
-
runtimeCache: "Arquivos do modelo em cache",
|
|
1249
|
-
runtimeCancelled: "Cancelado",
|
|
1250
|
-
runtimeCompleted: "Transcri\xE7\xF5es conclu\xEDdas",
|
|
1251
|
-
runtimeDevice: "Provedor de execu\xE7\xE3o solicitado",
|
|
1252
|
-
runtimeError: "C\xF3digo do erro",
|
|
1253
|
-
runtimeEvents: "Eventos do runtime (\xFAltimos 100)",
|
|
1254
|
-
runtimeFailed: "Transcri\xE7\xF5es com falha / canceladas",
|
|
1255
|
-
runtimeGpu: "Adaptador WebGPU dispon\xEDvel",
|
|
1256
|
-
runtimeHeap: "Estimativa do heap JavaScript da p\xE1gina",
|
|
1257
|
-
runtimeHelp: "O tamanho do modelo/cache \xE9 de arquivos, n\xE3o RAM. PCM conta apenas buffers de entrada ativos/na fila. O heap JavaScript, quando dispon\xEDvel, \xE9 uma estimativa n\xE3o padronizada da p\xE1gina e n\xE3o inclui toda a mem\xF3ria dos workers/WASM/GPU. N\xE3o \xE9 poss\xEDvel medir com confian\xE7a a RAM/VRAM do modelo aqui. Inicializar WebGPU n\xE3o prova que todos os operadores rodaram na GPU. Os eventos s\xE3o metadados do ciclo de vida do plugin, n\xE3o logs brutos do ONNX; n\xE3o guardam \xE1udio nem transcri\xE7\xF5es.",
|
|
1258
|
-
runtimeId: "Identidade do worker",
|
|
1259
|
-
runtimeInference: "\xDAltima infer\xEAncia no worker",
|
|
1260
|
-
runtimeLoad: "Carregamento ida e volta / worker",
|
|
1261
|
-
runtimeMemory: "Mem\xF3ria e armazenamento",
|
|
1262
|
-
runtimeModel: "Modelo",
|
|
1263
|
-
runtimeModelBytes: "Download completo do modelo",
|
|
1264
|
-
runtimeNo: "N\xE3o",
|
|
1265
|
-
runtimePcm: "PCM de entrada contabilizado",
|
|
1266
|
-
runtimePending: "Requisi\xE7\xF5es pendentes no worker",
|
|
1267
|
-
runtimeQuantization: "Precis\xE3o do encoder / decoder",
|
|
1268
|
-
runtimeQueue: "Transcri\xE7\xF5es na fila",
|
|
1269
|
-
runtimeRam: "RAM do modelo",
|
|
1270
|
-
runtimeRatio: "Rela\xE7\xE3o processamento / \xE1udio",
|
|
1271
|
-
runtimeReady: "Pronto",
|
|
1272
|
-
runtimeReleased: "Liberado",
|
|
1273
|
-
runtimeRevision: "Revis\xE3o fixada",
|
|
1274
|
-
runtimeStarted: "Iniciado",
|
|
1275
|
-
runtimeStatus: "Estado",
|
|
1276
|
-
runtimeStorage: "Armazenamento dispon\xEDvel nesta origem",
|
|
1277
|
-
runtimeSuccess: "Sucesso",
|
|
1278
|
-
runtimeTitle: "Runtimes",
|
|
1279
|
-
runtimeUnavailable: "Indispon\xEDvel",
|
|
1280
|
-
runtimeVersions: "ONNX Runtime / Transformers.js",
|
|
1281
|
-
runtimeVram: "VRAM do modelo",
|
|
1282
|
-
runtimeWorker: "Worker ativo",
|
|
1283
|
-
runtimeYes: "Sim",
|
|
1284
|
-
states: "Estados atuais",
|
|
1285
|
-
title: "Depurador da Voz ao Vivo",
|
|
1286
|
-
transitions: "Transi\xE7\xF5es de estado recentes",
|
|
1287
|
-
waiting: "Aguardando um runtime da Voz ao Vivo compat\xEDvel."
|
|
1288
|
-
},
|
|
1289
|
-
es: {
|
|
1290
|
-
activate: "Abrir depurador en una ventana separada",
|
|
1291
|
-
all: "Todos los m\xF3dulos",
|
|
1292
|
-
close: "Cerrar depurador",
|
|
1293
|
-
content: "Inspeccionar contenido de texto (sensible)",
|
|
1294
|
-
developer: "Desarrollador",
|
|
1295
|
-
diagnostics: "Diagn\xF3stico",
|
|
1296
|
-
empty: "Todav\xEDa no hay transiciones registradas.",
|
|
1297
|
-
error: "La fuente de diagn\xF3stico fall\xF3.",
|
|
1298
|
-
eventsClear: "Borrar eventos",
|
|
1299
|
-
eventsPause: "Pausar eventos",
|
|
1300
|
-
eventsResume: "Reanudar eventos",
|
|
1301
|
-
filter: "Filtrar m\xF3dulos",
|
|
1302
|
-
freeze: "Congelar vista",
|
|
1303
|
-
help: "\xC1rbol de estados de solo lectura actualizado a 10 Hz. Texto oculto por defecto. Este panel no controla la voz.",
|
|
1304
|
-
omitted: "Elementos adicionales omitidos",
|
|
1305
|
-
popupBlocked: "El navegador bloque\xF3 la ventana del depurador. Permita ventanas emergentes en este sitio e int\xE9ntelo de nuevo.",
|
|
1306
|
-
recordingActive: "Grabando",
|
|
1307
|
-
recordingAllSources: "Todas las fuentes",
|
|
1308
|
-
recordingAttempts: "Historial de transcripci\xF3n",
|
|
1309
|
-
recordingAudio: "Reproducci\xF3n de la grabaci\xF3n",
|
|
1310
|
-
recordingAudioError: "No se pudo cargar o reproducir el audio.",
|
|
1311
|
-
recordingCancel: "Cancelar",
|
|
1312
|
-
recordingCaptured: "Audio capturado",
|
|
1313
|
-
recordingCompleted: "Completada",
|
|
1314
|
-
recordingConfirmDelete: "\xBFEliminar toda esta grabaci\xF3n, incluido el audio y el historial de transcripci\xF3n? No se puede deshacer. Eliminar una grabaci\xF3n activa tambi\xE9n descarta su audio guardado futuro.",
|
|
1315
|
-
recordingDate: "Inicio",
|
|
1316
|
-
recordingDelete: "Eliminar sesi\xF3n completa",
|
|
1317
|
-
recordingDeleteError: "No se pudo eliminar la grabaci\xF3n.",
|
|
1318
|
-
recordingDuration: "Duraci\xF3n",
|
|
1319
|
-
recordingEmpty: "Ninguna grabaci\xF3n coincide con el filtro.",
|
|
1320
|
-
recordingEnd: "Fin",
|
|
1321
|
-
recordingEngine: "Motor",
|
|
1322
|
-
recordingError: "Error",
|
|
1323
|
-
recordingExport: "Exportar JSON completo",
|
|
1324
|
-
recordingExportError: "No se pudo exportar la grabaci\xF3n.",
|
|
1325
|
-
recordingFailed: "Fallida",
|
|
1326
|
-
recordingHelp: "Inspeccione audio guardado, l\xEDmites de voz/silencio e intentos de transcripci\xF3n. Audio y texto pueden ser sensibles. La reproducci\xF3n es local; la exportaci\xF3n incluye audio y texto. Inspeccionar no cambia la captura; solo la eliminaci\xF3n expl\xEDcita borra grabaciones.",
|
|
1327
|
-
recordingInterrupted: "Interrumpida",
|
|
1328
|
-
recordingLoadError: "No se pudieron cargar las grabaciones. Intente actualizar.",
|
|
1329
|
-
recordingLoading: "Cargando grabaciones\u2026",
|
|
1330
|
-
recordingMemory: "Solo en memoria",
|
|
1331
|
-
recordingMicrophone: "Micr\xF3fono",
|
|
1332
|
-
recordingNoAttempts: "Todav\xEDa no hay intentos de transcripci\xF3n.",
|
|
1333
|
-
recordingOpen: "Segmento abierto",
|
|
1334
|
-
recordingPending: "Pendiente",
|
|
1335
|
-
recordingPersistent: "Guardada localmente",
|
|
1336
|
-
recordingPinConfirmed: "Confirmado en",
|
|
1337
|
-
recordingPinDelay: "Demora de confirmaci\xF3n",
|
|
1338
|
-
recordingPins: "Marcadores de l\xEDmite",
|
|
1339
|
-
recordingPlay: "Reproducir segmento",
|
|
1340
|
-
recordingPlaySession: "Reproducir sesi\xF3n guardada",
|
|
1341
|
-
recordingRefresh: "Actualizar grabaciones",
|
|
1342
|
-
recordingSaved: "Audio guardado",
|
|
1343
|
-
recordingSegments: "Segmentos",
|
|
1344
|
-
recordingSelectSession: "Seleccione una sesi\xF3n de grabaci\xF3n.",
|
|
1345
|
-
recordingShared: "Audio compartido",
|
|
1346
|
-
recordingSilence: "Silencio",
|
|
1347
|
-
recordingSource: "Fuente",
|
|
1348
|
-
recordingSourceFilter: "Filtrar fuentes",
|
|
1349
|
-
recordingSpeech: "Voz",
|
|
1350
|
-
recordingStar: "Conservar indefinidamente",
|
|
1351
|
-
recordingStarError: "No se pudo cambiar la protecci\xF3n de la grabaci\xF3n.",
|
|
1352
|
-
recordingStarHelp: "Excluye esta grabaci\xF3n de la limpieza autom\xE1tica y del recuento de retenci\xF3n. La eliminaci\xF3n manual sigue permitida. No cambia el almacenamiento ni la protecci\xF3n contra eliminaci\xF3n del navegador.",
|
|
1353
|
-
recordingStarred: "Protegida de la limpieza autom\xE1tica",
|
|
1354
|
-
recordingStart: "Inicio",
|
|
1355
|
-
recordingState: "Estado",
|
|
1356
|
-
recordingSuccess: "\xC9xito",
|
|
1357
|
-
recordingTimeline: "Cronolog\xEDa de voz / silencio",
|
|
1358
|
-
recordingTitle: "Grabaciones",
|
|
1359
|
-
recordingUnavailable: "Servicio de grabaci\xF3n no disponible. Active la grabaci\xF3n en los ajustes de Voz en vivo con un runtime compatible.",
|
|
1360
|
-
recordingUnstar: "Quitar protecci\xF3n",
|
|
1361
|
-
recordingUnstarHelp: "Permite la limpieza autom\xE1tica e incluye de nuevo esta grabaci\xF3n en el recuento de retenci\xF3n. La eliminaci\xF3n manual sigue permitida. El almacenamiento y la protecci\xF3n contra eliminaci\xF3n del navegador no cambian.",
|
|
1362
|
-
refreshRate: "Frecuencia de actualizaci\xF3n",
|
|
1363
|
-
resume: "Reanudar actualizaciones",
|
|
1364
|
-
runtimeActive: "Solicitudes activas",
|
|
1365
|
-
runtimeAudio: "Duraci\xF3n del \xFAltimo audio",
|
|
1366
|
-
runtimeCache: "Archivos del modelo en cach\xE9",
|
|
1367
|
-
runtimeCancelled: "Cancelado",
|
|
1368
|
-
runtimeCompleted: "Transcripciones completadas",
|
|
1369
|
-
runtimeDevice: "Proveedor de ejecuci\xF3n solicitado",
|
|
1370
|
-
runtimeError: "C\xF3digo de error",
|
|
1371
|
-
runtimeEvents: "Eventos del runtime (\xFAltimos 100)",
|
|
1372
|
-
runtimeFailed: "Transcripciones fallidas / canceladas",
|
|
1373
|
-
runtimeGpu: "Adaptador WebGPU disponible",
|
|
1374
|
-
runtimeHeap: "Estimaci\xF3n del heap JavaScript de la p\xE1gina",
|
|
1375
|
-
runtimeHelp: "El tama\xF1o del modelo/cach\xE9 corresponde a archivos, no a RAM. PCM cuenta solo los b\xFAferes de entrada activos/en cola. El heap JavaScript es una estimaci\xF3n no est\xE1ndar de toda la p\xE1gina y no incluye toda la memoria de workers/WASM/GPU. La RAM/VRAM del modelo no se puede medir de forma fiable aqu\xED. Inicializar WebGPU no prueba que todos los operadores usen la GPU. Los eventos son metadatos del plugin, no logs brutos de ONNX; no guardan audio ni transcripciones.",
|
|
1376
|
-
runtimeId: "Identidad del worker",
|
|
1377
|
-
runtimeInference: "\xDAltima inferencia en el worker",
|
|
1378
|
-
runtimeLoad: "Carga ida y vuelta / worker",
|
|
1379
|
-
runtimeMemory: "Memoria y almacenamiento",
|
|
1380
|
-
runtimeModel: "Modelo",
|
|
1381
|
-
runtimeModelBytes: "Descarga completa del modelo",
|
|
1382
|
-
runtimeNo: "No",
|
|
1383
|
-
runtimePcm: "PCM de entrada contabilizado",
|
|
1384
|
-
runtimePending: "Solicitudes pendientes del worker",
|
|
1385
|
-
runtimeQuantization: "Precisi\xF3n del encoder / decoder",
|
|
1386
|
-
runtimeQueue: "Transcripciones en cola",
|
|
1387
|
-
runtimeRam: "RAM del modelo",
|
|
1388
|
-
runtimeRatio: "Relaci\xF3n procesamiento / audio",
|
|
1389
|
-
runtimeReady: "Listo",
|
|
1390
|
-
runtimeReleased: "Liberado",
|
|
1391
|
-
runtimeRevision: "Revisi\xF3n fijada",
|
|
1392
|
-
runtimeStarted: "Iniciado",
|
|
1393
|
-
runtimeStatus: "Estado",
|
|
1394
|
-
runtimeStorage: "Almacenamiento disponible de este origen",
|
|
1395
|
-
runtimeSuccess: "\xC9xito",
|
|
1396
|
-
runtimeTitle: "Runtimes",
|
|
1397
|
-
runtimeUnavailable: "No disponible",
|
|
1398
|
-
runtimeVersions: "ONNX Runtime / Transformers.js",
|
|
1399
|
-
runtimeVram: "VRAM del modelo",
|
|
1400
|
-
runtimeWorker: "Worker activo",
|
|
1401
|
-
runtimeYes: "S\xED",
|
|
1402
|
-
states: "Estados actuales",
|
|
1403
|
-
title: "Depurador de Voz en vivo",
|
|
1404
|
-
transitions: "Transiciones de estado recientes",
|
|
1405
|
-
waiting: "Esperando un runtime de Voz en vivo compatible."
|
|
1406
|
-
},
|
|
1407
|
-
fr: {
|
|
1408
|
-
activate: "Ouvrir le d\xE9bogueur dans une fen\xEAtre s\xE9par\xE9e",
|
|
1409
|
-
all: "Tous les modules",
|
|
1410
|
-
close: "Fermer le d\xE9bogueur",
|
|
1411
|
-
content: "Inspecter le texte (sensible)",
|
|
1412
|
-
developer: "D\xE9veloppeur",
|
|
1413
|
-
diagnostics: "Diagnostic",
|
|
1414
|
-
empty: "Aucune transition enregistr\xE9e.",
|
|
1415
|
-
error: "La source de diagnostic a \xE9chou\xE9.",
|
|
1416
|
-
eventsClear: "Effacer les \xE9v\xE9nements",
|
|
1417
|
-
eventsPause: "Suspendre les \xE9v\xE9nements",
|
|
1418
|
-
eventsResume: "Reprendre les \xE9v\xE9nements",
|
|
1419
|
-
filter: "Filtrer les modules",
|
|
1420
|
-
freeze: "Figer la vue",
|
|
1421
|
-
help: "Arbre des \xE9tats en lecture seule actualis\xE9 \xE0 10 Hz. Texte masqu\xE9 par d\xE9faut. Ce panneau ne contr\xF4le pas la voix.",
|
|
1422
|
-
omitted: "\xC9l\xE9ments suppl\xE9mentaires masqu\xE9s",
|
|
1423
|
-
popupBlocked: "Le navigateur a bloqu\xE9 la fen\xEAtre du d\xE9bogueur. Autorisez les fen\xEAtres contextuelles pour ce site et r\xE9essayez.",
|
|
1424
|
-
recordingActive: "Enregistrement",
|
|
1425
|
-
recordingAllSources: "Toutes les sources",
|
|
1426
|
-
recordingAttempts: "Historique des transcriptions",
|
|
1427
|
-
recordingAudio: "Lecture de l\u2019enregistrement",
|
|
1428
|
-
recordingAudioError: "Impossible de charger ou lire l\u2019audio.",
|
|
1429
|
-
recordingCancel: "Annuler",
|
|
1430
|
-
recordingCaptured: "Audio captur\xE9",
|
|
1431
|
-
recordingCompleted: "Termin\xE9",
|
|
1432
|
-
recordingConfirmDelete: "Supprimer cet enregistrement entier, y compris son audio et son historique de transcription ? Cette action est irr\xE9versible. Supprimer un enregistrement actif supprime aussi son futur audio enregistr\xE9.",
|
|
1433
|
-
recordingDate: "D\xE9but",
|
|
1434
|
-
recordingDelete: "Supprimer toute la session",
|
|
1435
|
-
recordingDeleteError: "Impossible de supprimer l\u2019enregistrement.",
|
|
1436
|
-
recordingDuration: "Dur\xE9e",
|
|
1437
|
-
recordingEmpty: "Aucun enregistrement ne correspond au filtre.",
|
|
1438
|
-
recordingEnd: "Fin",
|
|
1439
|
-
recordingEngine: "Moteur",
|
|
1440
|
-
recordingError: "Erreur",
|
|
1441
|
-
recordingExport: "Exporter le JSON autonome",
|
|
1442
|
-
recordingExportError: "Impossible d\u2019exporter l\u2019enregistrement.",
|
|
1443
|
-
recordingFailed: "\xC9chec",
|
|
1444
|
-
recordingHelp: "Inspectez l\u2019audio sauvegard\xE9, les limites parole/silence et les tentatives de transcription. Audio et texte peuvent \xEAtre sensibles. Lecture locale ; l\u2019export contient l\u2019audio et le texte. L\u2019inspection ne change pas la capture ; seule une suppression explicite efface les enregistrements.",
|
|
1445
|
-
recordingInterrupted: "Interrompu",
|
|
1446
|
-
recordingLoadError: "Impossible de charger les enregistrements. Actualisez la liste.",
|
|
1447
|
-
recordingLoading: "Chargement des enregistrements\u2026",
|
|
1448
|
-
recordingMemory: "En m\xE9moire uniquement",
|
|
1449
|
-
recordingMicrophone: "Microphone",
|
|
1450
|
-
recordingNoAttempts: "Aucune tentative de transcription.",
|
|
1451
|
-
recordingOpen: "Segment ouvert",
|
|
1452
|
-
recordingPending: "En attente",
|
|
1453
|
-
recordingPersistent: "Sauvegard\xE9 localement",
|
|
1454
|
-
recordingPinConfirmed: "Confirm\xE9 \xE0",
|
|
1455
|
-
recordingPinDelay: "D\xE9lai de confirmation",
|
|
1456
|
-
recordingPins: "Marqueurs de limite",
|
|
1457
|
-
recordingPlay: "Lire le segment",
|
|
1458
|
-
recordingPlaySession: "Lire la session sauvegard\xE9e",
|
|
1459
|
-
recordingRefresh: "Actualiser les enregistrements",
|
|
1460
|
-
recordingSaved: "Audio sauvegard\xE9",
|
|
1461
|
-
recordingSegments: "Segments",
|
|
1462
|
-
recordingSelectSession: "S\xE9lectionnez une session d\u2019enregistrement.",
|
|
1463
|
-
recordingShared: "Audio partag\xE9",
|
|
1464
|
-
recordingSilence: "Silence",
|
|
1465
|
-
recordingSource: "Source",
|
|
1466
|
-
recordingSourceFilter: "Filtrer les sources",
|
|
1467
|
-
recordingSpeech: "Parole",
|
|
1468
|
-
recordingStar: "Conserver ind\xE9finiment",
|
|
1469
|
-
recordingStarError: "Impossible de modifier la protection de l\u2019enregistrement.",
|
|
1470
|
-
recordingStarHelp: "Exclut cet enregistrement du nettoyage automatique et du nombre d\u2019enregistrements \xE0 conserver. La suppression manuelle reste autoris\xE9e. Le stockage et la protection contre l\u2019\xE9viction par le navigateur ne changent pas.",
|
|
1471
|
-
recordingStarred: "Prot\xE9g\xE9 du nettoyage automatique",
|
|
1472
|
-
recordingStart: "D\xE9but",
|
|
1473
|
-
recordingState: "\xC9tat",
|
|
1474
|
-
recordingSuccess: "R\xE9ussite",
|
|
1475
|
-
recordingTimeline: "Chronologie parole / silence",
|
|
1476
|
-
recordingTitle: "Enregistrements",
|
|
1477
|
-
recordingUnavailable: "Service d\u2019enregistrement indisponible. Activez l\u2019enregistrement dans les param\xE8tres de Voix en direct avec un runtime compatible.",
|
|
1478
|
-
recordingUnstar: "Retirer la protection",
|
|
1479
|
-
recordingUnstarHelp: "Autorise le nettoyage automatique et compte \xE0 nouveau cet enregistrement parmi ceux \xE0 conserver. La suppression manuelle reste autoris\xE9e. Le stockage et la protection contre l\u2019\xE9viction par le navigateur ne changent pas.",
|
|
1480
|
-
refreshRate: "Fr\xE9quence de mise \xE0 jour",
|
|
1481
|
-
resume: "Reprendre les mises \xE0 jour",
|
|
1482
|
-
runtimeActive: "Requ\xEAtes actives",
|
|
1483
|
-
runtimeAudio: "Dur\xE9e du dernier audio",
|
|
1484
|
-
runtimeCache: "Fichiers du mod\xE8le en cache",
|
|
1485
|
-
runtimeCancelled: "Annul\xE9",
|
|
1486
|
-
runtimeCompleted: "Transcriptions termin\xE9es",
|
|
1487
|
-
runtimeDevice: "Fournisseur d\u2019ex\xE9cution demand\xE9",
|
|
1488
|
-
runtimeError: "Code d\u2019erreur",
|
|
1489
|
-
runtimeEvents: "\xC9v\xE9nements du runtime (100 derniers)",
|
|
1490
|
-
runtimeFailed: "Transcriptions \xE9chou\xE9es / annul\xE9es",
|
|
1491
|
-
runtimeGpu: "Adaptateur WebGPU disponible",
|
|
1492
|
-
runtimeHeap: "Estimation du tas JavaScript de la page",
|
|
1493
|
-
runtimeHelp: "La taille du mod\xE8le/cache mesure les fichiers, pas la RAM. PCM compte seulement les buffers d\u2019entr\xE9e actifs/en attente. Le tas JavaScript est une estimation non standard de la page et exclut une partie de la m\xE9moire workers/WASM/GPU. La RAM/VRAM du mod\xE8le ne peut pas \xEAtre mesur\xE9e fiablement ici. Initialiser WebGPU ne prouve pas que tous les op\xE9rateurs utilisent le GPU. Les \xE9v\xE9nements sont des m\xE9tadonn\xE9es du plugin, pas des logs ONNX bruts ; aucun audio ni transcription conserv\xE9s.",
|
|
1494
|
-
runtimeId: "Identit\xE9 du worker",
|
|
1495
|
-
runtimeInference: "Derni\xE8re inf\xE9rence du worker",
|
|
1496
|
-
runtimeLoad: "Chargement aller-retour / worker",
|
|
1497
|
-
runtimeMemory: "M\xE9moire et stockage",
|
|
1498
|
-
runtimeModel: "Mod\xE8le",
|
|
1499
|
-
runtimeModelBytes: "T\xE9l\xE9chargement complet du mod\xE8le",
|
|
1500
|
-
runtimeNo: "Non",
|
|
1501
|
-
runtimePcm: "PCM d\u2019entr\xE9e comptabilis\xE9",
|
|
1502
|
-
runtimePending: "Requ\xEAtes du worker en attente",
|
|
1503
|
-
runtimeQuantization: "Pr\xE9cision encoder / decoder",
|
|
1504
|
-
runtimeQueue: "Transcriptions en attente",
|
|
1505
|
-
runtimeRam: "RAM du mod\xE8le",
|
|
1506
|
-
runtimeRatio: "Rapport traitement / audio",
|
|
1507
|
-
runtimeReady: "Pr\xEAt",
|
|
1508
|
-
runtimeReleased: "Lib\xE9r\xE9",
|
|
1509
|
-
runtimeRevision: "R\xE9vision fix\xE9e",
|
|
1510
|
-
runtimeStarted: "D\xE9marr\xE9",
|
|
1511
|
-
runtimeStatus: "\xC9tat",
|
|
1512
|
-
runtimeStorage: "Stockage disponible pour cette origine",
|
|
1513
|
-
runtimeSuccess: "Succ\xE8s",
|
|
1514
|
-
runtimeTitle: "Runtimes",
|
|
1515
|
-
runtimeUnavailable: "Indisponible",
|
|
1516
|
-
runtimeVersions: "ONNX Runtime / Transformers.js",
|
|
1517
|
-
runtimeVram: "VRAM du mod\xE8le",
|
|
1518
|
-
runtimeWorker: "Worker actif",
|
|
1519
|
-
runtimeYes: "Oui",
|
|
1520
|
-
states: "\xC9tats actuels",
|
|
1521
|
-
title: "D\xE9bogueur Voix en direct",
|
|
1522
|
-
transitions: "Transitions r\xE9centes des \xE9tats",
|
|
1523
|
-
waiting: "En attente d\u2019un runtime Voix en direct compatible."
|
|
1524
|
-
},
|
|
1525
|
-
hi: {
|
|
1526
|
-
activate: "\u0921\u0940\u092C\u0917\u0930 \u0905\u0932\u0917 \u0935\u093F\u0902\u0921\u094B \u092E\u0947\u0902 \u0916\u094B\u0932\u0947\u0902",
|
|
1527
|
-
all: "\u0938\u092D\u0940 \u092E\u0949\u0921\u094D\u092F\u0942\u0932",
|
|
1528
|
-
close: "\u0921\u0940\u092C\u0917\u0930 \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
1529
|
-
content: "\u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0938\u093E\u092E\u0917\u094D\u0930\u0940 \u0926\u0947\u0916\u0947\u0902 (\u0938\u0902\u0935\u0947\u0926\u0928\u0936\u0940\u0932)",
|
|
1530
|
-
developer: "\u0921\u0947\u0935\u0932\u092A\u0930",
|
|
1531
|
-
diagnostics: "\u0928\u093F\u0926\u093E\u0928",
|
|
1532
|
-
empty: "\u0905\u092D\u0940 \u0915\u094B\u0908 \u091F\u094D\u0930\u093E\u0902\u091C\u093C\u093F\u0936\u0928 \u0926\u0930\u094D\u091C \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",
|
|
1533
|
-
error: "\u0921\u093E\u092F\u0917\u094D\u0928\u094B\u0938\u094D\u091F\u093F\u0915 \u0938\u094D\u0930\u094B\u0924 \u0935\u093F\u092B\u0932 \u0939\u0941\u0906\u0964",
|
|
1534
|
-
eventsClear: "\u0907\u0935\u0947\u0902\u091F \u0938\u093E\u092B\u093C \u0915\u0930\u0947\u0902",
|
|
1535
|
-
eventsPause: "\u0907\u0935\u0947\u0902\u091F \u0930\u094B\u0915\u0947\u0902",
|
|
1536
|
-
eventsResume: "\u0907\u0935\u0947\u0902\u091F \u092B\u093F\u0930 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902",
|
|
1537
|
-
filter: "\u092E\u0949\u0921\u094D\u092F\u0942\u0932 \u092B\u093C\u093F\u0932\u094D\u091F\u0930 \u0915\u0930\u0947\u0902",
|
|
1538
|
-
freeze: "\u0926\u0943\u0936\u094D\u092F \u0930\u094B\u0915\u0947\u0902",
|
|
1539
|
-
help: "\u0915\u0947\u0935\u0932 \u092A\u0922\u093C\u0928\u0947 \u0935\u093E\u0932\u093E \u0938\u094D\u091F\u0947\u091F \u091F\u094D\u0930\u0940 10 Hz \u092A\u0930 \u0905\u092A\u0921\u0947\u091F \u0939\u094B\u0924\u093E \u0939\u0948\u0964 \u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0921\u093F\u092B\u093C\u0949\u0932\u094D\u091F \u0930\u0942\u092A \u0938\u0947 \u091B\u093F\u092A\u093E \u0939\u0948\u0964 \u092F\u0939 \u092A\u0948\u0928\u0932 \u0935\u0949\u0907\u0938 \u0915\u094B \u0928\u093F\u092F\u0902\u0924\u094D\u0930\u093F\u0924 \u0928\u0939\u0940\u0902 \u0915\u0930\u0924\u093E\u0964",
|
|
1540
|
-
omitted: "\u0905\u0924\u093F\u0930\u093F\u0915\u094D\u0924 \u0906\u0907\u091F\u092E \u091B\u093F\u092A\u093E\u090F \u0917\u090F",
|
|
1541
|
-
popupBlocked: "\u092C\u094D\u0930\u093E\u0909\u091C\u093C\u0930 \u0928\u0947 \u0921\u0940\u092C\u0917\u0930 \u0935\u093F\u0902\u0921\u094B \u092C\u094D\u0932\u0949\u0915 \u0915\u0930 \u0926\u0940\u0964 \u0907\u0938 \u0938\u093E\u0907\u091F \u0915\u0947 \u0932\u093F\u090F \u092A\u0949\u092A-\u0905\u092A \u0915\u0940 \u0905\u0928\u0941\u092E\u0924\u093F \u0926\u0947\u0902 \u0914\u0930 \u092B\u093F\u0930 \u0915\u094B\u0936\u093F\u0936 \u0915\u0930\u0947\u0902\u0964",
|
|
1542
|
-
recordingActive: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u091C\u093E\u0930\u0940",
|
|
1543
|
-
recordingAllSources: "\u0938\u092D\u0940 \u0938\u094D\u0930\u094B\u0924",
|
|
1544
|
-
recordingAttempts: "\u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u0907\u0924\u093F\u0939\u093E\u0938",
|
|
1545
|
-
recordingAudio: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u092A\u094D\u0932\u0947\u092C\u0948\u0915",
|
|
1546
|
-
recordingAudioError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0911\u0921\u093F\u092F\u094B \u0932\u094B\u0921 \u092F\u093E \u091A\u0932\u093E\u092F\u093E \u0928\u0939\u0940\u0902 \u091C\u093E \u0938\u0915\u093E\u0964",
|
|
1547
|
-
recordingCancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
1548
|
-
recordingCaptured: "\u0915\u0948\u092A\u094D\u091A\u0930 \u0915\u093F\u092F\u093E \u0917\u092F\u093E \u0911\u0921\u093F\u092F\u094B",
|
|
1549
|
-
recordingCompleted: "\u092A\u0942\u0930\u094D\u0923",
|
|
1550
|
-
recordingConfirmDelete: "\u0911\u0921\u093F\u092F\u094B \u0914\u0930 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u0907\u0924\u093F\u0939\u093E\u0938 \u0938\u0939\u093F\u0924 \u092F\u0939 \u092A\u0942\u0930\u0940 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u090F\u0901? \u0907\u0938\u0947 \u0935\u093E\u092A\u0938 \u0928\u0939\u0940\u0902 \u0932\u093E\u092F\u093E \u091C\u093E \u0938\u0915\u0924\u093E\u0964 \u0938\u0915\u094D\u0930\u093F\u092F \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u0928\u0947 \u092A\u0930 \u0906\u0917\u0947 \u0938\u0939\u0947\u091C\u093E \u091C\u093E\u0928\u0947 \u0935\u093E\u0932\u093E \u0911\u0921\u093F\u092F\u094B \u092D\u0940 \u0939\u091F\u093E \u0926\u093F\u092F\u093E \u091C\u093E\u0924\u093E \u0939\u0948\u0964",
|
|
1551
|
-
recordingDate: "\u0936\u0941\u0930\u0941\u0906\u0924",
|
|
1552
|
-
recordingDelete: "\u092A\u0942\u0930\u0940 \u0938\u0924\u094D\u0930 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u090F\u0901",
|
|
1553
|
-
recordingDeleteError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u0908 \u0928\u0939\u0940\u0902 \u091C\u093E \u0938\u0915\u0940\u0964",
|
|
1554
|
-
recordingDuration: "\u0905\u0935\u0927\u093F",
|
|
1555
|
-
recordingEmpty: "\u0907\u0938 \u092B\u093C\u093F\u0932\u094D\u091F\u0930 \u0938\u0947 \u092E\u0947\u0932 \u0916\u093E\u0924\u0940 \u0915\u094B\u0908 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",
|
|
1556
|
-
recordingEnd: "\u0905\u0902\u0924",
|
|
1557
|
-
recordingEngine: "\u0907\u0902\u091C\u0928",
|
|
1558
|
-
recordingError: "\u0924\u094D\u0930\u0941\u091F\u093F",
|
|
1559
|
-
recordingExport: "\u0938\u094D\u0935\u092F\u0902\u092A\u0942\u0930\u094D\u0923 JSON \u0928\u093F\u0930\u094D\u092F\u093E\u0924 \u0915\u0930\u0947\u0902",
|
|
1560
|
-
recordingExportError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0928\u093F\u0930\u094D\u092F\u093E\u0924 \u0928\u0939\u0940\u0902 \u0915\u0940 \u091C\u093E \u0938\u0915\u0940\u0964",
|
|
1561
|
-
recordingFailed: "\u0935\u093F\u092B\u0932",
|
|
1562
|
-
recordingHelp: "\u0938\u0939\u0947\u091C\u093E \u0911\u0921\u093F\u092F\u094B, \u0906\u0935\u093E\u091C\u093C/\u092E\u094C\u0928 \u0938\u0940\u092E\u093E\u090F\u0901 \u0914\u0930 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u092A\u094D\u0930\u092F\u093E\u0938 \u0926\u0947\u0916\u0947\u0902\u0964 \u0911\u0921\u093F\u092F\u094B \u0914\u0930 \u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0938\u0902\u0935\u0947\u0926\u0928\u0936\u0940\u0932 \u0939\u094B \u0938\u0915\u0924\u0947 \u0939\u0948\u0902\u0964 \u092A\u094D\u0932\u0947\u092C\u0948\u0915 \u0938\u094D\u0925\u093E\u0928\u0940\u092F \u0939\u0948; \u0928\u093F\u0930\u094D\u092F\u093E\u0924 \u092E\u0947\u0902 \u0911\u0921\u093F\u092F\u094B \u0914\u0930 \u091F\u0947\u0915\u094D\u0938\u094D\u091F \u0936\u093E\u092E\u093F\u0932 \u0939\u0948\u0902\u0964 \u0928\u093F\u0930\u0940\u0915\u094D\u0937\u0923 \u0915\u0948\u092A\u094D\u091A\u0930 \u0928\u0939\u0940\u0902 \u092C\u0926\u0932\u0924\u093E; \u0915\u0947\u0935\u0932 \u0938\u094D\u092A\u0937\u094D\u091F \u0939\u091F\u093E\u0928\u0947 \u0915\u0940 \u0915\u093E\u0930\u094D\u0930\u0935\u093E\u0908 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0939\u091F\u093E\u0924\u0940 \u0939\u0948\u0964",
|
|
1563
|
-
recordingInterrupted: "\u092C\u093E\u0927\u093F\u0924",
|
|
1564
|
-
recordingLoadError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0938\u0924\u094D\u0930 \u0932\u094B\u0921 \u0928\u0939\u0940\u0902 \u0939\u094B \u0938\u0915\u0947\u0964 \u0930\u0940\u092B\u093C\u094D\u0930\u0947\u0936 \u0915\u0930\u0947\u0902\u0964",
|
|
1565
|
-
recordingLoading: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u0940 \u0939\u0948\u0902\u2026",
|
|
1566
|
-
recordingMemory: "\u0915\u0947\u0935\u0932 \u092E\u0947\u092E\u094B\u0930\u0940 \u092E\u0947\u0902",
|
|
1567
|
-
recordingMicrophone: "\u092E\u093E\u0907\u0915\u094D\u0930\u094B\u092B\u093C\u094B\u0928",
|
|
1568
|
-
recordingNoAttempts: "\u0905\u092D\u0940 \u0915\u094B\u0908 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u092A\u094D\u0930\u092F\u093E\u0938 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964",
|
|
1569
|
-
recordingOpen: "\u0916\u0941\u0932\u093E \u0916\u0902\u0921",
|
|
1570
|
-
recordingPending: "\u0932\u0902\u092C\u093F\u0924",
|
|
1571
|
-
recordingPersistent: "\u0938\u094D\u0925\u093E\u0928\u0940\u092F \u0930\u0942\u092A \u0938\u0947 \u0938\u0939\u0947\u091C\u093E",
|
|
1572
|
-
recordingPinConfirmed: "\u092A\u0941\u0937\u094D\u091F\u093F \u0938\u092E\u092F",
|
|
1573
|
-
recordingPinDelay: "\u092A\u0941\u0937\u094D\u091F\u093F \u092E\u0947\u0902 \u0935\u093F\u0932\u0902\u092C",
|
|
1574
|
-
recordingPins: "\u0938\u0940\u092E\u093E \u091A\u093F\u0939\u094D\u0928",
|
|
1575
|
-
recordingPlay: "\u0916\u0902\u0921 \u091A\u0932\u093E\u090F\u0901",
|
|
1576
|
-
recordingPlaySession: "\u0938\u0939\u0947\u091C\u093E \u0938\u0924\u094D\u0930 \u091A\u0932\u093E\u090F\u0901",
|
|
1577
|
-
recordingRefresh: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0930\u0940\u092B\u093C\u094D\u0930\u0947\u0936 \u0915\u0930\u0947\u0902",
|
|
1578
|
-
recordingSaved: "\u0938\u0939\u0947\u091C\u093E \u0911\u0921\u093F\u092F\u094B",
|
|
1579
|
-
recordingSegments: "\u0916\u0902\u0921",
|
|
1580
|
-
recordingSelectSession: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0938\u0924\u094D\u0930 \u091A\u0941\u0928\u0947\u0902\u0964",
|
|
1581
|
-
recordingShared: "\u0938\u093E\u091D\u093E \u0911\u0921\u093F\u092F\u094B",
|
|
1582
|
-
recordingSilence: "\u092E\u094C\u0928",
|
|
1583
|
-
recordingSource: "\u0938\u094D\u0930\u094B\u0924",
|
|
1584
|
-
recordingSourceFilter: "\u0938\u094D\u0930\u094B\u0924 \u092B\u093C\u093F\u0932\u094D\u091F\u0930 \u0915\u0930\u0947\u0902",
|
|
1585
|
-
recordingSpeech: "\u0906\u0935\u093E\u091C\u093C",
|
|
1586
|
-
recordingStar: "\u0905\u0928\u093F\u0936\u094D\u091A\u093F\u0924 \u0915\u093E\u0932 \u0924\u0915 \u0930\u0916\u0947\u0902",
|
|
1587
|
-
recordingStarError: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u0940 \u0938\u0941\u0930\u0915\u094D\u0937\u093E \u092C\u0926\u0932\u0940 \u0928\u0939\u0940\u0902 \u091C\u093E \u0938\u0915\u0940\u0964",
|
|
1588
|
-
recordingStarHelp: "\u0907\u0938 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u094B \u0938\u094D\u0935\u091A\u093E\u0932\u093F\u0924 \u0938\u092B\u093C\u093E\u0908 \u0914\u0930 \u0930\u0916\u0940 \u091C\u093E\u0928\u0947 \u0935\u093E\u0932\u0940 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u0940 \u0917\u093F\u0928\u0924\u0940 \u0938\u0947 \u092C\u093E\u0939\u0930 \u0930\u0916\u0947\u0902\u0964 \u092E\u0948\u0928\u094D\u092F\u0941\u0905\u0932 \u0930\u0942\u092A \u0938\u0947 \u0939\u091F\u093E\u0928\u093E \u0905\u092C \u092D\u0940 \u0938\u0902\u092D\u0935 \u0939\u0948\u0964 \u0907\u0938\u0938\u0947 \u092C\u094D\u0930\u093E\u0909\u091C\u093C\u0930 \u0915\u0947 \u0938\u094D\u091F\u094B\u0930\u0947\u091C \u092F\u093E \u0928\u093F\u0937\u094D\u0915\u093E\u0938\u0928 \u0938\u0941\u0930\u0915\u094D\u0937\u093E \u092E\u0947\u0902 \u092C\u0926\u0932\u093E\u0935 \u0928\u0939\u0940\u0902 \u0939\u094B\u0924\u093E\u0964",
|
|
1589
|
-
recordingStarred: "\u0938\u094D\u0935\u091A\u093E\u0932\u093F\u0924 \u0938\u092B\u093C\u093E\u0908 \u0938\u0947 \u0938\u0941\u0930\u0915\u094D\u0937\u093F\u0924",
|
|
1590
|
-
recordingStart: "\u0936\u0941\u0930\u0941\u0906\u0924",
|
|
1591
|
-
recordingState: "\u0938\u094D\u0925\u093F\u0924\u093F",
|
|
1592
|
-
recordingSuccess: "\u0938\u092B\u0932",
|
|
1593
|
-
recordingTimeline: "\u0906\u0935\u093E\u091C\u093C / \u092E\u094C\u0928 \u0938\u092E\u092F\u0930\u0947\u0916\u093E",
|
|
1594
|
-
recordingTitle: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917",
|
|
1595
|
-
recordingUnavailable: "\u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0938\u0947\u0935\u093E \u0909\u092A\u0932\u092C\u094D\u0927 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u0938\u0902\u0917\u0924 \u0930\u0928\u091F\u093E\u0907\u092E \u0915\u0947 \u0938\u093E\u0925 \u0932\u093E\u0907\u0935 \u0935\u0949\u0907\u0938 \u0938\u0947\u091F\u093F\u0902\u0917\u094D\u0938 \u092E\u0947\u0902 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u091A\u093E\u0932\u0942 \u0915\u0930\u0947\u0902\u0964",
|
|
1596
|
-
recordingUnstar: "\u0938\u0941\u0930\u0915\u094D\u0937\u093E \u0939\u091F\u093E\u090F\u0901",
|
|
1597
|
-
recordingUnstarHelp: "\u0938\u094D\u0935\u091A\u093E\u0932\u093F\u0924 \u0938\u092B\u093C\u093E\u0908 \u0915\u0940 \u0905\u0928\u0941\u092E\u0924\u093F \u0926\u0947\u0902 \u0914\u0930 \u0907\u0938 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u094B \u092B\u093F\u0930 \u0938\u0947 \u0930\u0916\u0940 \u091C\u093E\u0928\u0947 \u0935\u093E\u0932\u0940 \u0930\u093F\u0915\u0949\u0930\u094D\u0921\u093F\u0902\u0917 \u0915\u0940 \u0917\u093F\u0928\u0924\u0940 \u092E\u0947\u0902 \u0936\u093E\u092E\u093F\u0932 \u0915\u0930\u0947\u0902\u0964 \u092E\u0948\u0928\u094D\u092F\u0941\u0905\u0932 \u0930\u0942\u092A \u0938\u0947 \u0939\u091F\u093E\u0928\u093E \u0905\u092C \u092D\u0940 \u0938\u0902\u092D\u0935 \u0939\u0948\u0964 \u092C\u094D\u0930\u093E\u0909\u091C\u093C\u0930 \u0915\u093E \u0938\u094D\u091F\u094B\u0930\u0947\u091C \u0914\u0930 \u0928\u093F\u0937\u094D\u0915\u093E\u0938\u0928 \u0938\u0941\u0930\u0915\u094D\u0937\u093E \u0928\u0939\u0940\u0902 \u092C\u0926\u0932\u0924\u0947\u0964",
|
|
1598
|
-
refreshRate: "\u0905\u092A\u0921\u0947\u091F \u0906\u0935\u0943\u0924\u094D\u0924\u093F",
|
|
1599
|
-
resume: "\u0905\u092A\u0921\u0947\u091F \u092B\u093F\u0930 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902",
|
|
1600
|
-
runtimeActive: "\u0938\u0915\u094D\u0930\u093F\u092F \u0905\u0928\u0941\u0930\u094B\u0927",
|
|
1601
|
-
runtimeAudio: "\u092A\u093F\u091B\u0932\u0947 \u0911\u0921\u093F\u092F\u094B \u0915\u0940 \u0905\u0935\u0927\u093F",
|
|
1602
|
-
runtimeCache: "\u0915\u0948\u0936 \u0915\u0940 \u0917\u0908 \u092E\u0949\u0921\u0932 \u092B\u093C\u093E\u0907\u0932\u0947\u0902",
|
|
1603
|
-
runtimeCancelled: "\u0930\u0926\u094D\u0926",
|
|
1604
|
-
runtimeCompleted: "\u092A\u0942\u0930\u0940 \u0939\u0941\u0908 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928",
|
|
1605
|
-
runtimeDevice: "\u0905\u0928\u0941\u0930\u094B\u0927\u093F\u0924 \u0928\u093F\u0937\u094D\u092A\u093E\u0926\u0928 \u092A\u094D\u0930\u0926\u093E\u0924\u093E",
|
|
1606
|
-
runtimeError: "\u0924\u094D\u0930\u0941\u091F\u093F \u0915\u094B\u0921",
|
|
1607
|
-
runtimeEvents: "\u0930\u0928\u091F\u093E\u0907\u092E \u0918\u091F\u0928\u093E\u090F\u0901 (\u092A\u093F\u091B\u0932\u0940 100)",
|
|
1608
|
-
runtimeFailed: "\u0935\u093F\u092B\u0932 / \u0930\u0926\u094D\u0926 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928",
|
|
1609
|
-
runtimeGpu: "WebGPU \u090F\u0921\u093E\u092A\u094D\u091F\u0930 \u0909\u092A\u0932\u092C\u094D\u0927",
|
|
1610
|
-
runtimeHeap: "\u092A\u0947\u091C JavaScript \u0939\u0940\u092A \u0915\u093E \u0905\u0928\u0941\u092E\u093E\u0928",
|
|
1611
|
-
runtimeHelp: "\u092E\u0949\u0921\u0932/\u0915\u0948\u0936 \u0915\u093E \u0906\u0915\u093E\u0930 \u092B\u093C\u093E\u0907\u0932\u094B\u0902 \u0915\u093E \u0939\u0948, RAM \u0915\u093E \u0928\u0939\u0940\u0902\u0964 PCM \u0915\u0947\u0935\u0932 \u0938\u0915\u094D\u0930\u093F\u092F/\u0915\u0924\u093E\u0930\u092C\u0926\u094D\u0927 \u0907\u0928\u092A\u0941\u091F \u092C\u092B\u093C\u0930 \u0917\u093F\u0928\u0924\u093E \u0939\u0948\u0964 JavaScript \u0939\u0940\u092A \u092A\u0942\u0930\u0947 \u092A\u0947\u091C \u0915\u093E \u0917\u0948\u0930-\u092E\u093E\u0928\u0915 \u0905\u0928\u0941\u092E\u093E\u0928 \u0939\u0948 \u0914\u0930 \u092A\u0942\u0930\u0940 worker/WASM/GPU \u092E\u0947\u092E\u094B\u0930\u0940 \u0928\u0939\u0940\u0902 \u092E\u093E\u092A\u0924\u093E\u0964 \u092E\u0949\u0921\u0932 RAM/VRAM \u092F\u0939\u093E\u0901 \u092D\u0930\u094B\u0938\u0947\u092E\u0902\u0926 \u0924\u0930\u0940\u0915\u0947 \u0938\u0947 \u0928\u0939\u0940\u0902 \u092E\u093E\u092A\u0940 \u091C\u093E \u0938\u0915\u0924\u0940\u0964 WebGPU \u0936\u0941\u0930\u0942 \u0939\u094B\u0928\u0947 \u0915\u093E \u092E\u0924\u0932\u092C \u0938\u092D\u0940 \u0911\u092A\u0930\u0947\u091F\u0930 GPU \u092A\u0930 \u091A\u0932\u0947, \u092F\u0939 \u0928\u0939\u0940\u0902 \u0939\u0948\u0964 \u0918\u091F\u0928\u093E\u090F\u0901 \u092A\u094D\u0932\u0917\u0907\u0928 \u091C\u0940\u0935\u0928\u091A\u0915\u094D\u0930 \u092E\u0947\u091F\u093E\u0921\u0947\u091F\u093E \u0939\u0948\u0902, \u0915\u091A\u094D\u091A\u0947 ONNX \u0932\u0949\u0917 \u0928\u0939\u0940\u0902; \u0911\u0921\u093F\u092F\u094B \u092F\u093E \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928 \u0928\u0939\u0940\u0902 \u0930\u0916\u0924\u0947\u0964",
|
|
1612
|
-
runtimeId: "\u0935\u0930\u094D\u0915\u0930 \u092A\u0939\u091A\u093E\u0928",
|
|
1613
|
-
runtimeInference: "\u0935\u0930\u094D\u0915\u0930 \u0915\u093E \u092A\u093F\u091B\u0932\u093E \u0907\u0928\u094D\u092B\u093C\u0930\u0947\u0902\u0938",
|
|
1614
|
-
runtimeLoad: "\u0932\u094B\u0921 \u0930\u093E\u0909\u0902\u0921 \u091F\u094D\u0930\u093F\u092A / \u0935\u0930\u094D\u0915\u0930",
|
|
1615
|
-
runtimeMemory: "\u092E\u0947\u092E\u094B\u0930\u0940 \u0914\u0930 \u0938\u094D\u091F\u094B\u0930\u0947\u091C",
|
|
1616
|
-
runtimeModel: "\u092E\u0949\u0921\u0932",
|
|
1617
|
-
runtimeModelBytes: "\u092A\u0942\u0930\u093E \u092E\u0949\u0921\u0932 \u0921\u093E\u0909\u0928\u0932\u094B\u0921",
|
|
1618
|
-
runtimeNo: "\u0928\u0939\u0940\u0902",
|
|
1619
|
-
runtimePcm: "\u0917\u093F\u0928\u093E \u0917\u092F\u093E \u0907\u0928\u092A\u0941\u091F PCM",
|
|
1620
|
-
runtimePending: "\u0932\u0902\u092C\u093F\u0924 \u0935\u0930\u094D\u0915\u0930 \u0905\u0928\u0941\u0930\u094B\u0927",
|
|
1621
|
-
runtimeQuantization: "\u090F\u0928\u0915\u094B\u0921\u0930 / \u0921\u093F\u0915\u094B\u0921\u0930 \u092A\u0930\u093F\u0936\u0941\u0926\u094D\u0927\u0924\u093E",
|
|
1622
|
-
runtimeQueue: "\u0915\u0924\u093E\u0930\u092C\u0926\u094D\u0927 \u091F\u094D\u0930\u093E\u0902\u0938\u0915\u094D\u0930\u093F\u092A\u094D\u0936\u0928",
|
|
1623
|
-
runtimeRam: "\u092E\u0949\u0921\u0932 RAM",
|
|
1624
|
-
runtimeRatio: "\u092A\u094D\u0930\u0938\u0902\u0938\u094D\u0915\u0930\u0923 / \u0911\u0921\u093F\u092F\u094B \u0905\u0928\u0941\u092A\u093E\u0924",
|
|
1625
|
-
runtimeReady: "\u0924\u0948\u092F\u093E\u0930",
|
|
1626
|
-
runtimeReleased: "\u092E\u0941\u0915\u094D\u0924",
|
|
1627
|
-
runtimeRevision: "\u092A\u093F\u0928 \u0915\u093F\u092F\u093E \u0917\u092F\u093E \u0930\u093F\u0935\u093F\u091C\u093C\u0928",
|
|
1628
|
-
runtimeStarted: "\u0936\u0941\u0930\u0942",
|
|
1629
|
-
runtimeStatus: "\u0938\u094D\u0925\u093F\u0924\u093F",
|
|
1630
|
-
runtimeStorage: "\u0907\u0938 \u0913\u0930\u093F\u091C\u093F\u0928 \u0915\u093E \u0909\u092A\u0932\u092C\u094D\u0927 \u0938\u094D\u091F\u094B\u0930\u0947\u091C",
|
|
1631
|
-
runtimeSuccess: "\u0938\u092B\u0932",
|
|
1632
|
-
runtimeTitle: "\u0930\u0928\u091F\u093E\u0907\u092E",
|
|
1633
|
-
runtimeUnavailable: "\u0905\u0928\u0941\u092A\u0932\u092C\u094D\u0927",
|
|
1634
|
-
runtimeVersions: "ONNX Runtime / Transformers.js",
|
|
1635
|
-
runtimeVram: "\u092E\u0949\u0921\u0932 VRAM",
|
|
1636
|
-
runtimeWorker: "\u0935\u0930\u094D\u0915\u0930 \u0938\u0915\u094D\u0930\u093F\u092F",
|
|
1637
|
-
runtimeYes: "\u0939\u093E\u0901",
|
|
1638
|
-
states: "\u0935\u0930\u094D\u0924\u092E\u093E\u0928 \u0938\u094D\u0925\u093F\u0924\u093F\u092F\u093E\u0901",
|
|
1639
|
-
title: "\u0932\u093E\u0907\u0935 \u0935\u0949\u0907\u0938 \u0921\u0940\u092C\u0917\u0930",
|
|
1640
|
-
transitions: "\u0939\u093E\u0932 \u0915\u0947 \u0938\u094D\u091F\u0947\u091F \u091F\u094D\u0930\u093E\u0902\u091C\u093C\u093F\u0936\u0928",
|
|
1641
|
-
waiting: "\u0938\u0902\u0917\u0924 \u0932\u093E\u0907\u0935 \u0935\u0949\u0907\u0938 \u0930\u0928\u091F\u093E\u0907\u092E \u0915\u0940 \u092A\u094D\u0930\u0924\u0940\u0915\u094D\u0937\u093E \u0939\u0948\u0964"
|
|
2062
|
+
name: "Portugu\xEAs (Brasil)",
|
|
2063
|
+
short: "pt-BR",
|
|
2064
|
+
locale: "pt-BR",
|
|
2065
|
+
lang: () => Promise.resolve().then(() => (init_pt_BR4(), pt_BR_exports))
|
|
1642
2066
|
},
|
|
1643
|
-
zh: {
|
|
1644
|
-
activate: "\u5728\u72EC\u7ACB\u7A97\u53E3\u4E2D\u6253\u5F00\u8C03\u8BD5\u5668",
|
|
1645
|
-
all: "\u6240\u6709\u6A21\u5757",
|
|
1646
|
-
close: "\u5173\u95ED\u8C03\u8BD5\u5668",
|
|
1647
|
-
content: "\u67E5\u770B\u6587\u672C\u5185\u5BB9\uFF08\u654F\u611F\uFF09",
|
|
1648
|
-
developer: "\u5F00\u53D1\u8005",
|
|
1649
|
-
diagnostics: "\u8BCA\u65AD",
|
|
1650
|
-
empty: "\u5C1A\u672A\u8BB0\u5F55\u72B6\u6001\u8F6C\u6362\u3002",
|
|
1651
|
-
error: "\u8BCA\u65AD\u6570\u636E\u6E90\u5931\u8D25\u3002",
|
|
1652
|
-
eventsClear: "\u6E05\u9664\u4E8B\u4EF6",
|
|
1653
|
-
eventsPause: "\u6682\u505C\u4E8B\u4EF6",
|
|
1654
|
-
eventsResume: "\u6062\u590D\u4E8B\u4EF6",
|
|
1655
|
-
filter: "\u7B5B\u9009\u6A21\u5757",
|
|
1656
|
-
freeze: "\u51BB\u7ED3\u89C6\u56FE",
|
|
1657
|
-
help: "\u53EA\u8BFB\u72B6\u6001\u6811\u4EE5 10 Hz \u66F4\u65B0\u3002\u9ED8\u8BA4\u9690\u85CF\u6587\u672C\u3002\u6B64\u9762\u677F\u4E0D\u63A7\u5236\u8BED\u97F3\u3002",
|
|
1658
|
-
omitted: "\u5DF2\u7701\u7565\u5176\u4ED6\u9879\u76EE",
|
|
1659
|
-
popupBlocked: "\u6D4F\u89C8\u5668\u963B\u6B62\u4E86\u8C03\u8BD5\u5668\u7A97\u53E3\u3002\u8BF7\u5141\u8BB8\u6B64\u7F51\u7AD9\u7684\u5F39\u51FA\u7A97\u53E3\uFF0C\u7136\u540E\u91CD\u8BD5\u3002",
|
|
1660
|
-
recordingActive: "\u6B63\u5728\u5F55\u5236",
|
|
1661
|
-
recordingAllSources: "\u6240\u6709\u6765\u6E90",
|
|
1662
|
-
recordingAttempts: "\u8F6C\u5F55\u5386\u53F2",
|
|
1663
|
-
recordingAudio: "\u5F55\u97F3\u64AD\u653E",
|
|
1664
|
-
recordingAudioError: "\u65E0\u6CD5\u52A0\u8F7D\u6216\u64AD\u653E\u5F55\u97F3\u97F3\u9891\u3002",
|
|
1665
|
-
recordingCancel: "\u53D6\u6D88",
|
|
1666
|
-
recordingCaptured: "\u5DF2\u6355\u83B7\u97F3\u9891",
|
|
1667
|
-
recordingCompleted: "\u5DF2\u5B8C\u6210",
|
|
1668
|
-
recordingConfirmDelete: "\u5220\u9664\u6574\u4E2A\u5F55\u97F3\uFF0C\u5305\u62EC\u97F3\u9891\u548C\u8F6C\u5F55\u5386\u53F2\uFF1F\u6B64\u64CD\u4F5C\u65E0\u6CD5\u64A4\u9500\u3002\u5220\u9664\u6B63\u5728\u5F55\u5236\u7684\u4F1A\u8BDD\u8FD8\u4F1A\u4E22\u5F03\u540E\u7EED\u4FDD\u5B58\u7684\u97F3\u9891\u3002",
|
|
1669
|
-
recordingDate: "\u5F00\u59CB\u65F6\u95F4",
|
|
1670
|
-
recordingDelete: "\u5220\u9664\u6574\u4E2A\u4F1A\u8BDD",
|
|
1671
|
-
recordingDeleteError: "\u65E0\u6CD5\u5220\u9664\u5F55\u97F3\u3002",
|
|
1672
|
-
recordingDuration: "\u65F6\u957F",
|
|
1673
|
-
recordingEmpty: "\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u5F55\u97F3\u4F1A\u8BDD\u3002",
|
|
1674
|
-
recordingEnd: "\u7ED3\u675F",
|
|
1675
|
-
recordingEngine: "\u5F15\u64CE",
|
|
1676
|
-
recordingError: "\u9519\u8BEF",
|
|
1677
|
-
recordingExport: "\u5BFC\u51FA\u5B8C\u6574\u72EC\u7ACB JSON",
|
|
1678
|
-
recordingExportError: "\u65E0\u6CD5\u5BFC\u51FA\u5F55\u97F3\u3002",
|
|
1679
|
-
recordingFailed: "\u5931\u8D25",
|
|
1680
|
-
recordingHelp: "\u67E5\u770B\u5DF2\u4FDD\u5B58\u97F3\u9891\u3001\u8BED\u97F3/\u9759\u97F3\u8FB9\u754C\u548C\u8F6C\u5F55\u5C1D\u8BD5\u3002\u97F3\u9891\u548C\u6587\u672C\u53EF\u80FD\u654F\u611F\u3002\u64AD\u653E\u5728\u672C\u5730\u8FDB\u884C\uFF1B\u5BFC\u51FA\u5305\u542B\u97F3\u9891\u548C\u6587\u672C\u3002\u67E5\u770B\u4E0D\u4F1A\u66F4\u6539\u91C7\u96C6\uFF1B\u53EA\u6709\u660E\u786E\u5220\u9664\u64CD\u4F5C\u624D\u4F1A\u79FB\u9664\u5F55\u97F3\u3002",
|
|
1681
|
-
recordingInterrupted: "\u5DF2\u4E2D\u65AD",
|
|
1682
|
-
recordingLoadError: "\u65E0\u6CD5\u52A0\u8F7D\u5F55\u97F3\u4F1A\u8BDD\u3002\u8BF7\u5237\u65B0\u91CD\u8BD5\u3002",
|
|
1683
|
-
recordingLoading: "\u6B63\u5728\u52A0\u8F7D\u5F55\u97F3\u2026",
|
|
1684
|
-
recordingMemory: "\u4EC5\u5728\u5185\u5B58\u4E2D",
|
|
1685
|
-
recordingMicrophone: "\u9EA6\u514B\u98CE",
|
|
1686
|
-
recordingNoAttempts: "\u5C1A\u65E0\u8F6C\u5F55\u5C1D\u8BD5\u3002",
|
|
1687
|
-
recordingOpen: "\u672A\u7ED3\u675F\u7247\u6BB5",
|
|
1688
|
-
recordingPending: "\u5904\u7406\u4E2D",
|
|
1689
|
-
recordingPersistent: "\u5DF2\u4FDD\u5B58\u5230\u672C\u5730",
|
|
1690
|
-
recordingPinConfirmed: "\u786E\u8BA4\u65F6\u95F4",
|
|
1691
|
-
recordingPinDelay: "\u786E\u8BA4\u5EF6\u8FDF",
|
|
1692
|
-
recordingPins: "\u8FB9\u754C\u6807\u8BB0",
|
|
1693
|
-
recordingPlay: "\u64AD\u653E\u7247\u6BB5",
|
|
1694
|
-
recordingPlaySession: "\u64AD\u653E\u5DF2\u4FDD\u5B58\u4F1A\u8BDD",
|
|
1695
|
-
recordingRefresh: "\u5237\u65B0\u5F55\u97F3",
|
|
1696
|
-
recordingSaved: "\u5DF2\u4FDD\u5B58\u97F3\u9891",
|
|
1697
|
-
recordingSegments: "\u7247\u6BB5",
|
|
1698
|
-
recordingSelectSession: "\u8BF7\u9009\u62E9\u5F55\u97F3\u4F1A\u8BDD\u3002",
|
|
1699
|
-
recordingShared: "\u5171\u4EAB\u97F3\u9891",
|
|
1700
|
-
recordingSilence: "\u9759\u97F3",
|
|
1701
|
-
recordingSource: "\u6765\u6E90",
|
|
1702
|
-
recordingSourceFilter: "\u7B5B\u9009\u6765\u6E90",
|
|
1703
|
-
recordingSpeech: "\u8BED\u97F3",
|
|
1704
|
-
recordingStar: "\u65E0\u9650\u671F\u4FDD\u7559",
|
|
1705
|
-
recordingStarError: "\u65E0\u6CD5\u66F4\u6539\u5F55\u97F3\u4FDD\u62A4\u3002",
|
|
1706
|
-
recordingStarHelp: "\u5C06\u6B64\u5F55\u97F3\u6392\u9664\u5728\u81EA\u52A8\u6E05\u7406\u548C\u4FDD\u7559\u6570\u91CF\u7EDF\u8BA1\u4E4B\u5916\u3002\u4ECD\u53EF\u624B\u52A8\u5220\u9664\u3002\u8FD9\u4E0D\u4F1A\u66F4\u6539\u6D4F\u89C8\u5668\u5B58\u50A8\u6216\u9632\u9010\u51FA\u4FDD\u62A4\u3002",
|
|
1707
|
-
recordingStarred: "\u53D7\u4FDD\u62A4\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6E05\u7406",
|
|
1708
|
-
recordingStart: "\u5F00\u59CB",
|
|
1709
|
-
recordingState: "\u72B6\u6001",
|
|
1710
|
-
recordingSuccess: "\u6210\u529F",
|
|
1711
|
-
recordingTimeline: "\u8BED\u97F3 / \u9759\u97F3\u65F6\u95F4\u7EBF",
|
|
1712
|
-
recordingTitle: "\u5F55\u97F3",
|
|
1713
|
-
recordingUnavailable: "\u5F55\u97F3\u670D\u52A1\u4E0D\u53EF\u7528\u3002\u8BF7\u5728\u517C\u5BB9\u7684\u5B9E\u65F6\u8BED\u97F3\u8BBE\u7F6E\u4E2D\u542F\u7528\u5F55\u97F3\u3002",
|
|
1714
|
-
recordingUnstar: "\u53D6\u6D88\u4FDD\u62A4",
|
|
1715
|
-
recordingUnstarHelp: "\u5141\u8BB8\u81EA\u52A8\u6E05\u7406\uFF0C\u5E76\u5C06\u6B64\u5F55\u97F3\u91CD\u65B0\u8BA1\u5165\u4FDD\u7559\u6570\u91CF\u3002\u4ECD\u53EF\u624B\u52A8\u5220\u9664\u3002\u6D4F\u89C8\u5668\u5B58\u50A8\u548C\u9632\u9010\u51FA\u4FDD\u62A4\u4FDD\u6301\u4E0D\u53D8\u3002",
|
|
1716
|
-
refreshRate: "\u66F4\u65B0\u9891\u7387",
|
|
1717
|
-
resume: "\u6062\u590D\u66F4\u65B0",
|
|
1718
|
-
runtimeActive: "\u6D3B\u52A8\u8BF7\u6C42",
|
|
1719
|
-
runtimeAudio: "\u4E0A\u6B21\u97F3\u9891\u65F6\u957F",
|
|
1720
|
-
runtimeCache: "\u6A21\u578B\u6587\u4EF6\u7F13\u5B58",
|
|
1721
|
-
runtimeCancelled: "\u5DF2\u53D6\u6D88",
|
|
1722
|
-
runtimeCompleted: "\u5DF2\u5B8C\u6210\u8F6C\u5F55",
|
|
1723
|
-
runtimeDevice: "\u8BF7\u6C42\u7684\u6267\u884C\u63D0\u4F9B\u7A0B\u5E8F",
|
|
1724
|
-
runtimeError: "\u9519\u8BEF\u4EE3\u7801",
|
|
1725
|
-
runtimeEvents: "\u8FD0\u884C\u65F6\u4E8B\u4EF6\uFF08\u6700\u8FD1100\u6761\uFF09",
|
|
1726
|
-
runtimeFailed: "\u5931\u8D25 / \u5DF2\u53D6\u6D88\u8F6C\u5F55",
|
|
1727
|
-
runtimeGpu: "WebGPU\u9002\u914D\u5668\u53EF\u7528",
|
|
1728
|
-
runtimeHeap: "\u9875\u9762JavaScript\u5806\u4F30\u8BA1",
|
|
1729
|
-
runtimeHelp: "\u6A21\u578B/\u7F13\u5B58\u5927\u5C0F\u662F\u6587\u4EF6\u5B57\u8282\u6570\uFF0C\u4E0D\u662F\u5185\u5B58\u3002PCM\u4EC5\u7EDF\u8BA1\u6D3B\u52A8/\u6392\u961F\u7684\u8F93\u5165\u7F13\u51B2\u533A\u3002JavaScript\u5806\u662F\u975E\u6807\u51C6\u7684\u9875\u9762\u7EA7\u4F30\u8BA1\uFF0C\u4E0D\u5305\u542B\u5B8C\u6574\u7684worker/WASM/GPU\u5185\u5B58\u3002\u6B64\u5904\u65E0\u6CD5\u53EF\u9760\u6D4B\u91CF\u6A21\u578BRAM/\u663E\u5B58\u3002WebGPU\u521D\u59CB\u5316\u6210\u529F\u4E0D\u4EE3\u8868\u5168\u90E8\u7B97\u5B50\u90FD\u5728GPU\u6267\u884C\u3002\u4E8B\u4EF6\u662F\u63D2\u4EF6\u751F\u547D\u5468\u671F\u5143\u6570\u636E\uFF0C\u4E0D\u662F\u539F\u59CBONNX\u65E5\u5FD7\uFF1B\u4E0D\u4FDD\u7559\u97F3\u9891\u6216\u8F6C\u5F55\u3002",
|
|
1730
|
-
runtimeId: "Worker\u6807\u8BC6",
|
|
1731
|
-
runtimeInference: "\u4E0A\u6B21Worker\u63A8\u7406",
|
|
1732
|
-
runtimeLoad: "\u52A0\u8F7D\u5F80\u8FD4 / Worker",
|
|
1733
|
-
runtimeMemory: "\u5185\u5B58\u4E0E\u5B58\u50A8",
|
|
1734
|
-
runtimeModel: "\u6A21\u578B",
|
|
1735
|
-
runtimeModelBytes: "\u5B8C\u6574\u6A21\u578B\u4E0B\u8F7D",
|
|
1736
|
-
runtimeNo: "\u5426",
|
|
1737
|
-
runtimePcm: "\u5DF2\u7EDF\u8BA1\u8F93\u5165PCM",
|
|
1738
|
-
runtimePending: "Worker\u5F85\u5904\u7406\u8BF7\u6C42",
|
|
1739
|
-
runtimeQuantization: "\u7F16\u7801\u5668 / \u89E3\u7801\u5668\u7CBE\u5EA6",
|
|
1740
|
-
runtimeQueue: "\u6392\u961F\u8F6C\u5F55",
|
|
1741
|
-
runtimeRam: "\u6A21\u578BRAM",
|
|
1742
|
-
runtimeRatio: "\u5904\u7406 / \u97F3\u9891\u6BD4\u7387",
|
|
1743
|
-
runtimeReady: "\u5C31\u7EEA",
|
|
1744
|
-
runtimeReleased: "\u5DF2\u91CA\u653E",
|
|
1745
|
-
runtimeRevision: "\u56FA\u5B9A\u7248\u672C",
|
|
1746
|
-
runtimeStarted: "\u5DF2\u5F00\u59CB",
|
|
1747
|
-
runtimeStatus: "\u72B6\u6001",
|
|
1748
|
-
runtimeStorage: "\u6B64\u6765\u6E90\u53EF\u7528\u5B58\u50A8",
|
|
1749
|
-
runtimeSuccess: "\u6210\u529F",
|
|
1750
|
-
runtimeTitle: "\u8FD0\u884C\u65F6",
|
|
1751
|
-
runtimeUnavailable: "\u4E0D\u53EF\u7528",
|
|
1752
|
-
runtimeVersions: "ONNX Runtime / Transformers.js",
|
|
1753
|
-
runtimeVram: "\u6A21\u578B\u663E\u5B58",
|
|
1754
|
-
runtimeWorker: "Worker\u6D3B\u52A8",
|
|
1755
|
-
runtimeYes: "\u662F",
|
|
1756
|
-
states: "\u5F53\u524D\u72B6\u6001",
|
|
1757
|
-
title: "\u5B9E\u65F6\u8BED\u97F3\u8C03\u8BD5\u5668",
|
|
1758
|
-
transitions: "\u6700\u8FD1\u7684\u72B6\u6001\u8F6C\u6362",
|
|
1759
|
-
waiting: "\u6B63\u5728\u7B49\u5F85\u517C\u5BB9\u7684\u5B9E\u65F6\u8BED\u97F3\u8FD0\u884C\u65F6\u3002"
|
|
1760
|
-
}
|
|
2067
|
+
zh: { name: "\u7B80\u4F53\u4E2D\u6587", short: "zh", locale: "zh", lang: () => Promise.resolve().then(() => (init_zh4(), zh_exports)) }
|
|
1761
2068
|
};
|
|
2069
|
+
function normalizeDebuggerLocale(locale) {
|
|
2070
|
+
if (locale && Object.hasOwn(dictionaries, locale)) return locale;
|
|
2071
|
+
const base = locale?.split("-")[0];
|
|
2072
|
+
return base && Object.hasOwn(dictionaries, base) ? base : "en";
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2075
|
+
// node_modules/.pnpm/@wads.dev+i18n-react@0.0.1-alpha.0_react@19.3.0_typescript@7.0.2/node_modules/@wads.dev/i18n-react/dist/index.js
|
|
2076
|
+
var import_react25 = require("react");
|
|
2077
|
+
|
|
2078
|
+
// node_modules/.pnpm/@wads.dev+i18n-ts@0.0.1-alpha.0_typescript@7.0.2/node_modules/@wads.dev/i18n-ts/dist/runtime/language.js
|
|
2079
|
+
function detectLanguage() {
|
|
2080
|
+
if (typeof navigator !== "undefined" && typeof navigator.language === "string")
|
|
2081
|
+
return navigator.language;
|
|
2082
|
+
if (typeof Intl !== "undefined")
|
|
2083
|
+
return Intl.DateTimeFormat().resolvedOptions().locale;
|
|
2084
|
+
return void 0;
|
|
2085
|
+
}
|
|
2086
|
+
async function loadLanguage(availableLangs, defaultLang, language) {
|
|
2087
|
+
if (!language || !availableLangs[language]) {
|
|
2088
|
+
const browserLang = (detectLanguage() || "").replace("-", "").toLowerCase();
|
|
2089
|
+
const languageKeys = Object.keys(availableLangs).map((key) => key.toLowerCase());
|
|
2090
|
+
language = languageKeys.find((key) => key === browserLang) || languageKeys.find((key) => browserLang.startsWith(key)) || defaultLang;
|
|
2091
|
+
}
|
|
2092
|
+
const info = availableLangs[language];
|
|
2093
|
+
const lang = typeof info.lang === "function" ? await info.lang().then(({ default: loadedLang }) => loadedLang) : info.lang;
|
|
2094
|
+
return { ...info, lang: deepFreeze(lang) };
|
|
2095
|
+
}
|
|
2096
|
+
function deepFreeze(value) {
|
|
2097
|
+
Object.freeze(value);
|
|
2098
|
+
Object.getOwnPropertyNames(value).forEach((property) => {
|
|
2099
|
+
const nestedValue = value[property];
|
|
2100
|
+
if (nestedValue && (typeof nestedValue === "object" || typeof nestedValue === "function") && !Object.isFrozen(nestedValue)) {
|
|
2101
|
+
deepFreeze(nestedValue);
|
|
2102
|
+
}
|
|
2103
|
+
});
|
|
2104
|
+
return value;
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
// node_modules/.pnpm/@wads.dev+i18n-react@0.0.1-alpha.0_react@19.3.0_typescript@7.0.2/node_modules/@wads.dev/i18n-react/dist/index.js
|
|
2108
|
+
function createTranslationRuntime({ availableLangs, defaultLang, onLanguageLoaded }) {
|
|
2109
|
+
const context = (0, import_react25.createContext)({});
|
|
2110
|
+
function useTranslation(selector) {
|
|
2111
|
+
const value = (0, import_react25.useContext)(context);
|
|
2112
|
+
if (!value.current)
|
|
2113
|
+
throw new Error("useTranslation must be used within TranslationProvider.");
|
|
2114
|
+
return { ...value, scoped: selector ? selector(value.current.lang) : value.current.lang };
|
|
2115
|
+
}
|
|
2116
|
+
function TranslationProvider({ children }) {
|
|
2117
|
+
const [saved, setSaved] = (0, import_react25.useState)();
|
|
2118
|
+
const [language, setCurrentLanguage] = (0, import_react25.useState)();
|
|
2119
|
+
function setLanguage(nextLanguage, save) {
|
|
2120
|
+
if (save)
|
|
2121
|
+
setSaved(nextLanguage);
|
|
2122
|
+
}
|
|
2123
|
+
(0, import_react25.useEffect)(() => {
|
|
2124
|
+
void loadLanguage(availableLangs, defaultLang, saved).then((loadedLanguage) => {
|
|
2125
|
+
setCurrentLanguage(loadedLanguage);
|
|
2126
|
+
onLanguageLoaded?.(loadedLanguage);
|
|
2127
|
+
});
|
|
2128
|
+
}, [saved]);
|
|
2129
|
+
if (!language)
|
|
2130
|
+
return null;
|
|
2131
|
+
return (0, import_react25.createElement)(context.Provider, { value: { setLanguage, available: availableLangs, current: language, saved } }, children);
|
|
2132
|
+
}
|
|
2133
|
+
return { TranslationProvider, useTranslation };
|
|
2134
|
+
}
|
|
2135
|
+
|
|
2136
|
+
// src/i18n/runtime.tsx
|
|
2137
|
+
var {
|
|
2138
|
+
TranslationProvider: DebuggerTranslationProvider,
|
|
2139
|
+
useTranslation: useDebuggerLanguage
|
|
2140
|
+
} = createTranslationRuntime({
|
|
2141
|
+
availableLangs: Langs,
|
|
2142
|
+
defaultLang: "en"
|
|
2143
|
+
});
|
|
2144
|
+
|
|
2145
|
+
// src/i18n/DshLanguageBoundary.tsx
|
|
2146
|
+
var import_react26 = __toESM(require("react"), 1);
|
|
2147
|
+
var fallback = Object.freeze({ active: "en", revision: 0 });
|
|
2148
|
+
function DshLanguageBoundary({ locale, children }) {
|
|
2149
|
+
const { current, setLanguage } = useDebuggerLanguage();
|
|
2150
|
+
const subscribe = import_react26.default.useCallback(
|
|
2151
|
+
(listener) => locale?.subscribe?.(listener) ?? (() => {
|
|
2152
|
+
}),
|
|
2153
|
+
[locale]
|
|
2154
|
+
);
|
|
2155
|
+
const snapshot = import_react26.default.useCallback(() => locale?.getSnapshot?.() ?? fallback, [locale]);
|
|
2156
|
+
const state = import_react26.default.useSyncExternalStore(subscribe, snapshot, snapshot);
|
|
2157
|
+
const expected = normalizeDebuggerLocale(state.active);
|
|
2158
|
+
import_react26.default.useEffect(() => {
|
|
2159
|
+
if (current.locale !== expected) setLanguage(expected, true);
|
|
2160
|
+
}, [current.locale, expected, setLanguage]);
|
|
2161
|
+
const initialized = import_react26.default.useRef(false);
|
|
2162
|
+
if (current.locale === expected) initialized.current = true;
|
|
2163
|
+
return initialized.current ? children : null;
|
|
2164
|
+
}
|
|
2165
|
+
function withDebuggerLanguage(Component, locale) {
|
|
2166
|
+
function Localized(props) {
|
|
2167
|
+
return /* @__PURE__ */ import_react26.default.createElement(DebuggerTranslationProvider, null, /* @__PURE__ */ import_react26.default.createElement(DshLanguageBoundary, { locale }, /* @__PURE__ */ import_react26.default.createElement(Component, { ...props })));
|
|
2168
|
+
}
|
|
2169
|
+
Localized.displayName = "DebuggerLanguage(" + (Component.displayName || Component.name || "Component") + ")";
|
|
2170
|
+
return Localized;
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
// src/i18n/registerDshLocales.ts
|
|
2174
|
+
var namespace = "dsh-live-voice-debugger";
|
|
2175
|
+
function registerDshLocales(ctx) {
|
|
2176
|
+
const registered = new Set(
|
|
2177
|
+
(ctx.locale.getSnapshot?.().locales ?? []).map(
|
|
2178
|
+
(locale) => locale.id.toLowerCase()
|
|
2179
|
+
)
|
|
2180
|
+
);
|
|
2181
|
+
for (const [id, language] of Object.entries(Langs)) {
|
|
2182
|
+
if (!registered.has(id.toLowerCase())) {
|
|
2183
|
+
ctx.effect(
|
|
2184
|
+
() => ctx.locale.addLanguage({ id, label: language.name, fallback: "en" }),
|
|
2185
|
+
namespace + ": " + id + " language"
|
|
2186
|
+
);
|
|
2187
|
+
registered.add(id.toLowerCase());
|
|
2188
|
+
}
|
|
2189
|
+
}
|
|
2190
|
+
for (const [locale, tree] of Object.entries(dictionaries)) {
|
|
2191
|
+
const dictionary = Object.fromEntries(
|
|
2192
|
+
Object.entries(tree).flatMap(
|
|
2193
|
+
([group, entries]) => Object.entries(entries).map(([key, value]) => [group + "." + key, value])
|
|
2194
|
+
)
|
|
2195
|
+
);
|
|
2196
|
+
ctx.effect(() => ctx.locale.register(namespace, locale, dictionary), namespace + ": " + locale);
|
|
2197
|
+
}
|
|
2198
|
+
return ctx.locale.bind(namespace);
|
|
2199
|
+
}
|
|
1762
2200
|
|
|
1763
2201
|
// src/styles.ts
|
|
1764
2202
|
var styles = `
|
|
@@ -1817,13 +2255,7 @@ function apply(ctx) {
|
|
|
1817
2255
|
const notify = () => {
|
|
1818
2256
|
for (const listener of listeners) listener();
|
|
1819
2257
|
};
|
|
1820
|
-
|
|
1821
|
-
ctx.effect(() => ctx.locale.register(namespace, locale, dictionary), namespace + ": " + locale);
|
|
1822
|
-
}
|
|
1823
|
-
const t = ctx.locale.bind(namespace);
|
|
1824
|
-
const copy = () => Object.fromEntries(Object.keys(dictionaries.en).map((key) => [key, t(key)]));
|
|
1825
|
-
const localeSubscribe = (listener) => ctx.locale.subscribe(listener);
|
|
1826
|
-
const localeSnapshot = () => ctx.locale.getSnapshot();
|
|
2258
|
+
const t = registerDshLocales(ctx);
|
|
1827
2259
|
const close = () => {
|
|
1828
2260
|
if (closedTimer !== null) clearInterval(closedTimer);
|
|
1829
2261
|
closedTimer = null;
|
|
@@ -1837,12 +2269,11 @@ function apply(ctx) {
|
|
|
1837
2269
|
notify();
|
|
1838
2270
|
};
|
|
1839
2271
|
function Host() {
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
return /* @__PURE__ */ import_react25.default.createElement(DebuggerPanel, { copy: labels, target: window, onClose: () => queueMicrotask(close) });
|
|
2272
|
+
const { scoped: labels } = useDebuggerLanguage();
|
|
2273
|
+
import_react27.default.useEffect(() => {
|
|
2274
|
+
if (popup && !popup.closed) popup.document.title = labels.commons.title;
|
|
2275
|
+
}, [labels.commons.title]);
|
|
2276
|
+
return /* @__PURE__ */ import_react27.default.createElement(DebuggerPanel, { copy: labels, target: window, onClose: () => queueMicrotask(close) });
|
|
1846
2277
|
}
|
|
1847
2278
|
const open = () => {
|
|
1848
2279
|
if (popup && !popup.closed) {
|
|
@@ -1865,7 +2296,7 @@ function apply(ctx) {
|
|
|
1865
2296
|
}
|
|
1866
2297
|
popup = candidate;
|
|
1867
2298
|
const doc = candidate.document;
|
|
1868
|
-
doc.title =
|
|
2299
|
+
doc.title = t("commons.title");
|
|
1869
2300
|
doc.body.replaceChildren();
|
|
1870
2301
|
doc.body.className = "dlvd-window";
|
|
1871
2302
|
syncDebuggerTheme(window, doc);
|
|
@@ -1876,7 +2307,7 @@ function apply(ctx) {
|
|
|
1876
2307
|
container.dataset.plugin = namespace;
|
|
1877
2308
|
doc.body.appendChild(container);
|
|
1878
2309
|
root = (0, import_client.createRoot)(container);
|
|
1879
|
-
root.render(/* @__PURE__ */
|
|
2310
|
+
root.render(/* @__PURE__ */ import_react27.default.createElement(LocalizedHost, null));
|
|
1880
2311
|
enabled = true;
|
|
1881
2312
|
closedTimer = setInterval(() => {
|
|
1882
2313
|
if (popup?.closed) close();
|
|
@@ -1891,16 +2322,17 @@ function apply(ctx) {
|
|
|
1891
2322
|
}
|
|
1892
2323
|
};
|
|
1893
2324
|
function Settings() {
|
|
1894
|
-
const failed =
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
return /* @__PURE__ */ import_react25.default.createElement("div", { className: "dlv-diagnostics-launcher" }, /* @__PURE__ */ import_react25.default.createElement("button", { type: "button", className: "dlv-diagnostics-button", onClick: open }, /* @__PURE__ */ import_react25.default.createElement(Icon, { name: "bug" }), labels.diagnostics), /* @__PURE__ */ import_react25.default.createElement(Hint, { label: labels.diagnostics }, labels.activate), failed && /* @__PURE__ */ import_react25.default.createElement("p", { role: "alert" }, labels.popupBlocked));
|
|
2325
|
+
const failed = import_react27.default.useSyncExternalStore(subscribe, () => blocked);
|
|
2326
|
+
const { scoped: labels } = useDebuggerLanguage();
|
|
2327
|
+
return /* @__PURE__ */ import_react27.default.createElement("div", { className: "dlv-diagnostics-launcher" }, /* @__PURE__ */ import_react27.default.createElement("button", { type: "button", className: "dlv-diagnostics-button", onClick: open }, /* @__PURE__ */ import_react27.default.createElement(Icon, { name: "bug" }), labels.commons.diagnostics), /* @__PURE__ */ import_react27.default.createElement(Hint, { label: labels.commons.diagnostics }, labels.commons.activate), failed && /* @__PURE__ */ import_react27.default.createElement("p", { role: "alert" }, labels.commons.popupBlocked));
|
|
1898
2328
|
}
|
|
2329
|
+
const LocalizedHost = withDebuggerLanguage(Host, ctx.locale);
|
|
2330
|
+
const LocalizedSettings = withDebuggerLanguage(Settings, ctx.locale);
|
|
1899
2331
|
ctx.effect(
|
|
1900
2332
|
() => publishDeveloperExtension(window, {
|
|
1901
2333
|
version: 1,
|
|
1902
|
-
label: () => t("developer"),
|
|
1903
|
-
component:
|
|
2334
|
+
label: () => t("commons.developer"),
|
|
2335
|
+
component: LocalizedSettings
|
|
1904
2336
|
}),
|
|
1905
2337
|
namespace + ": Developer tab"
|
|
1906
2338
|
);
|