@sesionario/blocks 1.37.0 → 1.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/livo.cjs CHANGED
@@ -166,7 +166,60 @@ var studio_labels_en_default = {
166
166
  chatPin: "Pin message",
167
167
  chatUnpin: "Unpin message",
168
168
  chatSave: "Save",
169
- waitingSkeleton: "Loading waiting room"
169
+ waitingSkeleton: "Loading waiting room",
170
+ connecting: "Connecting to the studio",
171
+ connectFailed: "Could not join the studio",
172
+ retry: "Try again",
173
+ screenDownloadAppTitle: "Screen sharing needs the Livo app",
174
+ screenDownloadAppAction: "Download the app",
175
+ screenDownloadAppDismiss: "Not now",
176
+ stageApproved: "The host approved your request to go on air",
177
+ stageDenied: "The host declined your request to go on air",
178
+ community: "Community",
179
+ comments: "Comments",
180
+ qa: "Q&A",
181
+ composer: "Write a comment",
182
+ questionComposer: "Ask a question",
183
+ emptyComments: "No comments yet",
184
+ emptyQuestions: "No questions yet",
185
+ jumpToLatest: "Jump to latest",
186
+ answer: "Answer",
187
+ upvote: "Upvote",
188
+ closed: "Comments are closed",
189
+ qaClosed: "Q&A is closed",
190
+ postError: "Could not post",
191
+ answerError: "Could not answer",
192
+ kickTitleNamed: "Remove {name} from the studio?",
193
+ more: "More",
194
+ captions: "Captions",
195
+ captionsOn: "Turn off captions",
196
+ captionsOff: "Turn on captions",
197
+ captionsNotReady: "Captions start with the broadcast",
198
+ captionsDelayed: "Studio captions are delayed a few seconds",
199
+ captionsLanguage: "Caption language",
200
+ captionsSize: "Caption size",
201
+ captionsSizeS: "Small",
202
+ captionsSizeM: "Medium",
203
+ captionsSizeL: "Large",
204
+ settingsGeneral: "General",
205
+ settingsAudio: "Audio",
206
+ settingsVideo: "Video",
207
+ settingsEffects: "Effects",
208
+ settingsSubtitles: "Subtitles",
209
+ effectNone: "None",
210
+ effectBlur: "Blur",
211
+ effectBlurStrong: "Strong blur",
212
+ effectBackgrounds: "Backgrounds",
213
+ effectFilters: "Filters",
214
+ effectFilterNone: "None",
215
+ effectFilterGrayscale: "Grayscale",
216
+ effectFilterSepia: "Sepia",
217
+ effectFilterWarm: "Warm",
218
+ effectFilterCool: "Cool",
219
+ effectFilterBright: "Bright",
220
+ localeEn: "English",
221
+ localeEs: "Spanish",
222
+ localePt: "Portuguese"
170
223
  };
171
224
 
172
225
  // src/livo/studio-labels-es.json
@@ -330,7 +383,60 @@ var studio_labels_es_default = {
330
383
  chatPin: "Fijar mensaje",
331
384
  chatUnpin: "Desfijar mensaje",
332
385
  chatSave: "Guardar",
333
- waitingSkeleton: "Cargando sala de espera"
386
+ waitingSkeleton: "Cargando sala de espera",
387
+ connecting: "Conectando al estudio",
388
+ connectFailed: "No se pudo unir al estudio",
389
+ retry: "Reintentar",
390
+ screenDownloadAppTitle: "Compartir pantalla necesita la app de Livo",
391
+ screenDownloadAppAction: "Descargar la app",
392
+ screenDownloadAppDismiss: "Ahora no",
393
+ stageApproved: "El anfitri\xF3n aprob\xF3 tu pedido para pasar al aire",
394
+ stageDenied: "El anfitri\xF3n rechaz\xF3 tu pedido para pasar al aire",
395
+ community: "Comunidad",
396
+ comments: "Comentarios",
397
+ qa: "Preguntas",
398
+ composer: "Escribe un comentario",
399
+ questionComposer: "Haz una pregunta",
400
+ emptyComments: "A\xFAn no hay comentarios",
401
+ emptyQuestions: "A\xFAn no hay preguntas",
402
+ jumpToLatest: "Ir al m\xE1s reciente",
403
+ answer: "Responder",
404
+ upvote: "Votar",
405
+ closed: "Los comentarios est\xE1n cerrados",
406
+ qaClosed: "Las preguntas est\xE1n cerradas",
407
+ postError: "No se pudo publicar",
408
+ answerError: "No se pudo responder",
409
+ kickTitleNamed: "\xBFQuitar a {name} del estudio?",
410
+ more: "M\xE1s",
411
+ captions: "Subt\xEDtulos",
412
+ captionsOn: "Desactivar subt\xEDtulos",
413
+ captionsOff: "Activar subt\xEDtulos",
414
+ captionsNotReady: "Los subt\xEDtulos empiezan con la transmisi\xF3n",
415
+ captionsDelayed: "Los subt\xEDtulos del estudio llegan con unos segundos de retraso",
416
+ captionsLanguage: "Idioma de los subt\xEDtulos",
417
+ captionsSize: "Tama\xF1o de los subt\xEDtulos",
418
+ captionsSizeS: "Peque\xF1o",
419
+ captionsSizeM: "Mediano",
420
+ captionsSizeL: "Grande",
421
+ settingsGeneral: "General",
422
+ settingsAudio: "Audio",
423
+ settingsVideo: "Video",
424
+ settingsEffects: "Efectos",
425
+ settingsSubtitles: "Subt\xEDtulos",
426
+ effectNone: "Ninguno",
427
+ effectBlur: "Desenfocar",
428
+ effectBlurStrong: "Desenfoque fuerte",
429
+ effectBackgrounds: "Fondos",
430
+ effectFilters: "Filtros",
431
+ effectFilterNone: "Ninguno",
432
+ effectFilterGrayscale: "Escala de grises",
433
+ effectFilterSepia: "Sepia",
434
+ effectFilterWarm: "C\xE1lido",
435
+ effectFilterCool: "Fr\xEDo",
436
+ effectFilterBright: "Brillo",
437
+ localeEn: "Ingl\xE9s",
438
+ localeEs: "Espa\xF1ol",
439
+ localePt: "Portugu\xE9s"
334
440
  };
335
441
 
336
442
  // src/livo/catalogs.ts
