@sesionario/blocks 1.41.0-rc.2 → 1.41.0-rc.3
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 +10 -0
- package/dist/livo.cjs.map +1 -1
- package/dist/livo.d.cts +1 -0
- package/dist/livo.d.ts +1 -0
- package/dist/livo.js +10 -0
- package/dist/livo.js.map +1 -1
- package/package.json +1 -1
package/dist/livo.cjs
CHANGED
|
@@ -118,6 +118,10 @@ var studio_labels_en_default = {
|
|
|
118
118
|
shareRequestTimeout: "No response from the host",
|
|
119
119
|
shareRespondError: "Could not respond to that share request",
|
|
120
120
|
goOffAir: "Go off air",
|
|
121
|
+
moveToAudience: "Move to audience",
|
|
122
|
+
moveToAudienceTitle: "Move to the audience?",
|
|
123
|
+
moveToAudienceDescription: "You will stop publishing camera, microphone, and screen. You will keep watching the session.",
|
|
124
|
+
moveToAudienceConfirm: "Move to audience",
|
|
121
125
|
goOnAir: "Go on air",
|
|
122
126
|
takeOffAir: "Take off air",
|
|
123
127
|
bringOnAir: "Bring on air",
|
|
@@ -339,6 +343,10 @@ var studio_labels_es_default = {
|
|
|
339
343
|
shareRequestTimeout: "El anfitri\xF3n no respondi\xF3",
|
|
340
344
|
shareRespondError: "No se pudo responder a esa solicitud",
|
|
341
345
|
goOffAir: "Salir del aire",
|
|
346
|
+
moveToAudience: "Pasar a la audiencia",
|
|
347
|
+
moveToAudienceTitle: "\xBFPasar a la audiencia?",
|
|
348
|
+
moveToAudienceDescription: "Dejar\xE1s de publicar c\xE1mara, micr\xF3fono y pantalla. Seguir\xE1s viendo la sesi\xF3n.",
|
|
349
|
+
moveToAudienceConfirm: "Pasar a la audiencia",
|
|
342
350
|
goOnAir: "Entrar al aire",
|
|
343
351
|
takeOffAir: "Quitar del aire",
|
|
344
352
|
bringOnAir: "Poner al aire",
|
|
@@ -465,6 +473,7 @@ var LOBBY = {
|
|
|
465
473
|
cameraOff: "Camera is off",
|
|
466
474
|
joinError: "Could not join studio",
|
|
467
475
|
joinBusy: "Too many join attempts. Try again in a moment.",
|
|
476
|
+
joining: "Joining\u2026",
|
|
468
477
|
endedTitle: "This studio session has ended"
|
|
469
478
|
},
|
|
470
479
|
es: {
|
|
@@ -483,6 +492,7 @@ var LOBBY = {
|
|
|
483
492
|
cameraOff: "C\xE1mara apagada",
|
|
484
493
|
joinError: "No se pudo unir al estudio",
|
|
485
494
|
joinBusy: "Demasiados intentos. Prueba de nuevo en un momento.",
|
|
495
|
+
joining: "Uni\xE9ndote\u2026",
|
|
486
496
|
endedTitle: "Esta sesi\xF3n de estudio termin\xF3"
|
|
487
497
|
}
|
|
488
498
|
};
|
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":";;;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,gBAAA,EAAoB,qCAAA;AAAA,EACpB,sBAAA,EAA0B,wFAAA;AAAA,EAC1B,eAAA,EAAmB,2BAAA;AAAA,EACnB,qBAAA,EAAyB,gDAAA;AAAA,EACzB,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;;;AC1NA,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,gBAAA,EAAoB,4CAAA;AAAA,EACpB,sBAAA,EAA0B,6GAAA;AAAA,EAC1B,eAAA,EAAmB,6BAAA;AAAA,EACnB,qBAAA,EAAyB,wCAAA;AAAA,EACzB,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;;;ACpMA,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\"linkExpiredTitle\": \"This studio link is no longer valid\",\n\t\"linkExpiredDescription\": \"It is invalid or has expired. Open the studio again from the stream to get a new link.\",\n\t\"openFailedTitle\": \"Could not open the studio\",\n\t\"openFailedDescription\": \"Something went wrong while opening the studio.\",\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\"linkExpiredTitle\": \"Este enlace del estudio ya no es válido\",\n\t\"linkExpiredDescription\": \"No es válido o expiró. Abre el estudio de nuevo desde la transmisión para obtener un enlace nuevo.\",\n\t\"openFailedTitle\": \"No se pudo abrir el estudio\",\n\t\"openFailedDescription\": \"Algo salió mal al abrir el estudio.\",\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"]}
|
|
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\"linkExpiredTitle\": \"This studio link is no longer valid\",\n\t\"linkExpiredDescription\": \"It is invalid or has expired. Open the studio again from the stream to get a new link.\",\n\t\"openFailedTitle\": \"Could not open the studio\",\n\t\"openFailedDescription\": \"Something went wrong while opening the studio.\",\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\"moveToAudience\": \"Move to audience\",\n\t\"moveToAudienceTitle\": \"Move to the audience?\",\n\t\"moveToAudienceDescription\": \"You will stop publishing camera, microphone, and screen. You will keep watching the session.\",\n\t\"moveToAudienceConfirm\": \"Move to audience\",\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\"linkExpiredTitle\": \"Este enlace del estudio ya no es válido\",\n\t\"linkExpiredDescription\": \"No es válido o expiró. Abre el estudio de nuevo desde la transmisión para obtener un enlace nuevo.\",\n\t\"openFailedTitle\": \"No se pudo abrir el estudio\",\n\t\"openFailedDescription\": \"Algo salió mal al abrir el estudio.\",\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\"moveToAudience\": \"Pasar a la audiencia\",\n\t\"moveToAudienceTitle\": \"¿Pasar a la audiencia?\",\n\t\"moveToAudienceDescription\": \"Dejarás de publicar cámara, micrófono y pantalla. Seguirás viendo la sesión.\",\n\t\"moveToAudienceConfirm\": \"Pasar a la audiencia\",\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\tjoining: 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\tjoining: \"Joining…\",\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\tjoining: \"Uniéndote…\",\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.d.cts
CHANGED
package/dist/livo.d.ts
CHANGED
package/dist/livo.js
CHANGED
|
@@ -116,6 +116,10 @@ var studio_labels_en_default = {
|
|
|
116
116
|
shareRequestTimeout: "No response from the host",
|
|
117
117
|
shareRespondError: "Could not respond to that share request",
|
|
118
118
|
goOffAir: "Go off air",
|
|
119
|
+
moveToAudience: "Move to audience",
|
|
120
|
+
moveToAudienceTitle: "Move to the audience?",
|
|
121
|
+
moveToAudienceDescription: "You will stop publishing camera, microphone, and screen. You will keep watching the session.",
|
|
122
|
+
moveToAudienceConfirm: "Move to audience",
|
|
119
123
|
goOnAir: "Go on air",
|
|
120
124
|
takeOffAir: "Take off air",
|
|
121
125
|
bringOnAir: "Bring on air",
|
|
@@ -337,6 +341,10 @@ var studio_labels_es_default = {
|
|
|
337
341
|
shareRequestTimeout: "El anfitri\xF3n no respondi\xF3",
|
|
338
342
|
shareRespondError: "No se pudo responder a esa solicitud",
|
|
339
343
|
goOffAir: "Salir del aire",
|
|
344
|
+
moveToAudience: "Pasar a la audiencia",
|
|
345
|
+
moveToAudienceTitle: "\xBFPasar a la audiencia?",
|
|
346
|
+
moveToAudienceDescription: "Dejar\xE1s de publicar c\xE1mara, micr\xF3fono y pantalla. Seguir\xE1s viendo la sesi\xF3n.",
|
|
347
|
+
moveToAudienceConfirm: "Pasar a la audiencia",
|
|
340
348
|
goOnAir: "Entrar al aire",
|
|
341
349
|
takeOffAir: "Quitar del aire",
|
|
342
350
|
bringOnAir: "Poner al aire",
|
|
@@ -463,6 +471,7 @@ var LOBBY = {
|
|
|
463
471
|
cameraOff: "Camera is off",
|
|
464
472
|
joinError: "Could not join studio",
|
|
465
473
|
joinBusy: "Too many join attempts. Try again in a moment.",
|
|
474
|
+
joining: "Joining\u2026",
|
|
466
475
|
endedTitle: "This studio session has ended"
|
|
467
476
|
},
|
|
468
477
|
es: {
|
|
@@ -481,6 +490,7 @@ var LOBBY = {
|
|
|
481
490
|
cameraOff: "C\xE1mara apagada",
|
|
482
491
|
joinError: "No se pudo unir al estudio",
|
|
483
492
|
joinBusy: "Demasiados intentos. Prueba de nuevo en un momento.",
|
|
493
|
+
joining: "Uni\xE9ndote\u2026",
|
|
484
494
|
endedTitle: "Esta sesi\xF3n de estudio termin\xF3"
|
|
485
495
|
}
|
|
486
496
|
};
|
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\"linkExpiredTitle\": \"This studio link is no longer valid\",\n\t\"linkExpiredDescription\": \"It is invalid or has expired. Open the studio again from the stream to get a new link.\",\n\t\"openFailedTitle\": \"Could not open the studio\",\n\t\"openFailedDescription\": \"Something went wrong while opening the studio.\",\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\"linkExpiredTitle\": \"Este enlace del estudio ya no es válido\",\n\t\"linkExpiredDescription\": \"No es válido o expiró. Abre el estudio de nuevo desde la transmisión para obtener un enlace nuevo.\",\n\t\"openFailedTitle\": \"No se pudo abrir el estudio\",\n\t\"openFailedDescription\": \"Algo salió mal al abrir el estudio.\",\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"]}
|
|
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\"linkExpiredTitle\": \"This studio link is no longer valid\",\n\t\"linkExpiredDescription\": \"It is invalid or has expired. Open the studio again from the stream to get a new link.\",\n\t\"openFailedTitle\": \"Could not open the studio\",\n\t\"openFailedDescription\": \"Something went wrong while opening the studio.\",\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\"moveToAudience\": \"Move to audience\",\n\t\"moveToAudienceTitle\": \"Move to the audience?\",\n\t\"moveToAudienceDescription\": \"You will stop publishing camera, microphone, and screen. You will keep watching the session.\",\n\t\"moveToAudienceConfirm\": \"Move to audience\",\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\"linkExpiredTitle\": \"Este enlace del estudio ya no es válido\",\n\t\"linkExpiredDescription\": \"No es válido o expiró. Abre el estudio de nuevo desde la transmisión para obtener un enlace nuevo.\",\n\t\"openFailedTitle\": \"No se pudo abrir el estudio\",\n\t\"openFailedDescription\": \"Algo salió mal al abrir el estudio.\",\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\"moveToAudience\": \"Pasar a la audiencia\",\n\t\"moveToAudienceTitle\": \"¿Pasar a la audiencia?\",\n\t\"moveToAudienceDescription\": \"Dejarás de publicar cámara, micrófono y pantalla. Seguirás viendo la sesión.\",\n\t\"moveToAudienceConfirm\": \"Pasar a la audiencia\",\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\tjoining: 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\tjoining: \"Joining…\",\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\tjoining: \"Uniéndote…\",\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"]}
|