@courthive/i18n 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -309,8 +309,8 @@
309
309
  "winloss_abbreviation": "W/L",
310
310
  "cancelled": "Cancelado",
311
311
  "abandoned": "Abandonado",
312
- "scoreThisMatch": "__TODO__",
313
- "openScorecard": "__TODO__"
312
+ "scoreThisMatch": "Anotar este partido",
313
+ "openScorecard": "Abrir planilla"
314
314
  },
315
315
  "draws": {
316
316
  "seedlimit": "Límite de Cabezas de Serie",
@@ -588,7 +588,7 @@
588
588
  "blocked": "Las ventanas emergentes están bloqueadas por su navegador",
589
589
  "enablepopups": "Por favor habilite las ventanas emergentes para la impresión de PDF",
590
590
  "nopersist": "Persistencia de datos no garantizada",
591
- "filters": "__TODO__"
591
+ "filters": "Filtros"
592
592
  },
593
593
  "events": {
594
594
  "name": "Nombre",
@@ -757,33 +757,33 @@
757
757
  "unscheduled": "No programados",
758
758
  "noScheduledMatchUps": "No hay partidos programados",
759
759
  "noTimeSet": "Sin hora asignada",
760
- "showAll": "__TODO__",
761
- "hideEmpty": "__TODO__",
762
- "empty": "__TODO__",
763
- "court": "__TODO__",
764
- "event": "__TODO__",
765
- "round": "__TODO__",
766
- "matchUp": "__TODO__",
767
- "noScheduledMatchUpsMatch": "__TODO__",
768
- "searchScheduledMatchUps": "__TODO__",
769
- "scheduledTitle": "__TODO__",
770
- "scheduledCount_one": "__TODO__",
771
- "scheduledCount_other": "__TODO__",
772
- "filterMatchUps": "__TODO__",
773
- "filterClearAll": "__TODO__",
774
- "filterAllEventTypes": "__TODO__",
775
- "filterAllEvents": "__TODO__",
776
- "filterAllFlights": "__TODO__",
777
- "filterAllGenders": "__TODO__",
778
- "filterAllRounds": "__TODO__",
760
+ "showAll": "Mostrar todos",
761
+ "hideEmpty": "Ocultar vacíos",
762
+ "empty": "vacío",
763
+ "court": "Cancha",
764
+ "event": "Evento",
765
+ "round": "Ronda",
766
+ "matchUp": "Partido",
767
+ "noScheduledMatchUpsMatch": "Ningún partido programado coincide con la búsqueda",
768
+ "searchScheduledMatchUps": "Buscar partidos programados...",
769
+ "scheduledTitle": "Partidos programados",
770
+ "scheduledCount_one": "{{count}} programado",
771
+ "scheduledCount_other": "{{count}} programados",
772
+ "filterMatchUps": "Filtrar partidos",
773
+ "filterClearAll": "Borrar todo",
774
+ "filterAllEventTypes": "Todos los tipos de evento",
775
+ "filterAllEvents": "Todos los eventos",
776
+ "filterAllFlights": "Todos los flights",
777
+ "filterAllGenders": "Todos los géneros",
778
+ "filterAllRounds": "Todas las rondas",
779
779
  "groupBy": {
780
- "event": "__TODO__",
781
- "draw": "__TODO__",
782
- "round": "__TODO__",
783
- "structure": "__TODO__",
784
- "time": "__TODO__"
780
+ "event": "Por evento",
781
+ "draw": "Por cuadro",
782
+ "round": "Por ronda",
783
+ "structure": "Por estructura",
784
+ "time": "Por hora"
785
785
  },
786
- "showCompleted": "__TODO__"
786
+ "showCompleted": "Mostrar completados"
787
787
  },
788
788
  "penalties": {
789
789
  "fail2signout": "No se Presentó a la Salida",
@@ -815,14 +815,14 @@
815
815
  "error": "Error",
816
816
  "success": "Éxito",
817
817
  "required": "Requerido",
818
- "back": "__TODO__",
819
- "send": "__TODO__",
818
+ "back": "Atrás",
819
+ "send": "Enviar",
820
820
  "details": "Detalles",
821
821
  "validationDetails": "Detalles de validación",
822
- "dismiss": "__TODO__",
823
- "iSavedIt": "__TODO__",
824
- "remove": "__TODO__",
825
- "continueAndUnschedule": "__TODO__"
822
+ "dismiss": "Descartar",
823
+ "iSavedIt": "Lo guardé",
824
+ "remove": "Quitar",
825
+ "continueAndUnschedule": "Continuar y desprogramar"
826
826
  },