package/dist/livo.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/livo/locale.ts","../src/livo/studio-labels-en.json","../src/livo/studio-labels-es.json","../src/livo/catalogs.ts","../src/livo/studio-labels.ts","../src/livo/embed-theme.ts","../src/livo/livo-labels.ts"],"names":[],"mappings":"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","file":"livo.cjs","sourcesContent":["export type LivoLocale = \"es\" | \"en\";\n\nexport function resolveLivoLocale(locale?: string): LivoLocale {\n\treturn locale?.toLowerCase().startsWith(\"en\") ? \"en\" : \"es\";\n}\n","{\n\t\"live\": \"LIVE\",\n\t\"preview\": \"Preview\",\n\t\"waiting\": \"Waiting to join\",\n\t\"waitingHost\": \"Waiting for the host to let you in\",\n\t\"admit\": \"Admit\",\n\t\"deny\": \"Deny\",\n\t\"denied\": \"Guest declined\",\n\t\"denyError\": \"Could not decline that guest\",\n\t\"rejectedTitle\": \"The host declined your request\",\n\t\"rejectedDescription\": \"You can ask to join again if the studio is still open.\",\n\t\"rejectedAction\": \"Ask to join again\",\n\t\"kick\": \"Remove\",\n\t\"camera\": \"Camera\",\n\t\"screen\": \"Screen\",\n\t\"mute\": \"Mute\",\n\t\"unmute\": \"Unmute\",\n\t\"copyLink\": \"Copy guest link\",\n\t\"shareLink\": \"Share guest link\",\n\t\"shareGuestText\": \"Join the studio for {title}\",\n\t\"shareFailed\": \"Could not share the guest link\",\n\t\"copied\": \"Guest link copied\",\n\t\"publish\": \"Go live\",\n\t\"publishTitle\": \"Go live?\",\n\t\"publishDescription\": \"Viewers will see this studio on the public player.\",\n\t\"publishConfirm\": \"Go live\",\n\t\"publishPending\": \"Going on air…\",\n\t\"stop\": \"Stop\",\n\t\"stopTitle\": \"Stop this broadcast?\",\n\t\"stopDescription\": \"Viewers will lose the live feed. Guests will be disconnected.\",\n\t\"stopConfirm\": \"Stop stream\",\n\t\"fullscreen\": \"Fullscreen\",\n\t\"publishError\": \"Could not go live\",\n\t\"stopError\": \"Could not stop the stream\",\n\t\"published\": \"Going live\",\n\t\"stopped\": \"Stream stopped\",\n\t\"cameraDevice\": \"Camera\",\n\t\"micDevice\": \"Microphone\",\n\t\"speakerDevice\": \"Speaker\",\n\t\"preflightCamera\": \"Camera\",\n\t\"preflightMic\": \"Microphone\",\n\t\"knock\": \"{name} is waiting to join\",\n\t\"egressLost\": \"Reconnect studio\",\n\t\"livestreamStarting\": \"Initializing…\",\n\t\"livestreamSending\": \"Initializing…\",\n\t\"livestreamInitializing\": \"Initializing…\",\n\t\"livestreamRetry\": \"Retry egress\",\n\t\"livestreamError\": \"Could not start RTMP egress\",\n\t\"screenBusy\": \"Someone else is already sharing their screen\",\n\t\"endedTitle\": \"This studio session has ended\",\n\t\"endedDescription\": \"The host stopped the stream.\",\n\t\"endedAction\": \"Back\",\n\t\"rejoin\": \"Rejoin studio\",\n\t\"duplicateTitle\": \"Studio is already open\",\n\t\"duplicateDescription\": \"This studio is already open in another window.\",\n\t\"duplicateDescriptionNoTakeover\": \"This studio is already open in another window. Close that window to continue here.\",\n\t\"duplicateAction\": \"Continue here\",\n\t\"duplicateTakenOver\": \"This session moved to another window.\",\n\t\"joinBusy\": \"Too many join attempts. Try again in a moment.\",\n\t\"cameraError\": \"Could not enable the camera\",\n\t\"screenError\": \"Could not share the screen\",\n\t\"leave\": \"Leave studio\",\n\t\"leaveTitle\": \"Leave this studio?\",\n\t\"leaveDescription\": \"You will disconnect from the host and other guests.\",\n\t\"leaveConfirm\": \"Leave\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Send\",\n\t\"chatPlaceholder\": \"Message\",\n\t\"chatError\": \"Could not send the message\",\n\t\"settings\": \"Settings\",\n\t\"settingsTitle\": \"Settings\",\n\t\"settingsDescription\": \"Name, audio, and video settings\",\n\t\"guestName\": \"Your name\",\n\t\"displayNameSave\": \"Save\",\n\t\"displayNameSaved\": \"Display name updated\",\n\t\"displayNameError\": \"Could not update your display name\",\n\t\"testSpeaker\": \"Test\",\n\t\"testSpeakerError\": \"Could not play the speaker test\",\n\t\"cameraOff\": \"Camera is off\",\n\t\"micLevel\": \"Microphone level\",\n\t\"share\": \"Copy player link\",\n\t\"shareCopied\": \"Player link copied\",\n\t\"stopCamera\": \"Stop camera\",\n\t\"stopScreen\": \"Stop screen share\",\n\t\"hostMutedYou\": \"The host muted you\",\n\t\"hostStoppedYourCamera\": \"The host turned off your camera\",\n\t\"hostStoppedYourScreen\": \"The host stopped your screen share\",\n\t\"hostMediaError\": \"Could not change that guest's media\",\n\t\"tileMenu\": \"Guest controls\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Close picture-in-picture\",\n\t\"backToStudio\": \"Back to studio\",\n\t\"pipTitle\": \"Studio\",\n\t\"pipError\": \"Could not open picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Screen sharing is not available on this device\",\n\t\"screenNotAllowed\": \"You do not have permission to share your screen\",\n\t\"askToShare\": \"Ask to share\",\n\t\"shareRequested\": \"Requested\",\n\t\"cancelShareRequest\": \"Cancel request\",\n\t\"shareRequestSent\": \"Asked the host to share your screen\",\n\t\"shareRequestFrom\": \"{name} wants to share their screen\",\n\t\"approve\": \"Approve\",\n\t\"shareApproved\": \"The host approved your screen share\",\n\t\"shareDenied\": \"The host declined your screen share\",\n\t\"shareRequestError\": \"Could not ask the host to share\",\n\t\"shareRequestTimeout\": \"No response from the host\",\n\t\"shareRespondError\": \"Could not respond to that share request\",\n\t\"goOffAir\": \"Go off air\",\n\t\"goOnAir\": \"Go on air\",\n\t\"takeOffAir\": \"Take off air\",\n\t\"bringOnAir\": \"Bring on air\",\n\t\"offAir\": \"Off air\",\n\t\"offAirCount\": \"Off air ({count})\",\n\t\"offAirBanner\": \"You are off camera. Your microphone is still live.\",\n\t\"offAirLastVisible\": \"At least one participant must stay on air while you are live\",\n\t\"offAirHidden\": \"Taken off air\",\n\t\"offAirShown\": \"Back on air\",\n\t\"offAirError\": \"Could not change on-air state\",\n\t\"takeOffAirTitle\": \"Take this guest off air?\",\n\t\"takeOffAirDescription\": \"They stay in the studio but stop publishing camera, mic, and screen.\",\n\t\"takeOffAirConfirm\": \"Take off air\",\n\t\"admitAsPanelist\": \"Admit as panelist\",\n\t\"admitAsAudience\": \"Admit as audience\",\n\t\"admitAllPanelists\": \"Admit all as panelists\",\n\t\"admitAllAudience\": \"Admit all as audience\",\n\t\"askToGoOnAir\": \"Ask to go on air\",\n\t\"stageRequested\": \"Asked to go on air\",\n\t\"stageRequests\": \"Stage requests\",\n\t\"people\": \"People\",\n\t\"panelists\": \"Panelists\",\n\t\"audience\": \"Audience\",\n\t\"noWaiting\": \"No one is waiting\",\n\t\"noPanelists\": \"No panelists\",\n\t\"noAudience\": \"No audience\",\n\t\"closePanel\": \"Close\",\n\t\"muteChat\": \"Mute chat\",\n\t\"allowChat\": \"Allow chat\",\n\t\"pin\": \"Pin on stage\",\n\t\"unpin\": \"Unpin\",\n\t\"pinnedToast\": \"You are pinned on stage\",\n\t\"unpinnedToast\": \"You are no longer pinned\",\n\t\"pinError\": \"Could not pin that participant\",\n\t\"kickTitle\": \"Remove this guest from the studio?\",\n\t\"kickDescription\": \"They will be disconnected.\",\n\t\"kickConfirm\": \"Remove\",\n\t\"kickError\": \"Could not remove that guest\",\n\t\"stageError\": \"Could not change stage access\",\n\t\"stageDisabled\": \"This guest link cannot join the stage.\",\n\t\"stageGrantNoEffect\": \"That guest stayed in the audience.\",\n\t\"stageOverflow\": \"+{count} more\",\n\t\"chatEveryone\": \"Everyone\",\n\t\"chatEdited\": \"Edited\",\n\t\"chatPinned\": \"Pinned message\",\n\t\"chatLoadOlder\": \"Load earlier messages\",\n\t\"chatRateLimited\": \"You are sending messages too quickly\",\n\t\"chatDelete\": \"Delete\",\n\t\"chatEdit\": \"Edit\",\n\t\"chatPin\": \"Pin message\",\n\t\"chatUnpin\": \"Unpin message\",\n\t\"chatSave\": \"Save\",\n\t\"waitingSkeleton\": \"Loading waiting room\"\n}\n","{\n\t\"live\": \"EN VIVO\",\n\t\"preview\": \"Vista previa\",\n\t\"waiting\": \"Esperando para unirte\",\n\t\"waitingHost\": \"Esperando a que el anfitrión te deje entrar\",\n\t\"admit\": \"Admitir\",\n\t\"deny\": \"Rechazar\",\n\t\"denied\": \"Invitado rechazado\",\n\t\"denyError\": \"No se pudo rechazar a ese invitado\",\n\t\"rejectedTitle\": \"El anfitrión rechazó tu solicitud\",\n\t\"rejectedDescription\": \"Puedes pedir unirte de nuevo si el estudio sigue abierto.\",\n\t\"rejectedAction\": \"Pedir unirme de nuevo\",\n\t\"kick\": \"Quitar\",\n\t\"camera\": \"Cámara\",\n\t\"screen\": \"Pantalla\",\n\t\"mute\": \"Silenciar\",\n\t\"unmute\": \"Activar audio\",\n\t\"copyLink\": \"Copiar enlace de invitado\",\n\t\"shareLink\": \"Compartir enlace de invitado\",\n\t\"shareGuestText\": \"Únete al estudio de {title}\",\n\t\"shareFailed\": \"No se pudo compartir el enlace de invitado\",\n\t\"copied\": \"Enlace de invitado copiado\",\n\t\"publish\": \"Salir al aire\",\n\t\"publishTitle\": \"¿Salir al aire?\",\n\t\"publishDescription\": \"Las y los espectadores verán este estudio en el reproductor público.\",\n\t\"publishConfirm\": \"Salir al aire\",\n\t\"publishPending\": \"Saliendo al aire…\",\n\t\"stop\": \"Detener\",\n\t\"stopTitle\": \"¿Detener esta transmisión?\",\n\t\"stopDescription\": \"Las y los espectadores perderán la señal en vivo. Los invitados se desconectarán.\",\n\t\"stopConfirm\": \"Detener transmisión\",\n\t\"fullscreen\": \"Pantalla completa\",\n\t\"publishError\": \"No se pudo salir al aire\",\n\t\"stopError\": \"No se pudo detener la transmisión\",\n\t\"published\": \"Saliendo al aire\",\n\t\"stopped\": \"Transmisión detenida\",\n\t\"cameraDevice\": \"Cámara\",\n\t\"micDevice\": \"Micrófono\",\n\t\"speakerDevice\": \"Altavoz\",\n\t\"preflightCamera\": \"Cámara\",\n\t\"preflightMic\": \"Micrófono\",\n\t\"knock\": \"{name} espera para unirse\",\n\t\"egressLost\": \"Reconectar estudio\",\n\t\"livestreamStarting\": \"Inicializando…\",\n\t\"livestreamSending\": \"Inicializando…\",\n\t\"livestreamInitializing\": \"Inicializando…\",\n\t\"livestreamRetry\": \"Reintentar salida\",\n\t\"livestreamError\": \"No se pudo iniciar la salida RTMP\",\n\t\"screenBusy\": \"Alguien más ya está compartiendo su pantalla\",\n\t\"endedTitle\": \"Esta sesión de estudio terminó\",\n\t\"endedDescription\": \"El anfitrión detuvo la transmisión.\",\n\t\"endedAction\": \"Volver\",\n\t\"rejoin\": \"Volver al estudio\",\n\t\"duplicateTitle\": \"El estudio ya está abierto\",\n\t\"duplicateDescription\": \"Este estudio ya está abierto en otra ventana.\",\n\t\"duplicateDescriptionNoTakeover\": \"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\"duplicateAction\": \"Continuar aquí\",\n\t\"duplicateTakenOver\": \"Esta sesión se movió a otra ventana.\",\n\t\"joinBusy\": \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\"cameraError\": \"No se pudo activar la cámara\",\n\t\"screenError\": \"No se pudo compartir la pantalla\",\n\t\"leave\": \"Salir del estudio\",\n\t\"leaveTitle\": \"¿Salir de este estudio?\",\n\t\"leaveDescription\": \"Te desconectarás del anfitrión y de los demás invitados.\",\n\t\"leaveConfirm\": \"Salir\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Enviar\",\n\t\"chatPlaceholder\": \"Mensaje\",\n\t\"chatError\": \"No se pudo enviar el mensaje\",\n\t\"settings\": \"Ajustes\",\n\t\"settingsTitle\": \"Ajustes\",\n\t\"settingsDescription\": \"Nombre, audio y video\",\n\t\"guestName\": \"Tu nombre\",\n\t\"displayNameSave\": \"Guardar\",\n\t\"displayNameSaved\": \"Nombre actualizado\",\n\t\"displayNameError\": \"No se pudo actualizar tu nombre\",\n\t\"testSpeaker\": \"Probar\",\n\t\"testSpeakerError\": \"No se pudo reproducir la prueba de altavoz\",\n\t\"cameraOff\": \"Cámara apagada\",\n\t\"micLevel\": \"Nivel del micrófono\",\n\t\"share\": \"Copiar enlace del reproductor\",\n\t\"shareCopied\": \"Enlace del reproductor copiado\",\n\t\"stopCamera\": \"Apagar cámara\",\n\t\"stopScreen\": \"Dejar de compartir pantalla\",\n\t\"hostMutedYou\": \"El anfitrión te silenció\",\n\t\"hostStoppedYourCamera\": \"El anfitrión apagó tu cámara\",\n\t\"hostStoppedYourScreen\": \"El anfitrión detuvo tu compartir pantalla\",\n\t\"hostMediaError\": \"No se pudo cambiar el medio de ese invitado\",\n\t\"tileMenu\": \"Controles de invitado\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Cerrar picture-in-picture\",\n\t\"backToStudio\": \"Volver al estudio\",\n\t\"pipTitle\": \"Estudio\",\n\t\"pipError\": \"No se pudo abrir picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Compartir pantalla no está disponible en este dispositivo\",\n\t\"screenNotAllowed\": \"No tienes permiso para compartir tu pantalla\",\n\t\"askToShare\": \"Pedir compartir\",\n\t\"shareRequested\": \"Solicitado\",\n\t\"cancelShareRequest\": \"Cancelar solicitud\",\n\t\"shareRequestSent\": \"Le pediste al anfitrión compartir tu pantalla\",\n\t\"shareRequestFrom\": \"{name} quiere compartir su pantalla\",\n\t\"approve\": \"Aprobar\",\n\t\"shareApproved\": \"El anfitrión aprobó tu compartir pantalla\",\n\t\"shareDenied\": \"El anfitrión rechazó tu compartir pantalla\",\n\t\"shareRequestError\": \"No se pudo pedir compartir pantalla\",\n\t\"shareRequestTimeout\": \"El anfitrión no respondió\",\n\t\"shareRespondError\": \"No se pudo responder a esa solicitud\",\n\t\"goOffAir\": \"Salir del aire\",\n\t\"goOnAir\": \"Entrar al aire\",\n\t\"takeOffAir\": \"Quitar del aire\",\n\t\"bringOnAir\": \"Poner al aire\",\n\t\"offAir\": \"Fuera del aire\",\n\t\"offAirCount\": \"Fuera del aire ({count})\",\n\t\"offAirBanner\": \"Estás fuera de cámara. Tu micrófono sigue activo.\",\n\t\"offAirLastVisible\": \"Al menos una persona debe quedarse al aire mientras estás en vivo\",\n\t\"offAirHidden\": \"Fuera del aire\",\n\t\"offAirShown\": \"De nuevo al aire\",\n\t\"offAirError\": \"No se pudo cambiar el estado al aire\",\n\t\"takeOffAirTitle\": \"¿Quitar a este invitado del aire?\",\n\t\"takeOffAirDescription\": \"Sigue en el estudio, pero deja de publicar cámara, micrófono y pantalla.\",\n\t\"takeOffAirConfirm\": \"Quitar del aire\",\n\t\"admitAsPanelist\": \"Admitir como panelista\",\n\t\"admitAsAudience\": \"Admitir como audiencia\",\n\t\"admitAllPanelists\": \"Admitir a todos como panelistas\",\n\t\"admitAllAudience\": \"Admitir a todos como audiencia\",\n\t\"askToGoOnAir\": \"Pedir entrar al aire\",\n\t\"stageRequested\": \"Pidió entrar al aire\",\n\t\"stageRequests\": \"Solicitudes de escenario\",\n\t\"people\": \"Personas\",\n\t\"panelists\": \"Panelistas\",\n\t\"audience\": \"Audiencia\",\n\t\"noWaiting\": \"Nadie espera\",\n\t\"noPanelists\": \"Sin panelistas\",\n\t\"noAudience\": \"Sin audiencia\",\n\t\"closePanel\": \"Cerrar\",\n\t\"muteChat\": \"Silenciar chat\",\n\t\"allowChat\": \"Permitir chat\",\n\t\"pin\": \"Fijar en escenario\",\n\t\"unpin\": \"Desfijar\",\n\t\"pinnedToast\": \"Estás fijado en el escenario\",\n\t\"unpinnedToast\": \"Ya no estás fijado\",\n\t\"pinError\": \"No se pudo fijar a esa persona\",\n\t\"kickTitle\": \"¿Quitar a este invitado del estudio?\",\n\t\"kickDescription\": \"Se desconectará.\",\n\t\"kickConfirm\": \"Quitar\",\n\t\"kickError\": \"No se pudo quitar a ese invitado\",\n\t\"stageError\": \"No se pudo cambiar el acceso al escenario\",\n\t\"stageDisabled\": \"Este enlace de invitado no puede unirse al escenario.\",\n\t\"stageGrantNoEffect\": \"Ese invitado se quedó en la audiencia.\",\n\t\"stageOverflow\": \"+{count} más\",\n\t\"chatEveryone\": \"Todos\",\n\t\"chatEdited\": \"Editado\",\n\t\"chatPinned\": \"Mensaje fijado\",\n\t\"chatLoadOlder\": \"Cargar mensajes anteriores\",\n\t\"chatRateLimited\": \"Estás enviando mensajes demasiado rápido\",\n\t\"chatDelete\": \"Eliminar\",\n\t\"chatEdit\": \"Editar\",\n\t\"chatPin\": \"Fijar mensaje\",\n\t\"chatUnpin\": \"Desfijar mensaje\",\n\t\"chatSave\": \"Guardar\",\n\t\"waitingSkeleton\": \"Cargando sala de espera\"\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\n\nexport type SesionarioLobbyLabels = {\n\ttitle: string;\n\thint: string;\n\tname: string;\n\tjoin: string;\n\twaitingForHost: string;\n\tcamera: string;\n\tmic: string;\n\tcameraDevice?: string;\n\tmicDevice?: string;\n\tspeakerDevice?: string;\n\ttestSpeaker?: string;\n\ttestSpeakerError?: string;\n\tcameraOff?: string;\n\tjoinError: string;\n\tjoinBusy: string;\n\tendedTitle: string;\n};\n\nconst LOBBY: Record<LivoLocale, SesionarioLobbyLabels> = {\n\ten: {\n\t\ttitle: \"Get ready to join\",\n\t\thint: \"Set your camera and microphone, then join when you are ready.\",\n\t\tname: \"Your name\",\n\t\tjoin: \"Join\",\n\t\twaitingForHost: \"Waiting for the host to open the studio\",\n\t\tcamera: \"Camera\",\n\t\tmic: \"Microphone\",\n\t\tcameraDevice: \"Camera\",\n\t\tmicDevice: \"Microphone\",\n\t\tspeakerDevice: \"Speaker\",\n\t\ttestSpeaker: \"Test\",\n\t\ttestSpeakerError: \"Could not play the speaker test\",\n\t\tcameraOff: \"Camera is off\",\n\t\tjoinError: \"Could not join studio\",\n\t\tjoinBusy: \"Too many join attempts. Try again in a moment.\",\n\t\tendedTitle: \"This studio session has ended\",\n\t},\n\tes: {\n\t\ttitle: \"Prepárate para unirte\",\n\t\thint: \"Configura tu cámara y micrófono, y únete cuando estés listo.\",\n\t\tname: \"Tu nombre\",\n\t\tjoin: \"Unirme\",\n\t\twaitingForHost: \"Esperando a que el anfitrión abra el estudio\",\n\t\tcamera: \"Cámara\",\n\t\tmic: \"Micrófono\",\n\t\tcameraDevice: \"Cámara\",\n\t\tmicDevice: \"Micrófono\",\n\t\tspeakerDevice: \"Altavoz\",\n\t\ttestSpeaker: \"Probar\",\n\t\ttestSpeakerError: \"No se pudo reproducir la prueba de altavoz\",\n\t\tcameraOff: \"Cámara apagada\",\n\t\tjoinError: \"No se pudo unir al estudio\",\n\t\tjoinBusy: \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\tendedTitle: \"Esta sesión de estudio terminó\",\n\t},\n};\n\nexport type SesionarioWindowGateLabels = {\n\tduplicateTitle: string;\n\tduplicateDescription: string;\n\tduplicateDescriptionNoTakeover: string;\n\tduplicateTakenOver: string;\n\tduplicateAction: string;\n};\n\nconst WINDOW_GATE: Record<LivoLocale, SesionarioWindowGateLabels> = {\n\ten: {\n\t\tduplicateTitle: \"Studio is already open\",\n\t\tduplicateDescription: \"This studio is already open in another window.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"This studio is already open in another window. Close that window to continue here.\",\n\t\tduplicateTakenOver: \"This session moved to another window.\",\n\t\tduplicateAction: \"Continue here\",\n\t},\n\tes: {\n\t\tduplicateTitle: \"El estudio ya está abierto\",\n\t\tduplicateDescription: \"Este estudio ya está abierto en otra ventana.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\tduplicateTakenOver: \"Esta sesión se movió a otra ventana.\",\n\t\tduplicateAction: \"Continuar aquí\",\n\t},\n};\n\nexport type SesionarioPlayerLabels = {\n\tplay: string;\n\tpause: string;\n\tmute: string;\n\tunmute: string;\n\tenterFullscreen: string;\n\texitFullscreen: string;\n\tpictureInPicture: string;\n\tcast: string;\n\tsettings: string;\n\tmore: string;\n\tback: string;\n\tquality: string;\n\tauto: string;\n\tspeed: string;\n\tlive: string;\n\tgoLive: string;\n\ttapToUnmute: string;\n\tloading: string;\n\twaiting: string;\n\tretry: string;\n\terrorUnavailable: string;\n\terrorNetwork: string;\n\terrorMedia: string;\n\terrorUnsupported: string;\n\terrorGeneric: string;\n\tcaptions: string;\n\tcaptionsOff: string;\n\tcaptionsEn: string;\n\tcaptionsEs: string;\n\tcaptionsPt: string;\n};\n\nconst PLAYER: Record<LivoLocale, SesionarioPlayerLabels> = {\n\ten: {\n\t\tplay: \"Play\",\n\t\tpause: \"Pause\",\n\t\tmute: \"Mute\",\n\t\tunmute: \"Unmute\",\n\t\tenterFullscreen: \"Fullscreen\",\n\t\texitFullscreen: \"Exit fullscreen\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Cast\",\n\t\tsettings: \"Settings\",\n\t\tmore: \"More\",\n\t\tback: \"Back\",\n\t\tquality: \"Quality\",\n\t\tauto: \"Auto\",\n\t\tspeed: \"Speed\",\n\t\tlive: \"LIVE\",\n\t\tgoLive: \"Go to live\",\n\t\ttapToUnmute: \"Tap to unmute\",\n\t\tloading: \"Loading\",\n\t\twaiting: \"Waiting\",\n\t\tretry: \"Retry\",\n\t\terrorUnavailable: \"This video is unavailable\",\n\t\terrorNetwork: \"Network error. Try again.\",\n\t\terrorMedia: \"Could not play this video\",\n\t\terrorUnsupported: \"This video cannot be played on this device\",\n\t\terrorGeneric: \"Playback error\",\n\t\tcaptions: \"Captions\",\n\t\tcaptionsOff: \"Off\",\n\t\tcaptionsEn: \"English\",\n\t\tcaptionsEs: \"Spanish\",\n\t\tcaptionsPt: \"Portuguese\",\n\t},\n\tes: {\n\t\tplay: \"Reproducir\",\n\t\tpause: \"Pausar\",\n\t\tmute: \"Silenciar\",\n\t\tunmute: \"Activar audio\",\n\t\tenterFullscreen: \"Pantalla completa\",\n\t\texitFullscreen: \"Salir de pantalla completa\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Transmitir\",\n\t\tsettings: \"Ajustes\",\n\t\tmore: \"Más\",\n\t\tback: \"Atrás\",\n\t\tquality: \"Calidad\",\n\t\tauto: \"Automática\",\n\t\tspeed: \"Velocidad\",\n\t\tlive: \"EN VIVO\",\n\t\tgoLive: \"Ir al vivo\",\n\t\ttapToUnmute: \"Toca para activar el audio\",\n\t\tloading: \"Cargando\",\n\t\twaiting: \"Esperando\",\n\t\tretry: \"Reintentar\",\n\t\terrorUnavailable: \"Este video no está disponible\",\n\t\terrorNetwork: \"Error de red. Inténtalo de nuevo.\",\n\t\terrorMedia: \"No se pudo reproducir este video\",\n\t\terrorUnsupported: \"Este video no se puede reproducir en este dispositivo\",\n\t\terrorGeneric: \"Error de reproducción\",\n\t\tcaptions: \"Subtítulos\",\n\t\tcaptionsOff: \"Desactivados\",\n\t\tcaptionsEn: \"Inglés\",\n\t\tcaptionsEs: \"Español\",\n\t\tcaptionsPt: \"Portugués\",\n\t},\n};\n\nexport type SesionarioWaitingLabels = {\n\twaiting: string;\n\tstartingSoon: string;\n\tvodWaiting: string;\n\tavailableSoon: string;\n\tloading: string;\n\tstartsIn: (time: string) => string;\n\tavailableIn: (time: string) => string;\n};\n\nconst WAITING: Record<LivoLocale, SesionarioWaitingLabels> = {\n\ten: {\n\t\twaiting: \"Waiting\",\n\t\tstartingSoon: \"Starting soon\",\n\t\tvodWaiting: \"Waiting for this video to become available.\",\n\t\tavailableSoon: \"Available soon\",\n\t\tloading: \"Loading playback\",\n\t\tstartsIn: (time) => `Starts in ${time}`,\n\t\tavailableIn: (time) => `Available in ${time}`,\n\t},\n\tes: {\n\t\twaiting: \"Esperando\",\n\t\tstartingSoon: \"Empieza pronto\",\n\t\tvodWaiting: \"Esperando a que este video esté disponible.\",\n\t\tavailableSoon: \"Disponible pronto\",\n\t\tloading: \"Cargando reproducción\",\n\t\tstartsIn: (time) => `Empieza en ${time}`,\n\t\tavailableIn: (time) => `Disponible en ${time}`,\n\t},\n};\n\nexport type SesionarioCommunityLabels = {\n\tcomments: string;\n\tqa: string;\n\tcomposer: string;\n\tquestionComposer: string;\n\treply: string;\n\tsend: string;\n\tname: string;\n\tnamePlaceholder: string;\n\tpostingAs: string;\n\teditName: string;\n\tsaveName: string;\n\tclosed: string;\n\tqaClosed: string;\n\temptyComments: string;\n\temptyQuestions: string;\n\tjumpToLatest: string;\n\tpinned: string;\n\tlive: string;\n\tpin: string;\n\tunpin: string;\n\thide: string;\n\tunhide: string;\n\tremove: string;\n\thighlight: string;\n\tdismiss: string;\n\tanswer: string;\n\tupvote: string;\n\tsettings: string;\n\tcommentsEnabled: string;\n\tcommentsAfterEnd: string;\n\tqaEnabled: string;\n\tcommentsHelp: string;\n\tcommentsAfterEndHelp: string;\n\tqaHelp: string;\n};\n\nconst COMMUNITY: Record<LivoLocale, SesionarioCommunityLabels> = {\n\ten: {\n\t\tcomments: \"Comments\",\n\t\tqa: \"Q&A\",\n\t\tcomposer: \"Write a comment\",\n\t\tquestionComposer: \"Ask a question\",\n\t\treply: \"Reply\",\n\t\tsend: \"Send\",\n\t\tname: \"Display name\",\n\t\tnamePlaceholder: \"Your name\",\n\t\tpostingAs: \"Posting as {name}\",\n\t\teditName: \"Edit name\",\n\t\tsaveName: \"Save\",\n\t\tclosed: \"Comments are closed\",\n\t\tqaClosed: \"Q&A is closed\",\n\t\temptyComments: \"No comments yet\",\n\t\temptyQuestions: \"No questions yet\",\n\t\tjumpToLatest: \"Jump to latest\",\n\t\tpinned: \"Pinned\",\n\t\tlive: \"Live\",\n\t\tpin: \"Pin\",\n\t\tunpin: \"Unpin\",\n\t\thide: \"Hide\",\n\t\tunhide: \"Unhide\",\n\t\tremove: \"Delete\",\n\t\thighlight: \"Highlight\",\n\t\tdismiss: \"Dismiss\",\n\t\tanswer: \"Answer\",\n\t\tupvote: \"Upvote\",\n\t\tsettings: \"Community\",\n\t\tcommentsEnabled: \"Comments\",\n\t\tcommentsAfterEnd: \"Keep comments open after the event\",\n\t\tqaEnabled: \"Live Q&A\",\n\t\tcommentsHelp: \"Viewers can comment on this video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"When off, comments close as soon as the live event ends.\",\n\t\tqaHelp: \"Questions are only accepted while the event is live.\",\n\t},\n\tes: {\n\t\tcomments: \"Comentarios\",\n\t\tqa: \"Preguntas\",\n\t\tcomposer: \"Escribe un comentario\",\n\t\tquestionComposer: \"Haz una pregunta\",\n\t\treply: \"Responder\",\n\t\tsend: \"Enviar\",\n\t\tname: \"Nombre para mostrar\",\n\t\tnamePlaceholder: \"Tu nombre\",\n\t\tpostingAs: \"Publicando como {name}\",\n\t\teditName: \"Editar nombre\",\n\t\tsaveName: \"Guardar\",\n\t\tclosed: \"Los comentarios están cerrados\",\n\t\tqaClosed: \"Las preguntas están cerradas\",\n\t\temptyComments: \"Aún no hay comentarios\",\n\t\temptyQuestions: \"Aún no hay preguntas\",\n\t\tjumpToLatest: \"Ir al más reciente\",\n\t\tpinned: \"Fijado\",\n\t\tlive: \"En vivo\",\n\t\tpin: \"Fijar\",\n\t\tunpin: \"Desfijar\",\n\t\thide: \"Ocultar\",\n\t\tunhide: \"Mostrar\",\n\t\tremove: \"Eliminar\",\n\t\thighlight: \"Destacar\",\n\t\tdismiss: \"Descartar\",\n\t\tanswer: \"Responder\",\n\t\tupvote: \"Votar\",\n\t\tsettings: \"Comunidad\",\n\t\tcommentsEnabled: \"Comentarios\",\n\t\tcommentsAfterEnd: \"Mantener comentarios abiertos después del evento\",\n\t\tqaEnabled: \"Preguntas en vivo\",\n\t\tcommentsHelp: \"Las y los espectadores pueden comentar este video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"Si está desactivado, los comentarios se cierran al terminar el evento en vivo.\",\n\t\tqaHelp: \"Las preguntas solo se aceptan mientras el evento está en vivo.\",\n\t},\n};\n\nexport function sesionarioPlayerLabels(\n\tlocale?: string,\n): SesionarioPlayerLabels {\n\treturn PLAYER[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWaitingLabels(\n\tlocale?: string,\n): SesionarioWaitingLabels {\n\treturn WAITING[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioCommunityLabels(\n\tlocale?: string,\n): SesionarioCommunityLabels {\n\treturn COMMUNITY[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWindowGateLabels(\n\tlocale?: string,\n): SesionarioWindowGateLabels {\n\treturn WINDOW_GATE[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioLobbyLabels(locale?: string): SesionarioLobbyLabels {\n\treturn LOBBY[resolveLivoLocale(locale)];\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport en from \"./studio-labels-en.json\";\nimport es from \"./studio-labels-es.json\";\n\nconst catalogs: Record<LivoLocale, Record<string, string>> = {\n\ten: en as Record<string, string>,\n\tes: es as Record<string, string>,\n};\n\nexport function interpolateSesionarioStudioLabel(\n\tkey: string,\n\tvalues?: Record<string, string>,\n\tlocale: LivoLocale = \"es\",\n): string {\n\tlet text = catalogs[locale][key] ?? catalogs.en[key] ?? key;\n\tif (values) {\n\t\tfor (const [name, value] of Object.entries(values)) {\n\t\t\ttext = text.replaceAll(`{${name}}`, value);\n\t\t}\n\t}\n\treturn text;\n}\n\n/** Alias used by unit tests and local copies in admin/app. */\nexport const interpolateStudioLabel = interpolateSesionarioStudioLabel;\n\n/**\n * Catalog interpolator for `@livo-tv/sdk/studio` `studioRoomLabels`.\n * Consuming apps wrap: `studioRoomLabels(sesionarioStudioLabelFn(\"es\"))`.\n */\nexport function sesionarioStudioLabelFn(locale?: string) {\n\tconst resolved = resolveLivoLocale(locale);\n\treturn (key: string, values?: Record<string, string>) =>\n\t\tinterpolateSesionarioStudioLabel(key, values, resolved);\n}\n\nexport function sesionarioStudioLabels(locale?: string) {\n\treturn sesionarioStudioLabelFn(locale);\n}\n\nexport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\n","/**\n * Shared EmbedTheme for native `@livo-tv/sdk` surfaces (LivoPlayer, studio).\n * Built from Sesionario shadcn CSS variables so admin and app match the shell.\n */\nexport type SesionarioEmbedTheme = {\n\tprimary: string;\n\taccent: string;\n\tbackground: string;\n\tforeground: string;\n\tradius: string;\n\tfontFamily: string;\n\tmode?: \"light\" | \"dark\";\n};\n\nconst FALLBACK: SesionarioEmbedTheme = {\n\tbackground: \"oklch(1 0 0)\",\n\tforeground: \"oklch(0.145 0 0)\",\n\tprimary: \"oklch(0.4824 0.1149 242.2039)\",\n\taccent: \"oklch(0.4824 0.1149 242.2039)\",\n\tradius: \"0.625rem\",\n\tfontFamily: \"ui-sans-serif, system-ui, sans-serif\",\n};\n\nfunction cssVar(name: string, fallback: string): string {\n\tif (typeof document === \"undefined\") return fallback;\n\tconst value = getComputedStyle(document.documentElement)\n\t\t.getPropertyValue(name)\n\t\t.trim();\n\treturn value || fallback;\n}\n\nexport function sesionarioEmbedTheme(): SesionarioEmbedTheme {\n\tconst dark =\n\t\ttypeof document !== \"undefined\" &&\n\t\tdocument.documentElement.classList.contains(\"dark\");\n\treturn {\n\t\tbackground: cssVar(\"--background\", FALLBACK.background),\n\t\tforeground: cssVar(\"--foreground\", FALLBACK.foreground),\n\t\tprimary: cssVar(\"--primary\", FALLBACK.primary),\n\t\taccent: cssVar(\"--accent\", FALLBACK.accent),\n\t\tradius: cssVar(\"--radius\", FALLBACK.radius),\n\t\tfontFamily: cssVar(\"--font-sans\", FALLBACK.fontFamily),\n\t\t...(dark ? { mode: \"dark\" as const } : {}),\n\t};\n}\n","import { sesionarioEmbedTheme } from \"./embed-theme\";\nimport type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\nimport { sesionarioStudioLabelFn } from \"./studio-labels\";\n\nexport function livoLabels(locale?: string) {\n\tconst resolved: LivoLocale = resolveLivoLocale(locale);\n\treturn {\n\t\tlocale: resolved,\n\t\ttheme: sesionarioEmbedTheme(),\n\t\tstudioLabelFn: sesionarioStudioLabelFn(resolved),\n\t\tlobbyLabels: sesionarioLobbyLabels(resolved),\n\t\twindowGateLabels: sesionarioWindowGateLabels(resolved),\n\t\tplayerLabels: sesionarioPlayerLabels(resolved),\n\t\twaitingLabels: sesionarioWaitingLabels(resolved),\n\t\tcommunityLabels: sesionarioCommunityLabels(resolved),\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../src/livo/locale.ts","../src/livo/studio-labels-en.json","../src/livo/studio-labels-es.json","../src/livo/catalogs.ts","../src/livo/studio-labels.ts","../src/livo/embed-theme.ts","../src/livo/livo-labels.ts"],"names":[],"mappings":";;;AAEO,SAAS,kBAAkB,MAAA,EAA6B;AAC9D,EAAA,OAAO,QAAQ,WAAA,EAAY,CAAE,UAAA,CAAW,IAAI,IAAI,IAAA,GAAO,IAAA;AACxD;;;ACJA,IAAA,wBAAA,GAAA;AAAA,EACC,IAAA,EAAQ,MAAA;AAAA,EACR,OAAA,EAAW,SAAA;AAAA,EACX,OAAA,EAAW,iBAAA;AAAA,EACX,WAAA,EAAe,oCAAA;AAAA,EACf,KAAA,EAAS,OAAA;AAAA,EACT,IAAA,EAAQ,MAAA;AAAA,EACR,MAAA,EAAU,gBAAA;AAAA,EACV,SAAA,EAAa,8BAAA;AAAA,EACb,aAAA,EAAiB,gCAAA;AAAA,EACjB,mBAAA,EAAuB,wDAAA;AAAA,EACvB,cAAA,EAAkB,mBAAA;AAAA,EAClB,IAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAU,QAAA;AAAA,EACV,IAAA,EAAQ,MAAA;AAAA,EACR,MAAA,EAAU,QAAA;AAAA,EACV,QAAA,EAAY,iBAAA;AAAA,EACZ,SAAA,EAAa,kBAAA;AAAA,EACb,cAAA,EAAkB,6BAAA;AAAA,EAClB,WAAA,EAAe,gCAAA;AAAA,EACf,MAAA,EAAU,mBAAA;AAAA,EACV,OAAA,EAAW,SAAA;AAAA,EACX,YAAA,EAAgB,UAAA;AAAA,EAChB,kBAAA,EAAsB,oDAAA;AAAA,EACtB,cAAA,EAAkB,SAAA;AAAA,EAClB,cAAA,EAAkB,oBAAA;AAAA,EAClB,IAAA,EAAQ,MAAA;AAAA,EACR,SAAA,EAAa,sBAAA;AAAA,EACb,eAAA,EAAmB,+DAAA;AAAA,EACnB,WAAA,EAAe,aAAA;AAAA,EACf,UAAA,EAAc,YAAA;AAAA,EACd,YAAA,EAAgB,mBAAA;AAAA,EAChB,SAAA,EAAa,2BAAA;AAAA,EACb,SAAA,EAAa,YAAA;AAAA,EACb,OAAA,EAAW,gBAAA;AAAA,EACX,YAAA,EAAgB,QAAA;AAAA,EAChB,SAAA,EAAa,YAAA;AAAA,EACb,aAAA,EAAiB,SAAA;AAAA,EACjB,eAAA,EAAmB,QAAA;AAAA,EACnB,YAAA,EAAgB,YAAA;AAAA,EAChB,KAAA,EAAS,2BAAA;AAAA,EACT,UAAA,EAAc,kBAAA;AAAA,EACd,kBAAA,EAAsB,oBAAA;AAAA,EACtB,iBAAA,EAAqB,oBAAA;AAAA,EACrB,sBAAA,EAA0B,oBAAA;AAAA,EAC1B,eAAA,EAAmB,cAAA;AAAA,EACnB,eAAA,EAAmB,6BAAA;AAAA,EACnB,UAAA,EAAc,8CAAA;AAAA,EACd,UAAA,EAAc,+BAAA;AAAA,EACd,gBAAA,EAAoB,8BAAA;AAAA,EACpB,WAAA,EAAe,MAAA;AAAA,EACf,MAAA,EAAU,eAAA;AAAA,EACV,cAAA,EAAkB,wBAAA;AAAA,EAClB,oBAAA,EAAwB,gDAAA;AAAA,EACxB,8BAAA,EAAkC,oFAAA;AAAA,EAClC,eAAA,EAAmB,eAAA;AAAA,EACnB,kBAAA,EAAsB,uCAAA;AAAA,EACtB,QAAA,EAAY,gDAAA;AAAA,EACZ,WAAA,EAAe,6BAAA;AAAA,EACf,WAAA,EAAe,4BAAA;AAAA,EACf,KAAA,EAAS,cAAA;AAAA,EACT,UAAA,EAAc,oBAAA;AAAA,EACd,gBAAA,EAAoB,qDAAA;AAAA,EACpB,YAAA,EAAgB,OAAA;AAAA,EAChB,IAAA,EAAQ,MAAA;AAAA,EACR,QAAA,EAAY,MAAA;AAAA,EACZ,eAAA,EAAmB,SAAA;AAAA,EACnB,SAAA,EAAa,4BAAA;AAAA,EACb,QAAA,EAAY,UAAA;AAAA,EACZ,aAAA,EAAiB,UAAA;AAAA,EACjB,mBAAA,EAAuB,iCAAA;AAAA,EACvB,SAAA,EAAa,WAAA;AAAA,EACb,eAAA,EAAmB,MAAA;AAAA,EACnB,gBAAA,EAAoB,sBAAA;AAAA,EACpB,gBAAA,EAAoB,oCAAA;AAAA,EACpB,WAAA,EAAe,MAAA;AAAA,EACf,gBAAA,EAAoB,iCAAA;AAAA,EACpB,SAAA,EAAa,eAAA;AAAA,EACb,QAAA,EAAY,kBAAA;AAAA,EACZ,KAAA,EAAS,kBAAA;AAAA,EACT,WAAA,EAAe,oBAAA;AAAA,EACf,UAAA,EAAc,aAAA;AAAA,EACd,UAAA,EAAc,mBAAA;AAAA,EACd,YAAA,EAAgB,oBAAA;AAAA,EAChB,qBAAA,EAAyB,iCAAA;AAAA,EACzB,qBAAA,EAAyB,oCAAA;AAAA,EACzB,cAAA,EAAkB,qCAAA;AAAA,EAClB,QAAA,EAAY,gBAAA;AAAA,EACZ,OAAA,EAAW,oBAAA;AAAA,EACX,QAAA,EAAY,0BAAA;AAAA,EACZ,YAAA,EAAgB,gBAAA;AAAA,EAChB,QAAA,EAAY,QAAA;AAAA,EACZ,QAAA,EAAY,mCAAA;AAAA,EACZ,uBAAA,EAA2B,gDAAA;AAAA,EAC3B,gBAAA,EAAoB,iDAAA;AAAA,EACpB,UAAA,EAAc,cAAA;AAAA,EACd,cAAA,EAAkB,WAAA;AAAA,EAClB,kBAAA,EAAsB,gBAAA;AAAA,EACtB,gBAAA,EAAoB,qCAAA;AAAA,EACpB,gBAAA,EAAoB,oCAAA;AAAA,EACpB,OAAA,EAAW,SAAA;AAAA,EACX,aAAA,EAAiB,qCAAA;AAAA,EACjB,WAAA,EAAe,qCAAA;AAAA,EACf,iBAAA,EAAqB,iCAAA;AAAA,EACrB,mBAAA,EAAuB,2BAAA;AAAA,EACvB,iBAAA,EAAqB,yCAAA;AAAA,EACrB,QAAA,EAAY,YAAA;AAAA,EACZ,OAAA,EAAW,WAAA;AAAA,EACX,UAAA,EAAc,cAAA;AAAA,EACd,UAAA,EAAc,cAAA;AAAA,EACd,MAAA,EAAU,SAAA;AAAA,EACV,WAAA,EAAe,mBAAA;AAAA,EACf,YAAA,EAAgB,oDAAA;AAAA,EAChB,iBAAA,EAAqB,8DAAA;AAAA,EACrB,YAAA,EAAgB,eAAA;AAAA,EAChB,WAAA,EAAe,aAAA;AAAA,EACf,WAAA,EAAe,+BAAA;AAAA,EACf,eAAA,EAAmB,0BAAA;AAAA,EACnB,qBAAA,EAAyB,sEAAA;AAAA,EACzB,iBAAA,EAAqB,cAAA;AAAA,EACrB,eAAA,EAAmB,mBAAA;AAAA,EACnB,eAAA,EAAmB,mBAAA;AAAA,EACnB,iBAAA,EAAqB,wBAAA;AAAA,EACrB,gBAAA,EAAoB,uBAAA;AAAA,EACpB,YAAA,EAAgB,kBAAA;AAAA,EAChB,cAAA,EAAkB,oBAAA;AAAA,EAClB,aAAA,EAAiB,gBAAA;AAAA,EACjB,MAAA,EAAU,QAAA;AAAA,EACV,SAAA,EAAa,WAAA;AAAA,EACb,QAAA,EAAY,UAAA;AAAA,EACZ,SAAA,EAAa,mBAAA;AAAA,EACb,WAAA,EAAe,cAAA;AAAA,EACf,UAAA,EAAc,aAAA;AAAA,EACd,UAAA,EAAc,OAAA;AAAA,EACd,QAAA,EAAY,WAAA;AAAA,EACZ,SAAA,EAAa,YAAA;AAAA,EACb,GAAA,EAAO,cAAA;AAAA,EACP,KAAA,EAAS,OAAA;AAAA,EACT,WAAA,EAAe,yBAAA;AAAA,EACf,aAAA,EAAiB,0BAAA;AAAA,EACjB,QAAA,EAAY,gCAAA;AAAA,EACZ,SAAA,EAAa,oCAAA;AAAA,EACb,eAAA,EAAmB,4BAAA;AAAA,EACnB,WAAA,EAAe,QAAA;AAAA,EACf,SAAA,EAAa,6BAAA;AAAA,EACb,UAAA,EAAc,+BAAA;AAAA,EACd,aAAA,EAAiB,wCAAA;AAAA,EACjB,kBAAA,EAAsB,oCAAA;AAAA,EACtB,aAAA,EAAiB,eAAA;AAAA,EACjB,YAAA,EAAgB,UAAA;AAAA,EAChB,UAAA,EAAc,QAAA;AAAA,EACd,UAAA,EAAc,gBAAA;AAAA,EACd,aAAA,EAAiB,uBAAA;AAAA,EACjB,eAAA,EAAmB,sCAAA;AAAA,EACnB,UAAA,EAAc,QAAA;AAAA,EACd,QAAA,EAAY,MAAA;AAAA,EACZ,OAAA,EAAW,aAAA;AAAA,EACX,SAAA,EAAa,eAAA;AAAA,EACb,QAAA,EAAY,MAAA;AAAA,EACZ,eAAA,EAAmB,sBAAA;AAAA,EACnB,UAAA,EAAc,0BAAA;AAAA,EACd,aAAA,EAAiB,2BAAA;AAAA,EACjB,KAAA,EAAS,WAAA;AAAA,EACT,sBAAA,EAA0B,mCAAA;AAAA,EAC1B,uBAAA,EAA2B,kBAAA;AAAA,EAC3B,wBAAA,EAA4B,SAAA;AAAA,EAC5B,aAAA,EAAiB,6CAAA;AAAA,EACjB,WAAA,EAAe,6CAAA;AAAA,EACf,SAAA,EAAa,WAAA;AAAA,EACb,QAAA,EAAY,UAAA;AAAA,EACZ,EAAA,EAAM,KAAA;AAAA,EACN,QAAA,EAAY,iBAAA;AAAA,EACZ,gBAAA,EAAoB,gBAAA;AAAA,EACpB,aAAA,EAAiB,iBAAA;AAAA,EACjB,cAAA,EAAkB,kBAAA;AAAA,EAClB,YAAA,EAAgB,gBAAA;AAAA,EAChB,MAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAU,qBAAA;AAAA,EACV,QAAA,EAAY,eAAA;AAAA,EACZ,SAAA,EAAa,gBAAA;AAAA,EACb,WAAA,EAAe,kBAAA;AAAA,EACf,cAAA,EAAkB,gCAAA;AAAA,EAClB,IAAA,EAAQ,MAAA;AAAA,EACR,QAAA,EAAY,UAAA;AAAA,EACZ,UAAA,EAAc,mBAAA;AAAA,EACd,WAAA,EAAe,kBAAA;AAAA,EACf,gBAAA,EAAoB,mCAAA;AAAA,EACpB,eAAA,EAAmB,2CAAA;AAAA,EACnB,gBAAA,EAAoB,kBAAA;AAAA,EACpB,YAAA,EAAgB,cAAA;AAAA,EAChB,aAAA,EAAiB,OAAA;AAAA,EACjB,aAAA,EAAiB,QAAA;AAAA,EACjB,aAAA,EAAiB,OAAA;AAAA,EACjB,eAAA,EAAmB,SAAA;AAAA,EACnB,aAAA,EAAiB,OAAA;AAAA,EACjB,aAAA,EAAiB,OAAA;AAAA,EACjB,eAAA,EAAmB,SAAA;AAAA,EACnB,iBAAA,EAAqB,WAAA;AAAA,EACrB,UAAA,EAAc,MAAA;AAAA,EACd,UAAA,EAAc,MAAA;AAAA,EACd,gBAAA,EAAoB,aAAA;AAAA,EACpB,iBAAA,EAAqB,aAAA;AAAA,EACrB,aAAA,EAAiB,SAAA;AAAA,EACjB,gBAAA,EAAoB,MAAA;AAAA,EACpB,qBAAA,EAAyB,WAAA;AAAA,EACzB,iBAAA,EAAqB,OAAA;AAAA,EACrB,gBAAA,EAAoB,MAAA;AAAA,EACpB,gBAAA,EAAoB,MAAA;AAAA,EACpB,kBAAA,EAAsB,QAAA;AAAA,EACtB,QAAA,EAAY,SAAA;AAAA,EACZ,QAAA,EAAY,SAAA;AAAA,EACZ,QAAA,EAAY;AACb,CAAA;;;ACtNA,IAAA,wBAAA,GAAA;AAAA,EACC,IAAA,EAAQ,SAAA;AAAA,EACR,OAAA,EAAW,cAAA;AAAA,EACX,OAAA,EAAW,uBAAA;AAAA,EACX,WAAA,EAAe,gDAAA;AAAA,EACf,KAAA,EAAS,SAAA;AAAA,EACT,IAAA,EAAQ,UAAA;AAAA,EACR,MAAA,EAAU,oBAAA;AAAA,EACV,SAAA,EAAa,oCAAA;AAAA,EACb,aAAA,EAAiB,yCAAA;AAAA,EACjB,mBAAA,EAAuB,2DAAA;AAAA,EACvB,cAAA,EAAkB,uBAAA;AAAA,EAClB,IAAA,EAAQ,QAAA;AAAA,EACR,MAAA,EAAU,WAAA;AAAA,EACV,MAAA,EAAU,UAAA;AAAA,EACV,IAAA,EAAQ,WAAA;AAAA,EACR,MAAA,EAAU,eAAA;AAAA,EACV,QAAA,EAAY,2BAAA;AAAA,EACZ,SAAA,EAAa,8BAAA;AAAA,EACb,cAAA,EAAkB,gCAAA;AAAA,EAClB,WAAA,EAAe,4CAAA;AAAA,EACf,MAAA,EAAU,4BAAA;AAAA,EACV,OAAA,EAAW,eAAA;AAAA,EACX,YAAA,EAAgB,oBAAA;AAAA,EAChB,kBAAA,EAAsB,4EAAA;AAAA,EACtB,cAAA,EAAkB,eAAA;AAAA,EAClB,cAAA,EAAkB,wBAAA;AAAA,EAClB,IAAA,EAAQ,SAAA;AAAA,EACR,SAAA,EAAa,kCAAA;AAAA,EACb,eAAA,EAAmB,4FAAA;AAAA,EACnB,WAAA,EAAe,wBAAA;AAAA,EACf,UAAA,EAAc,mBAAA;AAAA,EACd,YAAA,EAAgB,0BAAA;AAAA,EAChB,SAAA,EAAa,sCAAA;AAAA,EACb,SAAA,EAAa,kBAAA;AAAA,EACb,OAAA,EAAW,yBAAA;AAAA,EACX,YAAA,EAAgB,WAAA;AAAA,EAChB,SAAA,EAAa,cAAA;AAAA,EACb,aAAA,EAAiB,SAAA;AAAA,EACjB,eAAA,EAAmB,WAAA;AAAA,EACnB,YAAA,EAAgB,cAAA;AAAA,EAChB,KAAA,EAAS,2BAAA;AAAA,EACT,UAAA,EAAc,oBAAA;AAAA,EACd,kBAAA,EAAsB,qBAAA;AAAA,EACtB,iBAAA,EAAqB,qBAAA;AAAA,EACrB,sBAAA,EAA0B,qBAAA;AAAA,EAC1B,eAAA,EAAmB,mBAAA;AAAA,EACnB,eAAA,EAAmB,mCAAA;AAAA,EACnB,UAAA,EAAc,oDAAA;AAAA,EACd,UAAA,EAAc,sCAAA;AAAA,EACd,gBAAA,EAAoB,2CAAA;AAAA,EACpB,WAAA,EAAe,QAAA;AAAA,EACf,MAAA,EAAU,mBAAA;AAAA,EACV,cAAA,EAAkB,+BAAA;AAAA,EAClB,oBAAA,EAAwB,kDAAA;AAAA,EACxB,8BAAA,EAAkC,6FAAA;AAAA,EAClC,eAAA,EAAmB,mBAAA;AAAA,EACnB,kBAAA,EAAsB,4CAAA;AAAA,EACtB,QAAA,EAAY,qDAAA;AAAA,EACZ,WAAA,EAAe,iCAAA;AAAA,EACf,WAAA,EAAe,kCAAA;AAAA,EACf,KAAA,EAAS,mBAAA;AAAA,EACT,UAAA,EAAc,4BAAA;AAAA,EACd,gBAAA,EAAoB,mEAAA;AAAA,EACpB,YAAA,EAAgB,OAAA;AAAA,EAChB,IAAA,EAAQ,MAAA;AAAA,EACR,QAAA,EAAY,QAAA;AAAA,EACZ,eAAA,EAAmB,SAAA;AAAA,EACnB,SAAA,EAAa,8BAAA;AAAA,EACb,QAAA,EAAY,SAAA;AAAA,EACZ,aAAA,EAAiB,SAAA;AAAA,EACjB,mBAAA,EAAuB,uBAAA;AAAA,EACvB,SAAA,EAAa,WAAA;AAAA,EACb,eAAA,EAAmB,SAAA;AAAA,EACnB,gBAAA,EAAoB,oBAAA;AAAA,EACpB,gBAAA,EAAoB,iCAAA;AAAA,EACpB,WAAA,EAAe,QAAA;AAAA,EACf,gBAAA,EAAoB,4CAAA;AAAA,EACpB,SAAA,EAAa,mBAAA;AAAA,EACb,QAAA,EAAY,wBAAA;AAAA,EACZ,KAAA,EAAS,+BAAA;AAAA,EACT,WAAA,EAAe,gCAAA;AAAA,EACf,UAAA,EAAc,kBAAA;AAAA,EACd,UAAA,EAAc,6BAAA;AAAA,EACd,YAAA,EAAgB,gCAAA;AAAA,EAChB,qBAAA,EAAyB,uCAAA;AAAA,EACzB,qBAAA,EAAyB,8CAAA;AAAA,EACzB,cAAA,EAAkB,6CAAA;AAAA,EAClB,QAAA,EAAY,uBAAA;AAAA,EACZ,OAAA,EAAW,oBAAA;AAAA,EACX,QAAA,EAAY,2BAAA;AAAA,EACZ,YAAA,EAAgB,mBAAA;AAAA,EAChB,QAAA,EAAY,SAAA;AAAA,EACZ,QAAA,EAAY,qCAAA;AAAA,EACZ,uBAAA,EAA2B,8DAAA;AAAA,EAC3B,gBAAA,EAAoB,8CAAA;AAAA,EACpB,UAAA,EAAc,iBAAA;AAAA,EACd,cAAA,EAAkB,YAAA;AAAA,EAClB,kBAAA,EAAsB,oBAAA;AAAA,EACtB,gBAAA,EAAoB,kDAAA;AAAA,EACpB,gBAAA,EAAoB,qCAAA;AAAA,EACpB,OAAA,EAAW,SAAA;AAAA,EACX,aAAA,EAAiB,iDAAA;AAAA,EACjB,WAAA,EAAe,kDAAA;AAAA,EACf,iBAAA,EAAqB,qCAAA;AAAA,EACrB,mBAAA,EAAuB,iCAAA;AAAA,EACvB,iBAAA,EAAqB,sCAAA;AAAA,EACrB,QAAA,EAAY,gBAAA;AAAA,EACZ,OAAA,EAAW,gBAAA;AAAA,EACX,UAAA,EAAc,iBAAA;AAAA,EACd,UAAA,EAAc,eAAA;AAAA,EACd,MAAA,EAAU,gBAAA;AAAA,EACV,WAAA,EAAe,0BAAA;AAAA,EACf,YAAA,EAAgB,4DAAA;AAAA,EAChB,iBAAA,EAAqB,sEAAA;AAAA,EACrB,YAAA,EAAgB,gBAAA;AAAA,EAChB,WAAA,EAAe,kBAAA;AAAA,EACf,WAAA,EAAe,sCAAA;AAAA,EACf,eAAA,EAAmB,sCAAA;AAAA,EACnB,qBAAA,EAAyB,gFAAA;AAAA,EACzB,iBAAA,EAAqB,iBAAA;AAAA,EACrB,eAAA,EAAmB,wBAAA;AAAA,EACnB,eAAA,EAAmB,wBAAA;AAAA,EACnB,iBAAA,EAAqB,iCAAA;AAAA,EACrB,gBAAA,EAAoB,gCAAA;AAAA,EACpB,YAAA,EAAgB,sBAAA;AAAA,EAChB,cAAA,EAAkB,yBAAA;AAAA,EAClB,aAAA,EAAiB,0BAAA;AAAA,EACjB,MAAA,EAAU,UAAA;AAAA,EACV,SAAA,EAAa,YAAA;AAAA,EACb,QAAA,EAAY,WAAA;AAAA,EACZ,SAAA,EAAa,cAAA;AAAA,EACb,WAAA,EAAe,gBAAA;AAAA,EACf,UAAA,EAAc,eAAA;AAAA,EACd,UAAA,EAAc,QAAA;AAAA,EACd,QAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAa,eAAA;AAAA,EACb,GAAA,EAAO,oBAAA;AAAA,EACP,KAAA,EAAS,UAAA;AAAA,EACT,WAAA,EAAe,iCAAA;AAAA,EACf,aAAA,EAAiB,uBAAA;AAAA,EACjB,QAAA,EAAY,gCAAA;AAAA,EACZ,SAAA,EAAa,yCAAA;AAAA,EACb,eAAA,EAAmB,qBAAA;AAAA,EACnB,WAAA,EAAe,QAAA;AAAA,EACf,SAAA,EAAa,kCAAA;AAAA,EACb,UAAA,EAAc,2CAAA;AAAA,EACd,aAAA,EAAiB,uDAAA;AAAA,EACjB,kBAAA,EAAsB,2CAAA;AAAA,EACtB,aAAA,EAAiB,iBAAA;AAAA,EACjB,YAAA,EAAgB,OAAA;AAAA,EAChB,UAAA,EAAc,SAAA;AAAA,EACd,UAAA,EAAc,gBAAA;AAAA,EACd,aAAA,EAAiB,4BAAA;AAAA,EACjB,eAAA,EAAmB,gDAAA;AAAA,EACnB,UAAA,EAAc,UAAA;AAAA,EACd,QAAA,EAAY,QAAA;AAAA,EACZ,OAAA,EAAW,eAAA;AAAA,EACX,SAAA,EAAa,kBAAA;AAAA,EACb,QAAA,EAAY,SAAA;AAAA,EACZ,eAAA,EAAmB,yBAAA;AAAA,EACnB,UAAA,EAAc,uBAAA;AAAA,EACd,aAAA,EAAiB,4BAAA;AAAA,EACjB,KAAA,EAAS,YAAA;AAAA,EACT,sBAAA,EAA0B,4CAAA;AAAA,EAC1B,uBAAA,EAA2B,kBAAA;AAAA,EAC3B,wBAAA,EAA4B,UAAA;AAAA,EAC5B,aAAA,EAAiB,wDAAA;AAAA,EACjB,WAAA,EAAe,yDAAA;AAAA,EACf,SAAA,EAAa,WAAA;AAAA,EACb,QAAA,EAAY,aAAA;AAAA,EACZ,EAAA,EAAM,WAAA;AAAA,EACN,QAAA,EAAY,uBAAA;AAAA,EACZ,gBAAA,EAAoB,kBAAA;AAAA,EACpB,aAAA,EAAiB,2BAAA;AAAA,EACjB,cAAA,EAAkB,yBAAA;AAAA,EAClB,YAAA,EAAgB,uBAAA;AAAA,EAChB,MAAA,EAAU,WAAA;AAAA,EACV,MAAA,EAAU,OAAA;AAAA,EACV,MAAA,EAAU,mCAAA;AAAA,EACV,QAAA,EAAY,iCAAA;AAAA,EACZ,SAAA,EAAa,qBAAA;AAAA,EACb,WAAA,EAAe,sBAAA;AAAA,EACf,cAAA,EAAkB,kCAAA;AAAA,EAClB,IAAA,EAAQ,QAAA;AAAA,EACR,QAAA,EAAY,eAAA;AAAA,EACZ,UAAA,EAAc,0BAAA;AAAA,EACd,WAAA,EAAe,uBAAA;AAAA,EACf,gBAAA,EAAoB,kDAAA;AAAA,EACpB,eAAA,EAAmB,mEAAA;AAAA,EACnB,gBAAA,EAAoB,6BAAA;AAAA,EACpB,YAAA,EAAgB,gCAAA;AAAA,EAChB,aAAA,EAAiB,YAAA;AAAA,EACjB,aAAA,EAAiB,SAAA;AAAA,EACjB,aAAA,EAAiB,QAAA;AAAA,EACjB,eAAA,EAAmB,SAAA;AAAA,EACnB,aAAA,EAAiB,OAAA;AAAA,EACjB,aAAA,EAAiB,OAAA;AAAA,EACjB,eAAA,EAAmB,SAAA;AAAA,EACnB,iBAAA,EAAqB,eAAA;AAAA,EACrB,UAAA,EAAc,SAAA;AAAA,EACd,UAAA,EAAc,YAAA;AAAA,EACd,gBAAA,EAAoB,mBAAA;AAAA,EACpB,iBAAA,EAAqB,QAAA;AAAA,EACrB,aAAA,EAAiB,SAAA;AAAA,EACjB,gBAAA,EAAoB,SAAA;AAAA,EACpB,qBAAA,EAAyB,kBAAA;AAAA,EACzB,iBAAA,EAAqB,OAAA;AAAA,EACrB,gBAAA,EAAoB,WAAA;AAAA,EACpB,gBAAA,EAAoB,SAAA;AAAA,EACpB,kBAAA,EAAsB,QAAA;AAAA,EACtB,QAAA,EAAY,WAAA;AAAA,EACZ,QAAA,EAAY,YAAA;AAAA,EACZ,QAAA,EAAY;AACb,CAAA;;;AChMA,IAAM,KAAA,GAAmD;AAAA,EACxD,EAAA,EAAI;AAAA,IACH,KAAA,EAAO,mBAAA;AAAA,IACP,IAAA,EAAM,+DAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,cAAA,EAAgB,yCAAA;AAAA,IAChB,MAAA,EAAQ,QAAA;AAAA,IACR,GAAA,EAAK,YAAA;AAAA,IACL,YAAA,EAAc,QAAA;AAAA,IACd,SAAA,EAAW,YAAA;AAAA,IACX,aAAA,EAAe,SAAA;AAAA,IACf,WAAA,EAAa,MAAA;AAAA,IACb,gBAAA,EAAkB,iCAAA;AAAA,IAClB,SAAA,EAAW,eAAA;AAAA,IACX,SAAA,EAAW,uBAAA;AAAA,IACX,QAAA,EAAU,gDAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACb;AAAA,EACA,EAAA,EAAI;AAAA,IACH,KAAA,EAAO,0BAAA;AAAA,IACP,IAAA,EAAM,0EAAA;AAAA,IACN,IAAA,EAAM,WAAA;AAAA,IACN,IAAA,EAAM,QAAA;AAAA,IACN,cAAA,EAAgB,iDAAA;AAAA,IAChB,MAAA,EAAQ,WAAA;AAAA,IACR,GAAA,EAAK,cAAA;AAAA,IACL,YAAA,EAAc,WAAA;AAAA,IACd,SAAA,EAAW,cAAA;AAAA,IACX,aAAA,EAAe,SAAA;AAAA,IACf,WAAA,EAAa,QAAA;AAAA,IACb,gBAAA,EAAkB,4CAAA;AAAA,IAClB,SAAA,EAAW,mBAAA;AAAA,IACX,SAAA,EAAW,4BAAA;AAAA,IACX,QAAA,EAAU,qDAAA;AAAA,IACV,UAAA,EAAY;AAAA;AAEd,CAAA;AAUA,IAAM,WAAA,GAA8D;AAAA,EACnE,EAAA,EAAI;AAAA,IACH,cAAA,EAAgB,wBAAA;AAAA,IAChB,oBAAA,EAAsB,gDAAA;AAAA,IACtB,8BAAA,EACC,oFAAA;AAAA,IACD,kBAAA,EAAoB,uCAAA;AAAA,IACpB,eAAA,EAAiB;AAAA,GAClB;AAAA,EACA,EAAA,EAAI;AAAA,IACH,cAAA,EAAgB,+BAAA;AAAA,IAChB,oBAAA,EAAsB,kDAAA;AAAA,IACtB,8BAAA,EACC,6FAAA;AAAA,IACD,kBAAA,EAAoB,4CAAA;AAAA,IACpB,eAAA,EAAiB;AAAA;AAEnB,CAAA;AAmCA,IAAM,MAAA,GAAqD;AAAA,EAC1D,EAAA,EAAI;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,eAAA,EAAiB,YAAA;AAAA,IACjB,cAAA,EAAgB,iBAAA;AAAA,IAChB,gBAAA,EAAkB,oBAAA;AAAA,IAClB,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU,UAAA;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,YAAA;AAAA,IACR,WAAA,EAAa,eAAA;AAAA,IACb,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,OAAA;AAAA,IACP,gBAAA,EAAkB,2BAAA;AAAA,IAClB,YAAA,EAAc,2BAAA;AAAA,IACd,UAAA,EAAY,2BAAA;AAAA,IACZ,gBAAA,EAAkB,4CAAA;AAAA,IAClB,YAAA,EAAc,gBAAA;AAAA,IACd,QAAA,EAAU,UAAA;AAAA,IACV,WAAA,EAAa,KAAA;AAAA,IACb,UAAA,EAAY,SAAA;AAAA,IACZ,UAAA,EAAY,SAAA;AAAA,IACZ,UAAA,EAAY;AAAA,GACb;AAAA,EACA,EAAA,EAAI;AAAA,IACH,IAAA,EAAM,YAAA;AAAA,IACN,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM,WAAA;AAAA,IACN,MAAA,EAAQ,eAAA;AAAA,IACR,eAAA,EAAiB,mBAAA;AAAA,IACjB,cAAA,EAAgB,4BAAA;AAAA,IAChB,gBAAA,EAAkB,oBAAA;AAAA,IAClB,IAAA,EAAM,YAAA;AAAA,IACN,QAAA,EAAU,SAAA;AAAA,IACV,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,eAAA;AAAA,IACN,KAAA,EAAO,WAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,YAAA;AAAA,IACR,WAAA,EAAa,4BAAA;AAAA,IACb,OAAA,EAAS,UAAA;AAAA,IACT,OAAA,EAAS,WAAA;AAAA,IACT,KAAA,EAAO,YAAA;AAAA,IACP,gBAAA,EAAkB,kCAAA;AAAA,IAClB,YAAA,EAAc,sCAAA;AAAA,IACd,UAAA,EAAY,kCAAA;AAAA,IACZ,gBAAA,EAAkB,uDAAA;AAAA,IAClB,YAAA,EAAc,0BAAA;AAAA,IACd,QAAA,EAAU,eAAA;AAAA,IACV,WAAA,EAAa,cAAA;AAAA,IACb,UAAA,EAAY,WAAA;AAAA,IACZ,UAAA,EAAY,YAAA;AAAA,IACZ,UAAA,EAAY;AAAA;AAEd,CAAA;AAYA,IAAM,OAAA,GAAuD;AAAA,EAC5D,EAAA,EAAI;AAAA,IACH,OAAA,EAAS,SAAA;AAAA,IACT,YAAA,EAAc,eAAA;AAAA,IACd,UAAA,EAAY,6CAAA;AAAA,IACZ,aAAA,EAAe,gBAAA;AAAA,IACf,OAAA,EAAS,kBAAA;AAAA,IACT,QAAA,EAAU,CAAC,IAAA,KAAS,CAAA,UAAA,EAAa,IAAI,CAAA,CAAA;AAAA,IACrC,WAAA,EAAa,CAAC,IAAA,KAAS,CAAA,aAAA,EAAgB,IAAI,CAAA;AAAA,GAC5C;AAAA,EACA,EAAA,EAAI;AAAA,IACH,OAAA,EAAS,WAAA;AAAA,IACT,YAAA,EAAc,gBAAA;AAAA,IACd,UAAA,EAAY,gDAAA;AAAA,IACZ,aAAA,EAAe,mBAAA;AAAA,IACf,OAAA,EAAS,0BAAA;AAAA,IACT,QAAA,EAAU,CAAC,IAAA,KAAS,CAAA,WAAA,EAAc,IAAI,CAAA,CAAA;AAAA,IACtC,WAAA,EAAa,CAAC,IAAA,KAAS,CAAA,cAAA,EAAiB,IAAI,CAAA;AAAA;AAE9C,CAAA;AAuCA,IAAM,SAAA,GAA2D;AAAA,EAChE,EAAA,EAAI;AAAA,IACH,QAAA,EAAU,UAAA;AAAA,IACV,EAAA,EAAI,KAAA;AAAA,IACJ,QAAA,EAAU,iBAAA;AAAA,IACV,gBAAA,EAAkB,gBAAA;AAAA,IAClB,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,eAAA,EAAiB,WAAA;AAAA,IACjB,SAAA,EAAW,mBAAA;AAAA,IACX,QAAA,EAAU,WAAA;AAAA,IACV,QAAA,EAAU,MAAA;AAAA,IACV,MAAA,EAAQ,qBAAA;AAAA,IACR,QAAA,EAAU,eAAA;AAAA,IACV,aAAA,EAAe,iBAAA;AAAA,IACf,cAAA,EAAgB,kBAAA;AAAA,IAChB,YAAA,EAAc,gBAAA;AAAA,IACd,MAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,GAAA,EAAK,KAAA;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,SAAA,EAAW,WAAA;AAAA,IACX,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,QAAA;AAAA,IACR,MAAA,EAAQ,QAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,eAAA,EAAiB,UAAA;AAAA,IACjB,gBAAA,EAAkB,oCAAA;AAAA,IAClB,SAAA,EAAW,UAAA;AAAA,IACX,YAAA,EAAc,oCAAA;AAAA,IACd,oBAAA,EACC,0DAAA;AAAA,IACD,MAAA,EAAQ;AAAA,GACT;AAAA,EACA,EAAA,EAAI;AAAA,IACH,QAAA,EAAU,aAAA;AAAA,IACV,EAAA,EAAI,WAAA;AAAA,IACJ,QAAA,EAAU,uBAAA;AAAA,IACV,gBAAA,EAAkB,kBAAA;AAAA,IAClB,KAAA,EAAO,WAAA;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,IAAA,EAAM,qBAAA;AAAA,IACN,eAAA,EAAiB,WAAA;AAAA,IACjB,SAAA,EAAW,wBAAA;AAAA,IACX,QAAA,EAAU,eAAA;AAAA,IACV,QAAA,EAAU,SAAA;AAAA,IACV,MAAA,EAAQ,mCAAA;AAAA,IACR,QAAA,EAAU,iCAAA;AAAA,IACV,aAAA,EAAe,2BAAA;AAAA,IACf,cAAA,EAAgB,yBAAA;AAAA,IAChB,YAAA,EAAc,uBAAA;AAAA,IACd,MAAA,EAAQ,QAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,GAAA,EAAK,OAAA;AAAA,IACL,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,UAAA;AAAA,IACR,SAAA,EAAW,UAAA;AAAA,IACX,OAAA,EAAS,WAAA;AAAA,IACT,MAAA,EAAQ,WAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,QAAA,EAAU,WAAA;AAAA,IACV,eAAA,EAAiB,aAAA;AAAA,IACjB,gBAAA,EAAkB,qDAAA;AAAA,IAClB,SAAA,EAAW,mBAAA;AAAA,IACX,YAAA,EAAc,oDAAA;AAAA,IACd,oBAAA,EACC,mFAAA;AAAA,IACD,MAAA,EAAQ;AAAA;AAEV,CAAA;AAEO,SAAS,uBACf,MAAA,EACyB;AACzB,EAAA,OAAO,MAAA,CAAO,iBAAA,CAAkB,MAAM,CAAC,CAAA;AACxC;AAEO,SAAS,wBACf,MAAA,EAC0B;AAC1B,EAAA,OAAO,OAAA,CAAQ,iBAAA,CAAkB,MAAM,CAAC,CAAA;AACzC;AAEO,SAAS,0BACf,MAAA,EAC4B;AAC5B,EAAA,OAAO,SAAA,CAAU,iBAAA,CAAkB,MAAM,CAAC,CAAA;AAC3C;AAEO,SAAS,2BACf,MAAA,EAC6B;AAC7B,EAAA,OAAO,WAAA,CAAY,iBAAA,CAAkB,MAAM,CAAC,CAAA;AAC7C;AAEO,SAAS,sBAAsB,MAAA,EAAwC;AAC7E,EAAA,OAAO,KAAA,CAAM,iBAAA,CAAkB,MAAM,CAAC,CAAA;AACvC;;;AClWA,IAAM,QAAA,GAAuD;AAAA,EAC5D,EAAA,EAAI,wBAAA;AAAA,EACJ,EAAA,EAAI;AACL,CAAA;AAEO,SAAS,gCAAA,CACf,GAAA,EACA,MAAA,EACA,MAAA,GAAqB,IAAA,EACZ;AACT,EAAA,IAAI,IAAA,GAAO,SAAS,MAAM,CAAA,CAAE,GAAG,CAAA,IAAK,QAAA,CAAS,EAAA,CAAG,GAAG,CAAA,IAAK,GAAA;AACxD,EAAA,IAAI,MAAA,EAAQ;AACX,IAAA,KAAA,MAAW,CAAC,IAAA,EAAM,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,MAAM,CAAA,EAAG;AACnD,MAAA,IAAA,GAAO,IAAA,CAAK,UAAA,CAAW,CAAA,CAAA,EAAI,IAAI,KAAK,KAAK,CAAA;AAAA,IAC1C;AAAA,EACD;AACA,EAAA,OAAO,IAAA;AACR;AASO,SAAS,wBAAwB,MAAA,EAAiB;AACxD,EAAA,MAAM,QAAA,GAAW,kBAAkB,MAAM,CAAA;AACzC,EAAA,OAAO,CAAC,GAAA,EAAa,MAAA,KACpB,gCAAA,CAAiC,GAAA,EAAK,QAAQ,QAAQ,CAAA;AACxD;AAEO,SAAS,uBAAuB,MAAA,EAAiB;AACvD,EAAA,OAAO,wBAAwB,MAAM,CAAA;AACtC;;;ACzBA,IAAM,QAAA,GAAiC;AAAA,EACtC,UAAA,EAAY,cAAA;AAAA,EACZ,UAAA,EAAY,kBAAA;AAAA,EACZ,OAAA,EAAS,+BAAA;AAAA,EACT,MAAA,EAAQ,+BAAA;AAAA,EACR,MAAA,EAAQ,UAAA;AAAA,EACR,UAAA,EAAY;AACb,CAAA;AAEA,SAAS,MAAA,CAAO,MAAc,QAAA,EAA0B;AACvD,EAAA,IAAI,OAAO,QAAA,KAAa,WAAA,EAAa,OAAO,QAAA;AAC5C,EAAA,MAAM,KAAA,GAAQ,iBAAiB,QAAA,CAAS,eAAe,EACrD,gBAAA,CAAiB,IAAI,EACrB,IAAA,EAAK;AACP,EAAA,OAAO,KAAA,IAAS,QAAA;AACjB;AAEO,SAAS,oBAAA,GAA6C;AAC5D,EAAA,MAAM,IAAA,GACL,OAAO,QAAA,KAAa,WAAA,IACpB,SAAS,eAAA,CAAgB,SAAA,CAAU,SAAS,MAAM,CAAA;AACnD,EAAA,OAAO;AAAA,IACN,UAAA,EAAY,MAAA,CAAO,cAAA,EAAgB,QAAA,CAAS,UAAU,CAAA;AAAA,IACtD,UAAA,EAAY,MAAA,CAAO,cAAA,EAAgB,QAAA,CAAS,UAAU,CAAA;AAAA,IACtD,OAAA,EAAS,MAAA,CAAO,WAAA,EAAa,QAAA,CAAS,OAAO,CAAA;AAAA,IAC7C,MAAA,EAAQ,MAAA,CAAO,UAAA,EAAY,QAAA,CAAS,MAAM,CAAA;AAAA,IAC1C,MAAA,EAAQ,MAAA,CAAO,UAAA,EAAY,QAAA,CAAS,MAAM,CAAA;AAAA,IAC1C,UAAA,EAAY,MAAA,CAAO,aAAA,EAAe,QAAA,CAAS,UAAU,CAAA;AAAA,IACrD,GAAI,IAAA,GAAO,EAAE,IAAA,EAAM,MAAA,KAAoB;AAAC,GACzC;AACD;;;AChCO,SAAS,WAAW,MAAA,EAAiB;AAC3C,EAAA,MAAM,QAAA,GAAuB,kBAAkB,MAAM,CAAA;AACrD,EAAA,OAAO;AAAA,IACN,MAAA,EAAQ,QAAA;AAAA,IACR,OAAO,oBAAA,EAAqB;AAAA,IAC5B,aAAA,EAAe,wBAAwB,QAAQ,CAAA;AAAA,IAC/C,WAAA,EAAa,sBAAsB,QAAQ,CAAA;AAAA,IAC3C,gBAAA,EAAkB,2BAA2B,QAAQ,CAAA;AAAA,IACrD,YAAA,EAAc,uBAAuB,QAAQ,CAAA;AAAA,IAC7C,aAAA,EAAe,wBAAwB,QAAQ,CAAA;AAAA,IAC/C,eAAA,EAAiB,0BAA0B,QAAQ;AAAA,GACpD;AACD","file":"livo.cjs","sourcesContent":["export type LivoLocale = \"es\" | \"en\";\n\nexport function resolveLivoLocale(locale?: string): LivoLocale {\n\treturn locale?.toLowerCase().startsWith(\"en\") ? \"en\" : \"es\";\n}\n","{\n\t\"live\": \"LIVE\",\n\t\"preview\": \"Preview\",\n\t\"waiting\": \"Waiting to join\",\n\t\"waitingHost\": \"Waiting for the host to let you in\",\n\t\"admit\": \"Admit\",\n\t\"deny\": \"Deny\",\n\t\"denied\": \"Guest declined\",\n\t\"denyError\": \"Could not decline that guest\",\n\t\"rejectedTitle\": \"The host declined your request\",\n\t\"rejectedDescription\": \"You can ask to join again if the studio is still open.\",\n\t\"rejectedAction\": \"Ask to join again\",\n\t\"kick\": \"Remove\",\n\t\"camera\": \"Camera\",\n\t\"screen\": \"Screen\",\n\t\"mute\": \"Mute\",\n\t\"unmute\": \"Unmute\",\n\t\"copyLink\": \"Copy guest link\",\n\t\"shareLink\": \"Share guest link\",\n\t\"shareGuestText\": \"Join the studio for {title}\",\n\t\"shareFailed\": \"Could not share the guest link\",\n\t\"copied\": \"Guest link copied\",\n\t\"publish\": \"Go live\",\n\t\"publishTitle\": \"Go live?\",\n\t\"publishDescription\": \"Viewers will see this studio on the public player.\",\n\t\"publishConfirm\": \"Go live\",\n\t\"publishPending\": \"Going on air…\",\n\t\"stop\": \"Stop\",\n\t\"stopTitle\": \"Stop this broadcast?\",\n\t\"stopDescription\": \"Viewers will lose the live feed. Guests will be disconnected.\",\n\t\"stopConfirm\": \"Stop stream\",\n\t\"fullscreen\": \"Fullscreen\",\n\t\"publishError\": \"Could not go live\",\n\t\"stopError\": \"Could not stop the stream\",\n\t\"published\": \"Going live\",\n\t\"stopped\": \"Stream stopped\",\n\t\"cameraDevice\": \"Camera\",\n\t\"micDevice\": \"Microphone\",\n\t\"speakerDevice\": \"Speaker\",\n\t\"preflightCamera\": \"Camera\",\n\t\"preflightMic\": \"Microphone\",\n\t\"knock\": \"{name} is waiting to join\",\n\t\"egressLost\": \"Reconnect studio\",\n\t\"livestreamStarting\": \"Initializing…\",\n\t\"livestreamSending\": \"Initializing…\",\n\t\"livestreamInitializing\": \"Initializing…\",\n\t\"livestreamRetry\": \"Retry egress\",\n\t\"livestreamError\": \"Could not start RTMP egress\",\n\t\"screenBusy\": \"Someone else is already sharing their screen\",\n\t\"endedTitle\": \"This studio session has ended\",\n\t\"endedDescription\": \"The host stopped the stream.\",\n\t\"endedAction\": \"Back\",\n\t\"rejoin\": \"Rejoin studio\",\n\t\"duplicateTitle\": \"Studio is already open\",\n\t\"duplicateDescription\": \"This studio is already open in another window.\",\n\t\"duplicateDescriptionNoTakeover\": \"This studio is already open in another window. Close that window to continue here.\",\n\t\"duplicateAction\": \"Continue here\",\n\t\"duplicateTakenOver\": \"This session moved to another window.\",\n\t\"joinBusy\": \"Too many join attempts. Try again in a moment.\",\n\t\"cameraError\": \"Could not enable the camera\",\n\t\"screenError\": \"Could not share the screen\",\n\t\"leave\": \"Leave studio\",\n\t\"leaveTitle\": \"Leave this studio?\",\n\t\"leaveDescription\": \"You will disconnect from the host and other guests.\",\n\t\"leaveConfirm\": \"Leave\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Send\",\n\t\"chatPlaceholder\": \"Message\",\n\t\"chatError\": \"Could not send the message\",\n\t\"settings\": \"Settings\",\n\t\"settingsTitle\": \"Settings\",\n\t\"settingsDescription\": \"Name, audio, and video settings\",\n\t\"guestName\": \"Your name\",\n\t\"displayNameSave\": \"Save\",\n\t\"displayNameSaved\": \"Display name updated\",\n\t\"displayNameError\": \"Could not update your display name\",\n\t\"testSpeaker\": \"Test\",\n\t\"testSpeakerError\": \"Could not play the speaker test\",\n\t\"cameraOff\": \"Camera is off\",\n\t\"micLevel\": \"Microphone level\",\n\t\"share\": \"Copy player link\",\n\t\"shareCopied\": \"Player link copied\",\n\t\"stopCamera\": \"Stop camera\",\n\t\"stopScreen\": \"Stop screen share\",\n\t\"hostMutedYou\": \"The host muted you\",\n\t\"hostStoppedYourCamera\": \"The host turned off your camera\",\n\t\"hostStoppedYourScreen\": \"The host stopped your screen share\",\n\t\"hostMediaError\": \"Could not change that guest's media\",\n\t\"tileMenu\": \"Guest controls\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Close picture-in-picture\",\n\t\"backToStudio\": \"Back to studio\",\n\t\"pipTitle\": \"Studio\",\n\t\"pipError\": \"Could not open picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Screen sharing is not available on this device\",\n\t\"screenNotAllowed\": \"You do not have permission to share your screen\",\n\t\"askToShare\": \"Ask to share\",\n\t\"shareRequested\": \"Requested\",\n\t\"cancelShareRequest\": \"Cancel request\",\n\t\"shareRequestSent\": \"Asked the host to share your screen\",\n\t\"shareRequestFrom\": \"{name} wants to share their screen\",\n\t\"approve\": \"Approve\",\n\t\"shareApproved\": \"The host approved your screen share\",\n\t\"shareDenied\": \"The host declined your screen share\",\n\t\"shareRequestError\": \"Could not ask the host to share\",\n\t\"shareRequestTimeout\": \"No response from the host\",\n\t\"shareRespondError\": \"Could not respond to that share request\",\n\t\"goOffAir\": \"Go off air\",\n\t\"goOnAir\": \"Go on air\",\n\t\"takeOffAir\": \"Take off air\",\n\t\"bringOnAir\": \"Bring on air\",\n\t\"offAir\": \"Off air\",\n\t\"offAirCount\": \"Off air ({count})\",\n\t\"offAirBanner\": \"You are off camera. Your microphone is still live.\",\n\t\"offAirLastVisible\": \"At least one participant must stay on air while you are live\",\n\t\"offAirHidden\": \"Taken off air\",\n\t\"offAirShown\": \"Back on air\",\n\t\"offAirError\": \"Could not change on-air state\",\n\t\"takeOffAirTitle\": \"Take this guest off air?\",\n\t\"takeOffAirDescription\": \"They stay in the studio but stop publishing camera, mic, and screen.\",\n\t\"takeOffAirConfirm\": \"Take off air\",\n\t\"admitAsPanelist\": \"Admit as panelist\",\n\t\"admitAsAudience\": \"Admit as audience\",\n\t\"admitAllPanelists\": \"Admit all as panelists\",\n\t\"admitAllAudience\": \"Admit all as audience\",\n\t\"askToGoOnAir\": \"Ask to go on air\",\n\t\"stageRequested\": \"Asked to go on air\",\n\t\"stageRequests\": \"Stage requests\",\n\t\"people\": \"People\",\n\t\"panelists\": \"Panelists\",\n\t\"audience\": \"Audience\",\n\t\"noWaiting\": \"No one is waiting\",\n\t\"noPanelists\": \"No panelists\",\n\t\"noAudience\": \"No audience\",\n\t\"closePanel\": \"Close\",\n\t\"muteChat\": \"Mute chat\",\n\t\"allowChat\": \"Allow chat\",\n\t\"pin\": \"Pin on stage\",\n\t\"unpin\": \"Unpin\",\n\t\"pinnedToast\": \"You are pinned on stage\",\n\t\"unpinnedToast\": \"You are no longer pinned\",\n\t\"pinError\": \"Could not pin that participant\",\n\t\"kickTitle\": \"Remove this guest from the studio?\",\n\t\"kickDescription\": \"They will be disconnected.\",\n\t\"kickConfirm\": \"Remove\",\n\t\"kickError\": \"Could not remove that guest\",\n\t\"stageError\": \"Could not change stage access\",\n\t\"stageDisabled\": \"This guest link cannot join the stage.\",\n\t\"stageGrantNoEffect\": \"That guest stayed in the audience.\",\n\t\"stageOverflow\": \"+{count} more\",\n\t\"chatEveryone\": \"Everyone\",\n\t\"chatEdited\": \"Edited\",\n\t\"chatPinned\": \"Pinned message\",\n\t\"chatLoadOlder\": \"Load earlier messages\",\n\t\"chatRateLimited\": \"You are sending messages too quickly\",\n\t\"chatDelete\": \"Delete\",\n\t\"chatEdit\": \"Edit\",\n\t\"chatPin\": \"Pin message\",\n\t\"chatUnpin\": \"Unpin message\",\n\t\"chatSave\": \"Save\",\n\t\"waitingSkeleton\": \"Loading waiting room\",\n\t\"connecting\": \"Connecting to the studio\",\n\t\"connectFailed\": \"Could not join the studio\",\n\t\"retry\": \"Try again\",\n\t\"screenDownloadAppTitle\": \"Screen sharing needs the Livo app\",\n\t\"screenDownloadAppAction\": \"Download the app\",\n\t\"screenDownloadAppDismiss\": \"Not now\",\n\t\"stageApproved\": \"The host approved your request to go on air\",\n\t\"stageDenied\": \"The host declined your request to go on air\",\n\t\"community\": \"Community\",\n\t\"comments\": \"Comments\",\n\t\"qa\": \"Q&A\",\n\t\"composer\": \"Write a comment\",\n\t\"questionComposer\": \"Ask a question\",\n\t\"emptyComments\": \"No comments yet\",\n\t\"emptyQuestions\": \"No questions yet\",\n\t\"jumpToLatest\": \"Jump to latest\",\n\t\"answer\": \"Answer\",\n\t\"upvote\": \"Upvote\",\n\t\"closed\": \"Comments are closed\",\n\t\"qaClosed\": \"Q&A is closed\",\n\t\"postError\": \"Could not post\",\n\t\"answerError\": \"Could not answer\",\n\t\"kickTitleNamed\": \"Remove {name} from the studio?\",\n\t\"more\": \"More\",\n\t\"captions\": \"Captions\",\n\t\"captionsOn\": \"Turn off captions\",\n\t\"captionsOff\": \"Turn on captions\",\n\t\"captionsNotReady\": \"Captions start with the broadcast\",\n\t\"captionsDelayed\": \"Studio captions are delayed a few seconds\",\n\t\"captionsLanguage\": \"Caption language\",\n\t\"captionsSize\": \"Caption size\",\n\t\"captionsSizeS\": \"Small\",\n\t\"captionsSizeM\": \"Medium\",\n\t\"captionsSizeL\": \"Large\",\n\t\"settingsGeneral\": \"General\",\n\t\"settingsAudio\": \"Audio\",\n\t\"settingsVideo\": \"Video\",\n\t\"settingsEffects\": \"Effects\",\n\t\"settingsSubtitles\": \"Subtitles\",\n\t\"effectNone\": \"None\",\n\t\"effectBlur\": \"Blur\",\n\t\"effectBlurStrong\": \"Strong blur\",\n\t\"effectBackgrounds\": \"Backgrounds\",\n\t\"effectFilters\": \"Filters\",\n\t\"effectFilterNone\": \"None\",\n\t\"effectFilterGrayscale\": \"Grayscale\",\n\t\"effectFilterSepia\": \"Sepia\",\n\t\"effectFilterWarm\": \"Warm\",\n\t\"effectFilterCool\": \"Cool\",\n\t\"effectFilterBright\": \"Bright\",\n\t\"localeEn\": \"English\",\n\t\"localeEs\": \"Spanish\",\n\t\"localePt\": \"Portuguese\"\n}\n","{\n\t\"live\": \"EN VIVO\",\n\t\"preview\": \"Vista previa\",\n\t\"waiting\": \"Esperando para unirte\",\n\t\"waitingHost\": \"Esperando a que el anfitrión te deje entrar\",\n\t\"admit\": \"Admitir\",\n\t\"deny\": \"Rechazar\",\n\t\"denied\": \"Invitado rechazado\",\n\t\"denyError\": \"No se pudo rechazar a ese invitado\",\n\t\"rejectedTitle\": \"El anfitrión rechazó tu solicitud\",\n\t\"rejectedDescription\": \"Puedes pedir unirte de nuevo si el estudio sigue abierto.\",\n\t\"rejectedAction\": \"Pedir unirme de nuevo\",\n\t\"kick\": \"Quitar\",\n\t\"camera\": \"Cámara\",\n\t\"screen\": \"Pantalla\",\n\t\"mute\": \"Silenciar\",\n\t\"unmute\": \"Activar audio\",\n\t\"copyLink\": \"Copiar enlace de invitado\",\n\t\"shareLink\": \"Compartir enlace de invitado\",\n\t\"shareGuestText\": \"Únete al estudio de {title}\",\n\t\"shareFailed\": \"No se pudo compartir el enlace de invitado\",\n\t\"copied\": \"Enlace de invitado copiado\",\n\t\"publish\": \"Salir al aire\",\n\t\"publishTitle\": \"¿Salir al aire?\",\n\t\"publishDescription\": \"Las y los espectadores verán este estudio en el reproductor público.\",\n\t\"publishConfirm\": \"Salir al aire\",\n\t\"publishPending\": \"Saliendo al aire…\",\n\t\"stop\": \"Detener\",\n\t\"stopTitle\": \"¿Detener esta transmisión?\",\n\t\"stopDescription\": \"Las y los espectadores perderán la señal en vivo. Los invitados se desconectarán.\",\n\t\"stopConfirm\": \"Detener transmisión\",\n\t\"fullscreen\": \"Pantalla completa\",\n\t\"publishError\": \"No se pudo salir al aire\",\n\t\"stopError\": \"No se pudo detener la transmisión\",\n\t\"published\": \"Saliendo al aire\",\n\t\"stopped\": \"Transmisión detenida\",\n\t\"cameraDevice\": \"Cámara\",\n\t\"micDevice\": \"Micrófono\",\n\t\"speakerDevice\": \"Altavoz\",\n\t\"preflightCamera\": \"Cámara\",\n\t\"preflightMic\": \"Micrófono\",\n\t\"knock\": \"{name} espera para unirse\",\n\t\"egressLost\": \"Reconectar estudio\",\n\t\"livestreamStarting\": \"Inicializando…\",\n\t\"livestreamSending\": \"Inicializando…\",\n\t\"livestreamInitializing\": \"Inicializando…\",\n\t\"livestreamRetry\": \"Reintentar salida\",\n\t\"livestreamError\": \"No se pudo iniciar la salida RTMP\",\n\t\"screenBusy\": \"Alguien más ya está compartiendo su pantalla\",\n\t\"endedTitle\": \"Esta sesión de estudio terminó\",\n\t\"endedDescription\": \"El anfitrión detuvo la transmisión.\",\n\t\"endedAction\": \"Volver\",\n\t\"rejoin\": \"Volver al estudio\",\n\t\"duplicateTitle\": \"El estudio ya está abierto\",\n\t\"duplicateDescription\": \"Este estudio ya está abierto en otra ventana.\",\n\t\"duplicateDescriptionNoTakeover\": \"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\"duplicateAction\": \"Continuar aquí\",\n\t\"duplicateTakenOver\": \"Esta sesión se movió a otra ventana.\",\n\t\"joinBusy\": \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\"cameraError\": \"No se pudo activar la cámara\",\n\t\"screenError\": \"No se pudo compartir la pantalla\",\n\t\"leave\": \"Salir del estudio\",\n\t\"leaveTitle\": \"¿Salir de este estudio?\",\n\t\"leaveDescription\": \"Te desconectarás del anfitrión y de los demás invitados.\",\n\t\"leaveConfirm\": \"Salir\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Enviar\",\n\t\"chatPlaceholder\": \"Mensaje\",\n\t\"chatError\": \"No se pudo enviar el mensaje\",\n\t\"settings\": \"Ajustes\",\n\t\"settingsTitle\": \"Ajustes\",\n\t\"settingsDescription\": \"Nombre, audio y video\",\n\t\"guestName\": \"Tu nombre\",\n\t\"displayNameSave\": \"Guardar\",\n\t\"displayNameSaved\": \"Nombre actualizado\",\n\t\"displayNameError\": \"No se pudo actualizar tu nombre\",\n\t\"testSpeaker\": \"Probar\",\n\t\"testSpeakerError\": \"No se pudo reproducir la prueba de altavoz\",\n\t\"cameraOff\": \"Cámara apagada\",\n\t\"micLevel\": \"Nivel del micrófono\",\n\t\"share\": \"Copiar enlace del reproductor\",\n\t\"shareCopied\": \"Enlace del reproductor copiado\",\n\t\"stopCamera\": \"Apagar cámara\",\n\t\"stopScreen\": \"Dejar de compartir pantalla\",\n\t\"hostMutedYou\": \"El anfitrión te silenció\",\n\t\"hostStoppedYourCamera\": \"El anfitrión apagó tu cámara\",\n\t\"hostStoppedYourScreen\": \"El anfitrión detuvo tu compartir pantalla\",\n\t\"hostMediaError\": \"No se pudo cambiar el medio de ese invitado\",\n\t\"tileMenu\": \"Controles de invitado\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Cerrar picture-in-picture\",\n\t\"backToStudio\": \"Volver al estudio\",\n\t\"pipTitle\": \"Estudio\",\n\t\"pipError\": \"No se pudo abrir picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Compartir pantalla no está disponible en este dispositivo\",\n\t\"screenNotAllowed\": \"No tienes permiso para compartir tu pantalla\",\n\t\"askToShare\": \"Pedir compartir\",\n\t\"shareRequested\": \"Solicitado\",\n\t\"cancelShareRequest\": \"Cancelar solicitud\",\n\t\"shareRequestSent\": \"Le pediste al anfitrión compartir tu pantalla\",\n\t\"shareRequestFrom\": \"{name} quiere compartir su pantalla\",\n\t\"approve\": \"Aprobar\",\n\t\"shareApproved\": \"El anfitrión aprobó tu compartir pantalla\",\n\t\"shareDenied\": \"El anfitrión rechazó tu compartir pantalla\",\n\t\"shareRequestError\": \"No se pudo pedir compartir pantalla\",\n\t\"shareRequestTimeout\": \"El anfitrión no respondió\",\n\t\"shareRespondError\": \"No se pudo responder a esa solicitud\",\n\t\"goOffAir\": \"Salir del aire\",\n\t\"goOnAir\": \"Entrar al aire\",\n\t\"takeOffAir\": \"Quitar del aire\",\n\t\"bringOnAir\": \"Poner al aire\",\n\t\"offAir\": \"Fuera del aire\",\n\t\"offAirCount\": \"Fuera del aire ({count})\",\n\t\"offAirBanner\": \"Estás fuera de cámara. Tu micrófono sigue activo.\",\n\t\"offAirLastVisible\": \"Al menos una persona debe quedarse al aire mientras estás en vivo\",\n\t\"offAirHidden\": \"Fuera del aire\",\n\t\"offAirShown\": \"De nuevo al aire\",\n\t\"offAirError\": \"No se pudo cambiar el estado al aire\",\n\t\"takeOffAirTitle\": \"¿Quitar a este invitado del aire?\",\n\t\"takeOffAirDescription\": \"Sigue en el estudio, pero deja de publicar cámara, micrófono y pantalla.\",\n\t\"takeOffAirConfirm\": \"Quitar del aire\",\n\t\"admitAsPanelist\": \"Admitir como panelista\",\n\t\"admitAsAudience\": \"Admitir como audiencia\",\n\t\"admitAllPanelists\": \"Admitir a todos como panelistas\",\n\t\"admitAllAudience\": \"Admitir a todos como audiencia\",\n\t\"askToGoOnAir\": \"Pedir entrar al aire\",\n\t\"stageRequested\": \"Pidió entrar al aire\",\n\t\"stageRequests\": \"Solicitudes de escenario\",\n\t\"people\": \"Personas\",\n\t\"panelists\": \"Panelistas\",\n\t\"audience\": \"Audiencia\",\n\t\"noWaiting\": \"Nadie espera\",\n\t\"noPanelists\": \"Sin panelistas\",\n\t\"noAudience\": \"Sin audiencia\",\n\t\"closePanel\": \"Cerrar\",\n\t\"muteChat\": \"Silenciar chat\",\n\t\"allowChat\": \"Permitir chat\",\n\t\"pin\": \"Fijar en escenario\",\n\t\"unpin\": \"Desfijar\",\n\t\"pinnedToast\": \"Estás fijado en el escenario\",\n\t\"unpinnedToast\": \"Ya no estás fijado\",\n\t\"pinError\": \"No se pudo fijar a esa persona\",\n\t\"kickTitle\": \"¿Quitar a este invitado del estudio?\",\n\t\"kickDescription\": \"Se desconectará.\",\n\t\"kickConfirm\": \"Quitar\",\n\t\"kickError\": \"No se pudo quitar a ese invitado\",\n\t\"stageError\": \"No se pudo cambiar el acceso al escenario\",\n\t\"stageDisabled\": \"Este enlace de invitado no puede unirse al escenario.\",\n\t\"stageGrantNoEffect\": \"Ese invitado se quedó en la audiencia.\",\n\t\"stageOverflow\": \"+{count} más\",\n\t\"chatEveryone\": \"Todos\",\n\t\"chatEdited\": \"Editado\",\n\t\"chatPinned\": \"Mensaje fijado\",\n\t\"chatLoadOlder\": \"Cargar mensajes anteriores\",\n\t\"chatRateLimited\": \"Estás enviando mensajes demasiado rápido\",\n\t\"chatDelete\": \"Eliminar\",\n\t\"chatEdit\": \"Editar\",\n\t\"chatPin\": \"Fijar mensaje\",\n\t\"chatUnpin\": \"Desfijar mensaje\",\n\t\"chatSave\": \"Guardar\",\n\t\"waitingSkeleton\": \"Cargando sala de espera\",\n\t\"connecting\": \"Conectando al estudio\",\n\t\"connectFailed\": \"No se pudo unir al estudio\",\n\t\"retry\": \"Reintentar\",\n\t\"screenDownloadAppTitle\": \"Compartir pantalla necesita la app de Livo\",\n\t\"screenDownloadAppAction\": \"Descargar la app\",\n\t\"screenDownloadAppDismiss\": \"Ahora no\",\n\t\"stageApproved\": \"El anfitrión aprobó tu pedido para pasar al aire\",\n\t\"stageDenied\": \"El anfitrión rechazó tu pedido para pasar al aire\",\n\t\"community\": \"Comunidad\",\n\t\"comments\": \"Comentarios\",\n\t\"qa\": \"Preguntas\",\n\t\"composer\": \"Escribe un comentario\",\n\t\"questionComposer\": \"Haz una pregunta\",\n\t\"emptyComments\": \"Aún no hay comentarios\",\n\t\"emptyQuestions\": \"Aún no hay preguntas\",\n\t\"jumpToLatest\": \"Ir al más reciente\",\n\t\"answer\": \"Responder\",\n\t\"upvote\": \"Votar\",\n\t\"closed\": \"Los comentarios están cerrados\",\n\t\"qaClosed\": \"Las preguntas están cerradas\",\n\t\"postError\": \"No se pudo publicar\",\n\t\"answerError\": \"No se pudo responder\",\n\t\"kickTitleNamed\": \"¿Quitar a {name} del estudio?\",\n\t\"more\": \"Más\",\n\t\"captions\": \"Subtítulos\",\n\t\"captionsOn\": \"Desactivar subtítulos\",\n\t\"captionsOff\": \"Activar subtítulos\",\n\t\"captionsNotReady\": \"Los subtítulos empiezan con la transmisión\",\n\t\"captionsDelayed\": \"Los subtítulos del estudio llegan con unos segundos de retraso\",\n\t\"captionsLanguage\": \"Idioma de los subtítulos\",\n\t\"captionsSize\": \"Tamaño de los subtítulos\",\n\t\"captionsSizeS\": \"Pequeño\",\n\t\"captionsSizeM\": \"Mediano\",\n\t\"captionsSizeL\": \"Grande\",\n\t\"settingsGeneral\": \"General\",\n\t\"settingsAudio\": \"Audio\",\n\t\"settingsVideo\": \"Video\",\n\t\"settingsEffects\": \"Efectos\",\n\t\"settingsSubtitles\": \"Subtítulos\",\n\t\"effectNone\": \"Ninguno\",\n\t\"effectBlur\": \"Desenfocar\",\n\t\"effectBlurStrong\": \"Desenfoque fuerte\",\n\t\"effectBackgrounds\": \"Fondos\",\n\t\"effectFilters\": \"Filtros\",\n\t\"effectFilterNone\": \"Ninguno\",\n\t\"effectFilterGrayscale\": \"Escala de grises\",\n\t\"effectFilterSepia\": \"Sepia\",\n\t\"effectFilterWarm\": \"Cálido\",\n\t\"effectFilterCool\": \"Frío\",\n\t\"effectFilterBright\": \"Brillo\",\n\t\"localeEn\": \"Inglés\",\n\t\"localeEs\": \"Español\",\n\t\"localePt\": \"Portugués\"\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\n\nexport type SesionarioLobbyLabels = {\n\ttitle: string;\n\thint: string;\n\tname: string;\n\tjoin: string;\n\twaitingForHost: string;\n\tcamera: string;\n\tmic: string;\n\tcameraDevice?: string;\n\tmicDevice?: string;\n\tspeakerDevice?: string;\n\ttestSpeaker?: string;\n\ttestSpeakerError?: string;\n\tcameraOff?: string;\n\tjoinError: string;\n\tjoinBusy: string;\n\tendedTitle: string;\n};\n\nconst LOBBY: Record<LivoLocale, SesionarioLobbyLabels> = {\n\ten: {\n\t\ttitle: \"Get ready to join\",\n\t\thint: \"Set your camera and microphone, then join when you are ready.\",\n\t\tname: \"Your name\",\n\t\tjoin: \"Join\",\n\t\twaitingForHost: \"Waiting for the host to open the studio\",\n\t\tcamera: \"Camera\",\n\t\tmic: \"Microphone\",\n\t\tcameraDevice: \"Camera\",\n\t\tmicDevice: \"Microphone\",\n\t\tspeakerDevice: \"Speaker\",\n\t\ttestSpeaker: \"Test\",\n\t\ttestSpeakerError: \"Could not play the speaker test\",\n\t\tcameraOff: \"Camera is off\",\n\t\tjoinError: \"Could not join studio\",\n\t\tjoinBusy: \"Too many join attempts. Try again in a moment.\",\n\t\tendedTitle: \"This studio session has ended\",\n\t},\n\tes: {\n\t\ttitle: \"Prepárate para unirte\",\n\t\thint: \"Configura tu cámara y micrófono, y únete cuando estés listo.\",\n\t\tname: \"Tu nombre\",\n\t\tjoin: \"Unirme\",\n\t\twaitingForHost: \"Esperando a que el anfitrión abra el estudio\",\n\t\tcamera: \"Cámara\",\n\t\tmic: \"Micrófono\",\n\t\tcameraDevice: \"Cámara\",\n\t\tmicDevice: \"Micrófono\",\n\t\tspeakerDevice: \"Altavoz\",\n\t\ttestSpeaker: \"Probar\",\n\t\ttestSpeakerError: \"No se pudo reproducir la prueba de altavoz\",\n\t\tcameraOff: \"Cámara apagada\",\n\t\tjoinError: \"No se pudo unir al estudio\",\n\t\tjoinBusy: \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\tendedTitle: \"Esta sesión de estudio terminó\",\n\t},\n};\n\nexport type SesionarioWindowGateLabels = {\n\tduplicateTitle: string;\n\tduplicateDescription: string;\n\tduplicateDescriptionNoTakeover: string;\n\tduplicateTakenOver: string;\n\tduplicateAction: string;\n};\n\nconst WINDOW_GATE: Record<LivoLocale, SesionarioWindowGateLabels> = {\n\ten: {\n\t\tduplicateTitle: \"Studio is already open\",\n\t\tduplicateDescription: \"This studio is already open in another window.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"This studio is already open in another window. Close that window to continue here.\",\n\t\tduplicateTakenOver: \"This session moved to another window.\",\n\t\tduplicateAction: \"Continue here\",\n\t},\n\tes: {\n\t\tduplicateTitle: \"El estudio ya está abierto\",\n\t\tduplicateDescription: \"Este estudio ya está abierto en otra ventana.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\tduplicateTakenOver: \"Esta sesión se movió a otra ventana.\",\n\t\tduplicateAction: \"Continuar aquí\",\n\t},\n};\n\nexport type SesionarioPlayerLabels = {\n\tplay: string;\n\tpause: string;\n\tmute: string;\n\tunmute: string;\n\tenterFullscreen: string;\n\texitFullscreen: string;\n\tpictureInPicture: string;\n\tcast: string;\n\tsettings: string;\n\tmore: string;\n\tback: string;\n\tquality: string;\n\tauto: string;\n\tspeed: string;\n\tlive: string;\n\tgoLive: string;\n\ttapToUnmute: string;\n\tloading: string;\n\twaiting: string;\n\tretry: string;\n\terrorUnavailable: string;\n\terrorNetwork: string;\n\terrorMedia: string;\n\terrorUnsupported: string;\n\terrorGeneric: string;\n\tcaptions: string;\n\tcaptionsOff: string;\n\tcaptionsEn: string;\n\tcaptionsEs: string;\n\tcaptionsPt: string;\n};\n\nconst PLAYER: Record<LivoLocale, SesionarioPlayerLabels> = {\n\ten: {\n\t\tplay: \"Play\",\n\t\tpause: \"Pause\",\n\t\tmute: \"Mute\",\n\t\tunmute: \"Unmute\",\n\t\tenterFullscreen: \"Fullscreen\",\n\t\texitFullscreen: \"Exit fullscreen\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Cast\",\n\t\tsettings: \"Settings\",\n\t\tmore: \"More\",\n\t\tback: \"Back\",\n\t\tquality: \"Quality\",\n\t\tauto: \"Auto\",\n\t\tspeed: \"Speed\",\n\t\tlive: \"LIVE\",\n\t\tgoLive: \"Go to live\",\n\t\ttapToUnmute: \"Tap to unmute\",\n\t\tloading: \"Loading\",\n\t\twaiting: \"Waiting\",\n\t\tretry: \"Retry\",\n\t\terrorUnavailable: \"This video is unavailable\",\n\t\terrorNetwork: \"Network error. Try again.\",\n\t\terrorMedia: \"Could not play this video\",\n\t\terrorUnsupported: \"This video cannot be played on this device\",\n\t\terrorGeneric: \"Playback error\",\n\t\tcaptions: \"Captions\",\n\t\tcaptionsOff: \"Off\",\n\t\tcaptionsEn: \"English\",\n\t\tcaptionsEs: \"Spanish\",\n\t\tcaptionsPt: \"Portuguese\",\n\t},\n\tes: {\n\t\tplay: \"Reproducir\",\n\t\tpause: \"Pausar\",\n\t\tmute: \"Silenciar\",\n\t\tunmute: \"Activar audio\",\n\t\tenterFullscreen: \"Pantalla completa\",\n\t\texitFullscreen: \"Salir de pantalla completa\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Transmitir\",\n\t\tsettings: \"Ajustes\",\n\t\tmore: \"Más\",\n\t\tback: \"Atrás\",\n\t\tquality: \"Calidad\",\n\t\tauto: \"Automática\",\n\t\tspeed: \"Velocidad\",\n\t\tlive: \"EN VIVO\",\n\t\tgoLive: \"Ir al vivo\",\n\t\ttapToUnmute: \"Toca para activar el audio\",\n\t\tloading: \"Cargando\",\n\t\twaiting: \"Esperando\",\n\t\tretry: \"Reintentar\",\n\t\terrorUnavailable: \"Este video no está disponible\",\n\t\terrorNetwork: \"Error de red. Inténtalo de nuevo.\",\n\t\terrorMedia: \"No se pudo reproducir este video\",\n\t\terrorUnsupported: \"Este video no se puede reproducir en este dispositivo\",\n\t\terrorGeneric: \"Error de reproducción\",\n\t\tcaptions: \"Subtítulos\",\n\t\tcaptionsOff: \"Desactivados\",\n\t\tcaptionsEn: \"Inglés\",\n\t\tcaptionsEs: \"Español\",\n\t\tcaptionsPt: \"Portugués\",\n\t},\n};\n\nexport type SesionarioWaitingLabels = {\n\twaiting: string;\n\tstartingSoon: string;\n\tvodWaiting: string;\n\tavailableSoon: string;\n\tloading: string;\n\tstartsIn: (time: string) => string;\n\tavailableIn: (time: string) => string;\n};\n\nconst WAITING: Record<LivoLocale, SesionarioWaitingLabels> = {\n\ten: {\n\t\twaiting: \"Waiting\",\n\t\tstartingSoon: \"Starting soon\",\n\t\tvodWaiting: \"Waiting for this video to become available.\",\n\t\tavailableSoon: \"Available soon\",\n\t\tloading: \"Loading playback\",\n\t\tstartsIn: (time) => `Starts in ${time}`,\n\t\tavailableIn: (time) => `Available in ${time}`,\n\t},\n\tes: {\n\t\twaiting: \"Esperando\",\n\t\tstartingSoon: \"Empieza pronto\",\n\t\tvodWaiting: \"Esperando a que este video esté disponible.\",\n\t\tavailableSoon: \"Disponible pronto\",\n\t\tloading: \"Cargando reproducción\",\n\t\tstartsIn: (time) => `Empieza en ${time}`,\n\t\tavailableIn: (time) => `Disponible en ${time}`,\n\t},\n};\n\nexport type SesionarioCommunityLabels = {\n\tcomments: string;\n\tqa: string;\n\tcomposer: string;\n\tquestionComposer: string;\n\treply: string;\n\tsend: string;\n\tname: string;\n\tnamePlaceholder: string;\n\tpostingAs: string;\n\teditName: string;\n\tsaveName: string;\n\tclosed: string;\n\tqaClosed: string;\n\temptyComments: string;\n\temptyQuestions: string;\n\tjumpToLatest: string;\n\tpinned: string;\n\tlive: string;\n\tpin: string;\n\tunpin: string;\n\thide: string;\n\tunhide: string;\n\tremove: string;\n\thighlight: string;\n\tdismiss: string;\n\tanswer: string;\n\tupvote: string;\n\tsettings: string;\n\tcommentsEnabled: string;\n\tcommentsAfterEnd: string;\n\tqaEnabled: string;\n\tcommentsHelp: string;\n\tcommentsAfterEndHelp: string;\n\tqaHelp: string;\n};\n\nconst COMMUNITY: Record<LivoLocale, SesionarioCommunityLabels> = {\n\ten: {\n\t\tcomments: \"Comments\",\n\t\tqa: \"Q&A\",\n\t\tcomposer: \"Write a comment\",\n\t\tquestionComposer: \"Ask a question\",\n\t\treply: \"Reply\",\n\t\tsend: \"Send\",\n\t\tname: \"Display name\",\n\t\tnamePlaceholder: \"Your name\",\n\t\tpostingAs: \"Posting as {name}\",\n\t\teditName: \"Edit name\",\n\t\tsaveName: \"Save\",\n\t\tclosed: \"Comments are closed\",\n\t\tqaClosed: \"Q&A is closed\",\n\t\temptyComments: \"No comments yet\",\n\t\temptyQuestions: \"No questions yet\",\n\t\tjumpToLatest: \"Jump to latest\",\n\t\tpinned: \"Pinned\",\n\t\tlive: \"Live\",\n\t\tpin: \"Pin\",\n\t\tunpin: \"Unpin\",\n\t\thide: \"Hide\",\n\t\tunhide: \"Unhide\",\n\t\tremove: \"Delete\",\n\t\thighlight: \"Highlight\",\n\t\tdismiss: \"Dismiss\",\n\t\tanswer: \"Answer\",\n\t\tupvote: \"Upvote\",\n\t\tsettings: \"Community\",\n\t\tcommentsEnabled: \"Comments\",\n\t\tcommentsAfterEnd: \"Keep comments open after the event\",\n\t\tqaEnabled: \"Live Q&A\",\n\t\tcommentsHelp: \"Viewers can comment on this video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"When off, comments close as soon as the live event ends.\",\n\t\tqaHelp: \"Questions are only accepted while the event is live.\",\n\t},\n\tes: {\n\t\tcomments: \"Comentarios\",\n\t\tqa: \"Preguntas\",\n\t\tcomposer: \"Escribe un comentario\",\n\t\tquestionComposer: \"Haz una pregunta\",\n\t\treply: \"Responder\",\n\t\tsend: \"Enviar\",\n\t\tname: \"Nombre para mostrar\",\n\t\tnamePlaceholder: \"Tu nombre\",\n\t\tpostingAs: \"Publicando como {name}\",\n\t\teditName: \"Editar nombre\",\n\t\tsaveName: \"Guardar\",\n\t\tclosed: \"Los comentarios están cerrados\",\n\t\tqaClosed: \"Las preguntas están cerradas\",\n\t\temptyComments: \"Aún no hay comentarios\",\n\t\temptyQuestions: \"Aún no hay preguntas\",\n\t\tjumpToLatest: \"Ir al más reciente\",\n\t\tpinned: \"Fijado\",\n\t\tlive: \"En vivo\",\n\t\tpin: \"Fijar\",\n\t\tunpin: \"Desfijar\",\n\t\thide: \"Ocultar\",\n\t\tunhide: \"Mostrar\",\n\t\tremove: \"Eliminar\",\n\t\thighlight: \"Destacar\",\n\t\tdismiss: \"Descartar\",\n\t\tanswer: \"Responder\",\n\t\tupvote: \"Votar\",\n\t\tsettings: \"Comunidad\",\n\t\tcommentsEnabled: \"Comentarios\",\n\t\tcommentsAfterEnd: \"Mantener comentarios abiertos después del evento\",\n\t\tqaEnabled: \"Preguntas en vivo\",\n\t\tcommentsHelp: \"Las y los espectadores pueden comentar este video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"Si está desactivado, los comentarios se cierran al terminar el evento en vivo.\",\n\t\tqaHelp: \"Las preguntas solo se aceptan mientras el evento está en vivo.\",\n\t},\n};\n\nexport function sesionarioPlayerLabels(\n\tlocale?: string,\n): SesionarioPlayerLabels {\n\treturn PLAYER[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWaitingLabels(\n\tlocale?: string,\n): SesionarioWaitingLabels {\n\treturn WAITING[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioCommunityLabels(\n\tlocale?: string,\n): SesionarioCommunityLabels {\n\treturn COMMUNITY[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWindowGateLabels(\n\tlocale?: string,\n): SesionarioWindowGateLabels {\n\treturn WINDOW_GATE[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioLobbyLabels(locale?: string): SesionarioLobbyLabels {\n\treturn LOBBY[resolveLivoLocale(locale)];\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport en from \"./studio-labels-en.json\";\nimport es from \"./studio-labels-es.json\";\n\nconst catalogs: Record<LivoLocale, Record<string, string>> = {\n\ten: en as Record<string, string>,\n\tes: es as Record<string, string>,\n};\n\nexport function interpolateSesionarioStudioLabel(\n\tkey: string,\n\tvalues?: Record<string, string>,\n\tlocale: LivoLocale = \"es\",\n): string {\n\tlet text = catalogs[locale][key] ?? catalogs.en[key] ?? key;\n\tif (values) {\n\t\tfor (const [name, value] of Object.entries(values)) {\n\t\t\ttext = text.replaceAll(`{${name}}`, value);\n\t\t}\n\t}\n\treturn text;\n}\n\n/** Alias used by unit tests and local copies in admin/app. */\nexport const interpolateStudioLabel = interpolateSesionarioStudioLabel;\n\n/**\n * Catalog interpolator for `@livo-tv/sdk/studio` `studioRoomLabels`.\n * Consuming apps wrap: `studioRoomLabels(sesionarioStudioLabelFn(\"es\"))`.\n */\nexport function sesionarioStudioLabelFn(locale?: string) {\n\tconst resolved = resolveLivoLocale(locale);\n\treturn (key: string, values?: Record<string, string>) =>\n\t\tinterpolateSesionarioStudioLabel(key, values, resolved);\n}\n\nexport function sesionarioStudioLabels(locale?: string) {\n\treturn sesionarioStudioLabelFn(locale);\n}\n\nexport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\n","/**\n * Shared EmbedTheme for native `@livo-tv/sdk` surfaces (LivoPlayer, studio).\n * Built from Sesionario shadcn CSS variables so admin and app match the shell.\n */\nexport type SesionarioEmbedTheme = {\n\tprimary: string;\n\taccent: string;\n\tbackground: string;\n\tforeground: string;\n\tradius: string;\n\tfontFamily: string;\n\tmode?: \"light\" | \"dark\";\n};\n\nconst FALLBACK: SesionarioEmbedTheme = {\n\tbackground: \"oklch(1 0 0)\",\n\tforeground: \"oklch(0.145 0 0)\",\n\tprimary: \"oklch(0.4824 0.1149 242.2039)\",\n\taccent: \"oklch(0.4824 0.1149 242.2039)\",\n\tradius: \"0.625rem\",\n\tfontFamily: \"ui-sans-serif, system-ui, sans-serif\",\n};\n\nfunction cssVar(name: string, fallback: string): string {\n\tif (typeof document === \"undefined\") return fallback;\n\tconst value = getComputedStyle(document.documentElement)\n\t\t.getPropertyValue(name)\n\t\t.trim();\n\treturn value || fallback;\n}\n\nexport function sesionarioEmbedTheme(): SesionarioEmbedTheme {\n\tconst dark =\n\t\ttypeof document !== \"undefined\" &&\n\t\tdocument.documentElement.classList.contains(\"dark\");\n\treturn {\n\t\tbackground: cssVar(\"--background\", FALLBACK.background),\n\t\tforeground: cssVar(\"--foreground\", FALLBACK.foreground),\n\t\tprimary: cssVar(\"--primary\", FALLBACK.primary),\n\t\taccent: cssVar(\"--accent\", FALLBACK.accent),\n\t\tradius: cssVar(\"--radius\", FALLBACK.radius),\n\t\tfontFamily: cssVar(\"--font-sans\", FALLBACK.fontFamily),\n\t\t...(dark ? { mode: \"dark\" as const } : {}),\n\t};\n}\n","import { sesionarioEmbedTheme } from \"./embed-theme\";\nimport type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\nimport { sesionarioStudioLabelFn } from \"./studio-labels\";\n\nexport function livoLabels(locale?: string) {\n\tconst resolved: LivoLocale = resolveLivoLocale(locale);\n\treturn {\n\t\tlocale: resolved,\n\t\ttheme: sesionarioEmbedTheme(),\n\t\tstudioLabelFn: sesionarioStudioLabelFn(resolved),\n\t\tlobbyLabels: sesionarioLobbyLabels(resolved),\n\t\twindowGateLabels: sesionarioWindowGateLabels(resolved),\n\t\tplayerLabels: sesionarioPlayerLabels(resolved),\n\t\twaitingLabels: sesionarioWaitingLabels(resolved),\n\t\tcommunityLabels: sesionarioCommunityLabels(resolved),\n\t};\n}\n"]}
package/dist/livo.js CHANGED
@@ -164,7 +164,60 @@ var studio_labels_en_default = {
164
164
  chatPin: "Pin message",
165
165
  chatUnpin: "Unpin message",
166
166
  chatSave: "Save",
167
- waitingSkeleton: "Loading waiting room"
167
+ waitingSkeleton: "Loading waiting room",
168
+ connecting: "Connecting to the studio",
169
+ connectFailed: "Could not join the studio",
170
+ retry: "Try again",
171
+ screenDownloadAppTitle: "Screen sharing needs the Livo app",
172
+ screenDownloadAppAction: "Download the app",
173
+ screenDownloadAppDismiss: "Not now",
174
+ stageApproved: "The host approved your request to go on air",
175
+ stageDenied: "The host declined your request to go on air",
176
+ community: "Community",
177
+ comments: "Comments",
178
+ qa: "Q&A",
179
+ composer: "Write a comment",
180
+ questionComposer: "Ask a question",
181
+ emptyComments: "No comments yet",
182
+ emptyQuestions: "No questions yet",
183
+ jumpToLatest: "Jump to latest",
184
+ answer: "Answer",
185
+ upvote: "Upvote",
186
+ closed: "Comments are closed",
187
+ qaClosed: "Q&A is closed",
188
+ postError: "Could not post",
189
+ answerError: "Could not answer",
190
+ kickTitleNamed: "Remove {name} from the studio?",
191
+ more: "More",
192
+ captions: "Captions",
193
+ captionsOn: "Turn off captions",
194
+ captionsOff: "Turn on captions",
195
+ captionsNotReady: "Captions start with the broadcast",
196
+ captionsDelayed: "Studio captions are delayed a few seconds",
197
+ captionsLanguage: "Caption language",
198
+ captionsSize: "Caption size",
199
+ captionsSizeS: "Small",
200
+ captionsSizeM: "Medium",
201
+ captionsSizeL: "Large",
202
+ settingsGeneral: "General",
203
+ settingsAudio: "Audio",
204
+ settingsVideo: "Video",
205
+ settingsEffects: "Effects",
206
+ settingsSubtitles: "Subtitles",
207
+ effectNone: "None",
208
+ effectBlur: "Blur",
209
+ effectBlurStrong: "Strong blur",
210
+ effectBackgrounds: "Backgrounds",
211
+ effectFilters: "Filters",
212
+ effectFilterNone: "None",
213
+ effectFilterGrayscale: "Grayscale",
214
+ effectFilterSepia: "Sepia",
215
+ effectFilterWarm: "Warm",
216
+ effectFilterCool: "Cool",
217
+ effectFilterBright: "Bright",
218
+ localeEn: "English",
219
+ localeEs: "Spanish",
220
+ localePt: "Portuguese"
168
221
  };
169
222
 
170
223
  // src/livo/studio-labels-es.json
@@ -328,7 +381,60 @@ var studio_labels_es_default = {
328
381
  chatPin: "Fijar mensaje",
329
382
  chatUnpin: "Desfijar mensaje",
330
383
  chatSave: "Guardar",
331
- waitingSkeleton: "Cargando sala de espera"
384
+ waitingSkeleton: "Cargando sala de espera",
385
+ connecting: "Conectando al estudio",
386
+ connectFailed: "No se pudo unir al estudio",
387
+ retry: "Reintentar",
388
+ screenDownloadAppTitle: "Compartir pantalla necesita la app de Livo",
389
+ screenDownloadAppAction: "Descargar la app",
390
+ screenDownloadAppDismiss: "Ahora no",
391
+ stageApproved: "El anfitri\xF3n aprob\xF3 tu pedido para pasar al aire",
392
+ stageDenied: "El anfitri\xF3n rechaz\xF3 tu pedido para pasar al aire",
393
+ community: "Comunidad",
394
+ comments: "Comentarios",
395
+ qa: "Preguntas",
396
+ composer: "Escribe un comentario",
397
+ questionComposer: "Haz una pregunta",
398
+ emptyComments: "A\xFAn no hay comentarios",
399
+ emptyQuestions: "A\xFAn no hay preguntas",
400
+ jumpToLatest: "Ir al m\xE1s reciente",
401
+ answer: "Responder",
402
+ upvote: "Votar",
403
+ closed: "Los comentarios est\xE1n cerrados",
404
+ qaClosed: "Las preguntas est\xE1n cerradas",
405
+ postError: "No se pudo publicar",
406
+ answerError: "No se pudo responder",
407
+ kickTitleNamed: "\xBFQuitar a {name} del estudio?",
408
+ more: "M\xE1s",
409
+ captions: "Subt\xEDtulos",
410
+ captionsOn: "Desactivar subt\xEDtulos",
411
+ captionsOff: "Activar subt\xEDtulos",
412
+ captionsNotReady: "Los subt\xEDtulos empiezan con la transmisi\xF3n",
413
+ captionsDelayed: "Los subt\xEDtulos del estudio llegan con unos segundos de retraso",
414
+ captionsLanguage: "Idioma de los subt\xEDtulos",
415
+ captionsSize: "Tama\xF1o de los subt\xEDtulos",
416
+ captionsSizeS: "Peque\xF1o",
417
+ captionsSizeM: "Mediano",
418
+ captionsSizeL: "Grande",
419
+ settingsGeneral: "General",
420
+ settingsAudio: "Audio",
421
+ settingsVideo: "Video",
422
+ settingsEffects: "Efectos",
423
+ settingsSubtitles: "Subt\xEDtulos",
424
+ effectNone: "Ninguno",
425
+ effectBlur: "Desenfocar",
426
+ effectBlurStrong: "Desenfoque fuerte",
427
+ effectBackgrounds: "Fondos",
428
+ effectFilters: "Filtros",
429
+ effectFilterNone: "Ninguno",
430
+ effectFilterGrayscale: "Escala de grises",
431
+ effectFilterSepia: "Sepia",
432
+ effectFilterWarm: "C\xE1lido",
433
+ effectFilterCool: "Fr\xEDo",
434
+ effectFilterBright: "Brillo",
435
+ localeEn: "Ingl\xE9s",
436
+ localeEs: "Espa\xF1ol",
437
+ localePt: "Portugu\xE9s"
332
438
  };