827
827
  "modals": {
828
828
  "deleteEvents": {
@@ -853,8 +853,8 @@
853
853
  "passwordLabel": "Contraseña",
854
854
  "passwordPlaceholder": "mínimo 8 caracteres",
855
855
  "loginButton": "Iniciar sesión",
856
- "magicLinkButton": "__TODO__",
857
- "forgotPassword": "__TODO__"
856
+ "magicLinkButton": "Envíame un enlace de acceso por correo",
857
+ "forgotPassword": "¿Olvidaste tu contraseña?"
858
858
  },
859
859
  "settings": {
860
860
  "title": "Configuración",
@@ -881,7 +881,7 @@
881
881
  "themeSystem": "Sistema",
882
882
  "font": "Fuente",
883
883
  "dangerZone": "Zona de peligro",
884
- "schedule2": "__TODO__"
884
+ "schedule2": "Página de programación 2"
885
885
  },
886
886
  "editTournamentName": {
887
887
  "title": "Editar Nombre del Torneo",
@@ -893,7 +893,7 @@
893
893
  "title": "Editar Fechas",
894
894
  "startDateLabel": "Fecha de Inicio",
895
895
  "endDateLabel": "Fecha de Fin",
896
- "timeZoneDetectedHint": "__TODO__"
896
+ "timeZoneDetectedHint": "Detectada desde tu navegador ({{zone}}). Confirma, cambia o borra."
897
897
  },
898
898
  "invalidParticipants": {
899
899
  "title": "Participantes Inválidos"
@@ -1025,7 +1025,7 @@
1025
1025
  "notClaimed": "No reclamado",
1026
1026
  "offline": "Sin conexión",
1027
1027
  "online": "En línea",
1028
- "uploadWarning": "__TODO__"
1028
+ "uploadWarning": "Advertencia: Esta acción reemplazará el registro del torneo en el servidor"
1029
1029
  },
1030
1030
  "inviteUser": {
1031
1031
  "title": "Invitar usuario",
@@ -1045,8 +1045,8 @@
1045
1045
  "services": "Servicios",
1046
1046
  "tournamentProfiles": "Perfiles de Torneo (obtener)",
1047
1047
  "invite": "Invitar",
1048
- "providerRole": "__TODO__",
1049
- "existingUserAdded": "__TODO__"
1048
+ "providerRole": "Rol del proveedor",
1049
+ "existingUserAdded": "{{email}} ya tenía una cuenta — agregado a {{provider}} como {{role}}."
1050
1050
  },
1051
1051
  "fetchTournament": {
1052
1052
  "title": "Obtener detalles del torneo",
@@ -1084,8 +1084,7 @@
1084
1084
  "groupSize": "Tamaño de grupo",
1085
1085
  "positionsToBePlayedOff": "Posiciones a disputar:",
1086
1086
  "selectPositions": "Seleccione posiciones finales del grupo. Las selecciones deben ser secuenciales",
1087
- "structureAdded": "Estructura agregada",
1088
- "selectEligible": "Seleccionar participantes elegibles"
1087
+ "structureAdded": "Estructura agregada"
1089
1088
  },
1090
1089
  "addToEvent": {
1091
1090
  "title": "Agregar al evento",
@@ -1113,7 +1112,7 @@
1113
1112
  "title": "Crear Equipo",
1114
1113
  "selectAttribute": "Seleccionar atributo",
1115
1114
  "create": "Crear",
1116
- "teamAffiliation": "__TODO__"
1115
+ "teamAffiliation": "Afiliación de equipo"
1117
1116
  },
1118
1117
  "getLatLong": {
1119
1118
  "title": "Ubicación",
@@ -1219,244 +1218,244 @@
1219
1218
  },
1220
1219
  "selectTeam": "Seleccionar equipo",
1221
1220
  "importParticipants": {
1222
- "title": "__TODO__",
1223
- "summary": "__TODO__",
1224
- "mergeNotice": "__TODO__",
1225
- "import": "__TODO__",
1226
- "reAutoDetect": "__TODO__",
1221
+ "title": "Importar participantes",
1222
+ "summary": "{{count}} filas listas para importar",
1223
+ "mergeNotice": "{{count}} filas duplicadas se combinarán por correo (gana el último valor no vacío por campo)",
1224
+ "import": "Importar",
1225
+ "reAutoDetect": "Volver a detectar automáticamente",
1227
1226
  "column": {
1228
- "header": "__TODO__",
1229
- "sample": "__TODO__",
1230
- "target": "__TODO__"
1227
+ "header": "Columna de origen",
1228
+ "sample": "Valor de ejemplo",
1229
+ "target": "Campo de destino"
1231
1230
  },
1232
1231
  "target": {
1233
- "firstName": "__TODO__",
1234
- "lastName": "__TODO__",
1235
- "fullName": "__TODO__",
1236
- "otherName": "__TODO__",
1237
- "sex": "__TODO__",
1238
- "birthDate": "__TODO__",
1239
- "nationalityCode": "__TODO__",
1240
- "wheelchair": "__TODO__",
1241
- "city": "__TODO__",
1242
- "state": "__TODO__",
1243
- "countryCode": "__TODO__",
1244
- "postalCode": "__TODO__",
1245
- "addressLine1": "__TODO__",
1246
- "email": "__TODO__",
1247
- "phone": "__TODO__",
1248
- "mobilePhone": "__TODO__",
1249
- "tennisId": "__TODO__",
1250
- "ustaId": "__TODO__",
1251
- "itfId": "__TODO__",
1252
- "utrProfile": "__TODO__",
1253
- "participantId": "__TODO__",
1254
- "rating": "__TODO__",
1255
- "eventEntry": "__TODO__",
1256
- "participantName": "__TODO__",
1257
- "representing": "__TODO__",
1258
- "notes": "__TODO__",
1259
- "split": "__TODO__",
1260
- "ignore": "__TODO__",
1261
- "participantRole": "__TODO__",
1262
- "teamKey": "__TODO__",
1263
- "jerseyNumber": "__TODO__"
1232
+ "firstName": "Nombre",
1233
+ "lastName": "Apellido",
1234
+ "fullName": "Nombre completo",
1235
+ "otherName": "Otro nombre / apodo",
1236
+ "sex": "Sexo",
1237
+ "birthDate": "Fecha de nacimiento",
1238
+ "nationalityCode": "Nacionalidad",
1239
+ "wheelchair": "Silla de ruedas",
1240
+ "city": "Ciudad",
1241
+ "state": "Estado",
1242
+ "countryCode": "Código de país",
1243
+ "postalCode": "Código postal",
1244
+ "addressLine1": "Línea de dirección",
1245
+ "email": "Correo",
1246
+ "phone": "Teléfono",
1247
+ "mobilePhone": "Teléfono móvil",
1248
+ "tennisId": "Tennis ID",
1249
+ "ustaId": "USTA ID",
1250
+ "itfId": "ITF ID",
1251
+ "utrProfile": "Perfil UTR",
1252
+ "participantId": "ID de participante",
1253
+ "rating": "Valoración",
1254
+ "eventEntry": "Inscripción al evento",
1255
+ "participantName": "Nombre del participante",
1256
+ "representing": "Representando a",
1257
+ "notes": "Notas",
1258
+ "split": "Dividir…",
1259
+ "ignore": "Ignorar",
1260
+ "participantRole": "Rol (jugador, entrenador, fisio, …)",
1261
+ "teamKey": "Equipo (agrupar en participantes de equipo)",
1262
+ "jerseyNumber": "Número de camiseta"
1264
1263
  },
1265
- "ratingAuto": "__TODO__",
1266
- "eventPickerPlaceholder": "__TODO__",
1267
- "splitDelimiter": "__TODO__",
1268
- "splitPieceEmpty": "__TODO__",
1269
- "unresolvedHeading": "__TODO__",
1270
- "unresolvedPickerPlaceholder": "__TODO__",
1271
- "row": "__TODO__",
1272
- "previewHeading": "__TODO__",
1273
- "previewEmpty": "__TODO__",
1274
- "entryDefaultsHeading": "__TODO__",
1275
- "entryStatusLabel": "__TODO__",
1276
- "entryStageLabel": "__TODO__",
1277
- "dedupeHeading": "__TODO__",
1278
- "mergeDuplicatesLabel": "__TODO__",
1279
- "matchByLabel": "__TODO__",
1280
- "updateExistingLabel": "__TODO__"
1264
+ "ratingAuto": "Detección automática",
1265
+ "eventPickerPlaceholder": "(selecciona evento…)",
1266
+ "splitDelimiter": "Dividir en",
1267
+ "splitPieceEmpty": "(vacío)",
1268
+ "unresolvedHeading": "Valores de valoración sin resolver ({{count}})",
1269
+ "unresolvedPickerPlaceholder": "Elige escala…",
1270
+ "row": "Fila",
1271
+ "previewHeading": "Vista previa (primeras 3 filas)",
1272
+ "previewEmpty": "No hay participantes para previsualizar — asegúrate de que nombre/apellido (o nombre completo) estén mapeados.",
1273
+ "entryDefaultsHeading": "Valores predeterminados de inscripción al evento",
1274
+ "entryStatusLabel": "Estado de inscripción",
1275
+ "entryStageLabel": "Etapa de inscripción",
1276
+ "dedupeHeading": "Detección de duplicados",
1277
+ "mergeDuplicatesLabel": "Combinar filas que comparten el mismo identificador",
1278
+ "matchByLabel": "Emparejar por",
1279
+ "updateExistingLabel": "Actualizar participantes existentes al reimportar"
1281
1280
  },
1282
1281
  "tallyReport": {
1283
- "title": "__TODO__",
1284
- "groupedBy": "__TODO__",
1285
- "step": "__TODO__",
1286
- "participants": "__TODO__",
1287
- "separated": "__TODO__",
1288
- "compared": "__TODO__",
1289
- "by": "__TODO__",
1290
- "finalOrder": "__TODO__",
1291
- "unresolved": "__TODO__",
1292
- "incomplete": "__TODO__",
1293
- "idsFilterNote": "__TODO__",
1294
- "reversedNote": "__TODO__",
1295
- "h2hWinner": "__TODO__"
1282
+ "title": "Informe de desempate",
1283
+ "groupedBy": "Agrupado por",
1284
+ "step": "Paso",
1285
+ "participants": "participantes",
1286
+ "separated": "separado",
1287
+ "compared": "comparado",
1288
+ "by": "por",
1289
+ "finalOrder": "Orden final",
1290
+ "unresolved": "sin resolver",
1291
+ "incomplete": "El grupo aún no está completo — el informe de desempate estará disponible cuando todos los partidos hayan terminado.",
1292
+ "idsFilterNote": "Calculado considerando solo a los participantes empatados",
1293
+ "reversedNote": "Ordenado en orden inverso (menor es mejor)",
1294
+ "h2hWinner": "Ganador del enfrentamiento directo"
1296
1295
  },
1297
1296
  "manageAccess": {
1298
- "title": "__TODO__",
1299
- "grantedAccess": "__TODO__",
1300
- "addUser": "__TODO__",
1301
- "emailPlaceholder": "__TODO__",
1302
- "grant": "__TODO__",
1303
- "revoke": "__TODO__",
1304
- "noAssignments": "__TODO__",
1305
- "loadError": "__TODO__",
1306
- "grantError": "__TODO__",
1307
- "revokeError": "__TODO__"
1297
+ "title": "Gestionar acceso",
1298
+ "grantedAccess": "Acceso concedido",
1299
+ "addUser": "Agregar usuario",
1300
+ "emailPlaceholder": "usuario@correo.com",
1301
+ "grant": "Conceder",
1302
+ "revoke": "Revocar",
1303
+ "noAssignments": "No se ha concedido acceso a ningún usuario",
1304
+ "loadError": "No se pudieron cargar las asignaciones",
1305
+ "grantError": "No se pudo conceder el acceso",
1306
+ "revokeError": "No se pudo revocar el acceso"
1308
1307
  },
1309
1308
  "editCategories": {
1310
- "title": "__TODO__",
1311
- "intro": "__TODO__",
1312
- "add": "__TODO__",
1313
- "empty": "__TODO__",
1314
- "duplicate": "__TODO__",
1315
- "confirmDelete": "__TODO__",
1316
- "deleteBlocked": "__TODO__",
1317
- "deleteDisabledHint": "__TODO__",
1318
- "unused": "__TODO__",
1319
- "usageCount": "__TODO__",
1320
- "usageList": "__TODO__"
1309
+ "title": "Categorías del torneo",
1310
+ "intro": "Agrega o quita categorías definidas para este torneo. Las categorías en uso no se pueden editar ni quitar — cámbialas reemplazando los eventos que las referencian.",
1311
+ "add": "+ Agregar categoría",
1312
+ "empty": "Aún no hay categorías definidas.",
1313
+ "duplicate": "Ya existe una categoría con ese nombre o código.",
1314
+ "confirmDelete": "¿Eliminar «{{name}}»? Esto no se puede deshacer.",
1315
+ "deleteBlocked": "No se puede eliminar «{{name}}» — usada por {{count}} evento(s): {{events}}. Quita o reasigna primero esos eventos.",
1316
+ "deleteDisabledHint": "Esta categoría es usada por uno o más eventos. Quita o reasigna primero esos eventos.",
1317
+ "unused": "Sin uso",
1318
+ "usageCount": "{{count}} evento(s)",
1319
+ "usageList": "{{name}} es usada por: {{events}}"
1321
1320
  },
1322
1321
  "firstLogin": {
1323
- "title": "__TODO__",
1324
- "intro": "__TODO__",
1325
- "newPasswordLabel": "__TODO__",
1326
- "newPasswordPlaceholder": "__TODO__",
1327
- "confirmPasswordLabel": "__TODO__",
1328
- "confirmPasswordPlaceholder": "__TODO__",
1329
- "setPassword": "__TODO__",
1330
- "failed": "__TODO__",
1331
- "tokenExpired": "__TODO__"
1322
+ "title": "Establece tu contraseña",
1323
+ "intro": "Tu cuenta se creó con una contraseña temporal. Elige una nueva contraseña para terminar de iniciar sesión.",
1324
+ "newPasswordLabel": "Nueva contraseña",
1325
+ "newPasswordPlaceholder": "mínimo 8 caracteres",
1326
+ "confirmPasswordLabel": "Confirmar contraseña",
1327
+ "confirmPasswordPlaceholder": "vuelve a ingresar la nueva contraseña",
1328
+ "setPassword": "Establecer contraseña",
1329
+ "failed": "No se pudo establecer tu contraseña. Inténtalo de nuevo.",
1330
+ "tokenExpired": "Esta sesión de inicio expiró. Vuelve a iniciar sesión."
1332
1331
  },
1333
1332
  "forgotPassword": {
1334
- "title": "__TODO__",
1335
- "intro": "__TODO__",
1336
- "label": "__TODO__",
1337
- "submit": "__TODO__",
1338
- "sent": "__TODO__",
1339
- "networkError": "__TODO__"
1333
+ "title": "Restablece tu contraseña",
1334
+ "intro": "Ingresa el correo asociado a tu cuenta. Si te conocemos, un enlace para restablecer la contraseña está en camino — revisa tu bandeja de entrada.",
1335
+ "label": "Correo de contacto",
1336
+ "submit": "Enviar enlace de restablecimiento",
1337
+ "sent": "Si te conocemos, un enlace para restablecer la contraseña está en camino. Revisa tu bandeja de entrada (y tu carpeta de spam).",
1338
+ "networkError": "No se pudo contactar con el servidor — inténtalo de nuevo."
1340
1339
  },
1341
1340
  "createUser": {
1342
- "title": "__TODO__",
1343
- "create": "__TODO__",
1344
- "loginEmail": "__TODO__",
1345
- "contactEmail": "__TODO__",
1346
- "password": "__TODO__",
1347
- "successCopied": "__TODO__",
1348
- "successEmailed": "__TODO__",
1349
- "successPlain": "__TODO__",
1350
- "failed": "__TODO__",
1351
- "emailExists": "__TODO__"
1341
+ "title": "Crear usuario",
1342
+ "create": "Crear",
1343
+ "loginEmail": "ID de inicio de sesión",
1344
+ "contactEmail": "Correo de contacto (opcional)",
1345
+ "password": "Contraseña",
1346
+ "successCopied": "Creado {{email}}. Contraseña temporal copiada al portapapeles.",
1347
+ "successEmailed": "Creado. Se envió un enlace para «establecer tu contraseña» a {{email}}.",
1348
+ "successPlain": "Creado {{email}}.",
1349
+ "failed": "No se pudo crear el usuario.",
1350
+ "emailExists": "Ya existe un usuario con el correo {{email}}."
1352
1351
  },
1353
1352
  "archiveProvider": {
1354
- "title": "__TODO__",
1355
- "intro": "__TODO__",
1356
- "loading": "__TODO__",
1357
- "previewFailed": "__TODO__",
1358
- "confirmLabel": "__TODO__",
1359
- "submit": "__TODO__",
1360
- "success": "__TODO__",
1361
- "failed": "__TODO__",
1353
+ "title": "Archivar proveedor — {{provider}}",
1354
+ "intro": "Archivar exporta todo lo asociado con {{provider}} ({{abbr}}) a disco y luego lo elimina de la base de datos activa. El archivo se puede recuperar mediante el script de backend revive-provider.mjs.",
1355
+ "loading": "Cargando vista previa del alcance…",
1356
+ "previewFailed": "No se pudo cargar la vista previa. Inténtalo de nuevo o recarga la página.",
1357
+ "confirmLabel": "Escribe la abreviatura del proveedor ({{abbr}}) para confirmar:",
1358
+ "submit": "Archivar proveedor",
1359
+ "success": "Archivado {{abbr}} — {{tournaments}} torneos. ID de archivo: {{archiveId}}.",
1360
+ "failed": "Falló el archivado.",
1362
1361
  "counts": {
1363
- "tournaments": "__TODO__",
1364
- "userAssociations": "__TODO__",
1365
- "provisionerAssociations": "__TODO__",
1366
- "tournamentAssignments": "__TODO__",
1367
- "officialRecords": "__TODO__",
1368
- "sanctioningRecords": "__TODO__",
1369
- "tournamentProvisioner": "__TODO__",
1370
- "pendingSaves": "__TODO__",
1371
- "calendars": "__TODO__",
1372
- "topologies": "__TODO__",
1373
- "catalogItems": "__TODO__",
1374
- "policies": "__TODO__",
1375
- "auditLogRows": "__TODO__"
1362
+ "tournaments": "Torneos",
1363
+ "userAssociations": "Asociaciones de usuario",
1364
+ "provisionerAssociations": "Asociaciones de aprovisionador",
1365
+ "tournamentAssignments": "Asignaciones de torneo",
1366
+ "officialRecords": "Registros oficiales",
1367
+ "sanctioningRecords": "Registros de sanción",
1368
+ "tournamentProvisioner": "Vínculos torneo-aprovisionador",
1369
+ "pendingSaves": "Guardados pendientes",
1370
+ "calendars": "Calendarios",
1371
+ "topologies": "Plantillas de topología",
1372
+ "catalogItems": "Elementos del catálogo",
1373
+ "policies": "Políticas",
1374
+ "auditLogRows": "Filas del registro de auditoría (conservadas, no eliminadas)"
1376
1375
  }
1377
1376
  },
1378
1377
  "deleteProvider": {
1379
- "title": "__TODO__",
1380
- "warning": "__TODO__",
1381
- "warningDetail": "__TODO__",
1382
- "intro": "__TODO__",
1383
- "acknowledge": "__TODO__",
1384
- "submit": "__TODO__",
1385
- "success": "__TODO__",
1386
- "failed": "__TODO__"
1378
+ "title": "Eliminar proveedor — {{provider}}",
1379
+ "warning": "Irreversible — sin archivo, sin recuperación.",
1380
+ "warningDetail": "Usa Archivar en su lugar si existe alguna posibilidad de necesitar estos datos más adelante. Eliminar es para proveedores sin datos reales (cuentas de demo/prueba).",
1381
+ "intro": "Elimina permanentemente {{provider}} ({{abbr}}) y todos sus datos asociados. Las filas del registro de auditoría se conservan, pero todas las demás tablas se borrarán.",
1382
+ "acknowledge": "Entiendo que esto no se puede deshacer.",
1383
+ "submit": "Eliminar permanentemente",
1384
+ "success": "Eliminado {{abbr}} — {{tournaments}} torneos destruidos.",
1385
+ "failed": "Falló la eliminación."
1387
1386
  },
1388
1387
  "contactEmail": {
1389
- "title": "__TODO__",
1390
- "label": "__TODO__",
1391
- "save": "__TODO__",
1392
- "resend": "__TODO__",
1393
- "savedPending": "__TODO__",
1394
- "resent": "__TODO__",
1395
- "alreadyVerified": "__TODO__",
1396
- "failed": "__TODO__",
1397
- "statusNotSet": "__TODO__",
1398
- "statusPending": "__TODO__",
1399
- "statusVerified": "__TODO__"
1388
+ "title": "Correo de recuperación",
1389
+ "label": "Correo de recuperación",
1390
+ "save": "Guardar",
1391
+ "resend": "Reenviar verificación",
1392
+ "savedPending": "Correo de verificación enviado a {{email}}.",
1393
+ "resent": "Correo de verificación enviado.",
1394
+ "alreadyVerified": "El correo de recuperación ya está verificado.",
1395
+ "failed": "No se pudo actualizar el correo de recuperación. Inténtalo de nuevo.",
1396
+ "statusNotSet": "No hay correo de recuperación definido. Agrega uno para poder recuperar el acceso si pierdes tu contraseña.",
1397
+ "statusPending": "Verificación pendiente — revisa {{email}} y haz clic en el enlace.",
1398
+ "statusVerified": "Verificado: {{email}}"
1400
1399
  },
1401
1400
  "editUser": {
1402
- "providers": "__TODO__",
1403
- "noProviders": "__TODO__",
1404
- "noProvidersAtYourScope": "__TODO__",
1405
- "addProvider": "__TODO__",
1406
- "addProviderPlaceholder": "__TODO__",
1407
- "providerAdded": "__TODO__",
1408
- "providerRemoved": "__TODO__",
1409
- "providerRoleUpdated": "__TODO__",
1410
- "removeProviderTitle": "__TODO__",
1411
- "removeProviderConfirm": "__TODO__"
1401
+ "providers": "Proveedores",
1402
+ "noProviders": "Este usuario no tiene asociaciones de proveedor.",
1403
+ "noProvidersAtYourScope": "Este usuario no tiene asociaciones en tu proveedor.",
1404
+ "addProvider": "Agregar",
1405
+ "addProviderPlaceholder": "Selecciona un proveedor...",
1406
+ "providerAdded": "Proveedor agregado",
1407
+ "providerRemoved": "Asociación de proveedor eliminada",
1408
+ "providerRoleUpdated": "Rol actualizado a {{role}}",
1409
+ "removeProviderTitle": "Eliminar asociación de proveedor",
1410
+ "removeProviderConfirm": "¿Eliminar la asociación de este usuario con {{provider}}? Esta acción no se puede deshacer."
1412
1411
  },
1413
1412
  "teamProfile": {
1414
- "title": "__TODO__",
1415
- "roster": "__TODO__",
1416
- "coaches": "__TODO__",
1417
- "staff": "__TODO__",
1418
- "empty": "__TODO__",
1413
+ "title": "Perfil del equipo",
1414
+ "roster": "Plantilla",
1415
+ "coaches": "Entrenadores",
1416
+ "staff": "Staff",
1417
+ "empty": "Aún no hay miembros en este equipo.",
1419
1418
  "columns": {
1420
- "name": "__TODO__",
1421
- "sex": "__TODO__",
1422
- "role": "__TODO__",
1423
- "contact": "__TODO__"
1419
+ "name": "Nombre",
1420
+ "sex": "Sexo",
1421
+ "role": "Rol",
1422
+ "contact": "Contacto"
1424
1423
  },
1425
1424
  "counts": {
1426
- "players_one": "__TODO__",
1427
- "players_other": "__TODO__",
1428
- "coaches_one": "__TODO__",
1429
- "coaches_other": "__TODO__",
1430
- "staff_one": "__TODO__",
1431
- "staff_other": "__TODO__"
1425
+ "players_one": "{{count}} jugador",
1426
+ "players_other": "{{count}} jugadores",
1427
+ "coaches_one": "{{count}} entrenador",
1428
+ "coaches_other": "{{count}} entrenadores",
1429
+ "staff_one": "{{count}} miembro del staff",
1430
+ "staff_other": "{{count}} miembros del staff"
1432
1431
  }
1433
1432
  },
1434
1433
  "practiceCapacity": {
1435
- "title": "__TODO__",
1436
- "help": "__TODO__",
1437
- "unlimited": "__TODO__",
1438
- "capped": "__TODO__",
1439
- "saved": "__TODO__",
1440
- "invalidNumber": "__TODO__",
1441
- "mustBeNonNegative": "__TODO__"
1434
+ "title": "Capacidad de canchas de práctica",
1435
+ "help": "Capacidad predeterminada para reservas de PRÁCTICA que no definan la suya propia. Las reservas individuales pueden anularla.",
1436
+ "unlimited": "Ilimitada",
1437
+ "capped": "Limitar registros simultáneos:",
1438
+ "saved": "Capacidad de práctica actualizada.",
1439
+ "invalidNumber": "Ingresa un número entero.",
1440
+ "mustBeNonNegative": "La capacidad no puede ser negativa."
1442
1441
  },
1443
1442
  "practiceRegistrations": {
1444
- "title": "__TODO__",
1445
- "bookingNotFound": "__TODO__",
1446
- "currentRegistrations": "__TODO__",
1447
- "noneYet": "__TODO__",
1448
- "addRegistrant": "__TODO__",
1449
- "participantLabel": "__TODO__",
1450
- "participantPlaceholder": "__TODO__",
1451
- "startTime": "__TODO__",
1452
- "endTime": "__TODO__",
1453
- "add": "__TODO__",
1454
- "added": "__TODO__",
1455
- "removed": "__TODO__",
1456
- "pickParticipant": "__TODO__",
1457
- "pickTimes": "__TODO__",
1458
- "invalidWindow": "__TODO__",
1459
- "conflictWarning": "__TODO__"
1443
+ "title": "Gestionar registros de práctica",
1444
+ "bookingNotFound": "Esta reserva de práctica ya no está disponible.",
1445
+ "currentRegistrations": "Registros actuales",
1446
+ "noneYet": "Aún no hay registros.",
1447
+ "addRegistrant": "Agregar registrado",
1448
+ "participantLabel": "Participante",
1449
+ "participantPlaceholder": "Escribe el nombre del participante",
1450
+ "startTime": "Inicio",
1451
+ "endTime": "Fin",
1452
+ "add": "Agregar",
1453
+ "added": "Registro agregado.",
1454
+ "removed": "Registro eliminado.",
1455
+ "pickParticipant": "Elige un participante de la lista.",
1456
+ "pickTimes": "Define las horas de inicio y de fin.",
1457
+ "invalidWindow": "La hora de inicio debe ser anterior a la hora de fin.",
1458
+ "conflictWarning": "Registro agregado — el participante tiene otro compromiso durante esta franja."
1460
1459
  }
1461
1460
  },
1462
1461
  "dashboard": {
@@ -1476,14 +1475,15 @@
1476
1475
  "noEliminationStructures": "Sin estructuras de eliminación",
1477
1476
  "viewCompetitiveness": "Ver competitividad",
1478
1477
  "viewBracket": "Ver cuadro",
1479
- "allStructures": "__TODO__",
1480
- "categories": "__TODO__",
1481
- "noneSet": "__TODO__",
1482
- "practiceCapacity": "__TODO__",
1483
- "practiceUnlimited": "__TODO__",
1484
- "practiceClosed": "__TODO__",
1485
- "setTimeZone": "__TODO__",
1486
- "setTimeZoneDetected": "__TODO__"
1478
+ "allStructures": "Todas las estructuras",
1479
+ "categories": "Categorías ({{count}})",
1480
+ "noneSet": "Ninguno",
1481
+ "practiceCapacity": "Capacidad de práctica",
1482
+ "practiceUnlimited": "Ilimitado",
1483
+ "practiceClosed": "Cerrado",
1484
+ "setTimeZone": "Definir zona horaria",
1485
+ "setTimeZoneDetected": "(detectada: {{zone}})",
1486
+ "practiceNoneAllocated": "Nada asignado"
1487
1487
  },
1488
1488
  "drawers": {
1489
1489
  "editTournament": {
@@ -1496,19 +1496,19 @@
1496
1496
  "endDateLabel": "Fecha de fin",
1497
1497
  "selectActiveDates": "Seleccionar fechas activas",
1498
1498
  "activeDates": "Fechas Activas",
1499
- "timeZoneLabel": "__TODO__",
1500
- "timeZonePlaceholder": "__TODO__",
1501
- "timeZoneInvalid": "__TODO__",
1502
- "tierSystemLabel": "__TODO__",
1503
- "tierSystemPlaceholder": "__TODO__",
1504
- "tierSystemNone": "__TODO__",
1505
- "tierSystemUnknown": "__TODO__",
1506
- "tierValueLabel": "__TODO__",
1507
- "tierValuePlaceholder": "__TODO__",
1508
- "tierNumericRankLabel": "__TODO__",
1509
- "tierNumericRankPlaceholder": "__TODO__",
1510
- "tierSystemMissing": "__TODO__",
1511
- "tierValueMissing": "__TODO__"
1499
+ "timeZoneLabel": "Zona horaria",
1500
+ "timeZonePlaceholder": "p. ej. America/New_York",
1501
+ "timeZoneInvalid": "No es una zona horaria IANA reconocida",
1502
+ "tierSystemLabel": "Sistema de niveles",
1503
+ "tierSystemPlaceholder": "p. ej. ITF_JUNIOR, ATP, PPA",
1504
+ "tierSystemNone": "",
1505
+ "tierSystemUnknown": "(desconocido: {{system}})",
1506
+ "tierValueLabel": "Valor de nivel",
1507
+ "tierValuePlaceholder": "p. ej. J500, Masters 1000, Gold",
1508
+ "tierNumericRankLabel": "Rango de nivel (opcional)",
1509
+ "tierNumericRankPlaceholder": "Menor = nivel superior",
1510
+ "tierSystemMissing": "Valor de nivel ingresado sin un sistema",
1511
+ "tierValueMissing": "Sistema de niveles ingresado sin un valor"
1512
1512
  },
1513
1513
  "addDraw": {
1514
1514
  "missingName": "Falta nombre del Cuadro",
@@ -1587,15 +1587,15 @@
1587
1587
  "PLAY_OFF": "Llave de playoffs utilizada como estructura secundaria.",
1588
1588
  "ROUND_ROBIN_WITH_PLAYOFF": "Fase de grupos en round robin seguida de playoffs de eliminación directa.",
1589
1589
  "FEED_IN": "Cuadro de entrada escalonada donde los participantes entran en la llave en diferentes rondas.",
1590
- "SWISS": "__TODO__",
1591
- "PAGE_PLAYOFF": "__TODO__"
1590
+ "SWISS": "Participantes emparejados por su récord de victorias-derrotas en cada ronda. Los desempates clasifican a todos los participantes tras la ronda final.",
1591
+ "PAGE_PLAYOFF": "Eliminatoria híbrida de cuatro participantes (IPL/NBA/curling). Los dos primeros cabezas de serie tienen doble eliminación; se resuelven las cuatro posiciones."
1592
1592
  },
1593
- "qualifyingFirst": "__TODO__",
1594
- "qualifyingPositions": "__TODO__",
1595
- "generateMainDraw": "__TODO__",
1596
- "noMainDraw": "__TODO__",
1597
- "drawTypeSwiss": "__TODO__",
1598
- "drawTypePagePlayoff": "__TODO__"
1593
+ "qualifyingFirst": "Comenzar con la clasificación",
1594
+ "qualifyingPositions": "Posiciones de clasificación",
1595
+ "generateMainDraw": "Generar cuadro principal",
1596
+ "noMainDraw": "El cuadro principal aún no se ha generado.",
1597
+ "drawTypeSwiss": "Sistema suizo",
1598
+ "drawTypePagePlayoff": "Playoff de Page"
1599
1599
  }
1600
1600
  },
1601
1601
  "toasts": {
@@ -1622,16 +1622,16 @@
1622
1622
  "missingTournament": "Falta torneo",
1623
1623
  "devVariableError": "Ocurrió un error al agregar variables de desarrollo",
1624
1624
  "cannotDeleteParticipant": "El participante está asignado a un cuadro y no puede ser eliminado",
1625
- "updatedParticipants": "__TODO__",
1626
- "addedEventEntries": "__TODO__",
1627
- "magicLinkSent": "__TODO__",
1628
- "magicLinkInvalid": "__TODO__",
1629
- "addedTeamParticipants": "__TODO__",
1630
- "activeDatesPrompt": "__TODO__",
1631
- "activeDatesPromptAction": "__TODO__",
1632
- "cannotDeleteTournament": "__TODO__",
1633
- "tournamentNotEnded": "__TODO__",
1634
- "deleteForbidden": "__TODO__"
1625
+ "updatedParticipants": "Actualizado(s) {{count}} participante(s) existente(s)",
1626
+ "addedEventEntries": "Inscritos {{entries}} en {{events}} evento(s)",
1627
+ "magicLinkSent": "Si existe una cuenta para ese correo, un enlace de acceso está en camino.",
1628
+ "magicLinkInvalid": "Ese enlace de acceso no es válido o ha caducado. Solicita uno nuevo.",
1629
+ "addedTeamParticipants": "Generado(s) {{count}} participante(s) de equipo a partir de la columna de equipo",
1630
+ "activeDatesPrompt": "Define las fechas activas para que la programación pública muestre solo los días que se juega.",
1631
+ "activeDatesPromptAction": "Definir fechas activas",
1632
+ "cannotDeleteTournament": "No se puede eliminar el torneo",
1633
+ "tournamentNotEnded": "No se puede eliminar un torneo antes de su fecha de fin. Establece la fecha de fin en una fecha pasada y luego elimínalo.",
1634
+ "deleteForbidden": "No tienes autorización para eliminar este torneo."
1635
1635
  },
1636
1636
  "loginMenu": {
1637
1637
  "authorization": "Autorización",
@@ -1697,7 +1697,7 @@
1697
1697
  "seed": "Cabeza de Serie",
1698
1698
  "flights": "Vuelos",
1699
1699
  "status": "Estado",
1700
- "drawPosition": "__TODO__"
1700
+ "drawPosition": "Pos"
1701
1701
  },
1702
1702
  "teamRow": {
1703
1703
  "order": "Orden",
@@ -1731,9 +1731,9 @@
1731
1731
  "events": "Eventos",
1732
1732
  "teams": "Equipos",
1733
1733
  "cityState": "Ciudad/Estado",
1734
- "nickname": "__TODO__",
1735
- "role": "__TODO__",
1736
- "teamAffiliation": "__TODO__"
1734
+ "nickname": "Apodo",
1735
+ "role": "Rol",
1736
+ "teamAffiliation": "Afiliación de equipo"
1737
1737
  },
1738
1738
  "bracket": {
1739
1739
  "participant": "Participante",
@@ -1790,7 +1790,8 @@
1790
1790
  "profile": "Perfil",
1791
1791
  "official": "Oficial",
1792
1792
  "status": "Estado",
1793
- "updatedAt": "__TODO__"
1793
+ "updatedAt": "Actualizado",
1794
+ "calledAt": "Llamado"
1794
1795
  },
1795
1796
  "tournaments": {
1796
1797
  "open": "Abrir"
@@ -1825,9 +1826,9 @@
1825
1826
  "doubles": "Dobles",
1826
1827
  "team": "Equipo",
1827
1828
  "opponents": "Oponentes",
1828
- "allDates": "__TODO__",
1829
- "today": "__TODO__",
1830
- "noDate": "__TODO__"
1829
+ "allDates": "Todas las fechas",
1830
+ "today": "Hoy",
1831
+ "noDate": "Sin fecha"
1831
1832
  },
1832
1833
  "schedule": {
1833
1834
  "searchParticipants": "Buscar participantes",
@@ -1864,7 +1865,7 @@
1864
1865
  "blocked": "Bloqueado",
1865
1866
  "available": "Disponible",
1866
1867
  "avgPerCourt": "Prom. Disp./Cancha",
1867
- "tournament": "__TODO__"
1868
+ "tournament": "Torneo"
1868
1869
  },
1869
1870
  "addCourts": "Agregar canchas",
1870
1871
  "addVenue": {
@@ -1877,10 +1878,10 @@
1877
1878
  "courtNameBasePlaceholder": "e.g. Court, Field, Rink",
1878
1879
  "numberOfCourts": "Número de canchas",
1879
1880
  "numberOfCourtsError": "Debe ser un número entero",
1880
- "externalLookup": "__TODO__",
1881
- "openingTime": "__TODO__",
1882
- "closingTime": "__TODO__",
1883
- "timeOrderError": "__TODO__"
1881
+ "externalLookup": "Búsqueda externa",
1882
+ "openingTime": "Hora de apertura",
1883
+ "closingTime": "Hora de cierre",
1884
+ "timeOrderError": "La hora de apertura debe ser anterior a la de cierre"
1884
1885
  },