333
439
 
334
440
  // src/livo/catalogs.ts
package/dist/livo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/livo/locale.ts","../src/livo/studio-labels-en.json","../src/livo/studio-labels-es.json","../src/livo/catalogs.ts","../src/livo/studio-labels.ts","../src/livo/embed-theme.ts","../src/livo/livo-labels.ts"],"names":[],"mappings":"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","file":"livo.js","sourcesContent":["export type LivoLocale = \"es\" | \"en\";\n\nexport function resolveLivoLocale(locale?: string): LivoLocale {\n\treturn locale?.toLowerCase().startsWith(\"en\") ? \"en\" : \"es\";\n}\n","{\n\t\"live\": \"LIVE\",\n\t\"preview\": \"Preview\",\n\t\"waiting\": \"Waiting to join\",\n\t\"waitingHost\": \"Waiting for the host to let you in\",\n\t\"admit\": \"Admit\",\n\t\"deny\": \"Deny\",\n\t\"denied\": \"Guest declined\",\n\t\"denyError\": \"Could not decline that guest\",\n\t\"rejectedTitle\": \"The host declined your request\",\n\t\"rejectedDescription\": \"You can ask to join again if the studio is still open.\",\n\t\"rejectedAction\": \"Ask to join again\",\n\t\"kick\": \"Remove\",\n\t\"camera\": \"Camera\",\n\t\"screen\": \"Screen\",\n\t\"mute\": \"Mute\",\n\t\"unmute\": \"Unmute\",\n\t\"copyLink\": \"Copy guest link\",\n\t\"shareLink\": \"Share guest link\",\n\t\"shareGuestText\": \"Join the studio for {title}\",\n\t\"shareFailed\": \"Could not share the guest link\",\n\t\"copied\": \"Guest link copied\",\n\t\"publish\": \"Go live\",\n\t\"publishTitle\": \"Go live?\",\n\t\"publishDescription\": \"Viewers will see this studio on the public player.\",\n\t\"publishConfirm\": \"Go live\",\n\t\"publishPending\": \"Going on air…\",\n\t\"stop\": \"Stop\",\n\t\"stopTitle\": \"Stop this broadcast?\",\n\t\"stopDescription\": \"Viewers will lose the live feed. Guests will be disconnected.\",\n\t\"stopConfirm\": \"Stop stream\",\n\t\"fullscreen\": \"Fullscreen\",\n\t\"publishError\": \"Could not go live\",\n\t\"stopError\": \"Could not stop the stream\",\n\t\"published\": \"Going live\",\n\t\"stopped\": \"Stream stopped\",\n\t\"cameraDevice\": \"Camera\",\n\t\"micDevice\": \"Microphone\",\n\t\"speakerDevice\": \"Speaker\",\n\t\"preflightCamera\": \"Camera\",\n\t\"preflightMic\": \"Microphone\",\n\t\"knock\": \"{name} is waiting to join\",\n\t\"egressLost\": \"Reconnect studio\",\n\t\"livestreamStarting\": \"Initializing…\",\n\t\"livestreamSending\": \"Initializing…\",\n\t\"livestreamInitializing\": \"Initializing…\",\n\t\"livestreamRetry\": \"Retry egress\",\n\t\"livestreamError\": \"Could not start RTMP egress\",\n\t\"screenBusy\": \"Someone else is already sharing their screen\",\n\t\"endedTitle\": \"This studio session has ended\",\n\t\"endedDescription\": \"The host stopped the stream.\",\n\t\"endedAction\": \"Back\",\n\t\"rejoin\": \"Rejoin studio\",\n\t\"duplicateTitle\": \"Studio is already open\",\n\t\"duplicateDescription\": \"This studio is already open in another window.\",\n\t\"duplicateDescriptionNoTakeover\": \"This studio is already open in another window. Close that window to continue here.\",\n\t\"duplicateAction\": \"Continue here\",\n\t\"duplicateTakenOver\": \"This session moved to another window.\",\n\t\"joinBusy\": \"Too many join attempts. Try again in a moment.\",\n\t\"cameraError\": \"Could not enable the camera\",\n\t\"screenError\": \"Could not share the screen\",\n\t\"leave\": \"Leave studio\",\n\t\"leaveTitle\": \"Leave this studio?\",\n\t\"leaveDescription\": \"You will disconnect from the host and other guests.\",\n\t\"leaveConfirm\": \"Leave\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Send\",\n\t\"chatPlaceholder\": \"Message\",\n\t\"chatError\": \"Could not send the message\",\n\t\"settings\": \"Settings\",\n\t\"settingsTitle\": \"Settings\",\n\t\"settingsDescription\": \"Name, audio, and video settings\",\n\t\"guestName\": \"Your name\",\n\t\"displayNameSave\": \"Save\",\n\t\"displayNameSaved\": \"Display name updated\",\n\t\"displayNameError\": \"Could not update your display name\",\n\t\"testSpeaker\": \"Test\",\n\t\"testSpeakerError\": \"Could not play the speaker test\",\n\t\"cameraOff\": \"Camera is off\",\n\t\"micLevel\": \"Microphone level\",\n\t\"share\": \"Copy player link\",\n\t\"shareCopied\": \"Player link copied\",\n\t\"stopCamera\": \"Stop camera\",\n\t\"stopScreen\": \"Stop screen share\",\n\t\"hostMutedYou\": \"The host muted you\",\n\t\"hostStoppedYourCamera\": \"The host turned off your camera\",\n\t\"hostStoppedYourScreen\": \"The host stopped your screen share\",\n\t\"hostMediaError\": \"Could not change that guest's media\",\n\t\"tileMenu\": \"Guest controls\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Close picture-in-picture\",\n\t\"backToStudio\": \"Back to studio\",\n\t\"pipTitle\": \"Studio\",\n\t\"pipError\": \"Could not open picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Screen sharing is not available on this device\",\n\t\"screenNotAllowed\": \"You do not have permission to share your screen\",\n\t\"askToShare\": \"Ask to share\",\n\t\"shareRequested\": \"Requested\",\n\t\"cancelShareRequest\": \"Cancel request\",\n\t\"shareRequestSent\": \"Asked the host to share your screen\",\n\t\"shareRequestFrom\": \"{name} wants to share their screen\",\n\t\"approve\": \"Approve\",\n\t\"shareApproved\": \"The host approved your screen share\",\n\t\"shareDenied\": \"The host declined your screen share\",\n\t\"shareRequestError\": \"Could not ask the host to share\",\n\t\"shareRequestTimeout\": \"No response from the host\",\n\t\"shareRespondError\": \"Could not respond to that share request\",\n\t\"goOffAir\": \"Go off air\",\n\t\"goOnAir\": \"Go on air\",\n\t\"takeOffAir\": \"Take off air\",\n\t\"bringOnAir\": \"Bring on air\",\n\t\"offAir\": \"Off air\",\n\t\"offAirCount\": \"Off air ({count})\",\n\t\"offAirBanner\": \"You are off camera. Your microphone is still live.\",\n\t\"offAirLastVisible\": \"At least one participant must stay on air while you are live\",\n\t\"offAirHidden\": \"Taken off air\",\n\t\"offAirShown\": \"Back on air\",\n\t\"offAirError\": \"Could not change on-air state\",\n\t\"takeOffAirTitle\": \"Take this guest off air?\",\n\t\"takeOffAirDescription\": \"They stay in the studio but stop publishing camera, mic, and screen.\",\n\t\"takeOffAirConfirm\": \"Take off air\",\n\t\"admitAsPanelist\": \"Admit as panelist\",\n\t\"admitAsAudience\": \"Admit as audience\",\n\t\"admitAllPanelists\": \"Admit all as panelists\",\n\t\"admitAllAudience\": \"Admit all as audience\",\n\t\"askToGoOnAir\": \"Ask to go on air\",\n\t\"stageRequested\": \"Asked to go on air\",\n\t\"stageRequests\": \"Stage requests\",\n\t\"people\": \"People\",\n\t\"panelists\": \"Panelists\",\n\t\"audience\": \"Audience\",\n\t\"noWaiting\": \"No one is waiting\",\n\t\"noPanelists\": \"No panelists\",\n\t\"noAudience\": \"No audience\",\n\t\"closePanel\": \"Close\",\n\t\"muteChat\": \"Mute chat\",\n\t\"allowChat\": \"Allow chat\",\n\t\"pin\": \"Pin on stage\",\n\t\"unpin\": \"Unpin\",\n\t\"pinnedToast\": \"You are pinned on stage\",\n\t\"unpinnedToast\": \"You are no longer pinned\",\n\t\"pinError\": \"Could not pin that participant\",\n\t\"kickTitle\": \"Remove this guest from the studio?\",\n\t\"kickDescription\": \"They will be disconnected.\",\n\t\"kickConfirm\": \"Remove\",\n\t\"kickError\": \"Could not remove that guest\",\n\t\"stageError\": \"Could not change stage access\",\n\t\"stageDisabled\": \"This guest link cannot join the stage.\",\n\t\"stageGrantNoEffect\": \"That guest stayed in the audience.\",\n\t\"stageOverflow\": \"+{count} more\",\n\t\"chatEveryone\": \"Everyone\",\n\t\"chatEdited\": \"Edited\",\n\t\"chatPinned\": \"Pinned message\",\n\t\"chatLoadOlder\": \"Load earlier messages\",\n\t\"chatRateLimited\": \"You are sending messages too quickly\",\n\t\"chatDelete\": \"Delete\",\n\t\"chatEdit\": \"Edit\",\n\t\"chatPin\": \"Pin message\",\n\t\"chatUnpin\": \"Unpin message\",\n\t\"chatSave\": \"Save\",\n\t\"waitingSkeleton\": \"Loading waiting room\"\n}\n","{\n\t\"live\": \"EN VIVO\",\n\t\"preview\": \"Vista previa\",\n\t\"waiting\": \"Esperando para unirte\",\n\t\"waitingHost\": \"Esperando a que el anfitrión te deje entrar\",\n\t\"admit\": \"Admitir\",\n\t\"deny\": \"Rechazar\",\n\t\"denied\": \"Invitado rechazado\",\n\t\"denyError\": \"No se pudo rechazar a ese invitado\",\n\t\"rejectedTitle\": \"El anfitrión rechazó tu solicitud\",\n\t\"rejectedDescription\": \"Puedes pedir unirte de nuevo si el estudio sigue abierto.\",\n\t\"rejectedAction\": \"Pedir unirme de nuevo\",\n\t\"kick\": \"Quitar\",\n\t\"camera\": \"Cámara\",\n\t\"screen\": \"Pantalla\",\n\t\"mute\": \"Silenciar\",\n\t\"unmute\": \"Activar audio\",\n\t\"copyLink\": \"Copiar enlace de invitado\",\n\t\"shareLink\": \"Compartir enlace de invitado\",\n\t\"shareGuestText\": \"Únete al estudio de {title}\",\n\t\"shareFailed\": \"No se pudo compartir el enlace de invitado\",\n\t\"copied\": \"Enlace de invitado copiado\",\n\t\"publish\": \"Salir al aire\",\n\t\"publishTitle\": \"¿Salir al aire?\",\n\t\"publishDescription\": \"Las y los espectadores verán este estudio en el reproductor público.\",\n\t\"publishConfirm\": \"Salir al aire\",\n\t\"publishPending\": \"Saliendo al aire…\",\n\t\"stop\": \"Detener\",\n\t\"stopTitle\": \"¿Detener esta transmisión?\",\n\t\"stopDescription\": \"Las y los espectadores perderán la señal en vivo. Los invitados se desconectarán.\",\n\t\"stopConfirm\": \"Detener transmisión\",\n\t\"fullscreen\": \"Pantalla completa\",\n\t\"publishError\": \"No se pudo salir al aire\",\n\t\"stopError\": \"No se pudo detener la transmisión\",\n\t\"published\": \"Saliendo al aire\",\n\t\"stopped\": \"Transmisión detenida\",\n\t\"cameraDevice\": \"Cámara\",\n\t\"micDevice\": \"Micrófono\",\n\t\"speakerDevice\": \"Altavoz\",\n\t\"preflightCamera\": \"Cámara\",\n\t\"preflightMic\": \"Micrófono\",\n\t\"knock\": \"{name} espera para unirse\",\n\t\"egressLost\": \"Reconectar estudio\",\n\t\"livestreamStarting\": \"Inicializando…\",\n\t\"livestreamSending\": \"Inicializando…\",\n\t\"livestreamInitializing\": \"Inicializando…\",\n\t\"livestreamRetry\": \"Reintentar salida\",\n\t\"livestreamError\": \"No se pudo iniciar la salida RTMP\",\n\t\"screenBusy\": \"Alguien más ya está compartiendo su pantalla\",\n\t\"endedTitle\": \"Esta sesión de estudio terminó\",\n\t\"endedDescription\": \"El anfitrión detuvo la transmisión.\",\n\t\"endedAction\": \"Volver\",\n\t\"rejoin\": \"Volver al estudio\",\n\t\"duplicateTitle\": \"El estudio ya está abierto\",\n\t\"duplicateDescription\": \"Este estudio ya está abierto en otra ventana.\",\n\t\"duplicateDescriptionNoTakeover\": \"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\"duplicateAction\": \"Continuar aquí\",\n\t\"duplicateTakenOver\": \"Esta sesión se movió a otra ventana.\",\n\t\"joinBusy\": \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\"cameraError\": \"No se pudo activar la cámara\",\n\t\"screenError\": \"No se pudo compartir la pantalla\",\n\t\"leave\": \"Salir del estudio\",\n\t\"leaveTitle\": \"¿Salir de este estudio?\",\n\t\"leaveDescription\": \"Te desconectarás del anfitrión y de los demás invitados.\",\n\t\"leaveConfirm\": \"Salir\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Enviar\",\n\t\"chatPlaceholder\": \"Mensaje\",\n\t\"chatError\": \"No se pudo enviar el mensaje\",\n\t\"settings\": \"Ajustes\",\n\t\"settingsTitle\": \"Ajustes\",\n\t\"settingsDescription\": \"Nombre, audio y video\",\n\t\"guestName\": \"Tu nombre\",\n\t\"displayNameSave\": \"Guardar\",\n\t\"displayNameSaved\": \"Nombre actualizado\",\n\t\"displayNameError\": \"No se pudo actualizar tu nombre\",\n\t\"testSpeaker\": \"Probar\",\n\t\"testSpeakerError\": \"No se pudo reproducir la prueba de altavoz\",\n\t\"cameraOff\": \"Cámara apagada\",\n\t\"micLevel\": \"Nivel del micrófono\",\n\t\"share\": \"Copiar enlace del reproductor\",\n\t\"shareCopied\": \"Enlace del reproductor copiado\",\n\t\"stopCamera\": \"Apagar cámara\",\n\t\"stopScreen\": \"Dejar de compartir pantalla\",\n\t\"hostMutedYou\": \"El anfitrión te silenció\",\n\t\"hostStoppedYourCamera\": \"El anfitrión apagó tu cámara\",\n\t\"hostStoppedYourScreen\": \"El anfitrión detuvo tu compartir pantalla\",\n\t\"hostMediaError\": \"No se pudo cambiar el medio de ese invitado\",\n\t\"tileMenu\": \"Controles de invitado\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Cerrar picture-in-picture\",\n\t\"backToStudio\": \"Volver al estudio\",\n\t\"pipTitle\": \"Estudio\",\n\t\"pipError\": \"No se pudo abrir picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Compartir pantalla no está disponible en este dispositivo\",\n\t\"screenNotAllowed\": \"No tienes permiso para compartir tu pantalla\",\n\t\"askToShare\": \"Pedir compartir\",\n\t\"shareRequested\": \"Solicitado\",\n\t\"cancelShareRequest\": \"Cancelar solicitud\",\n\t\"shareRequestSent\": \"Le pediste al anfitrión compartir tu pantalla\",\n\t\"shareRequestFrom\": \"{name} quiere compartir su pantalla\",\n\t\"approve\": \"Aprobar\",\n\t\"shareApproved\": \"El anfitrión aprobó tu compartir pantalla\",\n\t\"shareDenied\": \"El anfitrión rechazó tu compartir pantalla\",\n\t\"shareRequestError\": \"No se pudo pedir compartir pantalla\",\n\t\"shareRequestTimeout\": \"El anfitrión no respondió\",\n\t\"shareRespondError\": \"No se pudo responder a esa solicitud\",\n\t\"goOffAir\": \"Salir del aire\",\n\t\"goOnAir\": \"Entrar al aire\",\n\t\"takeOffAir\": \"Quitar del aire\",\n\t\"bringOnAir\": \"Poner al aire\",\n\t\"offAir\": \"Fuera del aire\",\n\t\"offAirCount\": \"Fuera del aire ({count})\",\n\t\"offAirBanner\": \"Estás fuera de cámara. Tu micrófono sigue activo.\",\n\t\"offAirLastVisible\": \"Al menos una persona debe quedarse al aire mientras estás en vivo\",\n\t\"offAirHidden\": \"Fuera del aire\",\n\t\"offAirShown\": \"De nuevo al aire\",\n\t\"offAirError\": \"No se pudo cambiar el estado al aire\",\n\t\"takeOffAirTitle\": \"¿Quitar a este invitado del aire?\",\n\t\"takeOffAirDescription\": \"Sigue en el estudio, pero deja de publicar cámara, micrófono y pantalla.\",\n\t\"takeOffAirConfirm\": \"Quitar del aire\",\n\t\"admitAsPanelist\": \"Admitir como panelista\",\n\t\"admitAsAudience\": \"Admitir como audiencia\",\n\t\"admitAllPanelists\": \"Admitir a todos como panelistas\",\n\t\"admitAllAudience\": \"Admitir a todos como audiencia\",\n\t\"askToGoOnAir\": \"Pedir entrar al aire\",\n\t\"stageRequested\": \"Pidió entrar al aire\",\n\t\"stageRequests\": \"Solicitudes de escenario\",\n\t\"people\": \"Personas\",\n\t\"panelists\": \"Panelistas\",\n\t\"audience\": \"Audiencia\",\n\t\"noWaiting\": \"Nadie espera\",\n\t\"noPanelists\": \"Sin panelistas\",\n\t\"noAudience\": \"Sin audiencia\",\n\t\"closePanel\": \"Cerrar\",\n\t\"muteChat\": \"Silenciar chat\",\n\t\"allowChat\": \"Permitir chat\",\n\t\"pin\": \"Fijar en escenario\",\n\t\"unpin\": \"Desfijar\",\n\t\"pinnedToast\": \"Estás fijado en el escenario\",\n\t\"unpinnedToast\": \"Ya no estás fijado\",\n\t\"pinError\": \"No se pudo fijar a esa persona\",\n\t\"kickTitle\": \"¿Quitar a este invitado del estudio?\",\n\t\"kickDescription\": \"Se desconectará.\",\n\t\"kickConfirm\": \"Quitar\",\n\t\"kickError\": \"No se pudo quitar a ese invitado\",\n\t\"stageError\": \"No se pudo cambiar el acceso al escenario\",\n\t\"stageDisabled\": \"Este enlace de invitado no puede unirse al escenario.\",\n\t\"stageGrantNoEffect\": \"Ese invitado se quedó en la audiencia.\",\n\t\"stageOverflow\": \"+{count} más\",\n\t\"chatEveryone\": \"Todos\",\n\t\"chatEdited\": \"Editado\",\n\t\"chatPinned\": \"Mensaje fijado\",\n\t\"chatLoadOlder\": \"Cargar mensajes anteriores\",\n\t\"chatRateLimited\": \"Estás enviando mensajes demasiado rápido\",\n\t\"chatDelete\": \"Eliminar\",\n\t\"chatEdit\": \"Editar\",\n\t\"chatPin\": \"Fijar mensaje\",\n\t\"chatUnpin\": \"Desfijar mensaje\",\n\t\"chatSave\": \"Guardar\",\n\t\"waitingSkeleton\": \"Cargando sala de espera\"\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\n\nexport type SesionarioLobbyLabels = {\n\ttitle: string;\n\thint: string;\n\tname: string;\n\tjoin: string;\n\twaitingForHost: string;\n\tcamera: string;\n\tmic: string;\n\tcameraDevice?: string;\n\tmicDevice?: string;\n\tspeakerDevice?: string;\n\ttestSpeaker?: string;\n\ttestSpeakerError?: string;\n\tcameraOff?: string;\n\tjoinError: string;\n\tjoinBusy: string;\n\tendedTitle: string;\n};\n\nconst LOBBY: Record<LivoLocale, SesionarioLobbyLabels> = {\n\ten: {\n\t\ttitle: \"Get ready to join\",\n\t\thint: \"Set your camera and microphone, then join when you are ready.\",\n\t\tname: \"Your name\",\n\t\tjoin: \"Join\",\n\t\twaitingForHost: \"Waiting for the host to open the studio\",\n\t\tcamera: \"Camera\",\n\t\tmic: \"Microphone\",\n\t\tcameraDevice: \"Camera\",\n\t\tmicDevice: \"Microphone\",\n\t\tspeakerDevice: \"Speaker\",\n\t\ttestSpeaker: \"Test\",\n\t\ttestSpeakerError: \"Could not play the speaker test\",\n\t\tcameraOff: \"Camera is off\",\n\t\tjoinError: \"Could not join studio\",\n\t\tjoinBusy: \"Too many join attempts. Try again in a moment.\",\n\t\tendedTitle: \"This studio session has ended\",\n\t},\n\tes: {\n\t\ttitle: \"Prepárate para unirte\",\n\t\thint: \"Configura tu cámara y micrófono, y únete cuando estés listo.\",\n\t\tname: \"Tu nombre\",\n\t\tjoin: \"Unirme\",\n\t\twaitingForHost: \"Esperando a que el anfitrión abra el estudio\",\n\t\tcamera: \"Cámara\",\n\t\tmic: \"Micrófono\",\n\t\tcameraDevice: \"Cámara\",\n\t\tmicDevice: \"Micrófono\",\n\t\tspeakerDevice: \"Altavoz\",\n\t\ttestSpeaker: \"Probar\",\n\t\ttestSpeakerError: \"No se pudo reproducir la prueba de altavoz\",\n\t\tcameraOff: \"Cámara apagada\",\n\t\tjoinError: \"No se pudo unir al estudio\",\n\t\tjoinBusy: \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\tendedTitle: \"Esta sesión de estudio terminó\",\n\t},\n};\n\nexport type SesionarioWindowGateLabels = {\n\tduplicateTitle: string;\n\tduplicateDescription: string;\n\tduplicateDescriptionNoTakeover: string;\n\tduplicateTakenOver: string;\n\tduplicateAction: string;\n};\n\nconst WINDOW_GATE: Record<LivoLocale, SesionarioWindowGateLabels> = {\n\ten: {\n\t\tduplicateTitle: \"Studio is already open\",\n\t\tduplicateDescription: \"This studio is already open in another window.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"This studio is already open in another window. Close that window to continue here.\",\n\t\tduplicateTakenOver: \"This session moved to another window.\",\n\t\tduplicateAction: \"Continue here\",\n\t},\n\tes: {\n\t\tduplicateTitle: \"El estudio ya está abierto\",\n\t\tduplicateDescription: \"Este estudio ya está abierto en otra ventana.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\tduplicateTakenOver: \"Esta sesión se movió a otra ventana.\",\n\t\tduplicateAction: \"Continuar aquí\",\n\t},\n};\n\nexport type SesionarioPlayerLabels = {\n\tplay: string;\n\tpause: string;\n\tmute: string;\n\tunmute: string;\n\tenterFullscreen: string;\n\texitFullscreen: string;\n\tpictureInPicture: string;\n\tcast: string;\n\tsettings: string;\n\tmore: string;\n\tback: string;\n\tquality: string;\n\tauto: string;\n\tspeed: string;\n\tlive: string;\n\tgoLive: string;\n\ttapToUnmute: string;\n\tloading: string;\n\twaiting: string;\n\tretry: string;\n\terrorUnavailable: string;\n\terrorNetwork: string;\n\terrorMedia: string;\n\terrorUnsupported: string;\n\terrorGeneric: string;\n\tcaptions: string;\n\tcaptionsOff: string;\n\tcaptionsEn: string;\n\tcaptionsEs: string;\n\tcaptionsPt: string;\n};\n\nconst PLAYER: Record<LivoLocale, SesionarioPlayerLabels> = {\n\ten: {\n\t\tplay: \"Play\",\n\t\tpause: \"Pause\",\n\t\tmute: \"Mute\",\n\t\tunmute: \"Unmute\",\n\t\tenterFullscreen: \"Fullscreen\",\n\t\texitFullscreen: \"Exit fullscreen\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Cast\",\n\t\tsettings: \"Settings\",\n\t\tmore: \"More\",\n\t\tback: \"Back\",\n\t\tquality: \"Quality\",\n\t\tauto: \"Auto\",\n\t\tspeed: \"Speed\",\n\t\tlive: \"LIVE\",\n\t\tgoLive: \"Go to live\",\n\t\ttapToUnmute: \"Tap to unmute\",\n\t\tloading: \"Loading\",\n\t\twaiting: \"Waiting\",\n\t\tretry: \"Retry\",\n\t\terrorUnavailable: \"This video is unavailable\",\n\t\terrorNetwork: \"Network error. Try again.\",\n\t\terrorMedia: \"Could not play this video\",\n\t\terrorUnsupported: \"This video cannot be played on this device\",\n\t\terrorGeneric: \"Playback error\",\n\t\tcaptions: \"Captions\",\n\t\tcaptionsOff: \"Off\",\n\t\tcaptionsEn: \"English\",\n\t\tcaptionsEs: \"Spanish\",\n\t\tcaptionsPt: \"Portuguese\",\n\t},\n\tes: {\n\t\tplay: \"Reproducir\",\n\t\tpause: \"Pausar\",\n\t\tmute: \"Silenciar\",\n\t\tunmute: \"Activar audio\",\n\t\tenterFullscreen: \"Pantalla completa\",\n\t\texitFullscreen: \"Salir de pantalla completa\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Transmitir\",\n\t\tsettings: \"Ajustes\",\n\t\tmore: \"Más\",\n\t\tback: \"Atrás\",\n\t\tquality: \"Calidad\",\n\t\tauto: \"Automática\",\n\t\tspeed: \"Velocidad\",\n\t\tlive: \"EN VIVO\",\n\t\tgoLive: \"Ir al vivo\",\n\t\ttapToUnmute: \"Toca para activar el audio\",\n\t\tloading: \"Cargando\",\n\t\twaiting: \"Esperando\",\n\t\tretry: \"Reintentar\",\n\t\terrorUnavailable: \"Este video no está disponible\",\n\t\terrorNetwork: \"Error de red. Inténtalo de nuevo.\",\n\t\terrorMedia: \"No se pudo reproducir este video\",\n\t\terrorUnsupported: \"Este video no se puede reproducir en este dispositivo\",\n\t\terrorGeneric: \"Error de reproducción\",\n\t\tcaptions: \"Subtítulos\",\n\t\tcaptionsOff: \"Desactivados\",\n\t\tcaptionsEn: \"Inglés\",\n\t\tcaptionsEs: \"Español\",\n\t\tcaptionsPt: \"Portugués\",\n\t},\n};\n\nexport type SesionarioWaitingLabels = {\n\twaiting: string;\n\tstartingSoon: string;\n\tvodWaiting: string;\n\tavailableSoon: string;\n\tloading: string;\n\tstartsIn: (time: string) => string;\n\tavailableIn: (time: string) => string;\n};\n\nconst WAITING: Record<LivoLocale, SesionarioWaitingLabels> = {\n\ten: {\n\t\twaiting: \"Waiting\",\n\t\tstartingSoon: \"Starting soon\",\n\t\tvodWaiting: \"Waiting for this video to become available.\",\n\t\tavailableSoon: \"Available soon\",\n\t\tloading: \"Loading playback\",\n\t\tstartsIn: (time) => `Starts in ${time}`,\n\t\tavailableIn: (time) => `Available in ${time}`,\n\t},\n\tes: {\n\t\twaiting: \"Esperando\",\n\t\tstartingSoon: \"Empieza pronto\",\n\t\tvodWaiting: \"Esperando a que este video esté disponible.\",\n\t\tavailableSoon: \"Disponible pronto\",\n\t\tloading: \"Cargando reproducción\",\n\t\tstartsIn: (time) => `Empieza en ${time}`,\n\t\tavailableIn: (time) => `Disponible en ${time}`,\n\t},\n};\n\nexport type SesionarioCommunityLabels = {\n\tcomments: string;\n\tqa: string;\n\tcomposer: string;\n\tquestionComposer: string;\n\treply: string;\n\tsend: string;\n\tname: string;\n\tnamePlaceholder: string;\n\tpostingAs: string;\n\teditName: string;\n\tsaveName: string;\n\tclosed: string;\n\tqaClosed: string;\n\temptyComments: string;\n\temptyQuestions: string;\n\tjumpToLatest: string;\n\tpinned: string;\n\tlive: string;\n\tpin: string;\n\tunpin: string;\n\thide: string;\n\tunhide: string;\n\tremove: string;\n\thighlight: string;\n\tdismiss: string;\n\tanswer: string;\n\tupvote: string;\n\tsettings: string;\n\tcommentsEnabled: string;\n\tcommentsAfterEnd: string;\n\tqaEnabled: string;\n\tcommentsHelp: string;\n\tcommentsAfterEndHelp: string;\n\tqaHelp: string;\n};\n\nconst COMMUNITY: Record<LivoLocale, SesionarioCommunityLabels> = {\n\ten: {\n\t\tcomments: \"Comments\",\n\t\tqa: \"Q&A\",\n\t\tcomposer: \"Write a comment\",\n\t\tquestionComposer: \"Ask a question\",\n\t\treply: \"Reply\",\n\t\tsend: \"Send\",\n\t\tname: \"Display name\",\n\t\tnamePlaceholder: \"Your name\",\n\t\tpostingAs: \"Posting as {name}\",\n\t\teditName: \"Edit name\",\n\t\tsaveName: \"Save\",\n\t\tclosed: \"Comments are closed\",\n\t\tqaClosed: \"Q&A is closed\",\n\t\temptyComments: \"No comments yet\",\n\t\temptyQuestions: \"No questions yet\",\n\t\tjumpToLatest: \"Jump to latest\",\n\t\tpinned: \"Pinned\",\n\t\tlive: \"Live\",\n\t\tpin: \"Pin\",\n\t\tunpin: \"Unpin\",\n\t\thide: \"Hide\",\n\t\tunhide: \"Unhide\",\n\t\tremove: \"Delete\",\n\t\thighlight: \"Highlight\",\n\t\tdismiss: \"Dismiss\",\n\t\tanswer: \"Answer\",\n\t\tupvote: \"Upvote\",\n\t\tsettings: \"Community\",\n\t\tcommentsEnabled: \"Comments\",\n\t\tcommentsAfterEnd: \"Keep comments open after the event\",\n\t\tqaEnabled: \"Live Q&A\",\n\t\tcommentsHelp: \"Viewers can comment on this video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"When off, comments close as soon as the live event ends.\",\n\t\tqaHelp: \"Questions are only accepted while the event is live.\",\n\t},\n\tes: {\n\t\tcomments: \"Comentarios\",\n\t\tqa: \"Preguntas\",\n\t\tcomposer: \"Escribe un comentario\",\n\t\tquestionComposer: \"Haz una pregunta\",\n\t\treply: \"Responder\",\n\t\tsend: \"Enviar\",\n\t\tname: \"Nombre para mostrar\",\n\t\tnamePlaceholder: \"Tu nombre\",\n\t\tpostingAs: \"Publicando como {name}\",\n\t\teditName: \"Editar nombre\",\n\t\tsaveName: \"Guardar\",\n\t\tclosed: \"Los comentarios están cerrados\",\n\t\tqaClosed: \"Las preguntas están cerradas\",\n\t\temptyComments: \"Aún no hay comentarios\",\n\t\temptyQuestions: \"Aún no hay preguntas\",\n\t\tjumpToLatest: \"Ir al más reciente\",\n\t\tpinned: \"Fijado\",\n\t\tlive: \"En vivo\",\n\t\tpin: \"Fijar\",\n\t\tunpin: \"Desfijar\",\n\t\thide: \"Ocultar\",\n\t\tunhide: \"Mostrar\",\n\t\tremove: \"Eliminar\",\n\t\thighlight: \"Destacar\",\n\t\tdismiss: \"Descartar\",\n\t\tanswer: \"Responder\",\n\t\tupvote: \"Votar\",\n\t\tsettings: \"Comunidad\",\n\t\tcommentsEnabled: \"Comentarios\",\n\t\tcommentsAfterEnd: \"Mantener comentarios abiertos después del evento\",\n\t\tqaEnabled: \"Preguntas en vivo\",\n\t\tcommentsHelp: \"Las y los espectadores pueden comentar este video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"Si está desactivado, los comentarios se cierran al terminar el evento en vivo.\",\n\t\tqaHelp: \"Las preguntas solo se aceptan mientras el evento está en vivo.\",\n\t},\n};\n\nexport function sesionarioPlayerLabels(\n\tlocale?: string,\n): SesionarioPlayerLabels {\n\treturn PLAYER[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWaitingLabels(\n\tlocale?: string,\n): SesionarioWaitingLabels {\n\treturn WAITING[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioCommunityLabels(\n\tlocale?: string,\n): SesionarioCommunityLabels {\n\treturn COMMUNITY[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWindowGateLabels(\n\tlocale?: string,\n): SesionarioWindowGateLabels {\n\treturn WINDOW_GATE[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioLobbyLabels(locale?: string): SesionarioLobbyLabels {\n\treturn LOBBY[resolveLivoLocale(locale)];\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport en from \"./studio-labels-en.json\";\nimport es from \"./studio-labels-es.json\";\n\nconst catalogs: Record<LivoLocale, Record<string, string>> = {\n\ten: en as Record<string, string>,\n\tes: es as Record<string, string>,\n};\n\nexport function interpolateSesionarioStudioLabel(\n\tkey: string,\n\tvalues?: Record<string, string>,\n\tlocale: LivoLocale = \"es\",\n): string {\n\tlet text = catalogs[locale][key] ?? catalogs.en[key] ?? key;\n\tif (values) {\n\t\tfor (const [name, value] of Object.entries(values)) {\n\t\t\ttext = text.replaceAll(`{${name}}`, value);\n\t\t}\n\t}\n\treturn text;\n}\n\n/** Alias used by unit tests and local copies in admin/app. */\nexport const interpolateStudioLabel = interpolateSesionarioStudioLabel;\n\n/**\n * Catalog interpolator for `@livo-tv/sdk/studio` `studioRoomLabels`.\n * Consuming apps wrap: `studioRoomLabels(sesionarioStudioLabelFn(\"es\"))`.\n */\nexport function sesionarioStudioLabelFn(locale?: string) {\n\tconst resolved = resolveLivoLocale(locale);\n\treturn (key: string, values?: Record<string, string>) =>\n\t\tinterpolateSesionarioStudioLabel(key, values, resolved);\n}\n\nexport function sesionarioStudioLabels(locale?: string) {\n\treturn sesionarioStudioLabelFn(locale);\n}\n\nexport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\n","/**\n * Shared EmbedTheme for native `@livo-tv/sdk` surfaces (LivoPlayer, studio).\n * Built from Sesionario shadcn CSS variables so admin and app match the shell.\n */\nexport type SesionarioEmbedTheme = {\n\tprimary: string;\n\taccent: string;\n\tbackground: string;\n\tforeground: string;\n\tradius: string;\n\tfontFamily: string;\n\tmode?: \"light\" | \"dark\";\n};\n\nconst FALLBACK: SesionarioEmbedTheme = {\n\tbackground: \"oklch(1 0 0)\",\n\tforeground: \"oklch(0.145 0 0)\",\n\tprimary: \"oklch(0.4824 0.1149 242.2039)\",\n\taccent: \"oklch(0.4824 0.1149 242.2039)\",\n\tradius: \"0.625rem\",\n\tfontFamily: \"ui-sans-serif, system-ui, sans-serif\",\n};\n\nfunction cssVar(name: string, fallback: string): string {\n\tif (typeof document === \"undefined\") return fallback;\n\tconst value = getComputedStyle(document.documentElement)\n\t\t.getPropertyValue(name)\n\t\t.trim();\n\treturn value || fallback;\n}\n\nexport function sesionarioEmbedTheme(): SesionarioEmbedTheme {\n\tconst dark =\n\t\ttypeof document !== \"undefined\" &&\n\t\tdocument.documentElement.classList.contains(\"dark\");\n\treturn {\n\t\tbackground: cssVar(\"--background\", FALLBACK.background),\n\t\tforeground: cssVar(\"--foreground\", FALLBACK.foreground),\n\t\tprimary: cssVar(\"--primary\", FALLBACK.primary),\n\t\taccent: cssVar(\"--accent\", FALLBACK.accent),\n\t\tradius: cssVar(\"--radius\", FALLBACK.radius),\n\t\tfontFamily: cssVar(\"--font-sans\", FALLBACK.fontFamily),\n\t\t...(dark ? { mode: \"dark\" as const } : {}),\n\t};\n}\n","import { sesionarioEmbedTheme } from \"./embed-theme\";\nimport type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\nimport { sesionarioStudioLabelFn } from \"./studio-labels\";\n\nexport function livoLabels(locale?: string) {\n\tconst resolved: LivoLocale = resolveLivoLocale(locale);\n\treturn {\n\t\tlocale: resolved,\n\t\ttheme: sesionarioEmbedTheme(),\n\t\tstudioLabelFn: sesionarioStudioLabelFn(resolved),\n\t\tlobbyLabels: sesionarioLobbyLabels(resolved),\n\t\twindowGateLabels: sesionarioWindowGateLabels(resolved),\n\t\tplayerLabels: sesionarioPlayerLabels(resolved),\n\t\twaitingLabels: sesionarioWaitingLabels(resolved),\n\t\tcommunityLabels: sesionarioCommunityLabels(resolved),\n\t};\n}\n"]}
1
+ {"version":3,"sources":["../src/livo/locale.ts","../src/livo/studio-labels-en.json","../src/livo/studio-labels-es.json","../src/livo/catalogs.ts","../src/livo/studio-labels.ts","../src/livo/embed-theme.ts","../src/livo/livo-labels.ts"],"names":[],"mappings":"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","file":"livo.js","sourcesContent":["export type LivoLocale = \"es\" | \"en\";\n\nexport function resolveLivoLocale(locale?: string): LivoLocale {\n\treturn locale?.toLowerCase().startsWith(\"en\") ? \"en\" : \"es\";\n}\n","{\n\t\"live\": \"LIVE\",\n\t\"preview\": \"Preview\",\n\t\"waiting\": \"Waiting to join\",\n\t\"waitingHost\": \"Waiting for the host to let you in\",\n\t\"admit\": \"Admit\",\n\t\"deny\": \"Deny\",\n\t\"denied\": \"Guest declined\",\n\t\"denyError\": \"Could not decline that guest\",\n\t\"rejectedTitle\": \"The host declined your request\",\n\t\"rejectedDescription\": \"You can ask to join again if the studio is still open.\",\n\t\"rejectedAction\": \"Ask to join again\",\n\t\"kick\": \"Remove\",\n\t\"camera\": \"Camera\",\n\t\"screen\": \"Screen\",\n\t\"mute\": \"Mute\",\n\t\"unmute\": \"Unmute\",\n\t\"copyLink\": \"Copy guest link\",\n\t\"shareLink\": \"Share guest link\",\n\t\"shareGuestText\": \"Join the studio for {title}\",\n\t\"shareFailed\": \"Could not share the guest link\",\n\t\"copied\": \"Guest link copied\",\n\t\"publish\": \"Go live\",\n\t\"publishTitle\": \"Go live?\",\n\t\"publishDescription\": \"Viewers will see this studio on the public player.\",\n\t\"publishConfirm\": \"Go live\",\n\t\"publishPending\": \"Going on air…\",\n\t\"stop\": \"Stop\",\n\t\"stopTitle\": \"Stop this broadcast?\",\n\t\"stopDescription\": \"Viewers will lose the live feed. Guests will be disconnected.\",\n\t\"stopConfirm\": \"Stop stream\",\n\t\"fullscreen\": \"Fullscreen\",\n\t\"publishError\": \"Could not go live\",\n\t\"stopError\": \"Could not stop the stream\",\n\t\"published\": \"Going live\",\n\t\"stopped\": \"Stream stopped\",\n\t\"cameraDevice\": \"Camera\",\n\t\"micDevice\": \"Microphone\",\n\t\"speakerDevice\": \"Speaker\",\n\t\"preflightCamera\": \"Camera\",\n\t\"preflightMic\": \"Microphone\",\n\t\"knock\": \"{name} is waiting to join\",\n\t\"egressLost\": \"Reconnect studio\",\n\t\"livestreamStarting\": \"Initializing…\",\n\t\"livestreamSending\": \"Initializing…\",\n\t\"livestreamInitializing\": \"Initializing…\",\n\t\"livestreamRetry\": \"Retry egress\",\n\t\"livestreamError\": \"Could not start RTMP egress\",\n\t\"screenBusy\": \"Someone else is already sharing their screen\",\n\t\"endedTitle\": \"This studio session has ended\",\n\t\"endedDescription\": \"The host stopped the stream.\",\n\t\"endedAction\": \"Back\",\n\t\"rejoin\": \"Rejoin studio\",\n\t\"duplicateTitle\": \"Studio is already open\",\n\t\"duplicateDescription\": \"This studio is already open in another window.\",\n\t\"duplicateDescriptionNoTakeover\": \"This studio is already open in another window. Close that window to continue here.\",\n\t\"duplicateAction\": \"Continue here\",\n\t\"duplicateTakenOver\": \"This session moved to another window.\",\n\t\"joinBusy\": \"Too many join attempts. Try again in a moment.\",\n\t\"cameraError\": \"Could not enable the camera\",\n\t\"screenError\": \"Could not share the screen\",\n\t\"leave\": \"Leave studio\",\n\t\"leaveTitle\": \"Leave this studio?\",\n\t\"leaveDescription\": \"You will disconnect from the host and other guests.\",\n\t\"leaveConfirm\": \"Leave\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Send\",\n\t\"chatPlaceholder\": \"Message\",\n\t\"chatError\": \"Could not send the message\",\n\t\"settings\": \"Settings\",\n\t\"settingsTitle\": \"Settings\",\n\t\"settingsDescription\": \"Name, audio, and video settings\",\n\t\"guestName\": \"Your name\",\n\t\"displayNameSave\": \"Save\",\n\t\"displayNameSaved\": \"Display name updated\",\n\t\"displayNameError\": \"Could not update your display name\",\n\t\"testSpeaker\": \"Test\",\n\t\"testSpeakerError\": \"Could not play the speaker test\",\n\t\"cameraOff\": \"Camera is off\",\n\t\"micLevel\": \"Microphone level\",\n\t\"share\": \"Copy player link\",\n\t\"shareCopied\": \"Player link copied\",\n\t\"stopCamera\": \"Stop camera\",\n\t\"stopScreen\": \"Stop screen share\",\n\t\"hostMutedYou\": \"The host muted you\",\n\t\"hostStoppedYourCamera\": \"The host turned off your camera\",\n\t\"hostStoppedYourScreen\": \"The host stopped your screen share\",\n\t\"hostMediaError\": \"Could not change that guest's media\",\n\t\"tileMenu\": \"Guest controls\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Close picture-in-picture\",\n\t\"backToStudio\": \"Back to studio\",\n\t\"pipTitle\": \"Studio\",\n\t\"pipError\": \"Could not open picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Screen sharing is not available on this device\",\n\t\"screenNotAllowed\": \"You do not have permission to share your screen\",\n\t\"askToShare\": \"Ask to share\",\n\t\"shareRequested\": \"Requested\",\n\t\"cancelShareRequest\": \"Cancel request\",\n\t\"shareRequestSent\": \"Asked the host to share your screen\",\n\t\"shareRequestFrom\": \"{name} wants to share their screen\",\n\t\"approve\": \"Approve\",\n\t\"shareApproved\": \"The host approved your screen share\",\n\t\"shareDenied\": \"The host declined your screen share\",\n\t\"shareRequestError\": \"Could not ask the host to share\",\n\t\"shareRequestTimeout\": \"No response from the host\",\n\t\"shareRespondError\": \"Could not respond to that share request\",\n\t\"goOffAir\": \"Go off air\",\n\t\"goOnAir\": \"Go on air\",\n\t\"takeOffAir\": \"Take off air\",\n\t\"bringOnAir\": \"Bring on air\",\n\t\"offAir\": \"Off air\",\n\t\"offAirCount\": \"Off air ({count})\",\n\t\"offAirBanner\": \"You are off camera. Your microphone is still live.\",\n\t\"offAirLastVisible\": \"At least one participant must stay on air while you are live\",\n\t\"offAirHidden\": \"Taken off air\",\n\t\"offAirShown\": \"Back on air\",\n\t\"offAirError\": \"Could not change on-air state\",\n\t\"takeOffAirTitle\": \"Take this guest off air?\",\n\t\"takeOffAirDescription\": \"They stay in the studio but stop publishing camera, mic, and screen.\",\n\t\"takeOffAirConfirm\": \"Take off air\",\n\t\"admitAsPanelist\": \"Admit as panelist\",\n\t\"admitAsAudience\": \"Admit as audience\",\n\t\"admitAllPanelists\": \"Admit all as panelists\",\n\t\"admitAllAudience\": \"Admit all as audience\",\n\t\"askToGoOnAir\": \"Ask to go on air\",\n\t\"stageRequested\": \"Asked to go on air\",\n\t\"stageRequests\": \"Stage requests\",\n\t\"people\": \"People\",\n\t\"panelists\": \"Panelists\",\n\t\"audience\": \"Audience\",\n\t\"noWaiting\": \"No one is waiting\",\n\t\"noPanelists\": \"No panelists\",\n\t\"noAudience\": \"No audience\",\n\t\"closePanel\": \"Close\",\n\t\"muteChat\": \"Mute chat\",\n\t\"allowChat\": \"Allow chat\",\n\t\"pin\": \"Pin on stage\",\n\t\"unpin\": \"Unpin\",\n\t\"pinnedToast\": \"You are pinned on stage\",\n\t\"unpinnedToast\": \"You are no longer pinned\",\n\t\"pinError\": \"Could not pin that participant\",\n\t\"kickTitle\": \"Remove this guest from the studio?\",\n\t\"kickDescription\": \"They will be disconnected.\",\n\t\"kickConfirm\": \"Remove\",\n\t\"kickError\": \"Could not remove that guest\",\n\t\"stageError\": \"Could not change stage access\",\n\t\"stageDisabled\": \"This guest link cannot join the stage.\",\n\t\"stageGrantNoEffect\": \"That guest stayed in the audience.\",\n\t\"stageOverflow\": \"+{count} more\",\n\t\"chatEveryone\": \"Everyone\",\n\t\"chatEdited\": \"Edited\",\n\t\"chatPinned\": \"Pinned message\",\n\t\"chatLoadOlder\": \"Load earlier messages\",\n\t\"chatRateLimited\": \"You are sending messages too quickly\",\n\t\"chatDelete\": \"Delete\",\n\t\"chatEdit\": \"Edit\",\n\t\"chatPin\": \"Pin message\",\n\t\"chatUnpin\": \"Unpin message\",\n\t\"chatSave\": \"Save\",\n\t\"waitingSkeleton\": \"Loading waiting room\",\n\t\"connecting\": \"Connecting to the studio\",\n\t\"connectFailed\": \"Could not join the studio\",\n\t\"retry\": \"Try again\",\n\t\"screenDownloadAppTitle\": \"Screen sharing needs the Livo app\",\n\t\"screenDownloadAppAction\": \"Download the app\",\n\t\"screenDownloadAppDismiss\": \"Not now\",\n\t\"stageApproved\": \"The host approved your request to go on air\",\n\t\"stageDenied\": \"The host declined your request to go on air\",\n\t\"community\": \"Community\",\n\t\"comments\": \"Comments\",\n\t\"qa\": \"Q&A\",\n\t\"composer\": \"Write a comment\",\n\t\"questionComposer\": \"Ask a question\",\n\t\"emptyComments\": \"No comments yet\",\n\t\"emptyQuestions\": \"No questions yet\",\n\t\"jumpToLatest\": \"Jump to latest\",\n\t\"answer\": \"Answer\",\n\t\"upvote\": \"Upvote\",\n\t\"closed\": \"Comments are closed\",\n\t\"qaClosed\": \"Q&A is closed\",\n\t\"postError\": \"Could not post\",\n\t\"answerError\": \"Could not answer\",\n\t\"kickTitleNamed\": \"Remove {name} from the studio?\",\n\t\"more\": \"More\",\n\t\"captions\": \"Captions\",\n\t\"captionsOn\": \"Turn off captions\",\n\t\"captionsOff\": \"Turn on captions\",\n\t\"captionsNotReady\": \"Captions start with the broadcast\",\n\t\"captionsDelayed\": \"Studio captions are delayed a few seconds\",\n\t\"captionsLanguage\": \"Caption language\",\n\t\"captionsSize\": \"Caption size\",\n\t\"captionsSizeS\": \"Small\",\n\t\"captionsSizeM\": \"Medium\",\n\t\"captionsSizeL\": \"Large\",\n\t\"settingsGeneral\": \"General\",\n\t\"settingsAudio\": \"Audio\",\n\t\"settingsVideo\": \"Video\",\n\t\"settingsEffects\": \"Effects\",\n\t\"settingsSubtitles\": \"Subtitles\",\n\t\"effectNone\": \"None\",\n\t\"effectBlur\": \"Blur\",\n\t\"effectBlurStrong\": \"Strong blur\",\n\t\"effectBackgrounds\": \"Backgrounds\",\n\t\"effectFilters\": \"Filters\",\n\t\"effectFilterNone\": \"None\",\n\t\"effectFilterGrayscale\": \"Grayscale\",\n\t\"effectFilterSepia\": \"Sepia\",\n\t\"effectFilterWarm\": \"Warm\",\n\t\"effectFilterCool\": \"Cool\",\n\t\"effectFilterBright\": \"Bright\",\n\t\"localeEn\": \"English\",\n\t\"localeEs\": \"Spanish\",\n\t\"localePt\": \"Portuguese\"\n}\n","{\n\t\"live\": \"EN VIVO\",\n\t\"preview\": \"Vista previa\",\n\t\"waiting\": \"Esperando para unirte\",\n\t\"waitingHost\": \"Esperando a que el anfitrión te deje entrar\",\n\t\"admit\": \"Admitir\",\n\t\"deny\": \"Rechazar\",\n\t\"denied\": \"Invitado rechazado\",\n\t\"denyError\": \"No se pudo rechazar a ese invitado\",\n\t\"rejectedTitle\": \"El anfitrión rechazó tu solicitud\",\n\t\"rejectedDescription\": \"Puedes pedir unirte de nuevo si el estudio sigue abierto.\",\n\t\"rejectedAction\": \"Pedir unirme de nuevo\",\n\t\"kick\": \"Quitar\",\n\t\"camera\": \"Cámara\",\n\t\"screen\": \"Pantalla\",\n\t\"mute\": \"Silenciar\",\n\t\"unmute\": \"Activar audio\",\n\t\"copyLink\": \"Copiar enlace de invitado\",\n\t\"shareLink\": \"Compartir enlace de invitado\",\n\t\"shareGuestText\": \"Únete al estudio de {title}\",\n\t\"shareFailed\": \"No se pudo compartir el enlace de invitado\",\n\t\"copied\": \"Enlace de invitado copiado\",\n\t\"publish\": \"Salir al aire\",\n\t\"publishTitle\": \"¿Salir al aire?\",\n\t\"publishDescription\": \"Las y los espectadores verán este estudio en el reproductor público.\",\n\t\"publishConfirm\": \"Salir al aire\",\n\t\"publishPending\": \"Saliendo al aire…\",\n\t\"stop\": \"Detener\",\n\t\"stopTitle\": \"¿Detener esta transmisión?\",\n\t\"stopDescription\": \"Las y los espectadores perderán la señal en vivo. Los invitados se desconectarán.\",\n\t\"stopConfirm\": \"Detener transmisión\",\n\t\"fullscreen\": \"Pantalla completa\",\n\t\"publishError\": \"No se pudo salir al aire\",\n\t\"stopError\": \"No se pudo detener la transmisión\",\n\t\"published\": \"Saliendo al aire\",\n\t\"stopped\": \"Transmisión detenida\",\n\t\"cameraDevice\": \"Cámara\",\n\t\"micDevice\": \"Micrófono\",\n\t\"speakerDevice\": \"Altavoz\",\n\t\"preflightCamera\": \"Cámara\",\n\t\"preflightMic\": \"Micrófono\",\n\t\"knock\": \"{name} espera para unirse\",\n\t\"egressLost\": \"Reconectar estudio\",\n\t\"livestreamStarting\": \"Inicializando…\",\n\t\"livestreamSending\": \"Inicializando…\",\n\t\"livestreamInitializing\": \"Inicializando…\",\n\t\"livestreamRetry\": \"Reintentar salida\",\n\t\"livestreamError\": \"No se pudo iniciar la salida RTMP\",\n\t\"screenBusy\": \"Alguien más ya está compartiendo su pantalla\",\n\t\"endedTitle\": \"Esta sesión de estudio terminó\",\n\t\"endedDescription\": \"El anfitrión detuvo la transmisión.\",\n\t\"endedAction\": \"Volver\",\n\t\"rejoin\": \"Volver al estudio\",\n\t\"duplicateTitle\": \"El estudio ya está abierto\",\n\t\"duplicateDescription\": \"Este estudio ya está abierto en otra ventana.\",\n\t\"duplicateDescriptionNoTakeover\": \"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\"duplicateAction\": \"Continuar aquí\",\n\t\"duplicateTakenOver\": \"Esta sesión se movió a otra ventana.\",\n\t\"joinBusy\": \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\"cameraError\": \"No se pudo activar la cámara\",\n\t\"screenError\": \"No se pudo compartir la pantalla\",\n\t\"leave\": \"Salir del estudio\",\n\t\"leaveTitle\": \"¿Salir de este estudio?\",\n\t\"leaveDescription\": \"Te desconectarás del anfitrión y de los demás invitados.\",\n\t\"leaveConfirm\": \"Salir\",\n\t\"chat\": \"Chat\",\n\t\"chatSend\": \"Enviar\",\n\t\"chatPlaceholder\": \"Mensaje\",\n\t\"chatError\": \"No se pudo enviar el mensaje\",\n\t\"settings\": \"Ajustes\",\n\t\"settingsTitle\": \"Ajustes\",\n\t\"settingsDescription\": \"Nombre, audio y video\",\n\t\"guestName\": \"Tu nombre\",\n\t\"displayNameSave\": \"Guardar\",\n\t\"displayNameSaved\": \"Nombre actualizado\",\n\t\"displayNameError\": \"No se pudo actualizar tu nombre\",\n\t\"testSpeaker\": \"Probar\",\n\t\"testSpeakerError\": \"No se pudo reproducir la prueba de altavoz\",\n\t\"cameraOff\": \"Cámara apagada\",\n\t\"micLevel\": \"Nivel del micrófono\",\n\t\"share\": \"Copiar enlace del reproductor\",\n\t\"shareCopied\": \"Enlace del reproductor copiado\",\n\t\"stopCamera\": \"Apagar cámara\",\n\t\"stopScreen\": \"Dejar de compartir pantalla\",\n\t\"hostMutedYou\": \"El anfitrión te silenció\",\n\t\"hostStoppedYourCamera\": \"El anfitrión apagó tu cámara\",\n\t\"hostStoppedYourScreen\": \"El anfitrión detuvo tu compartir pantalla\",\n\t\"hostMediaError\": \"No se pudo cambiar el medio de ese invitado\",\n\t\"tileMenu\": \"Controles de invitado\",\n\t\"openPip\": \"Picture-in-picture\",\n\t\"closePip\": \"Cerrar picture-in-picture\",\n\t\"backToStudio\": \"Volver al estudio\",\n\t\"pipTitle\": \"Estudio\",\n\t\"pipError\": \"No se pudo abrir picture-in-picture\",\n\t\"screenUnsupportedDevice\": \"Compartir pantalla no está disponible en este dispositivo\",\n\t\"screenNotAllowed\": \"No tienes permiso para compartir tu pantalla\",\n\t\"askToShare\": \"Pedir compartir\",\n\t\"shareRequested\": \"Solicitado\",\n\t\"cancelShareRequest\": \"Cancelar solicitud\",\n\t\"shareRequestSent\": \"Le pediste al anfitrión compartir tu pantalla\",\n\t\"shareRequestFrom\": \"{name} quiere compartir su pantalla\",\n\t\"approve\": \"Aprobar\",\n\t\"shareApproved\": \"El anfitrión aprobó tu compartir pantalla\",\n\t\"shareDenied\": \"El anfitrión rechazó tu compartir pantalla\",\n\t\"shareRequestError\": \"No se pudo pedir compartir pantalla\",\n\t\"shareRequestTimeout\": \"El anfitrión no respondió\",\n\t\"shareRespondError\": \"No se pudo responder a esa solicitud\",\n\t\"goOffAir\": \"Salir del aire\",\n\t\"goOnAir\": \"Entrar al aire\",\n\t\"takeOffAir\": \"Quitar del aire\",\n\t\"bringOnAir\": \"Poner al aire\",\n\t\"offAir\": \"Fuera del aire\",\n\t\"offAirCount\": \"Fuera del aire ({count})\",\n\t\"offAirBanner\": \"Estás fuera de cámara. Tu micrófono sigue activo.\",\n\t\"offAirLastVisible\": \"Al menos una persona debe quedarse al aire mientras estás en vivo\",\n\t\"offAirHidden\": \"Fuera del aire\",\n\t\"offAirShown\": \"De nuevo al aire\",\n\t\"offAirError\": \"No se pudo cambiar el estado al aire\",\n\t\"takeOffAirTitle\": \"¿Quitar a este invitado del aire?\",\n\t\"takeOffAirDescription\": \"Sigue en el estudio, pero deja de publicar cámara, micrófono y pantalla.\",\n\t\"takeOffAirConfirm\": \"Quitar del aire\",\n\t\"admitAsPanelist\": \"Admitir como panelista\",\n\t\"admitAsAudience\": \"Admitir como audiencia\",\n\t\"admitAllPanelists\": \"Admitir a todos como panelistas\",\n\t\"admitAllAudience\": \"Admitir a todos como audiencia\",\n\t\"askToGoOnAir\": \"Pedir entrar al aire\",\n\t\"stageRequested\": \"Pidió entrar al aire\",\n\t\"stageRequests\": \"Solicitudes de escenario\",\n\t\"people\": \"Personas\",\n\t\"panelists\": \"Panelistas\",\n\t\"audience\": \"Audiencia\",\n\t\"noWaiting\": \"Nadie espera\",\n\t\"noPanelists\": \"Sin panelistas\",\n\t\"noAudience\": \"Sin audiencia\",\n\t\"closePanel\": \"Cerrar\",\n\t\"muteChat\": \"Silenciar chat\",\n\t\"allowChat\": \"Permitir chat\",\n\t\"pin\": \"Fijar en escenario\",\n\t\"unpin\": \"Desfijar\",\n\t\"pinnedToast\": \"Estás fijado en el escenario\",\n\t\"unpinnedToast\": \"Ya no estás fijado\",\n\t\"pinError\": \"No se pudo fijar a esa persona\",\n\t\"kickTitle\": \"¿Quitar a este invitado del estudio?\",\n\t\"kickDescription\": \"Se desconectará.\",\n\t\"kickConfirm\": \"Quitar\",\n\t\"kickError\": \"No se pudo quitar a ese invitado\",\n\t\"stageError\": \"No se pudo cambiar el acceso al escenario\",\n\t\"stageDisabled\": \"Este enlace de invitado no puede unirse al escenario.\",\n\t\"stageGrantNoEffect\": \"Ese invitado se quedó en la audiencia.\",\n\t\"stageOverflow\": \"+{count} más\",\n\t\"chatEveryone\": \"Todos\",\n\t\"chatEdited\": \"Editado\",\n\t\"chatPinned\": \"Mensaje fijado\",\n\t\"chatLoadOlder\": \"Cargar mensajes anteriores\",\n\t\"chatRateLimited\": \"Estás enviando mensajes demasiado rápido\",\n\t\"chatDelete\": \"Eliminar\",\n\t\"chatEdit\": \"Editar\",\n\t\"chatPin\": \"Fijar mensaje\",\n\t\"chatUnpin\": \"Desfijar mensaje\",\n\t\"chatSave\": \"Guardar\",\n\t\"waitingSkeleton\": \"Cargando sala de espera\",\n\t\"connecting\": \"Conectando al estudio\",\n\t\"connectFailed\": \"No se pudo unir al estudio\",\n\t\"retry\": \"Reintentar\",\n\t\"screenDownloadAppTitle\": \"Compartir pantalla necesita la app de Livo\",\n\t\"screenDownloadAppAction\": \"Descargar la app\",\n\t\"screenDownloadAppDismiss\": \"Ahora no\",\n\t\"stageApproved\": \"El anfitrión aprobó tu pedido para pasar al aire\",\n\t\"stageDenied\": \"El anfitrión rechazó tu pedido para pasar al aire\",\n\t\"community\": \"Comunidad\",\n\t\"comments\": \"Comentarios\",\n\t\"qa\": \"Preguntas\",\n\t\"composer\": \"Escribe un comentario\",\n\t\"questionComposer\": \"Haz una pregunta\",\n\t\"emptyComments\": \"Aún no hay comentarios\",\n\t\"emptyQuestions\": \"Aún no hay preguntas\",\n\t\"jumpToLatest\": \"Ir al más reciente\",\n\t\"answer\": \"Responder\",\n\t\"upvote\": \"Votar\",\n\t\"closed\": \"Los comentarios están cerrados\",\n\t\"qaClosed\": \"Las preguntas están cerradas\",\n\t\"postError\": \"No se pudo publicar\",\n\t\"answerError\": \"No se pudo responder\",\n\t\"kickTitleNamed\": \"¿Quitar a {name} del estudio?\",\n\t\"more\": \"Más\",\n\t\"captions\": \"Subtítulos\",\n\t\"captionsOn\": \"Desactivar subtítulos\",\n\t\"captionsOff\": \"Activar subtítulos\",\n\t\"captionsNotReady\": \"Los subtítulos empiezan con la transmisión\",\n\t\"captionsDelayed\": \"Los subtítulos del estudio llegan con unos segundos de retraso\",\n\t\"captionsLanguage\": \"Idioma de los subtítulos\",\n\t\"captionsSize\": \"Tamaño de los subtítulos\",\n\t\"captionsSizeS\": \"Pequeño\",\n\t\"captionsSizeM\": \"Mediano\",\n\t\"captionsSizeL\": \"Grande\",\n\t\"settingsGeneral\": \"General\",\n\t\"settingsAudio\": \"Audio\",\n\t\"settingsVideo\": \"Video\",\n\t\"settingsEffects\": \"Efectos\",\n\t\"settingsSubtitles\": \"Subtítulos\",\n\t\"effectNone\": \"Ninguno\",\n\t\"effectBlur\": \"Desenfocar\",\n\t\"effectBlurStrong\": \"Desenfoque fuerte\",\n\t\"effectBackgrounds\": \"Fondos\",\n\t\"effectFilters\": \"Filtros\",\n\t\"effectFilterNone\": \"Ninguno\",\n\t\"effectFilterGrayscale\": \"Escala de grises\",\n\t\"effectFilterSepia\": \"Sepia\",\n\t\"effectFilterWarm\": \"Cálido\",\n\t\"effectFilterCool\": \"Frío\",\n\t\"effectFilterBright\": \"Brillo\",\n\t\"localeEn\": \"Inglés\",\n\t\"localeEs\": \"Español\",\n\t\"localePt\": \"Portugués\"\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\n\nexport type SesionarioLobbyLabels = {\n\ttitle: string;\n\thint: string;\n\tname: string;\n\tjoin: string;\n\twaitingForHost: string;\n\tcamera: string;\n\tmic: string;\n\tcameraDevice?: string;\n\tmicDevice?: string;\n\tspeakerDevice?: string;\n\ttestSpeaker?: string;\n\ttestSpeakerError?: string;\n\tcameraOff?: string;\n\tjoinError: string;\n\tjoinBusy: string;\n\tendedTitle: string;\n};\n\nconst LOBBY: Record<LivoLocale, SesionarioLobbyLabels> = {\n\ten: {\n\t\ttitle: \"Get ready to join\",\n\t\thint: \"Set your camera and microphone, then join when you are ready.\",\n\t\tname: \"Your name\",\n\t\tjoin: \"Join\",\n\t\twaitingForHost: \"Waiting for the host to open the studio\",\n\t\tcamera: \"Camera\",\n\t\tmic: \"Microphone\",\n\t\tcameraDevice: \"Camera\",\n\t\tmicDevice: \"Microphone\",\n\t\tspeakerDevice: \"Speaker\",\n\t\ttestSpeaker: \"Test\",\n\t\ttestSpeakerError: \"Could not play the speaker test\",\n\t\tcameraOff: \"Camera is off\",\n\t\tjoinError: \"Could not join studio\",\n\t\tjoinBusy: \"Too many join attempts. Try again in a moment.\",\n\t\tendedTitle: \"This studio session has ended\",\n\t},\n\tes: {\n\t\ttitle: \"Prepárate para unirte\",\n\t\thint: \"Configura tu cámara y micrófono, y únete cuando estés listo.\",\n\t\tname: \"Tu nombre\",\n\t\tjoin: \"Unirme\",\n\t\twaitingForHost: \"Esperando a que el anfitrión abra el estudio\",\n\t\tcamera: \"Cámara\",\n\t\tmic: \"Micrófono\",\n\t\tcameraDevice: \"Cámara\",\n\t\tmicDevice: \"Micrófono\",\n\t\tspeakerDevice: \"Altavoz\",\n\t\ttestSpeaker: \"Probar\",\n\t\ttestSpeakerError: \"No se pudo reproducir la prueba de altavoz\",\n\t\tcameraOff: \"Cámara apagada\",\n\t\tjoinError: \"No se pudo unir al estudio\",\n\t\tjoinBusy: \"Demasiados intentos. Prueba de nuevo en un momento.\",\n\t\tendedTitle: \"Esta sesión de estudio terminó\",\n\t},\n};\n\nexport type SesionarioWindowGateLabels = {\n\tduplicateTitle: string;\n\tduplicateDescription: string;\n\tduplicateDescriptionNoTakeover: string;\n\tduplicateTakenOver: string;\n\tduplicateAction: string;\n};\n\nconst WINDOW_GATE: Record<LivoLocale, SesionarioWindowGateLabels> = {\n\ten: {\n\t\tduplicateTitle: \"Studio is already open\",\n\t\tduplicateDescription: \"This studio is already open in another window.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"This studio is already open in another window. Close that window to continue here.\",\n\t\tduplicateTakenOver: \"This session moved to another window.\",\n\t\tduplicateAction: \"Continue here\",\n\t},\n\tes: {\n\t\tduplicateTitle: \"El estudio ya está abierto\",\n\t\tduplicateDescription: \"Este estudio ya está abierto en otra ventana.\",\n\t\tduplicateDescriptionNoTakeover:\n\t\t\t\"Este estudio ya está abierto en otra ventana. Cierra esa ventana para continuar aquí.\",\n\t\tduplicateTakenOver: \"Esta sesión se movió a otra ventana.\",\n\t\tduplicateAction: \"Continuar aquí\",\n\t},\n};\n\nexport type SesionarioPlayerLabels = {\n\tplay: string;\n\tpause: string;\n\tmute: string;\n\tunmute: string;\n\tenterFullscreen: string;\n\texitFullscreen: string;\n\tpictureInPicture: string;\n\tcast: string;\n\tsettings: string;\n\tmore: string;\n\tback: string;\n\tquality: string;\n\tauto: string;\n\tspeed: string;\n\tlive: string;\n\tgoLive: string;\n\ttapToUnmute: string;\n\tloading: string;\n\twaiting: string;\n\tretry: string;\n\terrorUnavailable: string;\n\terrorNetwork: string;\n\terrorMedia: string;\n\terrorUnsupported: string;\n\terrorGeneric: string;\n\tcaptions: string;\n\tcaptionsOff: string;\n\tcaptionsEn: string;\n\tcaptionsEs: string;\n\tcaptionsPt: string;\n};\n\nconst PLAYER: Record<LivoLocale, SesionarioPlayerLabels> = {\n\ten: {\n\t\tplay: \"Play\",\n\t\tpause: \"Pause\",\n\t\tmute: \"Mute\",\n\t\tunmute: \"Unmute\",\n\t\tenterFullscreen: \"Fullscreen\",\n\t\texitFullscreen: \"Exit fullscreen\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Cast\",\n\t\tsettings: \"Settings\",\n\t\tmore: \"More\",\n\t\tback: \"Back\",\n\t\tquality: \"Quality\",\n\t\tauto: \"Auto\",\n\t\tspeed: \"Speed\",\n\t\tlive: \"LIVE\",\n\t\tgoLive: \"Go to live\",\n\t\ttapToUnmute: \"Tap to unmute\",\n\t\tloading: \"Loading\",\n\t\twaiting: \"Waiting\",\n\t\tretry: \"Retry\",\n\t\terrorUnavailable: \"This video is unavailable\",\n\t\terrorNetwork: \"Network error. Try again.\",\n\t\terrorMedia: \"Could not play this video\",\n\t\terrorUnsupported: \"This video cannot be played on this device\",\n\t\terrorGeneric: \"Playback error\",\n\t\tcaptions: \"Captions\",\n\t\tcaptionsOff: \"Off\",\n\t\tcaptionsEn: \"English\",\n\t\tcaptionsEs: \"Spanish\",\n\t\tcaptionsPt: \"Portuguese\",\n\t},\n\tes: {\n\t\tplay: \"Reproducir\",\n\t\tpause: \"Pausar\",\n\t\tmute: \"Silenciar\",\n\t\tunmute: \"Activar audio\",\n\t\tenterFullscreen: \"Pantalla completa\",\n\t\texitFullscreen: \"Salir de pantalla completa\",\n\t\tpictureInPicture: \"Picture-in-picture\",\n\t\tcast: \"Transmitir\",\n\t\tsettings: \"Ajustes\",\n\t\tmore: \"Más\",\n\t\tback: \"Atrás\",\n\t\tquality: \"Calidad\",\n\t\tauto: \"Automática\",\n\t\tspeed: \"Velocidad\",\n\t\tlive: \"EN VIVO\",\n\t\tgoLive: \"Ir al vivo\",\n\t\ttapToUnmute: \"Toca para activar el audio\",\n\t\tloading: \"Cargando\",\n\t\twaiting: \"Esperando\",\n\t\tretry: \"Reintentar\",\n\t\terrorUnavailable: \"Este video no está disponible\",\n\t\terrorNetwork: \"Error de red. Inténtalo de nuevo.\",\n\t\terrorMedia: \"No se pudo reproducir este video\",\n\t\terrorUnsupported: \"Este video no se puede reproducir en este dispositivo\",\n\t\terrorGeneric: \"Error de reproducción\",\n\t\tcaptions: \"Subtítulos\",\n\t\tcaptionsOff: \"Desactivados\",\n\t\tcaptionsEn: \"Inglés\",\n\t\tcaptionsEs: \"Español\",\n\t\tcaptionsPt: \"Portugués\",\n\t},\n};\n\nexport type SesionarioWaitingLabels = {\n\twaiting: string;\n\tstartingSoon: string;\n\tvodWaiting: string;\n\tavailableSoon: string;\n\tloading: string;\n\tstartsIn: (time: string) => string;\n\tavailableIn: (time: string) => string;\n};\n\nconst WAITING: Record<LivoLocale, SesionarioWaitingLabels> = {\n\ten: {\n\t\twaiting: \"Waiting\",\n\t\tstartingSoon: \"Starting soon\",\n\t\tvodWaiting: \"Waiting for this video to become available.\",\n\t\tavailableSoon: \"Available soon\",\n\t\tloading: \"Loading playback\",\n\t\tstartsIn: (time) => `Starts in ${time}`,\n\t\tavailableIn: (time) => `Available in ${time}`,\n\t},\n\tes: {\n\t\twaiting: \"Esperando\",\n\t\tstartingSoon: \"Empieza pronto\",\n\t\tvodWaiting: \"Esperando a que este video esté disponible.\",\n\t\tavailableSoon: \"Disponible pronto\",\n\t\tloading: \"Cargando reproducción\",\n\t\tstartsIn: (time) => `Empieza en ${time}`,\n\t\tavailableIn: (time) => `Disponible en ${time}`,\n\t},\n};\n\nexport type SesionarioCommunityLabels = {\n\tcomments: string;\n\tqa: string;\n\tcomposer: string;\n\tquestionComposer: string;\n\treply: string;\n\tsend: string;\n\tname: string;\n\tnamePlaceholder: string;\n\tpostingAs: string;\n\teditName: string;\n\tsaveName: string;\n\tclosed: string;\n\tqaClosed: string;\n\temptyComments: string;\n\temptyQuestions: string;\n\tjumpToLatest: string;\n\tpinned: string;\n\tlive: string;\n\tpin: string;\n\tunpin: string;\n\thide: string;\n\tunhide: string;\n\tremove: string;\n\thighlight: string;\n\tdismiss: string;\n\tanswer: string;\n\tupvote: string;\n\tsettings: string;\n\tcommentsEnabled: string;\n\tcommentsAfterEnd: string;\n\tqaEnabled: string;\n\tcommentsHelp: string;\n\tcommentsAfterEndHelp: string;\n\tqaHelp: string;\n};\n\nconst COMMUNITY: Record<LivoLocale, SesionarioCommunityLabels> = {\n\ten: {\n\t\tcomments: \"Comments\",\n\t\tqa: \"Q&A\",\n\t\tcomposer: \"Write a comment\",\n\t\tquestionComposer: \"Ask a question\",\n\t\treply: \"Reply\",\n\t\tsend: \"Send\",\n\t\tname: \"Display name\",\n\t\tnamePlaceholder: \"Your name\",\n\t\tpostingAs: \"Posting as {name}\",\n\t\teditName: \"Edit name\",\n\t\tsaveName: \"Save\",\n\t\tclosed: \"Comments are closed\",\n\t\tqaClosed: \"Q&A is closed\",\n\t\temptyComments: \"No comments yet\",\n\t\temptyQuestions: \"No questions yet\",\n\t\tjumpToLatest: \"Jump to latest\",\n\t\tpinned: \"Pinned\",\n\t\tlive: \"Live\",\n\t\tpin: \"Pin\",\n\t\tunpin: \"Unpin\",\n\t\thide: \"Hide\",\n\t\tunhide: \"Unhide\",\n\t\tremove: \"Delete\",\n\t\thighlight: \"Highlight\",\n\t\tdismiss: \"Dismiss\",\n\t\tanswer: \"Answer\",\n\t\tupvote: \"Upvote\",\n\t\tsettings: \"Community\",\n\t\tcommentsEnabled: \"Comments\",\n\t\tcommentsAfterEnd: \"Keep comments open after the event\",\n\t\tqaEnabled: \"Live Q&A\",\n\t\tcommentsHelp: \"Viewers can comment on this video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"When off, comments close as soon as the live event ends.\",\n\t\tqaHelp: \"Questions are only accepted while the event is live.\",\n\t},\n\tes: {\n\t\tcomments: \"Comentarios\",\n\t\tqa: \"Preguntas\",\n\t\tcomposer: \"Escribe un comentario\",\n\t\tquestionComposer: \"Haz una pregunta\",\n\t\treply: \"Responder\",\n\t\tsend: \"Enviar\",\n\t\tname: \"Nombre para mostrar\",\n\t\tnamePlaceholder: \"Tu nombre\",\n\t\tpostingAs: \"Publicando como {name}\",\n\t\teditName: \"Editar nombre\",\n\t\tsaveName: \"Guardar\",\n\t\tclosed: \"Los comentarios están cerrados\",\n\t\tqaClosed: \"Las preguntas están cerradas\",\n\t\temptyComments: \"Aún no hay comentarios\",\n\t\temptyQuestions: \"Aún no hay preguntas\",\n\t\tjumpToLatest: \"Ir al más reciente\",\n\t\tpinned: \"Fijado\",\n\t\tlive: \"En vivo\",\n\t\tpin: \"Fijar\",\n\t\tunpin: \"Desfijar\",\n\t\thide: \"Ocultar\",\n\t\tunhide: \"Mostrar\",\n\t\tremove: \"Eliminar\",\n\t\thighlight: \"Destacar\",\n\t\tdismiss: \"Descartar\",\n\t\tanswer: \"Responder\",\n\t\tupvote: \"Votar\",\n\t\tsettings: \"Comunidad\",\n\t\tcommentsEnabled: \"Comentarios\",\n\t\tcommentsAfterEnd: \"Mantener comentarios abiertos después del evento\",\n\t\tqaEnabled: \"Preguntas en vivo\",\n\t\tcommentsHelp: \"Las y los espectadores pueden comentar este video.\",\n\t\tcommentsAfterEndHelp:\n\t\t\t\"Si está desactivado, los comentarios se cierran al terminar el evento en vivo.\",\n\t\tqaHelp: \"Las preguntas solo se aceptan mientras el evento está en vivo.\",\n\t},\n};\n\nexport function sesionarioPlayerLabels(\n\tlocale?: string,\n): SesionarioPlayerLabels {\n\treturn PLAYER[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWaitingLabels(\n\tlocale?: string,\n): SesionarioWaitingLabels {\n\treturn WAITING[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioCommunityLabels(\n\tlocale?: string,\n): SesionarioCommunityLabels {\n\treturn COMMUNITY[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioWindowGateLabels(\n\tlocale?: string,\n): SesionarioWindowGateLabels {\n\treturn WINDOW_GATE[resolveLivoLocale(locale)];\n}\n\nexport function sesionarioLobbyLabels(locale?: string): SesionarioLobbyLabels {\n\treturn LOBBY[resolveLivoLocale(locale)];\n}\n","import type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport en from \"./studio-labels-en.json\";\nimport es from \"./studio-labels-es.json\";\n\nconst catalogs: Record<LivoLocale, Record<string, string>> = {\n\ten: en as Record<string, string>,\n\tes: es as Record<string, string>,\n};\n\nexport function interpolateSesionarioStudioLabel(\n\tkey: string,\n\tvalues?: Record<string, string>,\n\tlocale: LivoLocale = \"es\",\n): string {\n\tlet text = catalogs[locale][key] ?? catalogs.en[key] ?? key;\n\tif (values) {\n\t\tfor (const [name, value] of Object.entries(values)) {\n\t\t\ttext = text.replaceAll(`{${name}}`, value);\n\t\t}\n\t}\n\treturn text;\n}\n\n/** Alias used by unit tests and local copies in admin/app. */\nexport const interpolateStudioLabel = interpolateSesionarioStudioLabel;\n\n/**\n * Catalog interpolator for `@livo-tv/sdk/studio` `studioRoomLabels`.\n * Consuming apps wrap: `studioRoomLabels(sesionarioStudioLabelFn(\"es\"))`.\n */\nexport function sesionarioStudioLabelFn(locale?: string) {\n\tconst resolved = resolveLivoLocale(locale);\n\treturn (key: string, values?: Record<string, string>) =>\n\t\tinterpolateSesionarioStudioLabel(key, values, resolved);\n}\n\nexport function sesionarioStudioLabels(locale?: string) {\n\treturn sesionarioStudioLabelFn(locale);\n}\n\nexport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\n","/**\n * Shared EmbedTheme for native `@livo-tv/sdk` surfaces (LivoPlayer, studio).\n * Built from Sesionario shadcn CSS variables so admin and app match the shell.\n */\nexport type SesionarioEmbedTheme = {\n\tprimary: string;\n\taccent: string;\n\tbackground: string;\n\tforeground: string;\n\tradius: string;\n\tfontFamily: string;\n\tmode?: \"light\" | \"dark\";\n};\n\nconst FALLBACK: SesionarioEmbedTheme = {\n\tbackground: \"oklch(1 0 0)\",\n\tforeground: \"oklch(0.145 0 0)\",\n\tprimary: \"oklch(0.4824 0.1149 242.2039)\",\n\taccent: \"oklch(0.4824 0.1149 242.2039)\",\n\tradius: \"0.625rem\",\n\tfontFamily: \"ui-sans-serif, system-ui, sans-serif\",\n};\n\nfunction cssVar(name: string, fallback: string): string {\n\tif (typeof document === \"undefined\") return fallback;\n\tconst value = getComputedStyle(document.documentElement)\n\t\t.getPropertyValue(name)\n\t\t.trim();\n\treturn value || fallback;\n}\n\nexport function sesionarioEmbedTheme(): SesionarioEmbedTheme {\n\tconst dark =\n\t\ttypeof document !== \"undefined\" &&\n\t\tdocument.documentElement.classList.contains(\"dark\");\n\treturn {\n\t\tbackground: cssVar(\"--background\", FALLBACK.background),\n\t\tforeground: cssVar(\"--foreground\", FALLBACK.foreground),\n\t\tprimary: cssVar(\"--primary\", FALLBACK.primary),\n\t\taccent: cssVar(\"--accent\", FALLBACK.accent),\n\t\tradius: cssVar(\"--radius\", FALLBACK.radius),\n\t\tfontFamily: cssVar(\"--font-sans\", FALLBACK.fontFamily),\n\t\t...(dark ? { mode: \"dark\" as const } : {}),\n\t};\n}\n","import { sesionarioEmbedTheme } from \"./embed-theme\";\nimport type { LivoLocale } from \"./locale\";\nimport { resolveLivoLocale } from \"./locale\";\nimport {\n\tsesionarioCommunityLabels,\n\tsesionarioLobbyLabels,\n\tsesionarioPlayerLabels,\n\tsesionarioWaitingLabels,\n\tsesionarioWindowGateLabels,\n} from \"./catalogs\";\nimport { sesionarioStudioLabelFn } from \"./studio-labels\";\n\nexport function livoLabels(locale?: string) {\n\tconst resolved: LivoLocale = resolveLivoLocale(locale);\n\treturn {\n\t\tlocale: resolved,\n\t\ttheme: sesionarioEmbedTheme(),\n\t\tstudioLabelFn: sesionarioStudioLabelFn(resolved),\n\t\tlobbyLabels: sesionarioLobbyLabels(resolved),\n\t\twindowGateLabels: sesionarioWindowGateLabels(resolved),\n\t\tplayerLabels: sesionarioPlayerLabels(resolved),\n\t\twaitingLabels: sesionarioWaitingLabels(resolved),\n\t\tcommunityLabels: sesionarioCommunityLabels(resolved),\n\t};\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sesionario/blocks",
3
- "version": "1.37.0",
3
+ "version": "1.38.0",
4
4
  "description": "Shared UI components for Sesionario applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",