1885
1886
  "editCourt": {
1886
1887
  "title": "Editar cancha",
@@ -1902,17 +1903,17 @@
1902
1903
  "abbreviationError": "mínimo de 2 caracteres, máximo de 6",
1903
1904
  "abbreviationRequired": "La abreviatura debe tener 2-6 caracteres",
1904
1905
  "updateCourtNames": "Actualizar nombres de canchas",
1905
- "openingTime": "__TODO__",
1906
- "closingTime": "__TODO__",
1907
- "timeOrderError": "__TODO__",
1908
- "websiteLabel": "__TODO__",
1909
- "imageLabel": "__TODO__",
1910
- "addressLine1Label": "__TODO__",
1911
- "cityLabel": "__TODO__",
1912
- "stateLabel": "__TODO__",
1913
- "postalCodeLabel": "__TODO__",
1914
- "countryCodeLabel": "__TODO__",
1915
- "countryCodePlaceholder": "__TODO__"
1906
+ "openingTime": "Hora de apertura",
1907
+ "closingTime": "Hora de cierre",
1908
+ "timeOrderError": "La hora de apertura debe ser anterior a la de cierre",
1909
+ "websiteLabel": "URL del sitio web",
1910
+ "imageLabel": "URL de imagen",
1911
+ "addressLine1Label": "Dirección",
1912
+ "cityLabel": "Ciudad",
1913
+ "stateLabel": "Estado / región",
1914
+ "postalCodeLabel": "Código postal",
1915
+ "countryCodeLabel": "País",
1916
+ "countryCodePlaceholder": "Empieza a escribir el nombre de un país"
1916
1917
  }
1917
1918
  },
1918
1919
  "events": {
@@ -1938,10 +1939,10 @@
1938
1939
  "any": "Cualquiera",
1939
1940
  "custom": "Personalizado",
1940
1941
  "categorySaveWarning": "Categoría guardada en el evento pero no agregada a las categorías del torneo",
1941
- "competitionFormatLabel": "__TODO__",
1942
- "competitionFormatNone": "__TODO__",
1943
- "competitionFormatTennis": "__TODO__",
1944
- "competitionFormatIntennse": "__TODO__"
1942
+ "competitionFormatLabel": "Reglas del deporte",
1943
+ "competitionFormatNone": "Ninguna",
1944
+ "competitionFormatTennis": "Tenis (estándar)",
1945
+ "competitionFormatIntennse": "INTENNSE (estándar)"
1945
1946
  },
1946
1947
  "editFormat": {
1947
1948
  "noChanges": "Sin cambios",
@@ -1962,10 +1963,10 @@
1962
1963
  "viewDraw": "Ver cuadro",
1963
1964
  "displaySettings": "Configuración de visualización",
1964
1965
  "autoPlaceParticipants": "Ubicar participantes automáticamente",
1965
- "configureDraft": "__TODO__",
1966
- "resolveDraft": "__TODO__",
1967
- "draftStatus": "__TODO__",
1968
- "recalculateStats": "__TODO__"
1966
+ "configureDraft": "Configurar borrador",
1967
+ "resolveDraft": "Resolver borrador",
1968
+ "draftStatus": "Borrador",
1969
+ "recalculateStats": "Recalcular estadísticas"
1969
1970
  }
1970
1971
  },
1971
1972
  "participants": {
@@ -2013,8 +2014,8 @@
2013
2014
  "birthdayPlaceholder": "Cumpleaños",
2014
2015
  "country": "País",
2015
2016
  "countryPlaceholder": "País de origen",
2016
- "nickname": "__TODO__",
2017
- "nicknamePlaceholder": "__TODO__"
2017
+ "nickname": "Apodo",
2018
+ "nicknamePlaceholder": "Nombre para mostrar"
2018
2019
  },
2019
2020
  "newTeam": "Nuevo equipo",
2020
2021
  "generateTeams": "Generar equipos",
@@ -2033,9 +2034,9 @@
2033
2034
  "female": "Femenino",
2034
2035
  "unknown": "Desconocido"
2035
2036
  },
2036
- "importFromCsv": "__TODO__",
2037
- "newGroup": "__TODO__",
2038
- "staff": "__TODO__"
2037
+ "importFromCsv": "Importar desde CSV/TSV",
2038
+ "newGroup": "Nuevo grupo",
2039
+ "staff": "Staff"
2039
2040
  }
2040
2041
  },
2041
2042
  "overlays": {
@@ -2088,629 +2089,694 @@
2088
2089
  "publishParticipants": "Publicar Participantes",
2089
2090
  "country": "País",
2090
2091
  "cityState": "Ciudad / Provincia",
2091
- "unpublishTournament": "__TODO__",
2092
- "confirmUnpublish": "__TODO__"
2092
+ "unpublishTournament": "Dejar de publicar torneo",
2093
+ "confirmUnpublish": "Dejar de publicar todos los eventos, participantes y programación"
2093
2094
  },
2094
- "cal": "__TODO__",
2095
- "tpl": "__TODO__",
2096
- "pol": "__TODO__",
2097
- "rpt": "__TODO__",
2095
+ "cal": "Calendario",
2096
+ "tpl": "Plantillas",
2097
+ "pol": "Políticas",
2098
+ "rpt": "Informes",
2098
2099
  "system": {
2099
- "title": "__TODO__",
2100
- "providers": "__TODO__",
2101
- "users": "__TODO__",
2102
- "loadError": "__TODO__",
2103
- "noProviders": "__TODO__",
2104
- "noUsers": "__TODO__",
2105
- "providerName": "__TODO__",
2106
- "providerAbbr": "__TODO__",
2107
- "selectProvider": "__TODO__",
2108
- "impersonate": "__TODO__",
2109
- "editProvider": "__TODO__",
2110
- "createProvider": "__TODO__",
2111
- "providerUpdated": "__TODO__",
2112
- "associatedUsers": "__TODO__",
2113
- "noUsersForProvider": "__TODO__",
2114
- "userName": "__TODO__",
2115
- "firstName": "__TODO__",
2116
- "lastName": "__TODO__",
2117
- "provider": "__TODO__",
2118
- "roles": "__TODO__",
2119
- "searchUsers": "__TODO__",
2120
- "inviteUser": "__TODO__",
2121
- "editUser": "__TODO__",
2122
- "editUserTitle": "__TODO__",
2123
- "removeUser": "__TODO__",
2124
- "selectUserFirst": "__TODO__",
2125
- "userUpdated": "__TODO__",
2126
- "inviteCopied": "__TODO__",
2127
- "confirmRemoveUser": "__TODO__",
2128
- "removeUserConfirm": "__TODO__",
2129
- "searchProviders": "__TODO__",
2130
- "lastAccess": "__TODO__",
2131
- "activeRooms": "__TODO__",
2132
- "activeRoomsTitle": "__TODO__",
2133
- "noActiveRooms": "__TODO__",
2134
- "tournamentColumn": "__TODO__",
2135
- "userCountColumn": "__TODO__",
2136
- "presenceLoadError": "__TODO__",
2137
- "joinedAt": "__TODO__",
2138
- "anonymous": "__TODO__",
2139
- "refreshNow": "__TODO__",
2140
- "lastRefreshed": "__TODO__",
2141
- "tmxUrlMissing": "__TODO__",
2142
- "createUser": "__TODO__",
2143
- "archiveProvider": "__TODO__",
2144
- "deleteProvider": "__TODO__",
2145
- "resetPassword": "__TODO__",
2146
- "resetPasswordTitle": "__TODO__",
2147
- "newPassword": "__TODO__",
2148
- "generatePassword": "__TODO__",
2149
- "passwordCopied": "__TODO__",
2150
- "passwordReset": "__TODO__",
2151
- "passwordResetError": "__TODO__",
2152
- "provisioners": "__TODO__",
2153
- "provisionerName": "__TODO__",
2154
- "provisionerNamePlaceholder": "__TODO__",
2155
- "noProvisioners": "__TODO__",
2156
- "selectProvisioner": "__TODO__",
2157
- "searchProvisioners": "__TODO__",
2158
- "createProvisioner": "__TODO__",
2159
- "editProvisioner": "__TODO__",
2160
- "provisionerCreated": "__TODO__",
2161
- "createFailed": "__TODO__",
2162
- "updateFailed": "__TODO__",
2163
- "updated": "__TODO__",
2164
- "create": "__TODO__",
2165
- "active": "__TODO__",
2166
- "inactive": "__TODO__",
2167
- "activate": "__TODO__",
2168
- "deactivate": "__TODO__",
2169
- "activateProvisioner": "__TODO__",
2170
- "deactivateProvisioner": "__TODO__",
2171
- "activateConfirm": "__TODO__",
2172
- "deactivateConfirm": "__TODO__",
2173
- "status": "__TODO__",
2174
- "createdAt": "__TODO__",
2175
- "created": "__TODO__",
2176
- "lastUsed": "__TODO__",
2177
- "apiKeys": "__TODO__",
2178
- "label": "__TODO__",
2179
- "noKeys": "__TODO__",
2180
- "generateKey": "__TODO__",
2181
- "generate": "__TODO__",
2182
- "generateFailed": "__TODO__",
2183
- "keyLabel": "__TODO__",
2184
- "keyLabelPlaceholder": "__TODO__",
2185
- "keyGenerated": "__TODO__",
2186
- "keyRevealWarning": "__TODO__",
2187
- "copy": "__TODO__",
2188
- "copiedToClipboard": "__TODO__",
2189
- "revoke": "__TODO__",
2190
- "revoked": "__TODO__",
2191
- "revokeKey": "__TODO__",
2192
- "revokeKeyConfirm": "__TODO__",
2193
- "keyRevoked": "__TODO__",
2194
- "associatedProviders": "__TODO__",
2195
- "noAssociatedProviders": "__TODO__",
2196
- "associateProvider": "__TODO__",
2197
- "associate": "__TODO__",
2198
- "associated": "__TODO__",
2199
- "disassociate": "__TODO__",
2200
- "disassociateProvider": "__TODO__",
2201
- "disassociateConfirm": "__TODO__",
2202
- "disassociated": "__TODO__",
2203
- "selectProviderFirst": "__TODO__",
2204
- "relationship": "__TODO__",
2205
- "owner": "__TODO__",
2206
- "subsidiary": "__TODO__",
2207
- "nameRequired": "__TODO__",
2208
- "deleteProvisioner": "__TODO__",
2209
- "deletePermanently": "__TODO__",
2210
- "deleteProvisionerWarning": "__TODO__",
2211
- "typeNameToConfirm": "__TODO__",
2212
- "provisionerDeleted": "__TODO__",
2213
- "deleteFailed": "__TODO__",
2214
- "representatives": "__TODO__",
2215
- "noRepresentatives": "__TODO__",
2216
- "user": "__TODO__",
2217
- "displayName": "__TODO__",
2218
- "granted": "__TODO__",
2219
- "assignUser": "__TODO__",
2220
- "assign": "__TODO__",
2221
- "remove": "__TODO__",
2222
- "representativeAssigned": "__TODO__",
2223
- "representativeRemoved": "__TODO__",
2224
- "removeRepresentative": "__TODO__",
2225
- "removeRepresentativeConfirm": "__TODO__",
2100
+ "title": "Sistema",
2101
+ "providers": "Proveedores",
2102
+ "users": "Usuarios",
2103
+ "loadError": "No se pudieron cargar los datos del sistema",
2104
+ "noProviders": "No se encontraron proveedores",
2105
+ "noUsers": "No se encontraron usuarios",
2106
+ "providerName": "Nombre del proveedor",
2107
+ "providerAbbr": "Abreviatura",
2108
+ "selectProvider": "Selecciona un proveedor para ver los detalles",
2109
+ "impersonate": "Suplantar",
2110
+ "editProvider": "Editar proveedor",
2111
+ "createProvider": "Crear proveedor",
2112
+ "providerUpdated": "Proveedor actualizado",
2113
+ "associatedUsers": "Usuarios asociados",
2114
+ "noUsersForProvider": "No hay usuarios asociados con este proveedor",
2115
+ "userName": "Nombre",
2116
+ "firstName": "Nombre",
2117
+ "lastName": "Apellido",
2118
+ "provider": "Proveedor",
2119
+ "roles": "Roles",
2120
+ "searchUsers": "Buscar usuarios...",
2121
+ "inviteUser": "Invitar usuario",
2122
+ "editUser": "Editar usuario",
2123
+ "editUserTitle": "Editar usuario",
2124
+ "removeUser": "Quitar usuario",
2125
+ "selectUserFirst": "Selecciona primero un usuario",
2126
+ "userUpdated": "Usuario actualizado",
2127
+ "inviteCopied": "Enlace de invitación copiado al portapapeles",
2128
+ "confirmRemoveUser": "Quitar usuario",
2129
+ "removeUserConfirm": "¿Seguro que quieres quitar a",
2130
+ "searchProviders": "Buscar proveedores...",
2131
+ "lastAccess": "Último acceso",
2132
+ "activeRooms": "Salas activas",
2133
+ "activeRoomsTitle": "Sesiones de torneo en vivo",
2134
+ "noActiveRooms": "No hay sesiones de torneo activas",
2135
+ "tournamentColumn": "Torneo",
2136
+ "userCountColumn": "Usuarios activos",
2137
+ "presenceLoadError": "No se pudieron cargar las salas activas",
2138
+ "joinedAt": "Se unió",
2139
+ "anonymous": "Anónimo",
2140
+ "refreshNow": "Actualizar ahora",
2141
+ "lastRefreshed": "Actualizado hace {{ago}}s",
2142
+ "tmxUrlMissing": "No se puede abrir TMX — el servidor no proporcionó una URL de TMX. Revisa TMX_URL en el .env del servidor.",
2143
+ "createUser": "Crear usuario",
2144
+ "archiveProvider": "Archivar",
2145
+ "deleteProvider": "Eliminar",
2146
+ "resetPassword": "Restablecer contraseña",
2147
+ "resetPasswordTitle": "Restablecer contraseña",
2148
+ "newPassword": "Nueva contraseña",
2149
+ "generatePassword": "Generar",
2150
+ "passwordCopied": "Contraseña copiada al portapapeles",
2151
+ "passwordReset": "Contraseña restablecida correctamente",
2152
+ "passwordResetError": "No se pudo restablecer la contraseña",
2153
+ "provisioners": "Aprovisionadores",
2154
+ "provisionerName": "Nombre del aprovisionador",
2155
+ "provisionerNamePlaceholder": "p. ej. TMX Sandbox",
2156
+ "noProvisioners": "No se encontraron aprovisionadores",
2157
+ "selectProvisioner": "Selecciona un aprovisionador para ver los detalles",
2158
+ "searchProvisioners": "Buscar aprovisionadores...",
2159
+ "createProvisioner": "Crear aprovisionador",
2160
+ "editProvisioner": "Editar aprovisionador",
2161
+ "provisionerCreated": "Aprovisionador creado",
2162
+ "createFailed": "Falló la creación",
2163
+ "updateFailed": "Falló la actualización",
2164
+ "updated": "Actualizado",
2165
+ "create": "Crear",
2166
+ "active": "Activo",
2167
+ "inactive": "Inactivo",
2168
+ "activate": "Activar",
2169
+ "deactivate": "Desactivar",
2170
+ "activateProvisioner": "Activar aprovisionador",
2171
+ "deactivateProvisioner": "Desactivar aprovisionador",
2172
+ "activateConfirm": "¿Activar aprovisionador «{{name}}»?",
2173
+ "deactivateConfirm": "¿Desactivar aprovisionador «{{name}}»? Sus claves API dejarán de funcionar.",
2174
+ "status": "Estado",
2175
+ "createdAt": "Creado",
2176
+ "created": "Creado",
2177
+ "lastUsed": "Último uso",
2178
+ "apiKeys": "Claves API",
2179
+ "label": "Etiqueta",
2180
+ "noKeys": "No hay claves API",
2181
+ "generateKey": "Generar clave",
2182
+ "generate": "Generar",
2183
+ "generateFailed": "No se pudo generar la clave API",
2184
+ "keyLabel": "Etiqueta de la clave",
2185
+ "keyLabelPlaceholder": "p. ej. Producción, Staging",
2186
+ "keyGenerated": "Clave API generada",
2187
+ "keyRevealWarning": "Esta es la única vez que se mostrará la clave completa. Guárdala en un lugar seguro antes de cerrar este diálogo.",
2188
+ "copy": "Copiar",
2189
+ "copiedToClipboard": "Copiado al portapapeles",
2190
+ "revoke": "Revocar",
2191
+ "revoked": "Revocado",
2192
+ "revokeKey": "Revocar clave API",
2193
+ "revokeKeyConfirm": "¿Revocar la clave «{{label}}»? Esto no se puede deshacer.",
2194
+ "keyRevoked": "Clave API revocada",
2195
+ "associatedProviders": "Proveedores asociados",
2196
+ "noAssociatedProviders": "No hay proveedores asociados",
2197
+ "associateProvider": "Asociar proveedor",
2198
+ "associate": "Asociar",
2199
+ "associated": "Proveedor asociado",
2200
+ "disassociate": "Quitar",
2201
+ "disassociateProvider": "Quitar asociación de proveedor",
2202
+ "disassociateConfirm": "¿Quitar la asociación con «{{name}}»?",
2203
+ "disassociated": "Asociación de proveedor eliminada",
2204
+ "selectProviderFirst": "Selecciona primero un proveedor",
2205
+ "relationship": "Relación",
2206
+ "owner": "Propietario",
2207
+ "subsidiary": "Subsidiaria",
2208
+ "nameRequired": "El nombre es obligatorio",
2209
+ "deleteProvisioner": "Eliminar permanentemente",
2210
+ "deletePermanently": "Eliminar permanentemente",
2211
+ "deleteProvisionerWarning": "<strong>Esto no se puede deshacer.</strong> Se eliminarán todas las claves API, asociaciones de proveedor y sellos de propiedad de torneo de «{{name}}». Los proveedores y sus torneos <em>no</em> se eliminarán.",
2212
+ "typeNameToConfirm": "Escribe {{name}} para confirmar:",
2213
+ "provisionerDeleted": "Aprovisionador eliminado ({{apiKeys}} claves, {{providerAssociations}} asociaciones, {{tournamentStamps}} sellos depurados)",
2214
+ "deleteFailed": "Falló la eliminación",
2215
+ "representatives": "Representantes",
2216
+ "noRepresentatives": "No hay representantes asignados",
2217
+ "user": "Usuario",
2218
+ "displayName": "Nombre",
2219
+ "granted": "Concedido",
2220
+ "assignUser": "Asignar usuario",
2221
+ "assign": "Asignar",
2222
+ "remove": "Quitar",
2223
+ "representativeAssigned": "Usuario asignado como representante",
2224
+ "representativeRemoved": "Representante eliminado",
2225
+ "removeRepresentative": "Quitar representante",
2226
+ "removeRepresentativeConfirm": "¿Quitar a {{email}} como representante? Ya no podrá actuar como este aprovisionador.",
2226
2227
  "contactEmailCoverage": {
2227
- "label": "__TODO__",
2228
- "loading": "__TODO__",
2229
- "verified": "__TODO__",
2230
- "unverified": "__TODO__",
2231
- "missing": "__TODO__",
2232
- "equalsLogin": "__TODO__",
2233
- "total": "__TODO__"
2228
+ "label": "Cobertura de correo de recuperación",
2229
+ "loading": "Cargando…",
2230
+ "verified": "verificado",
2231
+ "unverified": "pendiente",
2232
+ "missing": "faltante",
2233
+ "equalsLogin": "= id de inicio de sesión",
2234
+ "total": "de {{count}} usuarios"
2234
2235
  },
2235
2236
  "audit": {
2236
- "tabLabel": "__TODO__",
2237
- "title": "__TODO__",
2238
- "tournamentsLabel": "__TODO__",
2239
- "tournamentFilterPlaceholder": "__TODO__",
2240
- "deletedDrawsLabel": "__TODO__",
2241
- "selectTournament": "__TODO__",
2242
- "noTournaments": "__TODO__",
2243
- "tournamentName": "__TODO__",
2244
- "tournamentId": "__TODO__",
2245
- "startDate": "__TODO__",
2246
- "drawName": "__TODO__",
2247
- "eventId": "__TODO__",
2248
- "deletedAt": "__TODO__",
2249
- "deletedBy": "__TODO__",
2250
- "restore": "__TODO__",
2251
- "restoreTitle": "__TODO__",
2252
- "restorePrompt": "__TODO__",
2253
- "restoreSuccess": "__TODO__",
2254
- "restoreFailure": "__TODO__",
2255
- "calendarLoadError": "__TODO__",
2256
- "deletedDrawsLoadError": "__TODO__",
2257
- "providerLockedToActive": "__TODO__"
2237
+ "tabLabel": "Auditoría",
2238
+ "title": "Registro de auditoría de cuadros eliminados",
2239
+ "tournamentsLabel": "Torneos",
2240
+ "tournamentFilterPlaceholder": "Filtrar por nombre o id de torneo",
2241
+ "deletedDrawsLabel": "Cuadros eliminados",
2242
+ "selectTournament": "Selecciona un torneo para ver sus cuadros eliminados",
2243
+ "noTournaments": "No hay torneos para este proveedor",
2244
+ "tournamentName": "Torneo",
2245
+ "tournamentId": "ID de torneo",
2246
+ "startDate": "Fecha de inicio",
2247
+ "drawName": "Cuadro",
2248
+ "eventId": "Evento",
2249
+ "deletedAt": "Eliminado el",
2250
+ "deletedBy": "Eliminado por",
2251
+ "restore": "Restaurar",
2252
+ "restoreTitle": "Restaurar cuadro eliminado",
2253
+ "restorePrompt": "Al restaurar se reinsertará el cuadro con todos sus partidos, puntuaciones y asignaciones.",
2254
+ "restoreSuccess": "Cuadro restaurado",
2255
+ "restoreFailure": "Falló la restauración",
2256
+ "calendarLoadError": "No se pudo cargar el calendario",
2257
+ "deletedDrawsLoadError": "No se pudieron cargar los cuadros eliminados",
2258
+ "providerLockedToActive": "Bloqueado al proveedor activo en tu sesión. Detén la suplantación (o cambia de proveedor) para inspeccionar los cuadros eliminados de otro inquilino."
2258
2259
  }
2259
2260
  },
2260
2261
  "formatWizard": {
2261
- "title": "__TODO__",
2262
- "launch": "__TODO__",
2263
- "launcherSubtitle": "__TODO__",
2264
- "placeholder": "__TODO__",
2262
+ "title": "Asistente de formato",
2263
+ "launch": "Iniciar",
2264
+ "launcherSubtitle": "Sugiere formatos por nivel para el grupo de participantes",
2265
+ "placeholder": "Los resultados del plan aparecerán aquí a medida que ajustes las restricciones.",
2265
2266
  "fields": {
2266
- "scale": "__TODO__",
2267
- "courts": "__TODO__",
2268
- "days": "__TODO__",
2269
- "hoursPerDay": "__TODO__",
2270
- "targetMatchesPerPlayer": "__TODO__",
2271
- "targetCompetitivePct": "__TODO__",
2272
- "consolationAppetite": "__TODO__",
2273
- "voluntaryConsolation": "__TODO__",
2274
- "selectedEvent": "__TODO__"
2267
+ "scale": "Escala de valoración",
2268
+ "courts": "Canchas",
2269
+ "days": "Días",
2270
+ "hoursPerDay": "Horas por día",
2271
+ "targetMatchesPerPlayer": "Partidos por jugador objetivo",
2272
+ "targetCompetitivePct": "% competitivo objetivo (0–100)",
2273
+ "consolationAppetite": "Nivel de consolación",
2274
+ "voluntaryConsolation": "Incluir consolación voluntaria",
2275
+ "selectedEvent": "Aplicar al evento"
2275
2276
  },
2276
2277
  "appetite": {
2277
- "none": "__TODO__",
2278
- "light": "__TODO__",
2279
- "full": "__TODO__"
2278
+ "none": "Ninguna",
2279
+ "light": "Ligera (una ronda de consolación)",
2280
+ "full": "Completa (consolación en cascada)"
2280
2281
  },
2281
- "reset": "__TODO__",
2282
+ "reset": "Restablecer a valores predeterminados",
2282
2283
  "cues": {
2283
- "noVenues": "__TODO__",
2284
- "savedExceedsAvailable": "__TODO__",
2285
- "savedLessThanAvailable": "__TODO__",
2286
- "effectiveCourtCount": "__TODO__"
2284
+ "noVenues": "No hay canchas definidas — configura primero las sedes",
2285
+ "savedExceedsAvailable": "El asistente espera {{saved}} canchas pero el torneo tiene {{available}}",
2286
+ "savedLessThanAvailable": "El torneo tiene {{available}} canchas; el asistente está configurado para {{saved}}",
2287
+ "effectiveCourtCount": "En promedio {{effective}} canchas disponibles por día durante {{dayCount}} días"
2287
2288
  },
2288
2289
  "headers": {
2289
- "distribution": "__TODO__",
2290
- "plans": "__TODO__",
2291
- "consideration": "__TODO__"
2290
+ "distribution": "Distribución de valoraciones",
2291
+ "plans": "Planes sugeridos",
2292
+ "consideration": "En consideración"
2292
2293
  },
2293
2294
  "summary": {
2294
- "ratedOf": "__TODO__",
2295
- "noRatedParticipants": "__TODO__",
2296
- "loadTournament": "__TODO__",
2297
- "constraintsRequired": "__TODO__",
2298
- "allParticipants": "__TODO__"
2295
+ "ratedOf": "{{rated}} de {{total}} valorados en {{scale}}",
2296
+ "noRatedParticipants": "No hay participantes valorados en esta escala",
2297
+ "loadTournament": "Abre un torneo para poblar el asistente",
2298
+ "constraintsRequired": "Ajusta las restricciones para ver los planes",
2299
+ "allParticipants": "Todos los participantes"
2299
2300
  },
2300
2301
  "actions": {
2301
- "clearStale": "__TODO__"
2302
+ "clearStale": "Borrar consideraciones obsoletas"
2302
2303
  },
2303
2304
  "card": {
2304
- "matchesPerPlayer": "__TODO__",
2305
- "bandHeading": "__TODO__",
2306
- "bandHeading_plural": "__TODO__",
2307
- "bandTargetTag": "__TODO__",
2308
- "vcTag": "__TODO__",
2309
- "staleTag": "__TODO__",
2310
- "considerTag": "__TODO__",
2311
- "competitive": "__TODO__",
2312
- "courtHours": "__TODO__",
2313
- "score": "__TODO__",
2314
- "of": "__TODO__",
2315
- "matches": "__TODO__",
2316
- "flightCount": "__TODO__",
2317
- "flightCount_plural": "__TODO__"
2305
+ "matchesPerPlayer": "partidos/jugador",
2306
+ "bandHeading": "{{count}} partidos por jugador",
2307
+ "bandHeading_plural": "{{count}} partidos por jugador",
2308
+ "bandTargetTag": "objetivo",
2309
+ "vcTag": "+CV",
2310
+ "staleTag": "obsoleto",
2311
+ "considerTag": "considerar",
2312
+ "competitive": "competitivo",
2313
+ "courtHours": "horas-cancha",
2314
+ "score": "Puntuación",
2315
+ "of": "de",
2316
+ "matches": "{{count}} partidos",
2317
+ "flightCount": "{{count}} flight",
2318
+ "flightCount_plural": "{{count}} flights"
2318
2319
  },
2319
2320
  "warnings": {
2320
- "BELOW_FLOOR": "__TODO__",
2321
- "OVER_CAPACITY": "__TODO__",
2322
- "WITHDRAWAL_RISK": "__TODO__",
2323
- "MIXED_GENDER_VARIANT": "__TODO__",
2324
- "COLLAPSED_CATEGORY": "__TODO__"
2321
+ "BELOW_FLOOR": "Por debajo del objetivo",
2322
+ "OVER_CAPACITY": "Sobre la capacidad de canchas",
2323
+ "WITHDRAWAL_RISK": "Riesgo de retiro",
2324
+ "MIXED_GENDER_VARIANT": "Género mixto",
2325
+ "COLLAPSED_CATEGORY": "Categoría colapsada"
2325
2326
  },
2326
2327
  "apply": {
2327
- "button": "__TODO__",
2328
- "confirmTitle": "__TODO__",
2329
- "confirmBody": "__TODO__",
2330
- "confirmBodyUnsupported": "__TODO__",
2331
- "confirm": "__TODO__",
2332
- "success": "__TODO__",
2333
- "successPartial": "__TODO__",
2334
- "errorEvents": "__TODO__",
2335
- "errorEmpty": "__TODO__"
2328
+ "button": "Aplicar",
2329
+ "confirmTitle": "¿Aplicar este plan de formato?",
2330
+ "confirmBody": "Esto creará {{eventCount}} eventos con {{participantCount}} participantes inscritos.",
2331
+ "confirmBodyUnsupported": "{{unsupportedCount}} flight no se puede materializar automáticamente (estructura no admitida) y se omitirá.",
2332
+ "confirm": "Aplicar",
2333
+ "success": "Plan aplicado: {{eventCount}} eventos creados. Abre cada evento para generar su cuadro.",
2334
+ "successPartial": "Plan aplicado con flights omitidos — consulta el registro de avisos",
2335
+ "errorEvents": "No se pudieron crear eventos a partir del plan",
2336
+ "errorEmpty": "Nada que aplicar — todos los flights eran no admitidos o vacíos"
2336
2337
  }
2337
2338
  },
2338
2339
  "tabs": {
2339
- "info": "__TODO__",
2340
- "events": "__TODO__",
2341
- "schedule": "__TODO__",
2342
- "matches": "__TODO__",
2343
- "players": "__TODO__",
2344
- "stats": "__TODO__"
2340
+ "info": "Información",
2341
+ "events": "Eventos",
2342
+ "schedule": "Programación",
2343
+ "matches": "Partidos",
2344
+ "players": "Participantes",
2345
+ "stats": "Estadísticas"
2345
2346
  },
2346
2347
  "players": {
2347
- "name": "__TODO__",
2348
- "country": "__TODO__",
2349
- "cityState": "__TODO__",
2350
- "events": "__TODO__",
2351
- "rank": "__TODO__",
2352
- "noParticipants": "__TODO__",
2353
- "teamsHeading": "__TODO__",
2348
+ "name": "Nombre",
2349
+ "country": "País",
2350
+ "cityState": "Ciudad / Estado",
2351
+ "events": "Eventos",
2352
+ "rank": "Posición",
2353
+ "noParticipants": "Sin participantes",
2354
+ "teamsHeading": "Equipos",
2354
2355
  "teamCounts": {
2355
- "players_one": "__TODO__",
2356
- "players_other": "__TODO__",
2357
- "coaches_one": "__TODO__",
2358
- "coaches_other": "__TODO__",
2359
- "staff_one": "__TODO__",
2360
- "staff_other": "__TODO__"
2356
+ "players_one": "{{count}} jugador",
2357
+ "players_other": "{{count}} jugadores",
2358
+ "coaches_one": "{{count}} entrenador",
2359
+ "coaches_other": "{{count}} entrenadores",
2360
+ "staff_one": "{{count}} miembro del staff",
2361
+ "staff_other": "{{count}} miembros del staff"
2361
2362
  }
2362
2363
  },
2363
2364
  "display": {
2364
- "label": "__TODO__",
2365
- "columns": "__TODO__",
2366
- "draw": "__TODO__",
2367
- "tableView": "__TODO__",
2368
- "statistics": "__TODO__"
2365
+ "label": "Visualización",
2366
+ "columns": "Columnas",
2367
+ "draw": "Cuadro",
2368
+ "tableView": "Vista de tabla",
2369
+ "statistics": "Estadísticas"
2369
2370
  },
2370
2371
  "theme": {
2371
- "toggleDark": "__TODO__"
2372
+ "toggleDark": "Alternar modo oscuro"
2372
2373
  },
2373
2374
  "language": {
2374
- "select": "__TODO__"
2375
+ "select": "Seleccionar idioma"
2375
2376
  },
2376
2377
  "registrationProfile": {
2377
- "entry": "__TODO__",
2378
- "entriesOpen": "__TODO__",
2379
- "entriesClose": "__TODO__",
2380
- "withdrawalDeadline": "__TODO__",
2381
- "entryMethod": "__TODO__",
2382
- "entryUrl": "__TODO__",
2383
- "entryFee": "__TODO__",
2384
- "accommodation": "__TODO__",
2385
- "transportation": "__TODO__",
2386
- "hospitality": "__TODO__",
2387
- "medical": "__TODO__",
2388
- "ceremonies": "__TODO__",
2389
- "drawCeremony": "__TODO__",
2390
- "awardsCeremony": "__TODO__",
2391
- "regulations": "__TODO__",
2392
- "sponsors": "__TODO__",
2393
- "additional": "__TODO__",
2394
- "dressCode": "__TODO__",
2395
- "contingencyPlan": "__TODO__"
2378
+ "entry": "Inscripción y elegibilidad",
2379
+ "entriesOpen": "Apertura de inscripciones",
2380
+ "entriesClose": "Cierre de inscripciones",
2381
+ "withdrawalDeadline": "Fecha límite de retiro",
2382
+ "entryMethod": "Método de inscripción",
2383
+ "entryUrl": "URL de inscripción",
2384
+ "entryFee": "Cuota",
2385
+ "accommodation": "Alojamiento",
2386
+ "transportation": "Transporte",
2387
+ "hospitality": "Hospitalidad",
2388
+ "medical": "Información médica",
2389
+ "ceremonies": "Ceremonias y eventos sociales",
2390
+ "drawCeremony": "Ceremonia del sorteo",
2391
+ "awardsCeremony": "Ceremonia de premiación",
2392
+ "regulations": "Reglamento",
2393
+ "sponsors": "Patrocinadores",
2394
+ "additional": "Información adicional",
2395
+ "dressCode": "Código de vestimenta",
2396
+ "contingencyPlan": "Contingencia por clima"
2396
2397
  },
2397
2398
  "provisioner": {
2398
- "myProviders": "__TODO__",
2399
- "users": "__TODO__",
2400
- "noProviders": "__TODO__",
2401
- "noUsers": "__TODO__",
2402
- "createProvider": "__TODO__",
2403
- "createUser": "__TODO__",
2404
- "openInTmx": "__TODO__",
2405
- "providerNamePlaceholder": "__TODO__",
2406
- "providerAbbrPlaceholder": "__TODO__",
2407
- "providerCreated": "__TODO__",
2408
- "providerFieldsRequired": "__TODO__",
2409
- "userCreated": "__TODO__",
2410
- "userFieldsRequired": "__TODO__",
2411
- "selectProvider": "__TODO__",
2412
- "selectProviderFirst": "__TODO__"
2399
+ "myProviders": "Mis proveedores",
2400
+ "users": "Usuarios",
2401
+ "noProviders": "Aún no hay proveedores — crea uno para comenzar",
2402
+ "noUsers": "No hay usuarios para este proveedor",
2403
+ "createProvider": "Crear proveedor",
2404
+ "createUser": "Crear usuario",
2405
+ "openInTmx": "Abrir en TMX",
2406
+ "providerNamePlaceholder": "p. ej. IONSport Demos",
2407
+ "providerAbbrPlaceholder": "p. ej. IONDEMO",
2408
+ "providerCreated": "Proveedor creado",
2409
+ "providerFieldsRequired": "El nombre y la abreviatura son obligatorios",
2410
+ "userCreated": "Usuario creado",
2411
+ "userFieldsRequired": "El correo y el ID externo son obligatorios",
2412
+ "selectProvider": "Selecciona un proveedor…",
2413
+ "selectProviderFirst": "Selecciona primero un proveedor"
2413
2414
  },
2414
2415
  "manageAccess": {
2415
- "title": "__TODO__",
2416
- "tournament": "__TODO__",
2417
- "grantedAccess": "__TODO__",
2418
- "addUser": "__TODO__",
2419
- "emailPlaceholder": "__TODO__",
2420
- "grant": "__TODO__",
2421
- "revoke": "__TODO__",
2422
- "noAssignments": "__TODO__",
2423
- "loadError": "__TODO__",
2424
- "grantError": "__TODO__",
2425
- "revokeError": "__TODO__",
2426
- "granted": "__TODO__",
2427
- "revoked": "__TODO__"
2416
+ "title": "Gestionar acceso al torneo",
2417
+ "tournament": "Torneo",
2418
+ "grantedAccess": "Acceso concedido",
2419
+ "addUser": "Agregar usuario",
2420
+ "emailPlaceholder": "usuario@ejemplo.com",
2421
+ "grant": "Conceder",
2422
+ "revoke": "Revocar",
2423
+ "noAssignments": "Aún no se ha concedido acceso a ningún usuario.",
2424
+ "loadError": "No se pudieron cargar las asignaciones.",
2425
+ "grantError": "No se pudo conceder el acceso.",
2426
+ "revokeError": "No se pudo revocar el acceso.",
2427
+ "granted": "Acceso concedido a {{email}}",
2428
+ "revoked": "Acceso de {{email}} revocado"
2428
2429
  },
2429
2430
  "providerConfig": {
2430
- "editCapsButton": "__TODO__",
2431
- "editCapsTitle": "__TODO__",
2432
- "editCapsTitleGeneric": "__TODO__",
2433
- "editSettingsButton": "__TODO__",
2434
- "editSettingsTitle": "__TODO__",
2435
- "editSettingsTitleGeneric": "__TODO__",
2431
+ "editCapsButton": "Editar límites",
2432
+ "editCapsTitle": "Editar límites — {{name}}",
2433
+ "editCapsTitleGeneric": "Editar límites del proveedor",
2434
+ "editSettingsButton": "Editar ajustes",
2435
+ "editSettingsTitle": "Editar ajustes — {{name}}",
2436
+ "editSettingsTitleGeneric": "Editar ajustes del proveedor",
2436
2437
  "section": {
2437
- "branding": "__TODO__",
2438
- "permissionCeilings": "__TODO__",
2439
- "permissionChoices": "__TODO__",
2440
- "allowedUniverses": "__TODO__",
2441
- "allowedSelections": "__TODO__",
2442
- "policies": "__TODO__",
2443
- "defaults": "__TODO__",
2444
- "integrations": "__TODO__",
2445
- "privacy": "__TODO__",
2446
- "themeTokens": "__TODO__"
2438
+ "branding": "Marca (marca blanca)",
2439
+ "permissionCeilings": "Límites de permisos",
2440
+ "permissionChoices": "Permisos",
2441
+ "allowedUniverses": "Universos permitidos",
2442
+ "allowedSelections": "Selecciones permitidas",
2443
+ "policies": "Políticas",
2444
+ "defaults": "Valores predeterminados",
2445
+ "integrations": "Integraciones",
2446
+ "privacy": "Privacidad de participantes",
2447
+ "themeTokens": "Tokens de tema (variables CSS)"
2447
2448
  },
2448
2449
  "privacy": {
2449
- "settingsHint": "__TODO__",
2450
- "cityState": "__TODO__"
2450
+ "settingsHint": "Cada interruptor a continuación relaja la política de privacidad predeterminada para un atributo del participante. Déjalo en OFF (predeterminado) para mantener ese atributo privado.",
2451
+ "cityState": "Publicar Ciudad / Estado de los participantes"
2451
2452
  },
2452
2453
  "permissions": {
2453
- "ceilingHint": "__TODO__",
2454
- "choiceHint": "__TODO__",
2455
- "lockedByProvisioner": "__TODO__"
2454
+ "ceilingHint": "Cada permiso en OFF aquí quedará bloqueado para el proveedor — no podrá habilitarlo.",
2455
+ "choiceHint": "Deshabilita cualquier permiso que tus directores de torneo no deban ejecutar. Los permisos bloqueados por el aprovisionador aparecen atenuados.",
2456
+ "lockedByProvisioner": "Bloqueado por el aprovisionador — no se puede habilitar."
2456
2457
  },
2457
2458
  "allowed": {
2458
- "universeHint": "__TODO__",
2459
- "selectionHint": "__TODO__"
2459
+ "universeHint": "Lista separada por comas. Vacío significa sin restricción (todo permitido).",
2460
+ "selectionHint": "Selecciona qué opciones puede usar este proveedor. Ninguna seleccionada = todas permitidas.",
2461
+ "restrictedHint": "Elige dentro del conjunto permitido por tu aprovisionador. Ninguno seleccionado = todos estos.",
2462
+ "unrestrictedHint": "Ninguna seleccionada = todas permitidas. Selecciona para restringir."
2460
2463
  },
2461
2464
  "branding": {
2462
- "appName": "__TODO__",
2463
- "navbarLogoUrl": "__TODO__",
2464
- "navbarLogoAlt": "__TODO__",
2465
- "navbarLogoHeight": "__TODO__",
2466
- "splashLogoUrl": "__TODO__",
2467
- "accentColor": "__TODO__",
2468
- "stylesheetUrl": "__TODO__",
2469
- "preview": "__TODO__",
2470
- "uploadThemeAssets": "__TODO__",
2471
- "uploadNoFiles": "__TODO__",
2472
- "uploading": "__TODO__",
2473
- "uploadLinked": "__TODO__",
2474
- "uploadedNoCss": "__TODO__",
2475
- "uploadFailed": "__TODO__"
2465
+ "appName": "Nombre de la app",
2466
+ "navbarLogoUrl": "URL del logotipo de la barra de navegación",
2467
+ "navbarLogoAlt": "Texto alternativo del logotipo de la barra de navegación",
2468
+ "navbarLogoHeight": "Altura del logotipo de la barra de navegación (px)",
2469
+ "splashLogoUrl": "URL del logotipo de portada",
2470
+ "accentColor": "Color de acento (CSS)",
2471
+ "stylesheetUrl": "URL de la hoja de estilos del proveedor (opción avanzada)",
2472
+ "preview": "Vista previa en vivo (barra de navegación simulada)",
2473
+ "uploadThemeAssets": "Subir y vincular recursos del tema",
2474
+ "uploadNoFiles": "Elige primero un archivo .css (y cualquier fuente).",
2475
+ "uploading": "Subiendo…",
2476
+ "uploadLinked": "Se subieron {{count}} archivo(s); URL de hoja de estilos vinculada.",
2477
+ "uploadedNoCss": "Se subieron {{count}} archivo(s) — agrega un archivo .css para vincular la URL de la hoja de estilos.",
2478
+ "uploadFailed": "Falló la carga: {{reason}}"
2476
2479
  },
2477
2480
  "defaults": {
2478
- "defaultEventType": "__TODO__",
2479
- "defaultDrawType": "__TODO__",
2480
- "defaultCreationMethod": "__TODO__",
2481
- "defaultGender": "__TODO__"
2481
+ "defaultEventType": "Tipo de evento predeterminado",
2482
+ "defaultDrawType": "Tipo de cuadro predeterminado",
2483
+ "defaultCreationMethod": "Método de creación predeterminado",
2484
+ "defaultGender": "Género predeterminado"
2482
2485
  },
2483
2486
  "policies": {
2484
- "schedulingPolicy": "__TODO__",
2485
- "scoringPolicy": "__TODO__",
2486
- "seedingPolicy": "__TODO__",
2487
- "policyJsonPlaceholder": "__TODO__",
2488
- "invalidJson": "__TODO__"
2489
- },
2490
- "capsSaved": "__TODO__",
2491
- "settingsSaved": "__TODO__",
2492
- "invalid": "__TODO__",
2493
- "saveFailed": "__TODO__",
2494
- "loadCapsForGating": "__TODO__",
2487
+ "schedulingPolicy": "Política de programación (JSON)",
2488
+ "scoringPolicy": "Política de puntuación (JSON)",
2489
+ "seedingPolicy": "Política de siembra (JSON)",
2490
+ "policyJsonPlaceholder": "{ ... }",
2491
+ "invalidJson": "JSON no válido"
2492
+ },
2493
+ "capsSaved": "Límites guardados",
2494
+ "settingsSaved": "Ajustes guardados",
2495
+ "invalid": "La validación falló — consulta los errores de campo a continuación",
2496
+ "saveFailed": "Falló el guardado",
2497
+ "loadCapsForGating": "Cargando límites para determinar qué campos están bloqueados...",
2495
2498
  "themeTokens": {
2496
- "label": "__TODO__",
2497
- "hint": "__TODO__",
2498
- "preset": "__TODO__",
2499
- "chooseAPreset": "__TODO__",
2500
- "add": "__TODO__",
2501
- "remove": "__TODO__",
2502
- "invalidPrefix": "__TODO__"
2499
+ "label": "Anulaciones personalizadas de variables CSS",
2500
+ "hint": "Los nombres de token deben empezar con --tmx- o --chc-. Los valores son cadenas CSS de color / longitud / fuente. Se aplican al arranque y al cambiar de proveedor.",
2501
+ "preset": "Preajuste",
2502
+ "chooseAPreset": "Elige un preajuste…",
2503
+ "add": "+ Agregar token",
2504
+ "remove": "Quitar",
2505
+ "invalidPrefix": "El nombre del token debe empezar con --tmx- o --chc-"
2503
2506
  }
2504
2507
  },
2505
2508
  "banners": {
2506
2509
  "contactEmail": {
2507
- "missing": "__TODO__",
2508
- "pending": "__TODO__",
2509
- "setUp": "__TODO__",
2510
- "review": "__TODO__"
2510
+ "missing": "Configura un correo de contacto para poder recuperar tu contraseña por correo.",
2511
+ "pending": "Verifica {{email}} para poder recuperar tu contraseña por correo.",
2512
+ "setUp": "Configurar correo",
2513
+ "review": "Revisar"
2511
2514
  }
2512
2515
  },
2513
2516
  "verifyEmail": {
2514
- "title": "__TODO__",
2515
- "intro": "__TODO__",
2516
- "verifyButton": "__TODO__",
2517
- "verifying": "__TODO__",
2518
- "success": "__TODO__",
2519
- "successPlain": "__TODO__",
2520
- "missingToken": "__TODO__",
2521
- "tokenExpired": "__TODO__",
2522
- "tokenMismatch": "__TODO__",
2523
- "tryAgain": "__TODO__",
2524
- "failed": "__TODO__",
2525
- "verifiedRedirect": "__TODO__",
2526
- "verifiedSignIn": "__TODO__",
2527
- "invalidOrExpired": "__TODO__"
2517
+ "title": "Verifica tu correo",
2518
+ "intro": "Haz clic en el botón de abajo para confirmar que este correo es tuyo.",
2519
+ "verifyButton": "Verificar correo",
2520
+ "verifying": "Verificando…",
2521
+ "success": "Verificado ✓ — ahora puedes recibir correos de recuperación de contraseña en {{email}}. Puedes cerrar esta pestaña.",
2522
+ "successPlain": "Verificado ✓. Puedes cerrar esta pestaña.",
2523
+ "missingToken": "A este enlace de verificación le falta su token. Intenta hacer clic de nuevo en el enlace de tu correo, o solicita uno nuevo desde los ajustes de correo de contacto.",
2524
+ "tokenExpired": "Este enlace de verificación ha caducado. Solicita uno nuevo desde los ajustes de tu correo de contacto.",
2525
+ "tokenMismatch": "Este enlace ya no coincide con tu correo de contacto actual — probablemente fue reemplazado por un cambio más reciente.",
2526
+ "tryAgain": "Intentar de nuevo",
2527
+ "failed": "Falló la verificación. Intenta solicitar un nuevo enlace.",
2528
+ "verifiedRedirect": "Tu correo está verificado. Llevándote a Mi CourtHive…",
2529
+ "verifiedSignIn": "Tu correo está verificado. Ahora puedes iniciar sesión.",
2530
+ "invalidOrExpired": "Este enlace de verificación no es válido o ha caducado. Inicia sesión en Mi CourtHive para solicitar uno nuevo."
2528
2531
  },
2529
2532
  "resetPassword": {
2530
- "title": "__TODO__",
2531
- "intro": "__TODO__",
2532
- "newPasswordPlaceholder": "__TODO__",
2533
- "confirmPlaceholder": "__TODO__",
2534
- "submit": "__TODO__",
2535
- "submitting": "__TODO__",
2536
- "success": "__TODO__",
2537
- "missingToken": "__TODO__",
2538
- "tokenExpired": "__TODO__",
2539
- "tokenMismatch": "__TODO__",
2540
- "failed": "__TODO__"
2533
+ "title": "Establece una nueva contraseña",
2534
+ "intro": "Elige una nueva contraseña para tu cuenta de CourtHive. El enlace de tu correo es de un solo uso.",
2535
+ "newPasswordPlaceholder": "Nueva contraseña (al menos 8 caracteres)",
2536
+ "confirmPlaceholder": "Confirmar nueva contraseña",
2537
+ "submit": "Establecer nueva contraseña",
2538
+ "submitting": "Estableciendo…",
2539
+ "success": "Tu contraseña se cambió. Redirigiendo al inicio de sesión…",
2540
+ "missingToken": "A este enlace de restablecimiento le falta su token. Intenta hacer clic de nuevo en el enlace de tu correo, o solicita uno nuevo.",
2541
+ "tokenExpired": "Este enlace de restablecimiento ha caducado. Solicita uno nuevo desde el enlace «¿Olvidaste tu contraseña?» de la pantalla de inicio de sesión.",
2542
+ "tokenMismatch": "Este enlace ya no coincide con tu correo de contacto actual — solicita uno nuevo.",
2543
+ "failed": "No se pudo restablecer tu contraseña. Intenta solicitar un nuevo enlace."
2541
2544
  },
2542
2545
  "noAccess": {
2543
- "title": "__TODO__",
2544
- "message": "__TODO__",
2545
- "logOut": "__TODO__"
2546
+ "title": "Sin acceso de administración",
2547
+ "message": "Tu cuenta no tiene acceso a la consola de administración. Si gestionas un torneo, usa la app TMX en su lugar. Contacta al administrador de tu proveedor si crees que esto es un error.",
2548
+ "logOut": "Cerrar sesión"
2546
2549
  },
2547
2550
  "admin": {
2548
- "abbreviation": "__TODO__",
2549
- "providerId": "__TODO__",
2550
- "impersonating": "__TODO__",
2551
- "tournaments": "__TODO__",
2552
- "noTournaments": "__TODO__",
2553
- "tournamentName": "__TODO__",
2554
- "startDate": "__TODO__",
2555
- "endDate": "__TODO__",
2556
- "calendarLoadError": "__TODO__",
2557
- "policyDefinitions": "__TODO__",
2558
- "policyEditorComingSoon": "__TODO__",
2559
- "quickActions": "__TODO__",
2560
- "manageProviders": "__TODO__",
2561
- "manageUsers": "__TODO__",
2562
- "backToSystem": "__TODO__",
2563
- "noProviderSelected": "__TODO__",
2564
- "selectProviderHint": "__TODO__",
2565
- "dashboard": "__TODO__",
2566
- "providerDashboardComingSoon": "__TODO__",
2567
- "runAudit": "__TODO__",
2568
- "auditClean": "__TODO__",
2569
- "auditWarning": "__TODO__",
2570
- "auditError": "__TODO__",
2571
- "tournamentDetail": "__TODO__",
2572
- "selectTournament": "__TODO__",
2573
- "loadingTournament": "__TODO__",
2574
- "tournamentNotFound": "__TODO__",
2575
- "tournamentLoadError": "__TODO__",
2576
- "tournamentMissingFromStorage": "__TODO__",
2577
- "participants": "__TODO__",
2578
- "venues": "__TODO__",
2579
- "event": "__TODO__",
2580
- "type": "__TODO__",
2581
- "entries": "__TODO__",
2582
- "draws": "__TODO__",
2583
- "noEvents": "__TODO__",
2551
+ "abbreviation": "Abreviatura",
2552
+ "providerId": "ID de proveedor",
2553
+ "impersonating": "Suplantando a este proveedor",
2554
+ "tournaments": "Torneos",
2555
+ "noTournaments": "No se encontraron torneos",
2556
+ "tournamentName": "Torneo",
2557
+ "startDate": "Inicio",
2558
+ "endDate": "Fin",
2559
+ "calendarLoadError": "No se pudo cargar el calendario",
2560
+ "policyDefinitions": "Definiciones de políticas",
2561
+ "policyEditorComingSoon": "Editor de políticas próximamente.",
2562
+ "quickActions": "Acciones rápidas",
2563
+ "manageProviders": "Gestionar proveedores",
2564
+ "manageUsers": "Gestionar usuarios",
2565
+ "backToSystem": "Volver a Sistema",
2566
+ "noProviderSelected": "Ningún proveedor seleccionado",
2567
+ "selectProviderHint": "Selecciona un proveedor en la página de Sistema para ver su panel de administración.",
2568
+ "dashboard": "Panel",
2569
+ "providerDashboardComingSoon": "Panel del proveedor próximamente.",
2570
+ "runAudit": "Ejecutar auditoría",
2571
+ "auditClean": "Las {{total}} entradas del calendario verificadas en almacenamiento",
2572
+ "auditWarning": "{{missing}} de {{total}} entradas del calendario faltan en almacenamiento",
2573
+ "auditError": "Falló la auditoría del calendario",
2574
+ "tournamentDetail": "Detalle del torneo",
2575
+ "selectTournament": "Selecciona un torneo del calendario para ver los detalles.",
2576
+ "loadingTournament": "Cargando información del torneo...",
2577
+ "tournamentNotFound": "Información del torneo no disponible.",
2578
+ "tournamentLoadError": "No se pudo cargar la información del torneo.",
2579
+ "tournamentMissingFromStorage": "Este torneo existe en el calendario pero no en almacenamiento.",
2580
+ "participants": "Participantes",
2581
+ "venues": "Sedes",
2582
+ "event": "Evento",
2583
+ "type": "Tipo",
2584
+ "entries": "Inscripciones",
2585
+ "draws": "Cuadros",
2586
+ "noEvents": "Sin eventos",
2584
2587
  "providerDashboard": {
2585
- "loading": "__TODO__",
2586
- "loadError": "__TODO__",
2588
+ "loading": "Cargando panel…",
2589
+ "loadError": "No se pudo cargar la configuración del proveedor.",
2587
2590
  "brand": {
2588
- "title": "__TODO__",
2589
- "editTheme": "__TODO__",
2590
- "logoAlt": "__TODO__",
2591
- "unnamed": "__TODO__",
2592
- "noBrand": "__TODO__",
2593
- "themeTokens": "__TODO__"
2591
+ "title": "Marca e identidad",
2592
+ "editTheme": "Editar tema",
2593
+ "logoAlt": "Logotipo del proveedor",
2594
+ "unnamed": "Proveedor sin nombre",
2595
+ "noBrand": "Aún no hay colores de marca definidos",
2596
+ "themeTokens": "{{count}} anulación(es) de token de tema"
2594
2597
  },
2595
2598
  "checklist": {
2596
- "title": "__TODO__",
2597
- "progress": "__TODO__",
2598
- "appName": "__TODO__",
2599
- "brand": "__TODO__",
2600
- "logo": "__TODO__",
2601
- "privacy": "__TODO__"
2599
+ "title": "Primeros pasos",
2600
+ "progress": "{{done}} de {{total}} completado",
2601
+ "appName": "Define tu nombre para mostrar",
2602
+ "brand": "Define los colores de tu marca",
2603
+ "logo": "Sube un logotipo",
2604
+ "privacy": "Configura la privacidad de los participantes"
2602
2605
  },
2603
2606
  "config": {
2604
- "title": "__TODO__",
2605
- "editSettings": "__TODO__",
2606
- "permissions": "__TODO__",
2607
- "policies": "__TODO__",
2608
- "privacy": "__TODO__",
2609
- "scoringApp": "__TODO__",
2610
- "none": "__TODO__"
2607
+ "title": "Configuración de un vistazo",
2608
+ "editSettings": "Editar ajustes",
2609
+ "permissions": "{{count}} permiso(s) habilitado(s)",
2610
+ "policies": "{{count}} conjunto(s) de políticas configurado(s)",
2611
+ "privacy": "{{count}} campo(s) de privacidad publicado(s)",
2612
+ "scoringApp": "App de puntuación: {{app}}",
2613
+ "none": "Usando valores predeterminados de la plataforma"
2611
2614
  },
2612
2615
  "tournaments": {
2613
- "title": "__TODO__",
2614
- "total": "__TODO__",
2615
- "upcoming": "__TODO__",
2616
- "live": "__TODO__",
2617
- "completed": "__TODO__",
2618
- "none": "__TODO__",
2619
- "loadError": "__TODO__"
2616
+ "title": "Torneos",
2617
+ "total": "Total",
2618
+ "upcoming": "Próximos",
2619
+ "live": "En curso",
2620
+ "completed": "Completado",
2621
+ "none": "Aún no hay torneos",
2622
+ "loadError": "No se pudieron cargar los torneos",
2623
+ "openInTmx": "Abrir en TMX"
2620
2624
  },
2621
2625
  "activity": {
2622
- "title": "__TODO__"
2626
+ "title": "Actividad por año"
2627
+ },
2628
+ "rankings": {
2629
+ "title": "Rankings",
2630
+ "launch": "Abrir página de rankings",
2631
+ "configure": "Configurar política de ranking",
2632
+ "recompute": "Recalcular rankings",
2633
+ "recomputing": "Recalculando rankings…",
2634
+ "policySet": "Hay una política de puntos de ranking configurada. Recalcula para actualizar los puntos en todos los torneos y regenerar las instantáneas de ranking.",
2635
+ "policyUnsetHint": "Selecciona primero una política de puntos de ranking para habilitar el recálculo.",
2636
+ "pipelineOff": "El pipeline de rankings no está configurado en el servidor (RANKINGS_PIPELINE_URL). No se recalculó nada.",
2637
+ "failed": "No se pudieron recalcular los rankings.",
2638
+ "result": "Recalculados {{republished}}/{{tournaments}} torneos; generada(s) {{snapshots}} instantánea(s)."
2623
2639
  }
2624
- }
2640
+ },
2641
+ "notLoggedInTitle": "No has iniciado sesión",
2642
+ "notLoggedInHint": "Inicia sesión para ver el panel de tu proveedor.",
2643
+ "logIn": "Iniciar sesión"
2625
2644
  },
2626
2645
  "ams": {
2627
- "officials": "__TODO__",
2628
- "rosters": "__TODO__",
2629
- "membership": "__TODO__",
2630
- "sanctioning": "__TODO__",
2631
- "conferences": "__TODO__",
2632
- "sids": "__TODO__",
2633
- "seamPlaceholder": "__TODO__"
2646
+ "officials": "Oficiales",
2647
+ "rosters": "Plantillas",
2648
+ "membership": "Membresía",
2649
+ "sanctioning": "Sanción",
2650
+ "conferences": "Conferencias",
2651
+ "sids": "Herramientas SID",
2652
+ "seamPlaceholder": "Próximamente — creado por WS-14–16."
2634
2653
  },
2635
2654
  "console": {
2636
- "title": "__TODO__",
2637
- "amsSection": "__TODO__",
2638
- "platformSection": "__TODO__"
2655
+ "title": "Consola de CourtHive",
2656
+ "amsSection": "Gestión de asociados",
2657
+ "platformSection": "Administración de la plataforma"
2639
2658
  },
2640
- "recoveryEmail": "__TODO__",
2641
- "recoveryEmailHelp": "__TODO__",
2642
- "verified": "__TODO__",
2643
- "unverified": "__TODO__",
2644
- "sendVerification": "__TODO__",
2645
- "verificationSent": "__TODO__",
2646
- "alreadyVerified": "__TODO__",
2647
- "noRecoveryEmail": "__TODO__",
2659
+ "recoveryEmail": "Correo de recuperación",
2660
+ "recoveryEmailHelp": "Buzón real para la recuperación de contraseña. Distinto del correo de inicio de sesión anterior.",
2661
+ "verified": "Verificado",
2662
+ "unverified": "Sin verificar",
2663
+ "sendVerification": "Enviar verificación",
2664
+ "verificationSent": "Correo de verificación enviado",
2665
+ "alreadyVerified": "El correo de recuperación ya está verificado",
2666
+ "noRecoveryEmail": "No hay correo de recuperación definido",
2648
2667
  "timepicker": {
2649
- "am": "__TODO__",
2650
- "pm": "__TODO__",
2651
- "selectTime": "__TODO__",
2652
- "enterTime": "__TODO__",
2653
- "hour": "__TODO__",
2654
- "minute": "__TODO__",
2655
- "clear": "__TODO__"
2668
+ "am": "AM",
2669
+ "pm": "PM",
2670
+ "selectTime": "Seleccionar hora",
2671
+ "enterTime": "Ingresar hora",
2672
+ "hour": "Hora",
2673
+ "minute": "Minuto",
2674
+ "clear": "Borrar"
2656
2675
  },
2657
2676
  "onboarding": {
2658
- "title": "__TODO__",
2659
- "yourProvider": "__TODO__",
2660
- "intro": "__TODO__",
2661
- "allDone": "__TODO__",
2662
- "setUp": "__TODO__",
2663
- "getStarted": "__TODO__",
2664
- "skipForNow": "__TODO__",
2665
- "finish": "__TODO__"
2677
+ "title": "Bienvenido — configuremos {{name}}",
2678
+ "yourProvider": "tu proveedor",
2679
+ "intro": "Quedan {{count}} paso(s) para terminar la configuración. Puedes omitir cualquiera de ellos y volver más tarde.",
2680
+ "allDone": "Todo listo. 🎉",
2681
+ "setUp": "Configurar",
2682
+ "getStarted": "Comenzar",
2683
+ "skipForNow": "Omitir por ahora",
2684
+ "finish": "Finalizar"
2666
2685
  },
2667
2686
  "me": {
2668
2687
  "verification": {
2669
- "title": "__TODO__",
2670
- "checking": "__TODO__",
2671
- "signInToManage": "__TODO__",
2672
- "yourEmail": "__TODO__",
2673
- "verified": "__TODO__",
2674
- "notVerified": "__TODO__",
2675
- "resend": "__TODO__",
2676
- "sent": "__TODO__",
2677
- "sendFailed": "__TODO__"
2688
+ "title": "Verificación de correo",
2689
+ "checking": "Comprobando…",
2690
+ "signInToManage": "Inicia sesión para gestionar la verificación de correo.",
2691
+ "yourEmail": "tu correo",
2692
+ "verified": "✓ {{email}} está verificado.",
2693
+ "notVerified": "{{email}} aún no está verificado. Verifícalo para ser elegible como anotador oficial.",
2694
+ "resend": "Reenviar correo de verificación",
2695
+ "sent": "Correo de verificación enviado — revisa tu bandeja de entrada.",
2696
+ "sendFailed": "No se pudo enviar el correo. Inténtalo de nuevo más tarde."
2678
2697
  }
2679
2698
  },
2680
2699
  "crowd": {
2681
- "trackers": "__TODO__",
2682
- "trackersFor": "__TODO__",
2683
- "loading": "__TODO__",
2684
- "close": "__TODO__",
2685
- "cancel": "__TODO__",
2686
- "promote": "__TODO__",
2687
- "demote": "__TODO__",
2688
- "noActiveTrackers": "__TODO__",
2689
- "activeTrackers_one": "__TODO__",
2690
- "activeTrackers_other": "__TODO__",
2691
- "viewTrackers": "__TODO__",
2692
- "setDelegatedOutcome": "__TODO__",
2693
- "confirmDelegatedOutcome": "__TODO__",
2700
+ "trackers": "Rastreadores del público",
2701
+ "trackersFor": "Rastreadores del público — {{label}}",
2702
+ "loading": "Cargando…",
2703
+ "close": "Cerrar",
2704
+ "cancel": "Cancelar",
2705
+ "promote": "Promover",
2706
+ "demote": "Degradar",
2707
+ "noActiveTrackers": "No hay rastreadores del público activos",
2708
+ "activeTrackers_one": "{{count}} rastreador activo",
2709
+ "activeTrackers_other": "{{count}} rastreadores activos",
2710
+ "viewTrackers": "Ver rastreadores del público ({{count}})",
2711
+ "setDelegatedOutcome": "Establecer resultado delegado",
2712
+ "confirmDelegatedOutcome": "Confirmar resultado delegado",
2694
2713
  "badge": {
2695
- "official": "__TODO__",
2696
- "participant": "__TODO__",
2697
- "crowd": "__TODO__",
2698
- "anon": "__TODO__",
2699
- "verified": "__TODO__",
2700
- "nominated": "__TODO__"
2714
+ "official": "OFICIAL",
2715
+ "participant": "PARTICIPANTE",
2716
+ "crowd": "PÚBLICO",
2717
+ "anon": "ANÓN",
2718
+ "verified": "VERIFICADO",
2719
+ "nominated": "NOMINADO"
2701
2720
  },
2702
2721
  "reason": {
2703
- "signInRequired": "__TODO__",
2704
- "emailNotVerified": "__TODO__"
2722
+ "signInRequired": "Se requiere iniciar sesión para ser nominado",
2723
+ "emailNotVerified": "Correo no verificado — no puede ser nominado"
2705
2724
  },
2706
2725
  "toast": {
2707
- "nominateFirst": "__TODO__",
2708
- "noOutcomeToConfirm": "__TODO__"
2726
+ "nominateFirst": "Nomina a un anotador verificado antes de establecer un resultado delegado.",
2727
+ "noOutcomeToConfirm": "No hay resultado delegado que confirmar en este partido."
2709
2728
  },
2710
2729
  "tooltip": {
2711
- "liveTracker": "__TODO__",
2712
- "unconfirmed": "__TODO__",
2713
- "unconfirmedAria": "__TODO__"
2730
+ "liveTracker": "Puntuación reportada mediante rastreador en vivo",
2731
+ "unconfirmed": "Puntuación delegada sin confirmar — confirma para hacerla oficial",
2732
+ "unconfirmedAria": "Puntuación delegada sin confirmar a la espera de confirmación"
2714
2733
  }
2715
- }
2734
+ },
2735
+ "providerSetup": {
2736
+ "wizardTitle": "Configura tu proveedor",
2737
+ "progress": "Paso {{current}} de {{total}}",
2738
+ "back": "Atrás",
2739
+ "skip": "Omitir",
2740
+ "next": "Siguiente",
2741
+ "finish": "Finalizar",
2742
+ "identity": {
2743
+ "title": "Marca e identidad",
2744
+ "intro": "Configuremos cómo aparece tu organización en la plataforma. Recorreremos unos pasos rápidos — puedes omitir cualquiera y cambiarlos más tarde."
2745
+ },
2746
+ "displayName": {
2747
+ "title": "Define tu nombre para mostrar",
2748
+ "intro": "El nombre que se muestra en la barra de navegación y los títulos de página en lugar de «TMX»."
2749
+ },
2750
+ "brandColors": {
2751
+ "title": "Define los colores de tu marca",
2752
+ "intro": "Elige los colores de tu marca a continuación — cada uno actualiza las partes correspondientes de la app. Para control total, usa Avanzado.",
2753
+ "advanced": "Avanzado — anulaciones de tokens sin procesar y archivo de tema",
2754
+ "downloadTemplate": "Descargar plantilla de tema (.css)"
2755
+ },
2756
+ "logo": {
2757
+ "title": "Sube un logotipo",
2758
+ "intro": "Pega una URL de imagen o sube un PNG/JPG/WebP/GIF para tus logotipos de barra de navegación y portada."
2759
+ },
2760
+ "privacy": {
2761
+ "title": "Configura la privacidad de los participantes",
2762
+ "intro": "Elige qué datos de los participantes se publican. Todo está en privado por defecto."
2763
+ }
2764
+ },
2765
+ "providerPolicies": {
2766
+ "title": "Políticas",
2767
+ "intro": "Selecciona una política para cada tipo desde tu catálogo de políticas. Crea o edita políticas en la página de Políticas.",
2768
+ "rankingPoints": "Política de puntos de ranking",
2769
+ "privacy": "Política de privacidad de participantes",
2770
+ "keepCurrent": "— mantener actual —",
2771
+ "none": "— ninguna —",
2772
+ "clear": "— borrar —",
2773
+ "manage": "Gestionar políticas",
2774
+ "privacyApplyExisting": "Aplicar a torneos existentes",
2775
+ "privacyIncludeInProgress": "Aplicar también a torneos en curso",
2776
+ "privacySaveFirst": "Guarda primero tu cambio de política de privacidad y luego aplícalo a los torneos existentes.",
2777
+ "privacyNoPolicy": "Selecciona y guarda primero una política de privacidad de participantes.",
2778
+ "privacyApplyFailed": "No se pudo aplicar la política de privacidad a los torneos existentes.",
2779
+ "privacyApplyResult": "Política de privacidad aplicada a {{attached}} torneo(s); {{already}} ya la tenían; {{failed}} fallaron."
2780
+ },
2781
+ "cns": "Consola"
2716
2782
  }