feat: enhance notifications view and improve i18n support
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 55s

- Updated NotificationsView.vue to display item.context in notifications.
- Added new translations for multiple languages in .i18n-translate-cache.json.
- Extended fill-i18n-locales.js to include Cebuano (ceb) locale support.
This commit is contained in:
Torsten Schulz (local)
2026-08-20 10:53:18 +02:00
parent 38c665d30d
commit 7553f2c99a
22 changed files with 1637 additions and 916 deletions

View File

@@ -1,4 +1,6 @@
import notificationService from '../services/notificationService.js';
import Member from '../models/Member.js';
import Club from '../models/Club.js';
const serialize = (recipient) => {
const event = recipient.event?.toJSON?.() || recipient.event || {};
@@ -21,7 +23,18 @@ const serialize = (recipient) => {
export const listNotifications = async (req, res) => {
try {
const items = await notificationService.listForUser(req.user.id, req.query);
res.json(items.map(serialize));
const serialized = await Promise.all(items.map(async (item) => {
const result = serialize(item);
const club = result.clubId ? await Club.findByPk(result.clubId, { attributes: ['name'] }) : null;
if (result.type === 'member.rating_changed' && result.payload?.memberId) {
const member = await Member.findByPk(result.payload.memberId, { attributes: ['firstName', 'lastName'] });
const memberName = [member?.firstName, member?.lastName].filter(Boolean).join(' ');
if (memberName) result.title = memberName;
}
result.context = club?.name || '';
return result;
}));
res.json(serialized);
} catch (error) { res.status(500).json({ error: 'Posteingang konnte nicht geladen werden.' }); }
};

View File

@@ -807,7 +807,7 @@ class MemberService {
priority: 'normal',
resourceType: 'member',
resourceId: String(member.id),
title: `(Q)TTR geändert: ${firstName} ${lastName}`,
title: `${firstName} ${lastName}`,
body: changes.join(', '),
route: '/members',
payload: { memberId: member.id, clubId: Number(clubId), oldTtr, newTtr: member.ttr, oldQttr, newQttr: member.qttr },

View File

@@ -10,7 +10,7 @@ Stand der Kennzahlen: **2026-05-15** (Basis `de.json`: **2435** Blatt-Strings, `
| Befehl / Skript | Zweck |
|-----------------|--------|
| `cd frontend && npm run i18n:status` | Batch-/Namespace-Status (Kernbereiche) |
| `cd frontend && npm run i18n:status` | Batch-/Namespace-Status (inklusive `schedule`) |
| `cd frontend && npm run i18n:audit -- <locales>` | Fehlende Keys, `= de`, deutsche Marker, Platzhalter |
| `node scripts/check-i18n-completeness.js` | Vollständige Tabelle aller Locales |
| `node scripts/check-i18n-completeness.js --locale fil --top 25` | Top-Namespace + EN-Leak-Beispiele pro Locale |
@@ -70,7 +70,7 @@ Stand der Kennzahlen: **2026-05-15** (Basis `de.json`: **2435** Blatt-Strings, `
### Aufgaben
- [ ] Neue Features immer zuerst in `de.json` pflegen.
- [ ] Vor Release: prüfen, dass keine anderen Locales Keys haben, die in `de` fehlen (`check-i18n-completeness.js` / Audit).
- [ ] Vor Release: `npm run i18n:status` und `node ../scripts/check-i18n-completeness.js` prüfen; bei Änderungen an `schedule` die abhängigen Locales aktualisieren.
- [ ] Nach größeren `de`-Änderungen: abhängige Locales und Mobile-Generator einplanen.
---

View File

@@ -10,6 +10,7 @@ const CORE_NAMESPACES = [
'club',
'members',
'diary',
'schedule',
'trainingStats',
'courtDrawingTool'
];

View File

@@ -10,6 +10,7 @@ const CORE_NAMESPACES = [
'club',
'members',
'diary',
'schedule',
'trainingStats',
'courtDrawingTool'
];

View File

@@ -10,7 +10,7 @@
<p v-else-if="!items.length" class="notification-empty">Keine neuen Benachrichtigungen.</p>
<button v-for="item in items" :key="item.id" type="button" :class="['notification-item', { unread: !item.readAt }]" @click="openItem(item)">
<span class="priority-dot" :class="item.priority"></span>
<span><strong>{{ item.title }}</strong><small>{{ item.body }}</small></span>
<span><strong>{{ item.title || 'Benachrichtigung' }}</strong><small v-if="item.context">{{ item.context }}</small><small v-if="item.body">{{ item.body }}</small></span>
</button>
<button type="button" class="all-notifications" @click="openInbox">Alle anzeigen</button>
</section>
@@ -69,7 +69,7 @@ export default {
.notification-menu { position: relative; }
.notification-bell { position: relative; border: 0; background: transparent; font-size: 1.25rem; cursor: pointer; padding: .45rem; }
.notification-badge { position: absolute; top: 0; right: -.15rem; min-width: 1.15rem; padding: .05rem .25rem; border-radius: 1rem; background: #c72c41; color: #fff; font: 700 .7rem/1.1 sans-serif; }
.notification-popover { position: absolute; right: 0; top: calc(100% + .35rem); z-index: 30; box-sizing: border-box; width: min(390px, calc(100vw - 1.5rem)); max-height: 70vh; overflow-x: hidden; overflow-y: auto; padding: .75rem; border: 1px solid #d8dee8; border-radius: .7rem; background: #fff; box-shadow: 0 12px 30px rgba(15, 23, 42, .18); }
.notification-popover { position: absolute; right: 0; top: calc(100% + .35rem); z-index: 30; box-sizing: border-box; width: min(390px, calc(100vw - 1.5rem)); max-height: 70vh; overflow-x: hidden; overflow-y: auto; padding: .75rem; border: 1px solid #d8dee8; border-radius: .7rem; background: #fff; color: #1f2937; box-shadow: 0 12px 30px rgba(15, 23, 42, .18); }
.notification-popover header { display: flex; justify-content: space-between; align-items: center; margin-bottom: .5rem; }.notification-popover header button,.all-notifications { border: 0; background: none; color: #185fa5; cursor: pointer; font: inherit; }
.notification-item { display: flex; gap: .55rem; box-sizing: border-box; width: 100%; padding: .6rem; border: 0; border-radius: .45rem; background: transparent; text-align: left; cursor: pointer; }.notification-item > span:last-child { min-width: 0; overflow-wrap: anywhere; }.notification-item:hover,.notification-item.unread { background: #eef6ff; }.notification-item strong,.notification-item small { display: block; }.notification-item small { margin-top: .18rem; color: #52606d; }.priority-dot { width: .5rem; height: .5rem; flex: 0 0 auto; margin-top: .35rem; border-radius: 50%; background: #5c7080; }.priority-dot.high,.priority-dot.critical { background: #c72c41; }.notification-empty { color: #667085; }.all-notifications { box-sizing: border-box; width: 100%; padding-top: .65rem; text-align: center; }
.notification-item { display: flex; justify-content: flex-start; align-items: flex-start; gap: .55rem; box-sizing: border-box; width: 100%; padding: .6rem; border: 0; border-radius: .45rem; background: transparent; color: inherit; text-align: left; cursor: pointer; }.notification-item > span:last-child { min-width: 0; overflow-wrap: anywhere; }.notification-item:hover,.notification-item.unread { background: #eef6ff; }.notification-item strong,.notification-item small { display: block; }.notification-item strong { color: #1f2937; }.notification-item small { margin-top: .18rem; color: #52606d; }.priority-dot { width: .5rem; height: .5rem; flex: 0 0 auto; margin-top: .35rem; border-radius: 50%; background: #5c7080; }.priority-dot.high,.priority-dot.critical { background: #c72c41; }.notification-empty { color: #667085; }.all-notifications { box-sizing: border-box; width: 100%; padding-top: .65rem; text-align: center; }
</style>

File diff suppressed because it is too large Load Diff

View File

@@ -268,8 +268,7 @@
"ja": "日本語 (Japanese)",
"zh": "中文 (Chinese)",
"tl": "Tagalog",
"fil": "Filipino",
"ceb": "Cebuano (Bisaya)"
"fil": "Filipino"
},
"messages": {
"success": "Success",
@@ -284,6 +283,7 @@
"invalidFile": "Invalid file",
"pleaseSelectImageFile": "Please select an image file.",
"fileTooLarge": "File too large",
"imageMaxSize": "The image must be a maximum of 5 MB.",
"note": "Notice"
},
"members": {
@@ -332,6 +332,22 @@
"noGroupsAssigned": "No groups assigned",
"noGroupsAvailable": "No groups available",
"addGroup": "Add group...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "status",
"bankAccountStatusActive": "Active",
"bankAccountStatusPending": "Pending",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Remove",
"image": "Image",
"selectFile": "Select file",
@@ -713,6 +729,9 @@
"durationExampleShort": "e.g. 2x7",
"showImage": "Show image/drawing",
"participants": "Participants",
"excusedParticipants": "Disabled",
"availableParticipants": "Possible to be present",
"activeMembers": "Active members",
"searchParticipants": "Search participants",
"filterAll": "All",
"filterPresent": "Present",
@@ -1437,7 +1456,35 @@
"title": "Schedules",
"subtitle": "Select teams, review fixtures and keep league tables in view.",
"importSchedule": "Import schedule",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "Own team",
"selectTeam": "Select team",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "Address",
"zip": "Postal code",
"city": "City",
"location": "Location",
"matchCredentials": "Match credentials (optional)",
"notes": "Notes",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Loading gallery…",
"gallery": "Member gallery",
"overallSchedule": "Overall schedule",
@@ -1466,6 +1513,16 @@
"homeTeam": "Home team",
"guestTeam": "Away team",
"result": "Result",
"homeGame": "Home",
"participants": "Participants",
"swapButton": "Swap",
"away": "Outward",
"homeLabel": "Home",
"awayLabel": "Away",
"swapSuccess": "Home/Away Swapped",
"swapFailed": "Home/Away could not be swapped.",
"plannedShort": "planned",
"readyShort": "prepared",
"ageClass": "Age group",
"homePin": "Home PIN",
"guestPin": "Away PIN",

View File

@@ -268,8 +268,7 @@
"ja": "日本語 (Japanese)",
"zh": "中文 (Chinese)",
"tl": "Tagalog",
"fil": "Filipino",
"ceb": "Cebuano (Bisaya)"
"fil": "Filipino"
},
"messages": {
"success": "Success",
@@ -333,6 +332,22 @@
"noGroupsAssigned": "No groups assigned",
"noGroupsAvailable": "No groups available",
"addGroup": "Add group...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "status",
"bankAccountStatusActive": "Active",
"bankAccountStatusPending": "Pending",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Remove",
"image": "Image",
"selectFile": "Select file",
@@ -714,6 +729,9 @@
"durationExampleShort": "e.g. 2x7",
"showImage": "Show image/drawing",
"participants": "Participants",
"excusedParticipants": "Disabled",
"availableParticipants": "Possible to be present",
"activeMembers": "Active members",
"searchParticipants": "Search participants",
"filterAll": "All",
"filterPresent": "Present",
@@ -1438,7 +1456,35 @@
"title": "Schedules",
"subtitle": "Select teams, review fixtures and keep league tables in view.",
"importSchedule": "Import schedule",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "Own team",
"selectTeam": "Select team",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "Address",
"zip": "Postal code",
"city": "City",
"location": "Location",
"matchCredentials": "Match credentials (optional)",
"notes": "Notes",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Loading gallery…",
"gallery": "Member gallery",
"overallSchedule": "Overall schedule",
@@ -1467,6 +1513,16 @@
"homeTeam": "Home team",
"guestTeam": "Away team",
"result": "Result",
"homeGame": "Home",
"participants": "Participants",
"swapButton": "Swap",
"away": "Outward",
"homeLabel": "Home",
"awayLabel": "Away",
"swapSuccess": "Home/Away Swapped",
"swapFailed": "Home/Away could not be swapped.",
"plannedShort": "planned",
"readyShort": "prepared",
"ageClass": "Age group",
"homePin": "Home PIN",
"guestPin": "Away PIN",

View File

@@ -268,8 +268,7 @@
"ja": "日本語 (Japanese)",
"zh": "中文 (Chinese)",
"tl": "Tagalog",
"fil": "Filipino",
"ceb": "Cebuano (Bisaya)"
"fil": "Filipino"
},
"messages": {
"success": "Success",
@@ -336,12 +335,10 @@
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"iban": "IBAN",
"bic": "BIC",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "Status",
"bankAccountStatus": "status",
"bankAccountStatusActive": "Active",
"bankAccountStatusPending": "Pending",
"bankAccountStatusRevoked": "Revoked",
@@ -732,6 +729,9 @@
"durationExampleShort": "e.g. 2x7",
"showImage": "Show image/drawing",
"participants": "Participants",
"excusedParticipants": "Disabled",
"availableParticipants": "Possible to be present",
"activeMembers": "Active members",
"searchParticipants": "Search participants",
"filterAll": "All",
"filterPresent": "Present",
@@ -1513,6 +1513,16 @@
"homeTeam": "Home team",
"guestTeam": "Away team",
"result": "Result",
"homeGame": "Home",
"participants": "Participants",
"swapButton": "Swap",
"away": "Outward",
"homeLabel": "Home",
"awayLabel": "Away",
"swapSuccess": "Home/Away Swapped",
"swapFailed": "Home/Away could not be swapped.",
"plannedShort": "planned",
"readyShort": "prepared",
"ageClass": "Age group",
"homePin": "Home PIN",
"guestPin": "Away PIN",

View File

@@ -37,6 +37,7 @@
"choose": "Elegir",
"apply": "Aplicar",
"clear": "Borrar",
"details": "Detalles",
"view": "Ver",
"name": "nombre",
"date": "Fecha",
@@ -48,6 +49,8 @@
"enabled": "Habilitado",
"disabled": "Deshabilitado",
"required": "Obligatorio",
"optional": "Opcional",
"in": "en",
"min": "mín.",
"minutes": "minutos",
"hours": "horas",
@@ -55,6 +58,7 @@
"weeks": "semanas",
"months": "meses",
"years": "años",
"ok": "DE ACUERDO",
"period": "Periodo",
"saving": "Guardando..."
},
@@ -179,6 +183,7 @@
"memberTransfer": "Transferencia de miembros",
"myTischtennisAccount": "Cuenta myTischtennis",
"clickTtAccount": "Cuenta HTTV / click-TT",
"clickTtBrowser": "HTTV / clic-TT",
"personalSettings": "Configuración personal",
"logout": "Cerrar sesión",
"login": "Iniciar sesión",
@@ -270,7 +275,7 @@
"tl": "Tagalog (Tagalo)",
"th": "ไทย (Tailandés)",
"fil": "filipino",
"ceb": "Cebuano (Bisaya)"
"ceb": "Cebuano (Vizcaya)"
},
"messages": {
"success": "Éxito",
@@ -285,6 +290,7 @@
"invalidFile": "Archivo no válido",
"pleaseSelectImageFile": "Seleccione un archivo de imagen.",
"fileTooLarge": "Archivo demasiado grande",
"imageMaxSize": "La imagen debe tener un tamaño máximo de 5 MB.",
"note": "Aviso"
},
"members": {
@@ -333,6 +339,22 @@
"noGroupsAssigned": "No hay grupos asignados",
"noGroupsAvailable": "No hay grupos disponibles",
"addGroup": "Añadir grupo...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "estado",
"bankAccountStatusActive": "Activo",
"bankAccountStatusPending": "Pendiente",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Quitar",
"image": "Imagen",
"selectFile": "Seleccionar archivo",
@@ -353,6 +375,7 @@
"lastTrainingFilterNoDate": "Sin último entrenamiento",
"lastTrainingFilterNotInTraining": "« Ya no entrena »",
"lastTrainingFilterHint": "Tabla: temporada actual en la columna de edad. Detalle completo (ambas temporadas, último entrenamiento, participaciones) al pasar el ratón por la fila.",
"rowTooltipSeparator": null,
"ttAgeClassCol": "Cat. edad (TT)",
"ttAdult": "Adultos (no juvenil según corte)",
"ttFilterGroupJ": "Niños y niñas (mixto)",
@@ -660,6 +683,7 @@
"trainingDayChecklist": "Lista de control final",
"trainingStart": "Inicio del entrenamiento",
"trainingEnd": "Fin del entrenamiento",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "Franja de entrenamiento",
"trainingWindowUnset": "Aún no definido",
"groupsLabel": "Grupos",
@@ -697,6 +721,7 @@
"activityOrTimeblock": "Actividad / bloque horario",
"durationMinutes": "Duración (min)",
"standardActivities": "Actividades estándar",
"standardDurationShort": "Mín.",
"standardActivityAddError": "No se pudo añadir la actividad estándar.",
"addGroupActivity": "Añadir actividad de grupo",
"addGroupButton": "+ Grupo",
@@ -713,6 +738,9 @@
"durationExampleShort": "p. ej. 2x7",
"showImage": "Mostrar imagen/dibujo",
"participants": "Participantes",
"excusedParticipants": "Discapacitado",
"availableParticipants": "Posibilidad de estar presente",
"activeMembers": "Miembros activos",
"searchParticipants": "Buscar participantes",
"filterAll": "Todos",
"filterPresent": "Presente",
@@ -730,6 +758,7 @@
"editGroupActivity": "Editar actividad de grupo",
"assignParticipantsForGroupActivity": "Asignar participantes a la actividad de grupo",
"delete": "Eliminar",
"min": "Mín.",
"errorLoadingPredefinedActivities": "Error al cargar las actividades predefinidas",
"selectParticipantAndNote": "Selecciona un participante e introduce una nota.",
"selectGroupAndActivity": "Selecciona un grupo e introduce una actividad.",
@@ -919,8 +948,6 @@
"tournamentName": "Nombre del torneo",
"winningSets": "Tasas ganadoras",
"numberOfTables": "Número de mesas",
"confirmDeleteSetTitle": "Eliminar set",
"confirmDeleteSet": "¿Está seguro de que desea eliminar este set?",
"table": "Mesa",
"playerOne": "Jugador 1",
"playerTwo": "Jugador 2",
@@ -959,6 +986,7 @@
"doublesTournament": "Torneo de dobles",
"doublesTournamentHint": "Cambia todas las clases existentes a dobles y crea nuevas clases como dobles de forma predeterminada.",
"genderAll": "Todo",
"genderMixed": "Mezclado",
"minBirthYear": "Nacido en el año o después",
"selectClass": "Seleccionar clase",
"tabConfig": "Configuración",
@@ -966,6 +994,8 @@
"tabParticipants": "Participantes",
"tabResults": "Resultados",
"tabPlacements": "Colocaciones",
"confirmDeleteSetTitle": "Eliminar set",
"confirmDeleteSet": "¿Está seguro de que desea eliminar este set?",
"finalPlacements": "Colocaciones finales",
"groupPlacements": "Colocaciones grupales",
"noPlacementsYet": "Aún no hay ubicaciones disponibles.",
@@ -988,6 +1018,7 @@
"addExternalParticipant": "Agregar participante externo",
"firstName": "Nombre de pila",
"lastName": "Apellido",
"optional": "opcional",
"birthdate": "Fecha de nacimiento",
"addClubMember": "Agregar miembro del club",
"advancersPerGroup": "Promotores por grupo",
@@ -1005,10 +1036,12 @@
"resetGroups": "Restablecer grupos",
"groupsOverview": "Resumen de grupos",
"groupNumber": "Grupo",
"index": "índice",
"position": "la plaza",
"player": "patinadores",
"points": "Agujas",
"sets": "frases",
"diff": "diferencia",
"pointsRatio": "Puntos de juego",
"livePosition": "asiento en vivo",
"pairings": "Emparejamientos dobles",
@@ -1261,6 +1294,7 @@
"statusActionStart": "Comenzar"
},
"myTischtennis": {
"title": "mi cuenta de tenis de mesa",
"linkedAccount": "Cuenta vinculada",
"passwordSaved": "Contraseña guardada",
"yes": "Sí",
@@ -1422,7 +1456,8 @@
"uploadNote": "Nota: La imagen no se cargará hasta que se guarde la actividad.",
"uploadedImages": "Vídeo(s) subido(s):",
"delete": "Borrar",
"cancel": "Cancelar"
"cancel": "Cancelar",
"min": "mín."
},
"accident": {
"reportAccident": "Reportar accidentes",
@@ -1438,6 +1473,35 @@
"title": "Horarios",
"subtitle": "Seleccione equipos, revise los partidos y mantenga a la vista las tablas de clasificación.",
"importSchedule": "Calendario de importación",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "Equipo propio",
"selectTeam": "Seleccionar equipo",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "DIRECCIÓN",
"zip": "Postal code",
"city": "City",
"location": "Ubicación",
"matchCredentials": "Match credentials (optional)",
"notes": "Notas",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Cargando galería…",
"gallery": "Galería de miembros",
"overallSchedule": "Calendario general",
@@ -1467,12 +1531,25 @@
"homeTeam": "Equipo local",
"guestTeam": "Equipo de fuera",
"result": "Resultado",
"homeGame": "Hogar",
"participants": "Participantes",
"swapButton": "Intercambiar",
"away": "Saliente",
"homeLabel": "Hogar",
"awayLabel": "Lejos",
"swapSuccess": "Home/Away Swapped",
"swapFailed": "Home/Away no se ha podido intercambiar.",
"plannedShort": "planeado",
"readyShort": "preparados",
"ageClass": "grupo de edad",
"code": "código",
"homePin": "PIN de inicio",
"guestPin": "PIN Ausente",
"noGames": "No hay coincidencias disponibles",
"leagueTable": "tabla de liga",
"position": "Posición",
"team": "equipo",
"teams": "equipos",
"matches": "partidos",
"completedShort": "Terminado",
"pendingShort": "Abierto",
@@ -1551,6 +1628,7 @@
"plannedLeague": "Liga prevista",
"plannedLeaguePlaceholder": "p. ej. liga regional, tras la próxima inscripción …",
"plannedLeagueHint": "Opcional. Independiente de la liga registrada (MyTischtennis).",
"team": "equipo",
"teamId": "ID del equipo",
"groupId": "ID de grupo",
"association": "Asociación",
@@ -1615,6 +1693,7 @@
"noIssues": "No hay problemas de configuración abiertos.",
"parseUrlAction": "Comprobar URL",
"myTischtennisUrlPlaceholder": "URL de miTischtennis...",
"teams": "equipos",
"planningTitle": "Planificación del equipo",
"planningSubtitle": "Distribuya miembros a equipos programados, establezca el orden y vea las tareas abiertas.",
"searchMembers": "Buscar miembro",
@@ -1715,6 +1794,7 @@
"title": "Solicitudes de usuario pendientes",
"firstName": "Nombre de pila",
"lastName": "Apellido",
"email": "Correo electrónico",
"actions": "Comportamiento",
"approve": "Aprobar",
"reject": "Despedir",
@@ -1732,6 +1812,7 @@
"loadingMembers": "Invitando miembros...",
"availableRoles": "Roles disponibles",
"clubMembers": "Miembros del club",
"email": "Correo electrónico",
"role": "Role",
"status": "estado",
"actions": "Comportamiento",
@@ -1883,6 +1964,7 @@
"executionTime": "tiempo de ejecución",
"errorLabel": "Error",
"actions": "Comportamiento",
"details": "Detalles",
"previous": "Anterior",
"next": "Próximo",
"page": "Página",
@@ -1929,10 +2011,12 @@
},
"dialogs": {
"info": {
"title": "información"
"title": "información",
"ok": "DE ACUERDO"
},
"confirm": {
"title": "Confirmación",
"ok": "DE ACUERDO",
"cancel": "Cancelar"
}
},
@@ -1953,7 +2037,10 @@
"noConfigMessage": "Primero configure la transferencia de miembros en la configuración.",
"goToSettings": "Configuración ¿Hacia dónde?",
"transferConfiguration": "Configuración de transmisión",
"server": "servidor",
"endpoint": "Punto final",
"method": "Método",
"format": "formato",
"mode": "modo",
"bulkImport": "Importación masiva",
"single": "Soltero",
@@ -2009,6 +2096,7 @@
"leagueTables": "Clasificación de JoomSport",
"playersUpdated": "Jugador actualizado",
"results": "Resultados",
"teams": "equipos",
"neverFetched": "Nunca recuperado",
"refreshStatistics": "Recargar estadísticas",
"errorLoadingAccount": "Error al cargar la cuenta myTischtennis",
@@ -2068,6 +2156,7 @@
"title": "Notas para",
"phone": "Número de teléfono.",
"memberImage": "Miembro de imagen",
"tags": "etiquetas",
"selectTags": "Seleccionar etiquetas",
"newNote": "Nueva nota",
"add": "Agregar",
@@ -2171,6 +2260,7 @@
"courtDrawing": {
"title": "Configurar ejercicio de tenis de mesa",
"cancel": "Cancelar",
"ok": "DE ACUERDO",
"durationMinutes": "Duración (minutos)",
"durationText": "Duración (texto)",
"durationTextPlaceholder": "p.ej. 2x5",
@@ -2377,6 +2467,7 @@
"strokeTypeCounter": "Contragolpe",
"strokeTypeTopspin": "Giro superior",
"strokeTypeFlip": "voltear",
"strokeTypeBlock": "Bloc",
"strokeTypeSmash": "Remate",
"strokeTypeChopDefense": "Defensa cortada",
"strokeTypeLobDefense": "Defensa alta",
@@ -2396,6 +2487,7 @@
"animationRunning": "Animación en progreso..."
},
"nuscoreAnalyzer": {
"title": "🔍 analizador nuscore",
"description": "Analiza y descarga recursos de nuscore para uso local.",
"analyze": "🔍 análisis nuscore",
"analyzing": "Analizando...",
@@ -2549,6 +2641,7 @@
"player": "patinadores",
"points": "Agujas",
"sets": "frases",
"diff": "diferencia",
"groupMatrices": "Matrices de grupo",
"allGames": "Todas las ciudades",
"noActivities": "No se registraron actividades para este día de entrenamiento.",

View File

@@ -37,6 +37,7 @@
"choose": "Pumili",
"apply": "Ilapat",
"clear": "Burahin",
"details": "Mga Detalye",
"view": "Tingnan",
"name": "pangalan",
"date": "Petsa",
@@ -48,6 +49,8 @@
"enabled": "Pinagana",
"disabled": "Hindi pinagana",
"required": "Kinakailangan",
"optional": "Opsyonal",
"in": "sa",
"min": "min",
"minutes": "Minuto",
"hours": "Oras",
@@ -55,6 +58,7 @@
"weeks": "Linggo",
"months": "Buwan",
"years": "Taon",
"ok": "Sinop ko ba ito?",
"period": "Panahon",
"saving": "Sine-save..."
},
@@ -179,6 +183,7 @@
"memberTransfer": "Paglipat ng miyembro",
"myTischtennisAccount": "myTischtennis Account",
"clickTtAccount": "HTTV / click-TT account",
"clickTtBrowser": "HTTV / click - TT",
"personalSettings": "Mga personal na setting",
"logout": "Mag-logout",
"login": "Mag-login",
@@ -269,8 +274,7 @@
"zh": "中文 (Intsik)",
"tl": "Tagalog",
"th": "Thai (ไทย)",
"fil": "Filipino",
"ceb": "Cebuano (Bisaya)"
"fil": "Filipino"
},
"messages": {
"success": "Tagumpay",
@@ -334,6 +338,22 @@
"noGroupsAssigned": "Walang grupong nakatalaga",
"noGroupsAvailable": "Walang available na grupo",
"addGroup": "Magdagdag ng grupo...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "katayuan",
"bankAccountStatusActive": "Aktibo",
"bankAccountStatusPending": "Nakabinbin",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Alisin",
"image": "Larawan",
"selectFile": "Pumili ng file",
@@ -354,6 +374,7 @@
"lastTrainingFilterNoDate": "Walang huling training",
"lastTrainingFilterNotInTraining": "Flag na “hindi na nagte-training”",
"lastTrainingFilterHint": "Table: kasalukuyang season sa AK. Buong detalye (dalawang season, huling training, participations) kapag-hover sa hilera.",
"rowTooltipSeparator": null,
"ttAgeClassCol": "Edad (TT)",
"ttAdult": "Adulto (hindi youth sa cutoff)",
"ttFilterGroupJ": "Babae at lalaki (halo)",
@@ -661,6 +682,7 @@
"trainingDayChecklist": "Checklist ng pagkumpleto",
"trainingStart": "Simula ng pagsasanay",
"trainingEnd": "Pagtatapos ng pagsasanay",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "Oras ng pagsasanay",
"trainingWindowUnset": "Hindi pa naitakda",
"groupsLabel": "Mga grupo",
@@ -714,6 +736,9 @@
"durationExampleShort": "hal. 2x7",
"showImage": "Ipakita ang larawan/guhit",
"participants": "Mga kalahok",
"excusedParticipants": "Naka-disable",
"availableParticipants": "Posibleng naroroon",
"activeMembers": "Mga aktibong miyembro",
"searchParticipants": "Maghanap ng kalahok",
"filterAll": "Lahat",
"filterPresent": "Dumalo",
@@ -920,8 +945,6 @@
"tournamentName": "Pangalan ng tournament",
"winningSets": "Mga rate ng panalong",
"numberOfTables": "Bilang ng mesa",
"confirmDeleteSetTitle": "Tanggalin ang set",
"confirmDeleteSet": "Sigurado ka bang tatanggalin ang set na ito?",
"table": "Mesa",
"playerOne": "Manlalaro 1",
"playerTwo": "Manlalaro 2",
@@ -960,6 +983,7 @@
"doublesTournament": "Dobleng paligsahan",
"doublesTournamentHint": "Ginagawang doble ang lahat ng umiiral na klase at gagawa ng mga bagong klase bilang mga doble bilang default.",
"genderAll": "Lahat",
"genderMixed": "Halu - halo",
"minBirthYear": "Ipinanganak sa taon o mas bago",
"selectClass": "Piliin ang Klase",
"tabConfig": "Configuration",
@@ -967,6 +991,8 @@
"tabParticipants": "Mga kalahok",
"tabResults": "Mga resulta",
"tabPlacements": "Mga paglalagay",
"confirmDeleteSetTitle": "Tanggalin ang set",
"confirmDeleteSet": "Sigurado ka bang tatanggalin ang set na ito?",
"finalPlacements": "Mga huling placement",
"groupPlacements": "Mga Placement ng Grupo",
"noPlacementsYet": "Wala pang available na mga placement.",
@@ -989,6 +1015,7 @@
"addExternalParticipant": "Magdagdag ng Panlabas na Kalahok",
"firstName": "Pangalan",
"lastName": "Apelyido",
"optional": "opsyonal",
"birthdate": "Petsa ng kapanganakan",
"addClubMember": "Magdagdag ng Miyembro ng Club",
"advancersPerGroup": "Mga promoter bawat grupo",
@@ -1006,6 +1033,7 @@
"resetGroups": "I-reset ang Mga Grupo",
"groupsOverview": "Pangkalahatang-ideya ng mga pangkat",
"groupNumber": "Grupo",
"index": "Password:",
"position": "Ang parisukat",
"player": "Mga skater",
"points": "Mga puntos",
@@ -1262,6 +1290,7 @@
"statusActionStart": "Magsimula"
},
"myTischtennis": {
"title": "myTischtennis - Account",
"linkedAccount": "Naka-link na Account",
"passwordSaved": "Na-save ang password",
"yes": "Oo",
@@ -1316,6 +1345,7 @@
"trainingData": "Data ng pagsasanay",
"tournamentData": "Data ng Tournament",
"myTischtennisData": "Data ng MyTischtennis",
"cookies": "Cookies/Lokal na Imbakan",
"logData": "Mga logfile",
"recipients": "tatanggap"
},
@@ -1438,6 +1468,35 @@
"title": "Mga iskedyul",
"subtitle": "Pumili ng mga koponan, suriin ang mga fixture at panatilihing nakikita ang mga talahanayan ng liga.",
"importSchedule": "Iskedyul ng pag-import",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "Sariling team",
"selectTeam": "Pumili ng koponan",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "Address",
"zip": "Postal code",
"city": "City",
"location": "Lokasyon",
"matchCredentials": "Match credentials (optional)",
"notes": "Mga Tala",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Nilo-load ang gallery…",
"gallery": "Gallery ng miyembro",
"overallSchedule": "Pangkalahatang iskedyul",
@@ -1451,6 +1510,7 @@
"noSelectionMessage": "Piliin ang pangkalahatang iskedyul, ang iskedyul ng pang-adulto o isang koponan mula sa kaliwa.",
"scheduleTab": "Iskedyul",
"tableTab": "mesa",
"downloadPDF": "I - download ang PDF",
"refreshTable": "I-refresh ang talahanayan",
"tableLoading": "Nilo-load ang talahanayan…",
"fetchTeamData": "Kunin ang iskedyul at mga resulta",
@@ -1466,12 +1526,25 @@
"homeTeam": "Home team",
"guestTeam": "Ang away team",
"result": "Resulta",
"homeGame": "Bahay",
"participants": "Mga kalahok",
"swapButton": "I-swap",
"away": "Sa Labas",
"homeLabel": "Bahay",
"awayLabel": "Malayo",
"swapSuccess": "Username or email address *",
"swapFailed": "Hindi maaaring palitan ang Home/Away.",
"plannedShort": "Naplano",
"readyShort": "pasaway",
"ageClass": "pangkat ng edad",
"code": "code",
"homePin": "PIN ng tahanan",
"guestPin": "Away PIN",
"noGames": "Walang available na mga tugma",
"leagueTable": "Mesa ng liga",
"position": "Posisyon",
"team": "pangkat",
"teams": "Mga Koponan",
"matches": "mga posporo",
"completedShort": "Nakumpleto",
"pendingShort": "Bukas",
@@ -1492,6 +1565,7 @@
"imageSize": "Laki ng larawan",
"noMembersWithImages": "Walang nakitang mga miyembro na may mga larawan.",
"playerSelection": "Pagpili ng manlalaro",
"vs": "kumpara sa",
"loadingMembers": "Nilo-load ang mga miyembro...",
"player": "Manlalaro",
"ready": "handa na",
@@ -1550,6 +1624,7 @@
"plannedLeague": "Plano na liga",
"plannedLeaguePlaceholder": "hal. district league, pagkatapos ng susunod na rehistro …",
"plannedLeagueHint": "Opsyonal. Hiwalay sa nakarehistrong liga (MyTischtennis).",
"team": "pangkat",
"teamId": "ID ng Team",
"groupId": "Group ID",
"association": "Samahan",
@@ -1614,6 +1689,7 @@
"noIssues": "Walang bukas na mga isyu sa configuration.",
"parseUrlAction": "Suriin ang URL",
"myTischtennisUrlPlaceholder": "myTischtennis URL...",
"teams": "Mga Koponan",
"planningTitle": "Pagpaplano ng pangkat",
"planningSubtitle": "Ipamahagi ang mga miyembro sa mga nakaiskedyul na koponan, itakda ang pagkakasunud-sunod, at tingnan ang mga bukas na takdang-aralin.",
"searchMembers": "Maghanap ng miyembro",
@@ -1714,6 +1790,7 @@
"title": "Nakabinbing Mga Kahilingan ng User",
"firstName": "Pangalan",
"lastName": "Apelyido",
"email": "E-mail",
"actions": "Mga aksyon",
"approve": "Aprubahan",
"reject": "I-dismiss",
@@ -1731,6 +1808,7 @@
"loadingMembers": "Iniimbitahan ang mga miyembro...",
"availableRoles": "Mga Magagamit na Tungkulin",
"clubMembers": "Mga miyembro ng club",
"email": "E-mail",
"role": "Tungkulin",
"status": "katayuan",
"actions": "Mga aksyon",
@@ -1851,6 +1929,7 @@
"subtitle": "Pangkalahatang-ideya ng lahat ng kahilingan, tugon at pagpapatupad ng API",
"backend": "Mga Setting ng Backend",
"all": "Lahat",
"mytischtennis": "myTable Tennis",
"ownBackend": "Sariling backend",
"logType": "Uri ng Log",
"apiRequests": "Mga Kahilingan sa API",
@@ -1878,6 +1957,7 @@
"executionTime": "Oras ng pagpapatupad",
"errorLabel": "Error",
"actions": "Mga aksyon",
"details": "Mga Detalye",
"previous": "Nakaraang",
"next": "Susunod",
"page": "Pahina",
@@ -1901,7 +1981,9 @@
"status": "katayuan",
"executionTime": "Oras ng pagpapatupad",
"schedulerJob": "Trabaho ng Scheduler",
"error": "Error"
"error": "Error",
"requestBody": "Humiling ng Katawan",
"responseBody": "Katawan ng Tugon"
}
},
"csvImport": {
@@ -1922,10 +2004,12 @@
},
"dialogs": {
"info": {
"title": "impormasyon"
"title": "impormasyon",
"ok": "Sinop ko ba ito?"
},
"confirm": {
"title": "Kumpirmasyon",
"ok": "Sinop ko ba ito?",
"cancel": "Kanselahin"
}
},
@@ -1946,7 +2030,9 @@
"noConfigMessage": "Mangyaring i-configure muna ang paglipat ng miyembro sa mga setting.",
"goToSettings": "Mga Setting Saan pupunta?",
"transferConfiguration": "Configuration ng Transmission",
"server": "Servers",
"method": "Pamamaraan",
"format": "pormat",
"mode": "mode",
"bulkImport": "Bultuhang Pag-import",
"single": "Walang asawa",
@@ -2002,6 +2088,7 @@
"leagueTables": "JoomSport Standings",
"playersUpdated": "Na-update ang Manlalaro",
"results": "Mga resulta",
"teams": "Mga Koponan",
"neverFetched": "Never Retrieved",
"refreshStatistics": "I-reload ang Stats",
"errorLoadingAccount": "Error sa paglo-load ng myTischtennis account",
@@ -2061,6 +2148,7 @@
"title": "Mga tala para sa",
"phone": "Telepono no.",
"memberImage": "Miyembro ng Larawan",
"tags": "Mga Tag",
"selectTags": "Piliin ang Mga Tag",
"newNote": "Bagong tala",
"add": "Idagdag",
@@ -2081,6 +2169,7 @@
"greeting": "Pagtanggap",
"result": "Pagpasok ng mga resulta",
"completion": "Pagkumpleto",
"vs": "kumpara sa",
"startTime": "oras ng pagsisimula",
"endTime": "oras ng pagtatapos",
"setCurrentTime": "Itakda ang kasalukuyang oras",
@@ -2164,6 +2253,7 @@
"courtDrawing": {
"title": "I-configure ang ehersisyo ng table tennis",
"cancel": "Kanselahin",
"ok": "Sinop ko ba ito?",
"durationMinutes": "Tagal (minuto)",
"durationText": "Tagal (teksto)",
"durationTextPlaceholder": "hal. 2x5",
@@ -2282,6 +2372,7 @@
"modalDialogs": "Mga Modal na Dialogue",
"simpleModal": "Simpleng Modal",
"largeModal": "Malaking Modal",
"fullscreenModal": "Modal ng Fullscreen",
"nonModalDialogs": "Mga di-modal na diyalogo",
"nonModalDialog": "Di-modal na diyalogo",
"multipleDialogs": "Maramihang Dialog",
@@ -2301,6 +2392,7 @@
"largeModalText": "Ito ay isang mahusay na modal dialogue.",
"largeModalText2": "Nag-aalok ito ng mas maraming espasyo para sa nilalaman.",
"scrollArea": "Mag-scroll area para sa maraming content...",
"fullscreenModalTitle": "Fullscreen modal dialog",
"fullscreenModalText": "Ito ay isang fullscreen na dialog.",
"fullscreenModalText2": "Sinasakop nito ang halos buong screen (90vw x 90vh).",
"nonModalTitle": "Di-modal na diyalogo",
@@ -2368,6 +2460,7 @@
"strokeTypeCounter": "Kontra",
"strokeTypeTopspin": "Top spin",
"strokeTypeFlip": "pitik",
"strokeTypeBlock": "I - block",
"strokeTypeSmash": "Basagin",
"strokeTypeChopDefense": "Chop defense",
"strokeTypeLobDefense": "Lob defense",
@@ -2387,6 +2480,7 @@
"animationRunning": "Kasalukuyang ginagawa ang animation..."
},
"nuscoreAnalyzer": {
"title": "🔍 nuscore analyzer",
"description": "Sinusuri at dina-download ang mga mapagkukunan ng nuscore para sa lokal na paggamit",
"analyze": "🔍 nuscore analysis",
"analyzing": "Sinusuri...",

View File

@@ -37,6 +37,7 @@
"choose": "Choisir",
"apply": "Appliquer",
"clear": "Effacer",
"details": "Détails",
"view": "Afficher",
"name": "nom",
"date": "Date",
@@ -48,6 +49,8 @@
"enabled": "Activé",
"disabled": "Désactivé",
"required": "Obligatoire",
"optional": "option",
"in": "à",
"min": "min",
"minutes": "minutes",
"hours": "heures",
@@ -270,7 +273,7 @@
"tl": "Tagalog",
"th": "ไทย (Thaï)",
"fil": "Philippin",
"ceb": "Cebuano (Bisaya)"
"ceb": "Cebuano (Biscaye)"
},
"messages": {
"success": "Succès",
@@ -334,6 +337,22 @@
"noGroupsAssigned": "Aucun groupe attribué",
"noGroupsAvailable": "Aucun groupe disponible",
"addGroup": "Ajouter un groupe...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "statut",
"bankAccountStatusActive": "Actif",
"bankAccountStatusPending": "En attente",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Retirer",
"image": "Image",
"selectFile": "Choisir un fichier",
@@ -660,6 +679,7 @@
"trainingDayChecklist": "Liste de contrôle finale",
"trainingStart": "Début de l'entraînement",
"trainingEnd": "Fin de l'entraînement",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "Plage d'entraînement",
"trainingWindowUnset": "Pas encore défini",
"groupsLabel": "Groupes",
@@ -713,6 +733,9 @@
"durationExampleShort": "p. ex. 2x7",
"showImage": "Afficher image/schéma",
"participants": "Participants",
"excusedParticipants": "Handicapé",
"availableParticipants": "Possibilité d'être présent",
"activeMembers": "Les membres actifs ou adhérents",
"searchParticipants": "Rechercher des participants",
"filterAll": "Tous",
"filterPresent": "Présent",
@@ -956,6 +979,7 @@
"doublesTournament": "Tournoi de double",
"doublesTournamentHint": "Bascule toutes les classes existantes en doubles et crée de nouvelles classes en doubles par défaut.",
"genderAll": "Tous",
"genderMixed": "Mixte",
"minBirthYear": "Né dans l'année ou plus tard",
"selectClass": "Sélectionnez une classe",
"tabConfig": "Configuration",
@@ -987,6 +1011,7 @@
"addExternalParticipant": "Ajouter un participant externe",
"firstName": "Prénom",
"lastName": "Nom de famille",
"optional": "facultatif",
"birthdate": "Date de naissance",
"addClubMember": "Ajouter un membre du club",
"advancersPerGroup": "Promoteurs par groupe",
@@ -1004,10 +1029,12 @@
"resetGroups": "Réinitialiser les groupes",
"groupsOverview": "Aperçu des groupes",
"groupNumber": "Groupe",
"index": "indice",
"position": "La place",
"player": "Patineurs",
"points": "Points",
"sets": "phrases",
"diff": "Différence",
"pointsRatio": "Points de jeu",
"livePosition": "Siège en direct",
"pairings": "Doubles appariements",
@@ -1260,6 +1287,7 @@
"statusActionStart": "Commencer"
},
"myTischtennis": {
"title": "mon compte tennis de table",
"linkedAccount": "Compte lié",
"passwordSaved": "Mot de passe enregistré",
"yes": "Oui",
@@ -1437,6 +1465,34 @@
"title": "Horaires",
"subtitle": "Sélectionnez les équipes, examinez les calendriers et gardez les classements en vue.",
"importSchedule": "Calendrier d'importation",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "Propre équipe",
"selectTeam": "Sélectionner une équipe",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"zip": "Postal code",
"city": "City",
"location": "Emplacement",
"matchCredentials": "Match credentials (optional)",
"notes": "Remarques",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Chargement de la galerie…",
"gallery": "Galerie des membres",
"overallSchedule": "Calendrier global",
@@ -1466,12 +1522,25 @@
"homeTeam": "Équipe à domicile",
"guestTeam": "Équipe à l'extérieur",
"result": "Résultat",
"homeGame": "Maison",
"participants": "Participants",
"swapButton": "Swap",
"away": "Sortants",
"homeLabel": "Maison",
"awayLabel": "Loin",
"swapSuccess": "Accueil/Extérieur Échangé",
"swapFailed": "Accueil/Absent n'a pas pu être échangé.",
"plannedShort": "planifié",
"readyShort": "préparé par",
"ageClass": "Tranche d'âge",
"code": "code",
"homePin": "Code PIN Accueil",
"guestPin": "Code PIN absent",
"noGames": "Aucun match disponible",
"leagueTable": "Tableau de la ligue",
"position": "Position",
"team": "équipe",
"teams": "équipes",
"matches": "matchs",
"completedShort": "Complété",
"pendingShort": "Ouvrir",
@@ -1492,6 +1561,7 @@
"imageSize": "Taille de l'image",
"noMembersWithImages": "Aucun membre avec des images trouvé.",
"playerSelection": "Sélection des joueurs",
"vs": "contre",
"loadingMembers": "Chargement des membres...",
"player": "Joueur",
"ready": "Prêt",
@@ -1549,6 +1619,7 @@
"plannedLeague": "Ligue prévue",
"plannedLeaguePlaceholder": "ex. ligue de district, après la prochaine inscription …",
"plannedLeagueHint": "Facultatif. Indépendant de la ligue enregistrée (MyTischtennis).",
"team": "équipe",
"teamId": "ID d'équipe",
"groupId": "Identifiant du groupe",
"association": "Association",
@@ -1612,6 +1683,7 @@
"noIssues": "Aucun problème de configuration ouvert.",
"parseUrlAction": "Vérifier l'URL",
"myTischtennisUrlPlaceholder": "URL de myTischtennis...",
"teams": "équipes",
"planningTitle": "Planification d'équipe",
"planningSubtitle": "Répartissez les membres dans les équipes planifiées, définissez l'ordre et consultez les affectations ouvertes.",
"searchMembers": "Rechercher un membre",
@@ -1712,6 +1784,7 @@
"title": "Demandes d'utilisateurs en attente",
"firstName": "Prénom",
"lastName": "Nom de famille",
"email": "E-mail",
"actions": "Actes",
"approve": "Approuver",
"reject": "Rejeter",
@@ -1729,6 +1802,7 @@
"loadingMembers": "Inviter les membres...",
"availableRoles": "Rôles disponibles",
"clubMembers": "Membres du club",
"email": "E-mail",
"role": "Rôle",
"status": "statut",
"actions": "Actes",
@@ -1879,6 +1953,7 @@
"executionTime": "Temps d'exécution",
"errorLabel": "Erreur",
"actions": "Actes",
"details": "Détails",
"previous": "Précédent",
"next": "Suivant",
"page": "Page",
@@ -1949,7 +2024,10 @@
"noConfigMessage": "Veuillez d'abord configurer le transfert de membre dans les paramètres.",
"goToSettings": "Paramètres Où aller ?",
"transferConfiguration": "Configuration de transmission",
"server": "serveur",
"endpoint": "Point de terminaison",
"method": "Méthode",
"format": "format",
"mode": "mode",
"bulkImport": "Importation en masse",
"single": "Célibataire",
@@ -2005,6 +2083,7 @@
"leagueTables": "Classement JoomSport",
"playersUpdated": "Joueur mis à jour",
"results": "Résultats",
"teams": "équipes",
"neverFetched": "Jamais récupéré",
"refreshStatistics": "Recharger les statistiques",
"errorLoadingAccount": "Erreur de chargement du compte myTischtennis",
@@ -2064,6 +2143,7 @@
"title": "Remarques pour",
"phone": "N° de téléphone",
"memberImage": "Membre d'image",
"tags": "balises",
"selectTags": "Sélectionnez les balises",
"newNote": "Nouvelle remarque",
"add": "Ajouter",
@@ -2084,6 +2164,7 @@
"greeting": "Accueillant",
"result": "Saisie des résultats",
"completion": "Achèvement",
"vs": "contre",
"startTime": "heure de début",
"endTime": "heure de fin",
"setCurrentTime": "Régler l'heure actuelle",
@@ -2372,6 +2453,7 @@
"strokeTypeCounter": "Contre",
"strokeTypeTopspin": "Rotation supérieure",
"strokeTypeFlip": "retourner",
"strokeTypeBlock": "Bloc",
"strokeTypeSmash": "Frappe",
"strokeTypeChopDefense": "Défense coupée",
"strokeTypeLobDefense": "Défense lobée",
@@ -2391,6 +2473,7 @@
"animationRunning": "Animation en cours..."
},
"nuscoreAnalyzer": {
"title": "🔍 analyseur nuscore",
"description": "Analyse et télécharge les ressources nuscore pour une utilisation locale",
"analyze": "🔍 analyse nuscore",
"analyzing": "Analyser...",
@@ -2544,6 +2627,7 @@
"player": "Patineurs",
"points": "Points",
"sets": "phrases",
"diff": "Différence",
"groupMatrices": "Matrices de groupe",
"allGames": "Toutes les villes",
"noActivities": "Aucune activité enregistrée pour cette journée de formation.",

View File

@@ -37,6 +37,7 @@
"choose": "Scegli",
"apply": "Applica",
"clear": "Cancella",
"details": "Dettagli",
"view": "Visualizza",
"name": "nome",
"date": "Data",
@@ -48,6 +49,8 @@
"enabled": "Abilitato",
"disabled": "Disabilitato",
"required": "Obbligatorio",
"optional": "Opzionale",
"in": "In",
"min": "min",
"minutes": "minuti",
"hours": "ore",
@@ -179,6 +182,7 @@
"memberTransfer": "Trasferimento membri",
"myTischtennisAccount": "Account myTischtennis",
"clickTtAccount": "Account HTTV / click-TT",
"clickTtBrowser": "HTTV/clic-TT",
"personalSettings": "Impostazioni personali",
"logout": "Disconnetti",
"login": "Accedi",
@@ -269,8 +273,7 @@
"zh": "中文 (Cinese)",
"tl": "Tagalog",
"th": "ไทย (Tailandese)",
"fil": "filippino",
"ceb": "Cebuano (Bisaya)"
"fil": "filippino"
},
"messages": {
"success": "Successo",
@@ -334,6 +337,22 @@
"noGroupsAssigned": "Nessun gruppo assegnato",
"noGroupsAvailable": "Nessun gruppo disponibile",
"addGroup": "Aggiungi gruppo...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "stato",
"bankAccountStatusActive": "Attivo",
"bankAccountStatusPending": "In attesa di",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Rimuovi",
"image": "Immagine",
"selectFile": "Seleziona file",
@@ -354,6 +373,7 @@
"lastTrainingFilterNoDate": "Senza ultimo allenamento",
"lastTrainingFilterNotInTraining": "« Non più in allenamento »",
"lastTrainingFilterHint": "Tabella: stagione corrente nella colonna AK. Dettaglio completo (entrambe le stagioni, ultimo allenamento, partecipazioni) al passaggio del mouse sulla riga.",
"rowTooltipSeparator": null,
"ttAgeClassCol": "Classe (TT)",
"ttAdult": "Adulti (non giovanili secondo la data)",
"ttFilterGroupJ": "Ragazze e ragazzi (misto)",
@@ -661,6 +681,7 @@
"trainingDayChecklist": "Checklist finale",
"trainingStart": "Inizio allenamento",
"trainingEnd": "Fine allenamento",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "Fascia di allenamento",
"trainingWindowUnset": "Non ancora impostato",
"groupsLabel": "Gruppi",
@@ -714,6 +735,9 @@
"durationExampleShort": "es. 2x7",
"showImage": "Mostra immagine/disegno",
"participants": "Partecipanti",
"excusedParticipants": "Disabilito",
"availableParticipants": "Possibilità di essere presenti",
"activeMembers": "Membri attivi",
"searchParticipants": "Cerca partecipanti",
"filterAll": "Tutti",
"filterPresent": "Presente",
@@ -920,8 +944,6 @@
"tournamentName": "Nome del torneo",
"winningSets": "Tariffe vincenti",
"numberOfTables": "Numero di tavoli",
"confirmDeleteSetTitle": "Elimina set",
"confirmDeleteSet": "Eliminare questo set?",
"table": "Tavolo",
"playerOne": "Giocatore 1",
"playerTwo": "Giocatore 2",
@@ -960,6 +982,7 @@
"doublesTournament": "Torneo di doppio",
"doublesTournamentHint": "Cambia tutte le classi esistenti in doppie e crea nuove classi come doppie per impostazione predefinita.",
"genderAll": "Tutto",
"genderMixed": "Misto",
"minBirthYear": "Nato nell'anno o successivo",
"selectClass": "Seleziona Classe",
"tabConfig": "Configurazione",
@@ -967,6 +990,8 @@
"tabParticipants": "Partecipanti",
"tabResults": "Risultati",
"tabPlacements": "Posizionamenti",
"confirmDeleteSetTitle": "Elimina set",
"confirmDeleteSet": "Eliminare questo set?",
"finalPlacements": "Posizionamenti finali",
"groupPlacements": "Posizionamenti di gruppo",
"noPlacementsYet": "Nessun posizionamento ancora disponibile.",
@@ -989,6 +1014,7 @@
"addExternalParticipant": "Aggiungi partecipante esterno",
"firstName": "Nome di battesimo",
"lastName": "Cognome",
"optional": "opzionale",
"birthdate": "Data di nascita",
"addClubMember": "Aggiungi membro del club",
"advancersPerGroup": "Promotori per gruppo",
@@ -1006,6 +1032,7 @@
"resetGroups": "Reimposta gruppi",
"groupsOverview": "Panoramica dei gruppi",
"groupNumber": "Gruppo",
"index": "indice",
"position": "La piazza",
"player": "Pattinatori",
"points": "Punti",
@@ -1262,6 +1289,7 @@
"statusActionStart": "Inizio"
},
"myTischtennis": {
"title": "il mio account di ping-pong",
"linkedAccount": "Conto collegato",
"passwordSaved": "Password salvata",
"yes": "SÌ",
@@ -1439,6 +1467,35 @@
"title": "Orari",
"subtitle": "Seleziona le squadre, rivedi le partite e tieni sotto controllo le classifiche.",
"importSchedule": "Importa pianificazione",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "La propria squadra",
"selectTeam": "Seleziona squadra",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "Indirizzo",
"zip": "Postal code",
"city": "City",
"location": "Posizione",
"matchCredentials": "Match credentials (optional)",
"notes": "Note",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Caricamento galleria…",
"gallery": "Galleria dei membri",
"overallSchedule": "Programma generale",
@@ -1468,12 +1525,25 @@
"homeTeam": "Squadra di casa",
"guestTeam": "Squadra ospite",
"result": "Risultato",
"homeGame": "Casa",
"participants": "Partecipanti",
"swapButton": "Scambia",
"away": "Outward",
"homeLabel": "Casa",
"awayLabel": "Lontano",
"swapSuccess": "Home/Away Swapped",
"swapFailed": "Non è stato possibile scambiare Home/Away.",
"plannedShort": "previsto",
"readyShort": "preparato",
"ageClass": "Gruppo di età",
"code": "codice",
"homePin": "PIN di casa",
"guestPin": "PIN di assenza",
"noGames": "Nessuna corrispondenza disponibile",
"leagueTable": "Classifica della lega",
"position": "Posizione",
"team": "squadra",
"teams": "squadre",
"matches": "partite",
"completedShort": "Completato",
"pendingShort": "Aprire",
@@ -1494,6 +1564,7 @@
"imageSize": "Dimensione dell'immagine",
"noMembersWithImages": "Nessun membro con immagini trovato.",
"playerSelection": "Selezione del giocatore",
"vs": "contro",
"loadingMembers": "Caricamento membri...",
"player": "Giocatore",
"ready": "Pronto",
@@ -1552,6 +1623,7 @@
"plannedLeague": "Campionato previsto",
"plannedLeaguePlaceholder": "es. campionato di zona, dopo la prossima iscrizione …",
"plannedLeagueHint": "Facoltativo. Indipendente dal campionato registrato (MyTischtennis).",
"team": "squadra",
"teamId": "Identificativo della squadra",
"groupId": "Identificativo del gruppo",
"association": "Associazione",
@@ -1616,6 +1688,7 @@
"noIssues": "Nessun problema di configurazione aperto.",
"parseUrlAction": "Controlla l'URL",
"myTischtennisUrlPlaceholder": "URL di myTischtennis...",
"teams": "squadre",
"planningTitle": "Pianificazione del gruppo",
"planningSubtitle": "Distribuisci i membri ai team pianificati, imposta l'ordine e visualizza i compiti aperti.",
"searchMembers": "Cerca membro",
@@ -1716,6 +1789,7 @@
"title": "Richieste utente in sospeso",
"firstName": "Nome di battesimo",
"lastName": "Cognome",
"email": "E-mail",
"actions": "Azioni",
"approve": "Approvare",
"reject": "Congedare",
@@ -1733,6 +1807,7 @@
"loadingMembers": "Invito dei membri...",
"availableRoles": "Ruoli disponibili",
"clubMembers": "Membri del club",
"email": "E-mail",
"role": "Ruolo",
"status": "stato",
"actions": "Azioni",
@@ -1882,6 +1957,7 @@
"executionTime": "Tempo di esecuzione",
"errorLabel": "Errore",
"actions": "Azioni",
"details": "Dettagli",
"previous": "Precedente",
"next": "Prossimo",
"page": "Pagina",
@@ -1952,7 +2028,10 @@
"noConfigMessage": "Configura prima il trasferimento del membro nelle impostazioni.",
"goToSettings": "Impostazioni Dove si va?",
"transferConfiguration": "Configurazione della trasmissione",
"server": "server",
"endpoint": "Punto finale",
"method": "Metodo",
"format": "formato",
"mode": "modalità",
"bulkImport": "Importazione in blocco",
"single": "Separare",
@@ -2008,6 +2087,7 @@
"leagueTables": "Classifica JoomSport",
"playersUpdated": "Giocatore aggiornato",
"results": "Risultati",
"teams": "squadre",
"neverFetched": "Mai recuperato",
"refreshStatistics": "Ricarica le statistiche",
"errorLoadingAccount": "Errore durante il caricamento dell'account myTischtennis",
@@ -2067,6 +2147,7 @@
"title": "Note per",
"phone": "Telefono n.",
"memberImage": "Membro immagine",
"tags": "tag",
"selectTags": "Seleziona Tag",
"newNote": "Nuova nota",
"add": "Aggiungere",
@@ -2087,6 +2168,7 @@
"greeting": "Accogliente",
"result": "Immissione dei risultati",
"completion": "Completamento",
"vs": "contro",
"startTime": "ora di inizio",
"endTime": "ora di fine",
"setCurrentTime": "Imposta l'ora corrente",
@@ -2376,6 +2458,7 @@
"strokeTypeCounter": "Contro",
"strokeTypeTopspin": "Rotazione superiore",
"strokeTypeFlip": "capovolgere",
"strokeTypeBlock": "Blocco",
"strokeTypeSmash": "Schiacciata",
"strokeTypeChopDefense": "Difesa tagliata",
"strokeTypeLobDefense": "Difesa alta",
@@ -2395,6 +2478,7 @@
"animationRunning": "Animazione in corso..."
},
"nuscoreAnalyzer": {
"title": "🔍analizzatore nuscore",
"description": "Analizza e scarica le risorse nuscore per uso locale",
"analyze": "🔍analisi nuscore",
"analyzing": "Analizzando...",

View File

@@ -37,6 +37,7 @@
"choose": "選択",
"apply": "適用",
"clear": "クリア",
"details": "詳細",
"view": "表示",
"name": "名前",
"date": "日付",
@@ -48,6 +49,8 @@
"enabled": "有効",
"disabled": "無効",
"required": "必須",
"optional": "オプション",
"in": "ニ",
"min": "分",
"minutes": "分",
"hours": "時間",
@@ -55,6 +58,7 @@
"weeks": "週間",
"months": "か月",
"years": "年",
"ok": "わかりました",
"period": "期間",
"saving": "保存中..."
},
@@ -179,6 +183,7 @@
"memberTransfer": "メンバー転送",
"myTischtennisAccount": "myTischtennisアカウント",
"clickTtAccount": "HTTV / click-TT アカウント",
"clickTtBrowser": "HTTV / クリックTT",
"personalSettings": "個人設定",
"logout": "ログアウト",
"login": "ログイン",
@@ -270,7 +275,7 @@
"tl": "Tagalog (タガログ語)",
"th": "ไทย (タイ語)",
"fil": "Filipino (フィリピン語)",
"ceb": "Cebuano (Bisaya)"
"ceb": "セブアノ(ビサヤ)"
},
"messages": {
"success": "成功",
@@ -334,6 +339,22 @@
"noGroupsAssigned": "グループ未割り当て",
"noGroupsAvailable": "利用可能なグループがありません",
"addGroup": "グループを追加...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "状態",
"bankAccountStatusActive": "アクティブ",
"bankAccountStatusPending": "保留中",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "削除",
"image": "画像",
"selectFile": "ファイルを選択",
@@ -354,6 +375,7 @@
"lastTrainingFilterNoDate": "最終参加なし",
"lastTrainingFilterNotInTraining": "「参加なし」フラグ",
"lastTrainingFilterHint": "表AK列は今シーズン。列にマウスを乗せると両シーズン・最終参加・参加回数分かる場合を表示。",
"rowTooltipSeparator": null,
"ttAgeClassCol": "年齢TT",
"ttAdult": "一般(基準日でジュニアではない)",
"ttFilterGroupJ": "男女混合",
@@ -661,6 +683,7 @@
"trainingDayChecklist": "完了チェック",
"trainingStart": "練習開始",
"trainingEnd": "練習終了",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "練習時間帯",
"trainingWindowUnset": "未設定",
"groupsLabel": "グループ",
@@ -714,6 +737,9 @@
"durationExampleShort": "例: 2x7",
"showImage": "画像/図を表示",
"participants": "参加者",
"excusedParticipants": "無効",
"availableParticipants": "出席可能",
"activeMembers": "すべてのメンバー",
"searchParticipants": "参加者を検索",
"filterAll": "すべて",
"filterPresent": "出席",
@@ -920,8 +946,6 @@
"tournamentName": "大会名",
"winningSets": "勝率",
"numberOfTables": "卓数",
"confirmDeleteSetTitle": "セットを削除",
"confirmDeleteSet": "このセットを本当に削除しますか?",
"table": "卓",
"playerOne": "選手 1",
"playerTwo": "選手 2",
@@ -960,6 +984,7 @@
"doublesTournament": "ダブルストーナメント",
"doublesTournamentHint": "既存のクラスをすべて double に切り替え、デフォルトで新しいクラスを double として作成します。",
"genderAll": "全て",
"genderMixed": "混合",
"minBirthYear": "年以降生まれ",
"selectClass": "クラスの選択",
"tabConfig": "構成",
@@ -967,6 +992,8 @@
"tabParticipants": "参加者",
"tabResults": "結果",
"tabPlacements": "配置",
"confirmDeleteSetTitle": "セットを削除",
"confirmDeleteSet": "このセットを本当に削除しますか?",
"finalPlacements": "最終順位",
"groupPlacements": "グループの配置",
"noPlacementsYet": "まだ利用可能な配置はありません。",
@@ -989,6 +1016,7 @@
"addExternalParticipant": "外部参加者の追加",
"firstName": "ファーストネーム",
"lastName": "姓",
"optional": "オプション",
"birthdate": "生年月日",
"addClubMember": "クラブメンバーを追加",
"advancersPerGroup": "グループごとのプロモーター",
@@ -1006,10 +1034,12 @@
"resetGroups": "グループのリセット",
"groupsOverview": "グループの概要",
"groupNumber": "グループ",
"index": "索引",
"position": "広場",
"player": "スケーター",
"points": "ポイント",
"sets": "フレーズ",
"diff": "差分",
"pointsRatio": "ゲームポイント",
"livePosition": "ライブシート",
"pairings": "ダブルペアリング",
@@ -1262,6 +1292,7 @@
"statusActionStart": "始める"
},
"myTischtennis": {
"title": "私の卓球アカウント",
"linkedAccount": "リンクされたアカウント",
"passwordSaved": "パスワードが保存されました",
"yes": "はい",
@@ -1423,7 +1454,8 @@
"uploadNote": "注: アクティビティが保存されるまで、画像はアップロードされません。",
"uploadedImages": "アップロードされたビデオ:",
"delete": "消去",
"cancel": "キャンセル"
"cancel": "キャンセル",
"min": "分"
},
"accident": {
"reportAccident": "事故の報告",
@@ -1439,6 +1471,35 @@
"title": "スケジュール",
"subtitle": "チームを選択し、試合日程を確認し、リーグ表を常に表示します。",
"importSchedule": "輸入スケジュール",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "自分のチーム",
"selectTeam": "チームを選択",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "住所",
"zip": "Postal code",
"city": "City",
"location": "位置",
"matchCredentials": "Match credentials (optional)",
"notes": "注意事項",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "ギャラリーを読み込み中…",
"gallery": "メンバーギャラリー",
"overallSchedule": "全体スケジュール",
@@ -1468,12 +1529,25 @@
"homeTeam": "ホームチーム",
"guestTeam": "アウェイチーム",
"result": "結果",
"homeGame": "家",
"participants": "参加者",
"swapButton": "交換",
"away": "外側",
"homeLabel": "家",
"awayLabel": "離れて",
"swapSuccess": "ホーム/アウェイススワップ済み",
"swapFailed": "ホーム/アウェイは交換できませんでした。",
"plannedShort": "計画済み",
"readyShort": "Prepared",
"ageClass": "年齢層",
"code": "コード",
"homePin": "ホームPIN",
"guestPin": "アウェイPIN",
"noGames": "利用可能な一致はありません",
"leagueTable": "順位表",
"position": "位置",
"team": "チーム",
"teams": "チーム",
"matches": "マッチ",
"completedShort": "完了",
"pendingShort": "開ける",
@@ -1494,6 +1568,7 @@
"imageSize": "画像サイズ",
"noMembersWithImages": "画像のあるメンバーは見つかりませんでした。",
"playerSelection": "選手の選択",
"vs": "対",
"loadingMembers": "メンバーを読み込んでいます...",
"player": "プレーヤー",
"ready": "準備ができて",
@@ -1552,6 +1627,7 @@
"plannedLeague": "予定リーグ",
"plannedLeaguePlaceholder": "例:地区リーグ、次回登録後 …",
"plannedLeagueHint": "任意。登録済みリーグMyTischtennisとは別です。",
"team": "チーム",
"teamId": "チームID",
"groupId": "グループID",
"association": "協会",
@@ -1616,6 +1692,7 @@
"noIssues": "未解決の構成の問題はありません。",
"parseUrlAction": "URLを確認する",
"myTischtennisUrlPlaceholder": "myTischtennis URL...",
"teams": "チーム",
"planningTitle": "チーム計画",
"planningSubtitle": "スケジュールされたチームにメンバーを割り当て、順序を設定し、未解決の割り当てを確認します。",
"searchMembers": "メンバーを検索",
@@ -1716,6 +1793,7 @@
"title": "保留中のユーザーリクエスト",
"firstName": "ファーストネーム",
"lastName": "姓",
"email": "電子メール",
"actions": "アクション",
"approve": "承認する",
"reject": "却下する",
@@ -1733,6 +1811,7 @@
"loadingMembers": "メンバーを招待中...",
"availableRoles": "利用可能な役割",
"clubMembers": "クラブ会員",
"email": "電子メール",
"role": "役割",
"status": "状態",
"actions": "アクション",
@@ -1883,6 +1962,7 @@
"executionTime": "実行時間",
"errorLabel": "エラー",
"actions": "アクション",
"details": "詳細",
"previous": "前の",
"next": "次",
"page": "ページ",
@@ -1929,10 +2009,12 @@
},
"dialogs": {
"info": {
"title": "情報"
"title": "情報",
"ok": "わかりました"
},
"confirm": {
"title": "確認",
"ok": "わかりました",
"cancel": "キャンセル"
}
},
@@ -1953,7 +2035,10 @@
"noConfigMessage": "最初に設定でメンバーの移行を設定してください。",
"goToSettings": "設定 どこへ?",
"transferConfiguration": "送信構成",
"server": "サーバ",
"endpoint": "終点",
"method": "方法",
"format": "形式",
"mode": "モード",
"bulkImport": "一括インポート",
"single": "シングル",
@@ -2009,6 +2094,7 @@
"leagueTables": "JoomSport 順位表",
"playersUpdated": "プレーヤーが更新されました",
"results": "結果",
"teams": "チーム",
"neverFetched": "決して取得されない",
"refreshStatistics": "統計をリロードする",
"errorLoadingAccount": "myTischtennis アカウントの読み込みエラー",
@@ -2068,6 +2154,7 @@
"title": "注意事項",
"phone": "電話番号",
"memberImage": "画像メンバー",
"tags": "タグ",
"selectTags": "タグの選択",
"newNote": "新しいメモ",
"add": "追加",
@@ -2088,6 +2175,7 @@
"greeting": "歓迎する",
"result": "結果の入力",
"completion": "完了",
"vs": "対",
"startTime": "開始時間",
"endTime": "終了時間",
"setCurrentTime": "現在時刻を設定する",
@@ -2171,6 +2259,7 @@
"courtDrawing": {
"title": "卓球の練習を構成する",
"cancel": "キャンセル",
"ok": "わかりました",
"durationMinutes": "継続時間 (分)",
"durationText": "期間(テキスト)",
"durationTextPlaceholder": "例えば2x5",
@@ -2377,6 +2466,7 @@
"strokeTypeCounter": "カウンター",
"strokeTypeTopspin": "トップスピン",
"strokeTypeFlip": "フリップ",
"strokeTypeBlock": "ブロック",
"strokeTypeSmash": "スマッシュ",
"strokeTypeChopDefense": "カット守備",
"strokeTypeLobDefense": "ロブ守備",
@@ -2396,6 +2486,7 @@
"animationRunning": "アニメーション進行中..."
},
"nuscoreAnalyzer": {
"title": "🔍 nuscore アナライザー",
"description": "ローカルで使用するために nuscore リソースを分析してダウンロードします",
"analyze": "🔍 ヌスコア分析",
"analyzing": "分析中...",
@@ -2549,6 +2640,7 @@
"player": "スケーター",
"points": "ポイント",
"sets": "フレーズ",
"diff": "差分",
"groupMatrices": "グループ行列",
"allGames": "すべての都市",
"noActivities": "このトレーニング日のアクティビティは記録されませんでした。",
@@ -2583,6 +2675,7 @@
"teamGenderLabel": "チーム性別:",
"teamAgeGroupLabel": "チーム年齢区分:",
"generatedAt": "作成日時:",
"lineupQttr": "(問)TTR",
"plannedLeagueLabel": "予定リーグ:"
}
}

View File

@@ -37,6 +37,7 @@
"choose": "Wybierz",
"apply": "Zastosuj",
"clear": "Wyczyść",
"details": "Bliższe dane",
"view": "Pokaż",
"name": "nazwa",
"date": "Data",
@@ -47,6 +48,8 @@
"enabled": "Włączony",
"disabled": "Wyłączony",
"required": "Wymagane",
"optional": "Opcjonalnie",
"in": "w",
"min": "min",
"minutes": "minuty",
"hours": "godziny",
@@ -178,6 +181,7 @@
"memberTransfer": "Transfer członków",
"myTischtennisAccount": "Konto myTischtennis",
"clickTtAccount": "Konto HTTV / click-TT",
"clickTtBrowser": "HTTV / kliknij-TT",
"personalSettings": "Ustawienia osobiste",
"logout": "Wyloguj",
"login": "Zaloguj",
@@ -269,7 +273,7 @@
"tl": "tagalski",
"th": "ไทย (Tajski)",
"fil": "Filipiński",
"ceb": "Cebuano (Bisaya)"
"ceb": "Cebuański (Bisaya)"
},
"messages": {
"success": "Sukces",
@@ -333,6 +337,22 @@
"noGroupsAssigned": "Brak przypisanych grup",
"noGroupsAvailable": "Brak dostępnych grup",
"addGroup": "Dodaj grupę...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "status",
"bankAccountStatusActive": "Aktywny",
"bankAccountStatusPending": "Aż do",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Usuń",
"image": "Obraz",
"selectFile": "Wybierz plik",
@@ -353,6 +373,7 @@
"lastTrainingFilterNoDate": "Bez ostatniego treningu",
"lastTrainingFilterNotInTraining": "„Nie trenuje już”",
"lastTrainingFilterHint": "Tabela: bieżący sezon w kolumnie AK. Pełne szczegóły (oba sezony, ostatni trening, udziały) po najechaniu na wiersz.",
"rowTooltipSeparator": null,
"ttAgeClassCol": "Kategoria (TT)",
"ttAdult": "Dorośli (brak juniora wg terminu)",
"ttFilterGroupJ": "Dziewczęta i chłopcy (mieszane)",
@@ -658,6 +679,7 @@
"trainingDayChecklist": "Lista końcowa",
"trainingStart": "Początek treningu",
"trainingEnd": "Koniec treningu",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "Okno treningowe",
"trainingWindowUnset": "Jeszcze nie ustawiono",
"groupsLabel": "Grupy",
@@ -711,6 +733,9 @@
"durationExampleShort": "np. 2x7",
"showImage": "Pokaż obraz/rysunek",
"participants": "Uczestnicy",
"excusedParticipants": "Wył.",
"availableParticipants": "Możliwa obecność",
"activeMembers": "Aktywni użytkownicy",
"searchParticipants": "Szukaj uczestników",
"filterAll": "Wszystkie",
"filterPresent": "Obecny",
@@ -917,8 +942,6 @@
"tournamentName": "Nazwa turnieju",
"winningSets": "Zwycięskie stawki",
"numberOfTables": "Liczba stołów",
"confirmDeleteSetTitle": "Usuń seta",
"confirmDeleteSet": "Czy na pewno usunąć tego seta?",
"table": "Stół",
"playerOne": "Zawodnik 1",
"playerTwo": "Zawodnik 2",
@@ -956,6 +979,7 @@
"doublesTournament": "Turniej gry podwójnej",
"doublesTournamentHint": "Przełącza wszystkie istniejące klasy na podwójne i domyślnie tworzy nowe klasy jako podwójne.",
"genderAll": "Wszystko",
"genderMixed": "Mieszany",
"minBirthYear": "Urodzony w roku lub później",
"selectClass": "Wybierz klasę",
"tabConfig": "Konfiguracja",
@@ -963,6 +987,8 @@
"tabParticipants": "Uczestnicy",
"tabResults": "Wyniki",
"tabPlacements": "Miejsca",
"confirmDeleteSetTitle": "Usuń seta",
"confirmDeleteSet": "Czy na pewno usunąć tego seta?",
"finalPlacements": "Ostateczne miejsca docelowe",
"groupPlacements": "Miejsca grupowe",
"noPlacementsYet": "Nie ma jeszcze dostępnych miejsc docelowych.",
@@ -985,6 +1011,7 @@
"addExternalParticipant": "Dodaj uczestnika zewnętrznego",
"firstName": "Imię",
"lastName": "Nazwisko",
"optional": "fakultatywny",
"birthdate": "Data urodzenia",
"addClubMember": "Dodaj członka klubu",
"advancersPerGroup": "Promotorzy na grupę",
@@ -1002,10 +1029,12 @@
"resetGroups": "Zresetuj grupy",
"groupsOverview": "Przegląd grup",
"groupNumber": "Grupa",
"index": "indeks",
"position": "Kwadrat",
"player": "Łyżwiarze",
"points": "Zwrotnica",
"sets": "frazesy",
"diff": "Róż",
"pointsRatio": "Punkty gry",
"livePosition": "Siedzisko na żywo",
"pairings": "Podwójne pary",
@@ -1258,6 +1287,7 @@
"statusActionStart": "Start"
},
"myTischtennis": {
"title": "moje konto w tenisie stołowym",
"linkedAccount": "Połączone konto",
"passwordSaved": "Hasło zapisane",
"yes": "Tak",
@@ -1434,6 +1464,35 @@
"title": "Harmonogramy",
"subtitle": "Wybieraj drużyny, przeglądaj mecze i kontroluj tabele ligowe.",
"importSchedule": "Harmonogram importu",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "Własny zespół",
"selectTeam": "Wybierz zespół",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "Adres",
"zip": "Postal code",
"city": "City",
"location": "Lokalizacja",
"matchCredentials": "Match credentials (optional)",
"notes": "Notatki",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Ładowanie galerii…",
"gallery": "Galeria członków",
"overallSchedule": "Ogólny harmonogram",
@@ -1463,12 +1522,25 @@
"homeTeam": "Zespół gospodarzy",
"guestTeam": "Zespół wyjazdowy",
"result": "Wynik",
"homeGame": "Dom",
"participants": "Uczestnicy",
"swapButton": "Zamień",
"away": "Za granicą",
"homeLabel": "Dom",
"awayLabel": "Z dala",
"swapSuccess": "Zamieniono dom/wyjazd",
"swapFailed": "Nie można zamienić pozycji Home/Away.",
"plannedShort": "planowany",
"readyShort": "sporządzono",
"ageClass": "Grupa wiekowa",
"code": "kod",
"homePin": "Domowy PIN",
"guestPin": "PIN wyjazdowy",
"noGames": "Brak dostępnych dopasowań",
"leagueTable": "Tabela ligowa",
"position": "Pozycja",
"team": "zespół",
"teams": "zespoły",
"matches": "zapałki",
"completedShort": "Zakończony",
"pendingShort": "Otwarte",
@@ -1547,6 +1619,7 @@
"plannedLeague": "Planowana klasa rozgrywkowa",
"plannedLeaguePlaceholder": "np. klasa okręgowa, po następnej deklaracji …",
"plannedLeagueHint": "Opcjonalnie. Niezależnie od zgłoszonej ligi (MyTischtennis).",
"team": "zespół",
"teamId": "Identyfikator zespołu",
"groupId": "Identyfikator grupy",
"association": "Stowarzyszenie",
@@ -1611,6 +1684,7 @@
"noIssues": "Żadnych otwartych problemów z konfiguracją.",
"parseUrlAction": "Sprawdź adres URL",
"myTischtennisUrlPlaceholder": "Adres URL mojego Tischtennis...",
"teams": "zespoły",
"planningTitle": "Planowanie zespołu",
"planningSubtitle": "Przydzielaj członków zaplanowanym zespołom, ustalaj kolejność i przeglądaj otwarte zadania.",
"searchMembers": "Wyszukaj członka",
@@ -1711,6 +1785,7 @@
"title": "Oczekujące żądania użytkowników",
"firstName": "Imię",
"lastName": "Nazwisko",
"email": "E-mail",
"actions": "Działania",
"approve": "Zatwierdzić",
"reject": "Odrzucać",
@@ -1728,6 +1803,7 @@
"loadingMembers": "Zapraszanie członków...",
"availableRoles": "Dostępne role",
"clubMembers": "Członkowie klubu",
"email": "E-mail",
"role": "Rola",
"status": "status",
"actions": "Działania",
@@ -1876,6 +1952,7 @@
"executionTime": "Czas wykonania",
"errorLabel": "Błąd",
"actions": "Działania",
"details": "Bliższe dane",
"previous": "Poprzedni",
"next": "Następny",
"page": "Strona",
@@ -1945,7 +2022,10 @@
"noConfigMessage": "Najpierw skonfiguruj przeniesienie członka w ustawieniach.",
"goToSettings": "Ustawienia Dokąd?",
"transferConfiguration": "Konfiguracja transmisji",
"server": "serwer",
"endpoint": "Punkt końcowy",
"method": "Metoda",
"format": "format",
"mode": "tryb",
"bulkImport": "Import zbiorczy",
"single": "Pojedynczy",
@@ -2001,6 +2081,7 @@
"leagueTables": "Klasyfikacja JoomSport",
"playersUpdated": "Gracz zaktualizowany",
"results": "Wyniki",
"teams": "zespoły",
"neverFetched": "Nigdy nie odzyskane",
"refreshStatistics": "Załaduj ponownie statystyki",
"errorLoadingAccount": "Błąd ładowania konta myTischtennis",
@@ -2060,6 +2141,7 @@
"title": "Notatki dla",
"phone": "Nr telefonu",
"memberImage": "Członek obrazu",
"tags": "tagi",
"selectTags": "Wybierz Tagi",
"newNote": "Nowa notatka",
"add": "Dodać",
@@ -2368,6 +2450,7 @@
"strokeTypeCounter": "Kontra",
"strokeTypeTopspin": "Najlepszy obrót",
"strokeTypeFlip": "trzepnięcie",
"strokeTypeBlock": "blok",
"strokeTypeSmash": "Smecz",
"strokeTypeChopDefense": "Obrona podcięciem",
"strokeTypeLobDefense": "Obrona lobem",
@@ -2387,6 +2470,7 @@
"animationRunning": "Animacja w toku..."
},
"nuscoreAnalyzer": {
"title": "🔍 analizator nuscore",
"description": "Analizuje i pobiera zasoby nuscore do użytku lokalnego",
"analyze": "🔍 analiza nuscore",
"analyzing": "Analizuję...",
@@ -2540,6 +2624,7 @@
"player": "Łyżwiarze",
"points": "Zwrotnica",
"sets": "frazesy",
"diff": "Róż",
"groupMatrices": "Macierze grupowe",
"allGames": "Wszystkie miasta",
"noActivities": "W tym dniu szkoleniowym nie zarejestrowano żadnych działań.",

View File

@@ -37,6 +37,7 @@
"choose": "เลือก",
"apply": "นำไปใช้",
"clear": "ล้าง",
"details": "รายละเอียด",
"view": "แสดง",
"name": "ชื่อ",
"date": "วันที่",
@@ -48,6 +49,8 @@
"enabled": "เปิดใช้งาน",
"disabled": "ปิดใช้งาน",
"required": "จำเป็น",
"optional": "ไม่จำเป็น",
"in": "ใน",
"min": "นาที",
"minutes": "นาที",
"hours": "ชั่วโมง",
@@ -55,6 +58,7 @@
"weeks": "สัปดาห์",
"months": "เดือน",
"years": "ปี",
"ok": "ตกลง",
"period": "ช่วงเวลา",
"saving": "กำลังบันทึก..."
},
@@ -179,6 +183,7 @@
"memberTransfer": "การโอนสมาชิก",
"myTischtennisAccount": "บัญชี myTischtennis",
"clickTtAccount": "บัญชี HTTV / click-TT",
"clickTtBrowser": "HTTV / คลิก-TT",
"personalSettings": "การตั้งค่าส่วนตัว",
"logout": "ออกจากระบบ",
"login": "เข้าสู่ระบบ",
@@ -270,7 +275,7 @@
"tl": "Tagalog (ตากาล็อก)",
"th": "ไทย",
"fil": "Filipino (ฟิลิปปินส์)",
"ceb": "Cebuano (Bisaya)"
"ceb": "เซบูอาโน (บิซายา)"
},
"messages": {
"success": "สำเร็จ",
@@ -285,6 +290,7 @@
"invalidFile": "ไฟล์ไม่ถูกต้อง",
"pleaseSelectImageFile": "กรุณาเลือกไฟล์ภาพ",
"fileTooLarge": "ไฟล์มีขนาดใหญ่เกินไป",
"imageMaxSize": "รูปภาพต้องมีขนาดสูงสุด 5 MB",
"note": "สังเกต"
},
"members": {
@@ -333,6 +339,24 @@
"noGroupsAssigned": "ยังไม่ได้กำหนดกลุ่ม",
"noGroupsAvailable": "ไม่มีกลุ่มให้เลือก",
"addGroup": "เพิ่มกลุ่ม...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"iban": "ไอแบน",
"bic": "บีไอซี",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "สถานะ",
"bankAccountStatusActive": "คล่องแคล่ว",
"bankAccountStatusPending": "รอดำเนินการ",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "เอาออก",
"image": "รูปภาพ",
"selectFile": "เลือกไฟล์",
@@ -353,6 +377,7 @@
"lastTrainingFilterNoDate": "ไม่มีการเข้าร่วมล่าสุด",
"lastTrainingFilterNotInTraining": "ทำเครื่องหมาย «ไม่เข้าร่วมอีกต่อไป»",
"lastTrainingFilterHint": "ตาราง: ฤดูกาลปัจจุบันในคอลัมน์ AK รายละเอียดครบ (สองฤดูกาล, การเข้าร่วมล่าสุด, จำนวนครั้ง) เมื่อชี้ที่แถว",
"rowTooltipSeparator": null,
"ttAgeClassCol": "รุ่นอายุ (TT)",
"ttAdult": "ผู้ใหญ่ (ไม่ใช่เยาวชนตามวันตัด)",
"ttFilterGroupJ": "ชายและหญิง (รวม)",
@@ -610,6 +635,7 @@
"monthFrom": "เดือนของ",
"monthTo": "เดือนถึง",
"selfRecipientName": "ชื่อของตัวเอง",
"iban": "ไอแบน",
"ibanWithoutCountry": "โดยไม่มีรหัสประเทศ",
"hourlyRate": "เงินเดือนรายชั่วโมง",
"hoursTotal": "จำนวนชั่วโมง",
@@ -660,6 +686,7 @@
"trainingDayChecklist": "รายการตรวจสอบความครบถ้วน",
"trainingStart": "เริ่มฝึกซ้อม",
"trainingEnd": "สิ้นสุดการฝึกซ้อม",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "ช่วงเวลาฝึกซ้อม",
"trainingWindowUnset": "ยังไม่ได้ตั้งค่า",
"groupsLabel": "กลุ่ม",
@@ -697,6 +724,7 @@
"activityOrTimeblock": "กิจกรรม / ช่วงเวลา",
"durationMinutes": "ระยะเวลา (นาที)",
"standardActivities": "กิจกรรมมาตรฐาน",
"standardDurationShort": "นาที",
"standardActivityAddError": "ไม่สามารถเพิ่มกิจกรรมมาตรฐานได้",
"addGroupActivity": "เพิ่มกิจกรรมของกลุ่ม",
"addGroupButton": "+ กลุ่ม",
@@ -713,6 +741,9 @@
"durationExampleShort": "เช่น 2x7",
"showImage": "แสดงรูป/ภาพวาด",
"participants": "ผู้เข้าร่วม",
"excusedParticipants": "พิการ",
"availableParticipants": "เป็นไปได้ที่จะอยู่",
"activeMembers": "สมาชิกที่ใช้งานอยู่",
"searchParticipants": "ค้นหาผู้เข้าร่วม",
"filterAll": "ทั้งหมด",
"filterPresent": "มาเข้าร่วม",
@@ -730,6 +761,7 @@
"editGroupActivity": "แก้ไขกิจกรรมกลุ่ม",
"assignParticipantsForGroupActivity": "กำหนดผู้เข้าร่วมสำหรับกิจกรรมกลุ่ม",
"delete": "ลบ",
"min": "นาที",
"errorLoadingPredefinedActivities": "เกิดข้อผิดพลาดในการโหลดกิจกรรมที่กำหนดไว้ล่วงหน้า",
"selectParticipantAndNote": "กรุณาเลือกผู้เข้าร่วมและใส่ข้อความบันทึก",
"selectGroupAndActivity": "กรุณาเลือกกลุ่มและกรอกกิจกรรม",
@@ -919,12 +951,11 @@
"tournamentName": "ชื่อทัวร์นาเมนท์",
"winningSets": "อัตราการชนะ",
"numberOfTables": "จำนวนโต๊ะ",
"confirmDeleteSetTitle": "ลบเซต",
"confirmDeleteSet": "คุณแน่ใจหรือไม่ว่าต้องการลบเซตนี้?",
"table": "โต๊ะ",
"playerOne": "ผู้เล่น 1",
"playerTwo": "ผู้เล่น 2",
"groupsLabel": "กลุ่ม",
"knockoutLabel": "เคโอ",
"distributeTables": "จัดสรรโต๊ะว่าง",
"distributeTablesResult": "การจัดสรรโต๊ะ",
"noFreeTables": "ไม่มีโต๊ะว่าง",
@@ -959,6 +990,7 @@
"doublesTournament": "การแข่งขันประเภทคู่",
"doublesTournamentHint": "สลับคลาสที่มีอยู่ทั้งหมดเป็นสองเท่าและสร้างคลาสใหม่เป็นสองเท่าตามค่าเริ่มต้น",
"genderAll": "ทั้งหมด",
"genderMixed": "ผสม",
"minBirthYear": "เกิดในปีหรือหลังจากนั้น",
"selectClass": "เลือกชั้นเรียน",
"tabConfig": "การกำหนดค่า",
@@ -966,6 +998,8 @@
"tabParticipants": "ผู้เข้าร่วม",
"tabResults": "ผลลัพธ์",
"tabPlacements": "ตำแหน่ง",
"confirmDeleteSetTitle": "ลบเซต",
"confirmDeleteSet": "คุณแน่ใจหรือไม่ว่าต้องการลบเซตนี้?",
"finalPlacements": "ตำแหน่งสุดท้าย",
"groupPlacements": "ตำแหน่งกลุ่ม",
"noPlacementsYet": "ยังไม่มีตำแหน่ง",
@@ -988,6 +1022,7 @@
"addExternalParticipant": "เพิ่มผู้เข้าร่วมภายนอก",
"firstName": "ชื่อ",
"lastName": "นามสกุล",
"optional": "ไม่จำเป็น",
"birthdate": "วันเกิด",
"addClubMember": "เพิ่มสมาชิกคลับ",
"advancersPerGroup": "โปรโมเตอร์ต่อกลุ่ม",
@@ -1005,10 +1040,12 @@
"resetGroups": "รีเซ็ตกลุ่ม",
"groupsOverview": "ภาพรวมของกลุ่ม",
"groupNumber": "กลุ่ม",
"index": "ดัชนี",
"position": "จัตุรัส",
"player": "นักสเก็ต",
"points": "คะแนน",
"sets": "วลี",
"diff": "ความแตกต่าง",
"pointsRatio": "คะแนนเกม",
"livePosition": "ที่นั่งสด",
"pairings": "การจับคู่คู่",
@@ -1261,6 +1298,7 @@
"statusActionStart": "เริ่ม"
},
"myTischtennis": {
"title": "บัญชีเทเบิลเทนนิสของฉัน",
"linkedAccount": "บัญชีที่เชื่อมโยง",
"passwordSaved": "บันทึกรหัสผ่านแล้ว",
"yes": "ใช่",
@@ -1315,6 +1353,7 @@
"trainingData": "ข้อมูลการฝึกอบรม",
"tournamentData": "ข้อมูลการแข่งขัน",
"myTischtennisData": "ข้อมูล MyTischtennis",
"cookies": "คุกกี้/ที่เก็บข้อมูลในเครื่อง",
"logData": "ไฟล์บันทึก",
"recipients": "ผู้รับ"
},
@@ -1336,6 +1375,7 @@
"attendingMembers": "สมาชิกที่เข้าร่วม",
"noParticipants": "ไม่มีผู้เข้าร่วม",
"name": "ชื่อ",
"ttr": "ทีทีอาร์",
"birthdate": "วันเกิด",
"participations12Months": "การเข้าร่วม (12 เดือน)",
"participations3Months": "การเข้าร่วม (3 เดือน)",
@@ -1421,7 +1461,8 @@
"uploadNote": "หมายเหตุ: รูปภาพจะไม่ถูกอัพโหลดจนกว่ากิจกรรมจะถูกบันทึก",
"uploadedImages": "วิดีโอที่อัปโหลด:",
"delete": "ลบ",
"cancel": "ยกเลิก"
"cancel": "ยกเลิก",
"min": "นาที"
},
"accident": {
"reportAccident": "แจ้งอุบัติเหตุ",
@@ -1437,6 +1478,35 @@
"title": "กำหนดการ",
"subtitle": "เลือกทีม ตรวจสอบการแข่งขัน และเก็บตารางลีกไว้ในมุมมอง",
"importSchedule": "กำหนดการนำเข้า",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "ทีมงานของตัวเอง",
"selectTeam": "เลือกทีม",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "ที่อยู่",
"zip": "Postal code",
"city": "City",
"location": "ที่ตั้ง",
"matchCredentials": "Match credentials (optional)",
"notes": "หมายเหตุ",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "กำลังโหลดแกลเลอรี...",
"gallery": "แกลเลอรี่สมาชิก",
"overallSchedule": "กำหนดการโดยรวม",
@@ -1450,6 +1520,7 @@
"noSelectionMessage": "เลือกตารางโดยรวม ตารางผู้ใหญ่ หรือทีมจากด้านซ้าย",
"scheduleTab": "กำหนดการ",
"tableTab": "โต๊ะ",
"downloadPDF": "ดาวน์โหลดไฟล์ PDF",
"refreshTable": "รีเฟรชตาราง",
"tableLoading": "กำลังโหลดตาราง...",
"fetchTeamData": "ดึงข้อมูลกำหนดการและผลลัพธ์",
@@ -1465,12 +1536,25 @@
"homeTeam": "ทีมเจ้าบ้าน",
"guestTeam": "ทีมเยือน",
"result": "ผลลัพธ์",
"homeGame": "บ้าน",
"participants": "ผู้เข้าร่วม",
"swapButton": "แลกเปลี่ยน",
"away": "ภายนอก",
"homeLabel": "บ้าน",
"awayLabel": "ห่างออกไป",
"swapSuccess": "สลับทีมเหย้า/เยือน",
"swapFailed": "เหย้า/เยือนไม่สามารถสลับได้",
"plannedShort": "วางแผนไว้",
"readyShort": "เตรียมไว้",
"ageClass": "กลุ่มอายุ",
"code": "รหัส",
"homePin": "รหัสประจำตัวที่บ้าน",
"guestPin": "PIN ออกไป",
"noGames": "ไม่มีการแข่งขัน",
"leagueTable": "ตารางลีก",
"position": "ตำแหน่ง",
"team": "ทีม",
"teams": "ทีม",
"matches": "ไม้ขีด",
"completedShort": "สมบูรณ์",
"pendingShort": "เปิด",
@@ -1491,6 +1575,7 @@
"imageSize": "ขนาดภาพ",
"noMembersWithImages": "ไม่พบสมาชิกที่มีรูปภาพ",
"playerSelection": "การเลือกผู้เล่น",
"vs": "เทียบกับ",
"loadingMembers": "กำลังโหลดสมาชิก...",
"player": "ผู้เล่น",
"ready": "พร้อม",
@@ -1549,6 +1634,7 @@
"plannedLeague": "ลีกที่วางแผน",
"plannedLeaguePlaceholder": "เช่น ลีกในเขต หลังการลงทะเบียนครั้งถัดไป …",
"plannedLeagueHint": "ไม่บังคับ แยกจากลีกที่ลงทะเบียนแล้ว (MyTischtennis)",
"team": "ทีม",
"teamId": "รหัสทีม",
"groupId": "รหัสกลุ่ม",
"association": "สมาคม",
@@ -1613,6 +1699,7 @@
"noIssues": "ไม่มีปัญหาการกำหนดค่าแบบเปิด",
"parseUrlAction": "ตรวจสอบ URL",
"myTischtennisUrlPlaceholder": "myTischtennis URL...",
"teams": "ทีม",
"planningTitle": "การวางแผนทีม",
"planningSubtitle": "กระจายสมาชิกไปยังทีมที่กำหนดเวลาไว้ กำหนดลำดับ และดูการมอบหมายงานที่เปิดอยู่",
"searchMembers": "ค้นหาสมาชิก",
@@ -1713,6 +1800,7 @@
"title": "คำขอของผู้ใช้ที่รอดำเนินการ",
"firstName": "ชื่อ",
"lastName": "นามสกุล",
"email": "อีเมล",
"actions": "การดำเนินการ",
"approve": "อนุมัติ",
"reject": "อนุญาตให้ออกไป",
@@ -1730,6 +1818,7 @@
"loadingMembers": "ขอเชิญสมาชิก...",
"availableRoles": "บทบาทที่มีอยู่",
"clubMembers": "สมาชิกชมรม",
"email": "อีเมล",
"role": "บทบาท",
"status": "สถานะ",
"actions": "การดำเนินการ",
@@ -1771,6 +1860,7 @@
"passwordEncrypted": "รหัสผ่านจะถูกเก็บไว้เข้ารหัส",
"transferConfigurationTitle": "การกำหนดค่าการส่ง",
"transferEndpointPath": "เส้นทางปลายทางการส่งข้อมูล",
"transferEndpointPlaceholder": "/api/สมาชิก/bulk",
"transferEndpointHint": "เส้นทางสัมพัทธ์ไปยังจุดสิ้นสุดการส่งข้อมูล (เช่น /api/members/bulk)",
"httpMethod": "วิธี HTTP",
"transferFormat": "รูปแบบการส่งสัญญาณ",
@@ -1850,6 +1940,7 @@
"subtitle": "ภาพรวมของคำขอ API การตอบกลับ และการดำเนินการทั้งหมด",
"backend": "การตั้งค่าแบ็กเอนด์",
"all": "ทั้งหมด",
"mytischtennis": "มายเทเบิลเทนนิส",
"ownBackend": "แบ็กเอนด์ของตัวเอง",
"logType": "ประเภทบันทึก",
"apiRequests": "คำขอ API",
@@ -1877,6 +1968,7 @@
"executionTime": "เวลาดำเนินการ",
"errorLabel": "ข้อผิดพลาด",
"actions": "การดำเนินการ",
"details": "รายละเอียด",
"previous": "ก่อนหน้า",
"next": "ต่อไป",
"page": "หน้าหนังสือ",
@@ -1899,8 +1991,11 @@
"path": "เส้นทาง",
"status": "สถานะ",
"executionTime": "เวลาดำเนินการ",
"ip": "ไอพี",
"schedulerJob": "งานช่างจัดตารางเวลา",
"error": "ข้อผิดพลาด"
"error": "ข้อผิดพลาด",
"requestBody": "ขอเนื้อความ",
"responseBody": "ร่างกายตอบสนอง"
}
},
"csvImport": {
@@ -1921,10 +2016,12 @@
},
"dialogs": {
"info": {
"title": "ข้อมูล"
"title": "ข้อมูล",
"ok": "ตกลง"
},
"confirm": {
"title": "การยืนยัน",
"ok": "ตกลง",
"cancel": "ยกเลิก"
}
},
@@ -1945,7 +2042,10 @@
"noConfigMessage": "กรุณากำหนดค่าการโอนสมาชิกในการตั้งค่าก่อน",
"goToSettings": "การตั้งค่า ไปไหน?",
"transferConfiguration": "การกำหนดค่าการส่ง",
"server": "เซิร์ฟเวอร์",
"endpoint": "จุดสิ้นสุด",
"method": "วิธี",
"format": "รูปแบบ",
"mode": "โหมด",
"bulkImport": "การนำเข้าจำนวนมาก",
"single": "เดี่ยว",
@@ -2001,6 +2101,7 @@
"leagueTables": "อันดับ JoomSport",
"playersUpdated": "อัปเดตผู้เล่นแล้ว",
"results": "ผลลัพธ์",
"teams": "ทีม",
"neverFetched": "ไม่เคยเรียกคืน",
"refreshStatistics": "โหลดสถิติใหม่",
"errorLoadingAccount": "เกิดข้อผิดพลาดในการโหลดบัญชี myTischtennis",
@@ -2060,6 +2161,7 @@
"title": "หมายเหตุสำหรับ",
"phone": "หมายเลขโทรศัพท์",
"memberImage": "สมาชิกภาพ",
"tags": "แท็ก",
"selectTags": "เลือกแท็ก",
"newNote": "บันทึกใหม่",
"add": "เพิ่ม",
@@ -2080,6 +2182,7 @@
"greeting": "ยินดีต้อนรับ",
"result": "กำลังเข้าสู่ผลลัพธ์",
"completion": "เสร็จสิ้น",
"vs": "เทียบกับ",
"startTime": "เวลาเริ่มต้น",
"endTime": "เวลาสิ้นสุด",
"setCurrentTime": "ตั้งเวลาปัจจุบัน",
@@ -2163,6 +2266,7 @@
"courtDrawing": {
"title": "กำหนดค่าการออกกำลังกายปิงปอง",
"cancel": "ยกเลิก",
"ok": "ตกลง",
"durationMinutes": "ระยะเวลา (นาที)",
"durationText": "ระยะเวลา (ข้อความ)",
"durationTextPlaceholder": "เช่น 2x5",
@@ -2281,6 +2385,7 @@
"modalDialogs": "บทสนทนาแบบกิริยา",
"simpleModal": "กิริยาที่เรียบง่าย",
"largeModal": "โมดัลขนาดใหญ่",
"fullscreenModal": "โมดอลแบบเต็มหน้าจอ",
"nonModalDialogs": "บทสนทนาที่ไม่ใช่กิริยาช่วย",
"nonModalDialog": "บทสนทนาที่ไม่ใช่กิริยาช่วย",
"multipleDialogs": "หลายกล่องโต้ตอบ",
@@ -2300,6 +2405,7 @@
"largeModalText": "นี่เป็นบทสนทนาแบบโมดอลที่ยอดเยี่ยม",
"largeModalText2": "มันมีพื้นที่มากขึ้นสำหรับเนื้อหา",
"scrollArea": "พื้นที่เลื่อนสำหรับเนื้อหามากมาย...",
"fullscreenModalTitle": "กล่องโต้ตอบโมดอลแบบเต็มหน้าจอ",
"fullscreenModalText": "นี่คือกล่องโต้ตอบแบบเต็มหน้าจอ",
"fullscreenModalText2": "ครอบคลุมพื้นที่เกือบทั้งหน้าจอ (90vw x 90vh)",
"nonModalTitle": "บทสนทนาที่ไม่ใช่กิริยาช่วย",
@@ -2367,6 +2473,7 @@
"strokeTypeCounter": "เคาน์เตอร์",
"strokeTypeTopspin": "สปินชั้นนำ",
"strokeTypeFlip": "พลิก",
"strokeTypeBlock": "ปิดกั้น",
"strokeTypeSmash": "ตบ",
"strokeTypeChopDefense": "รับแบบช็อป",
"strokeTypeLobDefense": "รับแบบลอบ",
@@ -2386,6 +2493,7 @@
"animationRunning": "กำลังดำเนินการแอนิเมชัน..."
},
"nuscoreAnalyzer": {
"title": "🔍 เครื่องวิเคราะห์ nuscore",
"description": "วิเคราะห์และดาวน์โหลดทรัพยากร nuscore เพื่อการใช้งานในเครื่อง",
"analyze": "🔍 การวิเคราะห์นูสคอร์",
"analyzing": "กำลังวิเคราะห์...",
@@ -2539,6 +2647,7 @@
"player": "นักสเก็ต",
"points": "คะแนน",
"sets": "วลี",
"diff": "ความแตกต่าง",
"groupMatrices": "เมทริกซ์กลุ่ม",
"allGames": "เมืองทั้งหมด",
"noActivities": "ไม่มีการบันทึกกิจกรรมในวันอบรมนี้",
@@ -2573,6 +2682,7 @@
"teamGenderLabel": "เพศทีม:",
"teamAgeGroupLabel": "กลุ่มอายุของทีม:",
"generatedAt": "สร้างเมื่อ:",
"lineupQttr": "(ถาม)TTR",
"plannedLeagueLabel": "ลีกที่วางแผน:"
}
}

View File

@@ -37,6 +37,7 @@
"choose": "Pumili",
"apply": "Ilapat",
"clear": "Burahin",
"details": "Mga Detalye",
"view": "Tingnan",
"name": "pangalan",
"date": "Petsa",
@@ -48,6 +49,8 @@
"enabled": "Pinagana",
"disabled": "Hindi pinagana",
"required": "Kinakailangan",
"optional": "Opsyonal",
"in": "sa",
"min": "min",
"minutes": "Minuto",
"hours": "Oras",
@@ -179,6 +182,7 @@
"memberTransfer": "Paglipat ng miyembro",
"myTischtennisAccount": "myTischtennis Account",
"clickTtAccount": "HTTV / click-TT account",
"clickTtBrowser": "HTTP / click-TT",
"personalSettings": "Mga personal na setting",
"logout": "Mag-logout",
"login": "Mag-login",
@@ -269,8 +273,7 @@
"zh": "中文 (Intsik)",
"tl": "Tagalog",
"th": "Thai (ไทย)",
"fil": "Filipino",
"ceb": "Cebuano (Bisaya)"
"fil": "Filipino"
},
"messages": {
"success": "Tagumpay",
@@ -334,6 +337,22 @@
"noGroupsAssigned": "Walang grupong nakatalaga",
"noGroupsAvailable": "Walang available na grupo",
"addGroup": "Magdagdag ng grupo...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "katayuan",
"bankAccountStatusActive": "Aktibo",
"bankAccountStatusPending": "Nakabinbin",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "Alisin",
"image": "Larawan",
"selectFile": "Pumili ng file",
@@ -354,6 +373,7 @@
"lastTrainingFilterNoDate": "Walang huling training",
"lastTrainingFilterNotInTraining": "Flag na “hindi na nagte-training”",
"lastTrainingFilterHint": "Table: kasalukuyang season sa AK. Buong detalye (dalawang season, huling training, participations) kapag-hover sa hilera.",
"rowTooltipSeparator": null,
"ttAgeClassCol": "Edad (TT)",
"ttAdult": "Adulto (hindi youth sa cutoff)",
"ttFilterGroupJ": "Babae at lalaki (halo)",
@@ -661,6 +681,7 @@
"trainingDayChecklist": "Checklist ng pagkumpleto",
"trainingStart": "Simula ng pagsasanay",
"trainingEnd": "Pagtatapos ng pagsasanay",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "Oras ng pagsasanay",
"trainingWindowUnset": "Hindi pa naitakda",
"groupsLabel": "Mga grupo",
@@ -714,6 +735,9 @@
"durationExampleShort": "hal. 2x7",
"showImage": "Ipakita ang larawan/guhit",
"participants": "Mga kalahok",
"excusedParticipants": "Hindi pinagana",
"availableParticipants": "Posibleng naroroon",
"activeMembers": "Mga aktibong miyembro",
"searchParticipants": "Maghanap ng kalahok",
"filterAll": "Lahat",
"filterPresent": "Dumalo",
@@ -920,8 +944,6 @@
"tournamentName": "Pangalan ng tournament",
"winningSets": "Mga rate ng panalong",
"numberOfTables": "Bilang ng mesa",
"confirmDeleteSetTitle": "Tanggalin ang set",
"confirmDeleteSet": "Sigurado ka bang tatanggalin ang set na ito?",
"table": "Mesa",
"playerOne": "Manlalaro 1",
"playerTwo": "Manlalaro 2",
@@ -967,6 +989,8 @@
"tabParticipants": "Mga kalahok",
"tabResults": "Mga resulta",
"tabPlacements": "Mga paglalagay",
"confirmDeleteSetTitle": "Tanggalin ang set",
"confirmDeleteSet": "Sigurado ka bang tatanggalin ang set na ito?",
"finalPlacements": "Mga huling placement",
"groupPlacements": "Mga Placement ng Grupo",
"noPlacementsYet": "Wala pang available na mga placement.",
@@ -989,6 +1013,7 @@
"addExternalParticipant": "Magdagdag ng Panlabas na Kalahok",
"firstName": "Pangalan",
"lastName": "Apelyido",
"optional": "opsyonal",
"birthdate": "Petsa ng kapanganakan",
"addClubMember": "Magdagdag ng Miyembro ng Club",
"advancersPerGroup": "Mga promoter bawat grupo",
@@ -1006,6 +1031,7 @@
"resetGroups": "I-reset ang Mga Grupo",
"groupsOverview": "Pangkalahatang-ideya ng mga pangkat",
"groupNumber": "Grupo",
"index": "index",
"position": "Ang parisukat",
"player": "Mga skater",
"points": "Mga puntos",
@@ -1262,6 +1288,7 @@
"statusActionStart": "Magsimula"
},
"myTischtennis": {
"title": "ang aking table tennis account",
"linkedAccount": "Naka-link na Account",
"passwordSaved": "Na-save ang password",
"yes": "Oo",
@@ -1316,6 +1343,7 @@
"trainingData": "Data ng pagsasanay",
"tournamentData": "Data ng Tournament",
"myTischtennisData": "Data ng MyTischtennis",
"cookies": "Cookies/Lokal na Imbakan",
"logData": "Mga logfile",
"recipients": "tatanggap"
},
@@ -1438,6 +1466,35 @@
"title": "Mga iskedyul",
"subtitle": "Pumili ng mga koponan, suriin ang mga fixture at panatilihing nakikita ang mga talahanayan ng liga.",
"importSchedule": "Iskedyul ng pag-import",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "Sariling team",
"selectTeam": "Pumili ng koponan",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "Address",
"zip": "Postal code",
"city": "City",
"location": "Lokasyon",
"matchCredentials": "Match credentials (optional)",
"notes": "Mga Tala",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "Nilo-load ang gallery…",
"gallery": "Gallery ng miyembro",
"overallSchedule": "Pangkalahatang iskedyul",
@@ -1451,6 +1508,7 @@
"noSelectionMessage": "Piliin ang pangkalahatang iskedyul, ang iskedyul ng pang-adulto o isang koponan mula sa kaliwa.",
"scheduleTab": "Iskedyul",
"tableTab": "mesa",
"downloadPDF": "Mag-download ng PDF",
"refreshTable": "I-refresh ang talahanayan",
"tableLoading": "Nilo-load ang talahanayan…",
"fetchTeamData": "Kunin ang iskedyul at mga resulta",
@@ -1466,12 +1524,25 @@
"homeTeam": "Home team",
"guestTeam": "Ang away team",
"result": "Resulta",
"homeGame": "Bahay",
"participants": "Mga kalahok",
"swapButton": "Magpalit",
"away": "Panlabas",
"homeLabel": "Bahay",
"awayLabel": "Malayo",
"swapSuccess": "Home/Away Pinagpalit",
"swapFailed": "Hindi mapalitan ang Home/Away.",
"plannedShort": "binalak",
"readyShort": "pinaghandaan",
"ageClass": "pangkat ng edad",
"code": "code",
"homePin": "PIN ng tahanan",
"guestPin": "Away PIN",
"noGames": "Walang available na mga tugma",
"leagueTable": "Mesa ng liga",
"position": "Posisyon",
"team": "pangkat",
"teams": "mga koponan",
"matches": "mga posporo",
"completedShort": "Nakumpleto",
"pendingShort": "Bukas",
@@ -1550,6 +1621,7 @@
"plannedLeague": "Plano na liga",
"plannedLeaguePlaceholder": "hal. district league, pagkatapos ng susunod na rehistro …",
"plannedLeagueHint": "Opsyonal. Hiwalay sa nakarehistrong liga (MyTischtennis).",
"team": "pangkat",
"teamId": "ID ng Team",
"groupId": "Group ID",
"association": "Samahan",
@@ -1614,6 +1686,7 @@
"noIssues": "Walang bukas na mga isyu sa configuration.",
"parseUrlAction": "Suriin ang URL",
"myTischtennisUrlPlaceholder": "myTischtennis URL...",
"teams": "mga koponan",
"planningTitle": "Pagpaplano ng pangkat",
"planningSubtitle": "Ipamahagi ang mga miyembro sa mga nakaiskedyul na koponan, itakda ang pagkakasunud-sunod, at tingnan ang mga bukas na takdang-aralin.",
"searchMembers": "Maghanap ng miyembro",
@@ -1714,6 +1787,7 @@
"title": "Nakabinbing Mga Kahilingan ng User",
"firstName": "Pangalan",
"lastName": "Apelyido",
"email": "E-mail",
"actions": "Mga aksyon",
"approve": "Aprubahan",
"reject": "I-dismiss",
@@ -1731,6 +1805,7 @@
"loadingMembers": "Iniimbitahan ang mga miyembro...",
"availableRoles": "Mga Magagamit na Tungkulin",
"clubMembers": "Mga miyembro ng club",
"email": "E-mail",
"role": "Tungkulin",
"status": "katayuan",
"actions": "Mga aksyon",
@@ -1851,6 +1926,7 @@
"subtitle": "Pangkalahatang-ideya ng lahat ng kahilingan, tugon at pagpapatupad ng API",
"backend": "Mga Setting ng Backend",
"all": "Lahat",
"mytischtennis": "myTable Tennis",
"ownBackend": "Sariling backend",
"logType": "Uri ng Log",
"apiRequests": "Mga Kahilingan sa API",
@@ -1878,6 +1954,7 @@
"executionTime": "Oras ng pagpapatupad",
"errorLabel": "Error",
"actions": "Mga aksyon",
"details": "Mga Detalye",
"previous": "Nakaraang",
"next": "Susunod",
"page": "Pahina",
@@ -1901,7 +1978,9 @@
"status": "katayuan",
"executionTime": "Oras ng pagpapatupad",
"schedulerJob": "Trabaho ng Scheduler",
"error": "Error"
"error": "Error",
"requestBody": "Katawan ng Kahilingan",
"responseBody": "Katawan ng Pagtugon"
}
},
"csvImport": {
@@ -1946,7 +2025,9 @@
"noConfigMessage": "Mangyaring i-configure muna ang paglipat ng miyembro sa mga setting.",
"goToSettings": "Mga Setting Saan pupunta?",
"transferConfiguration": "Configuration ng Transmission",
"server": "server",
"method": "Pamamaraan",
"format": "pormat",
"mode": "mode",
"bulkImport": "Bultuhang Pag-import",
"single": "Walang asawa",
@@ -2002,6 +2083,7 @@
"leagueTables": "JoomSport Standings",
"playersUpdated": "Na-update ang Manlalaro",
"results": "Mga resulta",
"teams": "mga koponan",
"neverFetched": "Never Retrieved",
"refreshStatistics": "I-reload ang Stats",
"errorLoadingAccount": "Error sa paglo-load ng myTischtennis account",
@@ -2061,6 +2143,7 @@
"title": "Mga tala para sa",
"phone": "Telepono no.",
"memberImage": "Miyembro ng Larawan",
"tags": "mga tag",
"selectTags": "Piliin ang Mga Tag",
"newNote": "Bagong tala",
"add": "Idagdag",
@@ -2282,6 +2365,7 @@
"modalDialogs": "Mga Modal na Dialogue",
"simpleModal": "Simpleng Modal",
"largeModal": "Malaking Modal",
"fullscreenModal": "Fullscreen modal",
"nonModalDialogs": "Mga di-modal na diyalogo",
"nonModalDialog": "Di-modal na diyalogo",
"multipleDialogs": "Maramihang Dialog",
@@ -2301,6 +2385,7 @@
"largeModalText": "Ito ay isang mahusay na modal dialogue.",
"largeModalText2": "Nag-aalok ito ng mas maraming espasyo para sa nilalaman.",
"scrollArea": "Mag-scroll area para sa maraming content...",
"fullscreenModalTitle": "Fullscreen modal dialog",
"fullscreenModalText": "Ito ay isang fullscreen na dialog.",
"fullscreenModalText2": "Sinasakop nito ang halos buong screen (90vw x 90vh).",
"nonModalTitle": "Di-modal na diyalogo",
@@ -2368,6 +2453,7 @@
"strokeTypeCounter": "Kontra",
"strokeTypeTopspin": "Top spin",
"strokeTypeFlip": "pitik",
"strokeTypeBlock": "harangan",
"strokeTypeSmash": "Basagin",
"strokeTypeChopDefense": "Chop defense",
"strokeTypeLobDefense": "Lob defense",
@@ -2387,6 +2473,7 @@
"animationRunning": "Kasalukuyang ginagawa ang animation..."
},
"nuscoreAnalyzer": {
"title": "🔍 nuscore analyzer",
"description": "Sinusuri at dina-download ang mga mapagkukunan ng nuscore para sa lokal na paggamit",
"analyze": "🔍 nuscore analysis",
"analyzing": "Sinusuri...",

View File

@@ -37,6 +37,7 @@
"choose": "选择",
"apply": "应用",
"clear": "清除",
"details": "细节",
"view": "查看",
"name": "姓名",
"date": "日期",
@@ -48,6 +49,8 @@
"enabled": "已启用",
"disabled": "已禁用",
"required": "必填",
"optional": "选修的",
"in": "在",
"min": "分",
"minutes": "分钟",
"hours": "小时",
@@ -55,6 +58,7 @@
"weeks": "周",
"months": "个月",
"years": "年",
"ok": "好的",
"period": "期间",
"saving": "正在保存..."
},
@@ -179,6 +183,7 @@
"memberTransfer": "成员转移",
"myTischtennisAccount": "myTischtennis账户",
"clickTtAccount": "HTTV / click-TT 账户",
"clickTtBrowser": "HTTV / 点击 TT",
"personalSettings": "个人设置",
"logout": "退出登录",
"login": "登录",
@@ -268,9 +273,9 @@
"ja": "日本語 (日语)",
"zh": "中文",
"tl": "Tagalog (他加禄语)",
"th": "ไทย (Thai)",
"ceb": "Cebuano (Bisaya)",
"fil": "Filipino (菲律宾语)"
"th": "ไทย(泰语)",
"fil": "Filipino (菲律宾语)",
"ceb": "宿务语(比萨亚语)"
},
"messages": {
"success": "成功",
@@ -334,6 +339,24 @@
"noGroupsAssigned": "未分配任何分组",
"noGroupsAvailable": "没有可用分组",
"addGroup": "添加分组...",
"bankAccountSection": "Bank account / SEPA",
"bankAccountLoading": "Loading bank details...",
"accountHolder": "Account holder",
"iban": "国际银行账号",
"bic": "商业银行",
"mandateReference": "Mandate reference",
"signedOn": "Signed on",
"validFrom": "Valid from",
"bankAccountStatus": "地位",
"bankAccountStatusActive": "积极的",
"bankAccountStatusPending": "待办的",
"bankAccountStatusRevoked": "Revoked",
"bankAccountNote": "Note",
"saveBankAccount": "Save bank account",
"bankAccountSaved": "Bank account saved successfully.",
"bankAccountLoadError": "Bank account could not be loaded.",
"bankAccountSaveError": "Bank account could not be saved.",
"bankAccountMissingAfterSave": "The bank account could not be found again after saving.",
"remove": "移除",
"image": "图片",
"selectFile": "选择文件",
@@ -611,6 +634,7 @@
"monthFrom": "月",
"monthTo": "月至",
"selfRecipientName": "自己的名字",
"iban": "国际银行账号",
"ibanWithoutCountry": "没有国家代码",
"hourlyRate": "时薪",
"hoursTotal": "小时数",
@@ -661,6 +685,7 @@
"trainingDayChecklist": "完成检查",
"trainingStart": "训练开始",
"trainingEnd": "训练结束",
"excludeFromBilling": "Exclude from billing",
"trainingWindow": "训练时间段",
"trainingWindowUnset": "尚未设置",
"groupsLabel": "分组",
@@ -698,6 +723,7 @@
"activityOrTimeblock": "活动 / 时间块",
"durationMinutes": "时长(分)",
"standardActivities": "标准活动",
"standardDurationShort": "最小",
"standardActivityAddError": "无法添加标准活动。",
"addGroupActivity": "添加分组活动",
"addGroupButton": "+ 分组",
@@ -734,6 +760,7 @@
"editGroupActivity": "编辑分组活动",
"assignParticipantsForGroupActivity": "为分组活动分配参与者",
"delete": "删除",
"min": "最小",
"errorLoadingPredefinedActivities": "加载预定义活动时出错",
"selectParticipantAndNote": "请选择一位参与者并输入备注文本。",
"selectGroupAndActivity": "请选择一个分组并输入活动。",
@@ -923,8 +950,6 @@
"tournamentName": "赛事名称",
"winningSets": "胜率",
"numberOfTables": "球台数量",
"confirmDeleteSetTitle": "删除局",
"confirmDeleteSet": "确定要删除此局吗?",
"table": "球台",
"playerOne": "选手 1",
"playerTwo": "选手 2",
@@ -963,6 +988,7 @@
"doublesTournament": "双打比赛",
"doublesTournamentHint": "默认情况下,将所有现有类切换为双打并创建新类作为双打。",
"genderAll": "全部",
"genderMixed": "混合",
"minBirthYear": "年或以后出生",
"selectClass": "选择班级",
"tabConfig": "配置",
@@ -970,6 +996,8 @@
"tabParticipants": "参加者",
"tabResults": "结果",
"tabPlacements": "配售",
"confirmDeleteSetTitle": "删除局",
"confirmDeleteSet": "确定要删除此局吗?",
"finalPlacements": "最终安置",
"groupPlacements": "团体安置",
"noPlacementsYet": "尚无可用的展示位置。",
@@ -992,6 +1020,7 @@
"addExternalParticipant": "添加外部参与者",
"firstName": "名",
"lastName": "姓",
"optional": "选修的",
"birthdate": "出生日期",
"addClubMember": "添加俱乐部会员",
"advancersPerGroup": "每组发起人",
@@ -1009,10 +1038,12 @@
"resetGroups": "重置组",
"groupsOverview": "团体概览",
"groupNumber": "团体",
"index": "指数",
"position": "广场",
"player": "溜冰者",
"points": "积分",
"sets": "短语",
"diff": "差异",
"pointsRatio": "游戏点数",
"livePosition": "现场座位",
"pairings": "双重配对",
@@ -1265,6 +1296,7 @@
"statusActionStart": "开始"
},
"myTischtennis": {
"title": "我的乒乓球账户",
"linkedAccount": "关联账户",
"passwordSaved": "密码已保存",
"yes": "是的",
@@ -1341,6 +1373,7 @@
"attendingMembers": "出席成员",
"noParticipants": "无参与者",
"name": "姓名",
"ttr": "总温度",
"birthdate": "出生日期",
"participations12Months": "参与次数12 个月)",
"participations3Months": "参与次数3 个月)",
@@ -1426,7 +1459,8 @@
"uploadNote": "注意:在保存活动之前,不会上传图像。",
"uploadedImages": "上传的视频:",
"delete": "删除",
"cancel": "取消"
"cancel": "取消",
"min": "分钟"
},
"accident": {
"reportAccident": "报告事故",
@@ -1442,6 +1476,35 @@
"title": "时间表",
"subtitle": "选择球队、查看赛程并随时查看联赛表。",
"importSchedule": "导入时间表",
"addMatch": "Add match",
"manualMatchDescription": "Manually maintained matches appear alongside imported Click-TT fixtures.",
"fixtureType": "Fixture type:",
"regularMatch": "Regular match",
"cupMatch": "Cup match",
"friendlyMatch": "Friendly match",
"fixtureTypeDescription": {
"league": "Regular and cup matches are stored in the schedule.",
"cup": "Regular and cup matches are stored in the schedule.",
"friendly": "Friendly matches are managed separately; the details are transferred to the appropriate form."
},
"ownTeam": "自己的团队",
"selectTeam": "选择团队",
"opponent": "Opponent",
"opponentPlaceholder": "Opponent team name",
"venue": "Venue",
"address": "地址",
"zip": "Postal code",
"city": "City",
"location": "地点",
"matchCredentials": "Match credentials (optional)",
"notes": "笔记",
"saving": "Saving…",
"manualMatchRequired": "Please fill in the team, opponent, date and time.",
"manualMatchSaved": {
"league": "Regular match added.",
"cup": "Cup match added."
},
"manualMatchSaveFailed": "Cup match could not be saved.",
"galleryLoading": "正在加载图库...",
"gallery": "会员图库",
"overallSchedule": "总体日程",
@@ -1471,12 +1534,25 @@
"homeTeam": "主队",
"guestTeam": "客队",
"result": "结果",
"homeGame": "家",
"participants": "参加者",
"swapButton": "交换",
"away": "向外",
"homeLabel": "家",
"awayLabel": "离开",
"swapSuccess": "主客场交换",
"swapFailed": "主/客场无法交换。",
"plannedShort": "计划",
"readyShort": "准备好了",
"ageClass": "年龄组",
"code": "代码",
"homePin": "家庭密码",
"guestPin": "离开密码",
"noGames": "没有可用的匹配项",
"leagueTable": "联赛表",
"position": "位置",
"team": "团队",
"teams": "团队",
"matches": "比赛",
"completedShort": "完全的",
"pendingShort": "打开",
@@ -1497,6 +1573,7 @@
"imageSize": "图片尺寸",
"noMembersWithImages": "未找到有图片的会员。",
"playerSelection": "球员选择",
"vs": "与",
"loadingMembers": "正在加载会员...",
"player": "玩家",
"ready": "准备好",
@@ -1555,6 +1632,7 @@
"plannedLeague": "计划联赛",
"plannedLeaguePlaceholder": "例如:地区联赛,下次报名后 …",
"plannedLeagueHint": "选填。与已报名联赛MyTischtennis无关。",
"team": "团队",
"teamId": "团队ID",
"groupId": "组号",
"association": "协会",
@@ -1619,6 +1697,7 @@
"noIssues": "没有开放的配置问题。",
"parseUrlAction": "检查网址",
"myTischtennisUrlPlaceholder": "我的Tischtennis 网址...",
"teams": "团队",
"planningTitle": "团队规划",
"planningSubtitle": "将成员分配给预定的团队、设置顺序并查看未完成的任务。",
"searchMembers": "搜索会员",
@@ -1719,6 +1798,7 @@
"title": "待处理的用户请求",
"firstName": "名",
"lastName": "姓",
"email": "电子邮件",
"actions": "行动",
"approve": "批准",
"reject": "解雇",
@@ -1736,6 +1816,7 @@
"loadingMembers": "诚邀会员...",
"availableRoles": "可用角色",
"clubMembers": "俱乐部会员",
"email": "电子邮件",
"role": "角色",
"status": "地位",
"actions": "行动",
@@ -1886,6 +1967,7 @@
"executionTime": "执行时间",
"errorLabel": "错误",
"actions": "行动",
"details": "细节",
"previous": "以前的",
"next": "下一个",
"page": "页",
@@ -1908,6 +1990,7 @@
"path": "小路",
"status": "地位",
"executionTime": "执行时间",
"ip": "知识产权",
"schedulerJob": "调度员工作",
"error": "错误",
"requestBody": "请求正文",
@@ -1932,10 +2015,12 @@
},
"dialogs": {
"info": {
"title": "信息"
"title": "信息",
"ok": "好的"
},
"confirm": {
"title": "确认",
"ok": "好的",
"cancel": "取消"
}
},
@@ -1956,7 +2041,10 @@
"noConfigMessage": "请先在设置中配置会员转账。",
"goToSettings": "设置去哪里?",
"transferConfiguration": "传输配置",
"server": "服务器",
"endpoint": "端点",
"method": "方法",
"format": "格式",
"mode": "模式",
"bulkImport": "批量导入",
"single": "单身的",
@@ -2012,6 +2100,7 @@
"leagueTables": "JoomSport 积分榜",
"playersUpdated": "球员更新",
"results": "结果",
"teams": "团队",
"neverFetched": "从未找回",
"refreshStatistics": "重新加载统计数据",
"errorLoadingAccount": "加载 myTischtennis 帐户时出错",
@@ -2071,6 +2160,7 @@
"title": "注意事项",
"phone": "电话号码",
"memberImage": "形象会员",
"tags": "标签",
"selectTags": "选择标签",
"newNote": "新笔记",
"add": "添加",
@@ -2091,6 +2181,7 @@
"greeting": "欢迎",
"result": "输入结果",
"completion": "完成",
"vs": "与",
"startTime": "开始时间",
"endTime": "结束时间",
"setCurrentTime": "设置当前时间",
@@ -2174,6 +2265,7 @@
"courtDrawing": {
"title": "配置乒乓球练习",
"cancel": "取消",
"ok": "好的",
"durationMinutes": "持续时间(分钟)",
"durationText": "持续时间(文字)",
"durationTextPlaceholder": "例如2x5",
@@ -2380,6 +2472,7 @@
"strokeTypeCounter": "反击",
"strokeTypeTopspin": "上旋",
"strokeTypeFlip": "翻动",
"strokeTypeBlock": "堵塞",
"strokeTypeSmash": "扣杀",
"strokeTypeChopDefense": "削球防守",
"strokeTypeLobDefense": "高吊防守",
@@ -2399,6 +2492,7 @@
"animationRunning": "动画制作中..."
},
"nuscoreAnalyzer": {
"title": "🔍nuscore分析仪",
"description": "分析并下载nuscore资源供本地使用",
"analyze": "🔍nuscore分析",
"analyzing": "正在分析...",
@@ -2552,6 +2646,7 @@
"player": "溜冰者",
"points": "积分",
"sets": "短语",
"diff": "差异",
"groupMatrices": "群矩阵",
"allGames": "所有城市",
"noActivities": "本训练日没有记录任何活动。",

View File

@@ -1,11 +1,11 @@
<template>
<section class="notifications-page"><div class="page-heading"><div><h2>Posteingang</h2><p>Wichtige Informationen und Aufgaben für dich.</p></div><button v-if="items.some(item => !item.readAt)" type="button" class="btn-secondary" @click="markAllRead">Alles gelesen</button></div>
<p v-if="loading">Posteingang wird geladen …</p><p v-else-if="!items.length" class="empty">Keine Benachrichtigungen vorhanden.</p>
<article v-for="item in items" :key="item.id" :class="['entry', { unread: !item.readAt }]" @click="openItem(item)"><span :class="['dot', item.priority]"></span><div><h3>{{ item.title }}</h3><p v-if="item.body">{{ item.body }}</p><small>{{ formatDate(item.createdAt) }}</small></div></article>
<article v-for="item in items" :key="item.id" :class="['entry', { unread: !item.readAt }]" @click="openItem(item)"><span :class="['dot', item.priority]"></span><div><h3>{{ item.title }}</h3><p v-if="item.context" class="context">{{ item.context }}</p><p v-if="item.body">{{ item.body }}</p><small>{{ formatDate(item.createdAt) }}</small></div></article>
</section>
</template>
<script>
import apiClient from '../apiClient.js';
export default { name: 'NotificationsView', data: () => ({ items: [], loading: true }), async mounted() { await this.load(); }, methods: { async load() { this.loading = true; try { this.items = (await apiClient.get('/notifications', { params: { limit: 100 } })).data || []; } finally { this.loading = false; } }, async markAllRead() { await apiClient.post('/notifications/read-all'); await this.load(); }, async openItem(item) { if (!item.readAt) await apiClient.post(`/notifications/${item.id}/read`); if (item.route) this.$router.push(item.route); else await this.load(); }, formatDate(value) { return value ? new Intl.DateTimeFormat('de-DE', { dateStyle: 'medium', timeStyle: 'short' }).format(new Date(value)) : ''; } } };
</script>
<style scoped>.notifications-page{max-width:850px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-heading h2{margin:0}.page-heading p,.entry p,.entry small,.empty{color:#667085}.entry{display:flex;gap:.8rem;margin:.55rem 0;padding:1rem;border:1px solid #d8dee8;border-radius:.6rem;cursor:pointer}.entry.unread{background:#eef6ff;border-color:#a8c9ed}.entry h3{margin:0}.entry p{margin:.3rem 0}.dot{width:.6rem;height:.6rem;flex:0 0 auto;margin-top:.4rem;border-radius:50%;background:#718096}.dot.high,.dot.critical{background:#c72c41}</style>
<style scoped>.notifications-page{max-width:850px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-heading h2{margin:0}.page-heading p,.entry p,.entry small,.empty{color:#667085}.entry{display:flex;gap:.8rem;margin:.55rem 0;padding:1rem;border:1px solid #d8dee8;border-radius:.6rem;cursor:pointer}.entry.unread{background:#eef6ff;border-color:#a8c9ed}.entry h3{margin:0}.entry p{margin:.3rem 0}.entry .context{margin-bottom:0;color:#49667e;font-weight:600}.dot{width:.6rem;height:.6rem;flex:0 0 auto;margin-top:.4rem;border-radius:50%;background:#718096}.dot.high,.dot.critical{background:#c72c41}</style>

View File

@@ -12538,5 +12538,508 @@
"en|zh-CN|Pair": "一对",
"en|zh-CN|Exercises by": "练习者",
"en|zh-CN|Top spin": "上旋",
"en|zh-CN|flip": "翻动"
}
"en|zh-CN|flip": "翻动",
"de|en|Cebuano (Bisaya)": "Cebuano (Bisaya)",
"de|en|BIC": "BIC",
"de|en|Entschuldigt": "Disabled",
"de|en|Anwesend möglich": "Possible to be present",
"de|en|Aktive Mitglieder": "Active members",
"de|en|Heimspiel": "Home",
"de|en|Tauschen": "Swap",
"de|en|Auswärts": "Outward",
"de|en|Auswärtsspiel": "Away",
"de|en|Heim/Auswärts getauscht": "Home/Away Swapped",
"de|en|Heim/Auswärts konnte nicht getauscht werden.": "Home/Away could not be swapped.",
"de|en|geplant": "planned",
"de|en|bereit": "prepared",
"de|fr|Optional": "option",
"de|fr|in": "à",
"de|fr|Cebuano (Bisaya)": "Cebuano (Biscaye)",
"de|fr|BIC": "BIC",
"de|fr|Min": "Min",
"en|fr|Disabled": "Handicapé",
"en|fr|Possible to be present": "Possibilité d'être présent",
"en|fr|Active members": "Les membres actifs ou adhérents",
"en|fr|Swap": "Swap",
"en|fr|Outward": "Sortants",
"en|fr|Home/Away Swapped": "Accueil/Extérieur Échangé",
"en|fr|Home/Away could not be swapped.": "Accueil/Absent n'a pas pu être échangé.",
"en|fr|planned": "planifié",
"en|fr|prepared": "préparé par",
"de|fr|myTischtennis": "myTischtennis",
"de|fr|Block": "Bloc",
"de|es|Optional": "Opcional",
"de|es|in": "en",
"de|es|Cebuano (Bisaya)": "Cebuano (Vizcaya)",
"de|es|BIC": "BIC",
"de|es|Min": "Mín.",
"en|es|Disabled": "Discapacitado",
"en|es|Possible to be present": "Posibilidad de estar presente",
"en|es|Active members": "Miembros activos",
"en|es|Swap": "Intercambiar",
"en|es|Outward": "Saliente",
"en|es|Home/Away Swapped": "Home/Away Swapped",
"en|es|Home/Away could not be swapped.": "Home/Away no se ha podido intercambiar.",
"en|es|planned": "planeado",
"en|es|prepared": "preparados",
"de|es|Block": "Bloc",
"de|it|Optional": "Opzionale",
"de|it|Cebuano (Bisaya)": "Cebuano (Bisaya)",
"de|it|BIC": "BIC",
"de|it|Min": "Min",
"en|it|Disabled": "Disabilito",
"en|it|Possible to be present": "Possibilità di essere presenti",
"en|it|Active members": "Membri attivi",
"en|it|Swap": "Scambia",
"en|it|Outward": "Outward",
"en|it|Home/Away Swapped": "Home/Away Swapped",
"en|it|Home/Away could not be swapped.": "Non è stato possibile scambiare Home/Away.",
"en|it|planned": "previsto",
"en|it|prepared": "preparato",
"de|it|Block": "Blocco",
"de|pl|Optional": "Opcjonalnie",
"de|pl|in": "w",
"de|pl|Cebuano (Bisaya)": "Cebuański (Bisaya)",
"de|pl|BIC": "BIC",
"de|pl|Min": "Min",
"en|pl|Disabled": "Wył.",
"en|pl|Possible to be present": "Możliwa obecność",
"en|pl|Active members": "Aktywni użytkownicy",
"en|pl|Swap": "Zamień",
"en|pl|Outward": "Za granicą",
"en|pl|Home/Away Swapped": "Zamieniono dom/wyjazd",
"en|pl|Home/Away could not be swapped.": "Nie można zamienić pozycji Home/Away.",
"en|pl|planned": "planowany",
"en|pl|prepared": "sporządzono",
"de|pl|Block": "blok",
"de|ja|Optional": "オプション",
"de|ja|in": "ニ",
"de|ja|Cebuano (Bisaya)": "セブアノ(ビサヤ)",
"de|ja|BIC": "BIC",
"de|ja|Min": "Min",
"en|ja|Disabled": "無効",
"en|ja|Possible to be present": "出席可能",
"en|ja|Active members": "すべてのメンバー",
"en|ja|Swap": "交換",
"en|ja|Outward": "外側",
"en|ja|Home/Away Swapped": "ホーム/アウェイススワップ済み",
"en|ja|Home/Away could not be swapped.": "ホーム/アウェイは交換できませんでした。",
"en|ja|planned": "計画済み",
"en|ja|prepared": "Prepared",
"de|ja|Block": "ブロック",
"en|zh-CN|Swap": "交换",
"en|zh-CN|Outward": "向外",
"en|zh-CN|Home/Away Swapped": "主客场交换",
"en|zh-CN|Home/Away could not be swapped.": "主/客场无法交换。",
"en|zh-CN|planned": "计划",
"en|zh-CN|prepared": "准备好了",
"de|zh-CN|Optional": "选修的",
"de|zh-CN|in": "在",
"de|zh-CN|ไทย (Thai)": "ไทย(泰语)",
"de|zh-CN|Cebuano (Bisaya)": "宿务语(比萨亚语)",
"de|zh-CN|BIC": "商业银行",
"de|zh-CN|Min": "最小",
"de|zh-CN|Block": "堵塞",
"en|th|Disabled": "พิการ",
"en|th|Possible to be present": "เป็นไปได้ที่จะอยู่",
"en|th|Active members": "สมาชิกที่ใช้งานอยู่",
"en|th|Swap": "แลกเปลี่ยน",
"en|th|Outward": "ภายนอก",
"en|th|Home/Away Swapped": "สลับทีมเหย้า/เยือน",
"en|th|Home/Away could not be swapped.": "เหย้า/เยือนไม่สามารถสลับได้",
"en|th|planned": "วางแผนไว้",
"en|th|prepared": "เตรียมไว้",
"de|th|Details": "รายละเอียด",
"de|th|Optional": "ไม่จำเป็น",
"de|th|in": "ใน",
"de|th|OK": "ตกลง",
"de|th|HTTV / click-TT": "HTTV / คลิก-TT",
"de|th|Cebuano (Bisaya)": "เซบูอาโน (บิซายา)",
"de|th|IBAN": "ไอแบน",
"de|th|BIC": "บีไอซี",
"de|th|·": null,
"de|th|Min": "นาที",
"de|th|KO": "เคโอ",
"de|th|Mixed": "ผสม",
"de|th|optional": "ไม่จำเป็น",
"de|th|Index": "ดัชนี",
"de|th|Diff": "ความแตกต่าง",
"de|th|myTischtennis-Account": "บัญชีเทเบิลเทนนิสของฉัน",
"de|th|Cookies/Local Storage": "คุกกี้/ที่เก็บข้อมูลในเครื่อง",
"de|th|TTR": "ทีทีอาร์",
"de|th|QTTR": "QTTR",
"de|th|min": "นาที",
"de|th|Download PDF": "ดาวน์โหลดไฟล์ PDF",
"de|th|Code": "รหัส",
"de|th|Team": "ทีม",
"de|th|Teams": "ทีม",
"de|th|vs": "เทียบกับ",
"de|th|Email": "อีเมล",
"de|th|https://example.com": "https://example.com",
"de|th|/api/auth/login": "/api/auth/login",
"de|th|/api/members/bulk": "/api/สมาชิก/bulk",
"de|th|myTischtennis": "มายเทเบิลเทนนิส",
"de|th|IP": "ไอพี",
"de|th|Request Body": "ขอเนื้อความ",
"de|th|Response Body": "ร่างกายตอบสนอง",
"de|th|Server": "เซิร์ฟเวอร์",
"de|th|Endpoint": "จุดสิ้นสุด",
"de|th|Format": "รูปแบบ",
"de|th|Tags": "แท็ก",
"de|th|Fullscreen Modal": "โมดอลแบบเต็มหน้าจอ",
"de|th|Fullscreen Modal Dialog": "กล่องโต้ตอบโมดอลแบบเต็มหน้าจอ",
"de|th|Block": "ปิดกั้น",
"de|th|🔍 nuscore Analyzer": "🔍 เครื่องวิเคราะห์ nuscore",
"de|th|(Q)TTR": "(ถาม)TTR",
"en|tl|Disabled": "Hindi pinagana",
"en|tl|Possible to be present": "Posibleng naroroon",
"en|tl|Active members": "Mga aktibong miyembro",
"en|tl|Swap": "Magpalit",
"en|tl|Outward": "Panlabas",
"en|tl|Home/Away Swapped": "Home/Away Pinagpalit",
"en|tl|Home/Away could not be swapped.": "Hindi mapalitan ang Home/Away.",
"en|tl|planned": "binalak",
"en|tl|prepared": "pinaghandaan",
"de|tl|Details": "Mga Detalye",
"de|tl|Optional": "Opsyonal",
"de|tl|in": "sa",
"de|tl|OK": "OK",
"de|tl|HTTV / click-TT": "HTTP / click-TT",
"de|tl|Cebuano (Bisaya)": "Cebuano (Bisaya)",
"de|tl|IBAN": "IBAN",
"de|tl|BIC": "BIC",
"de|tl|·": null,
"de|tl|Min": "Min",
"de|tl|KO": "KO",
"de|tl|Mixed": "Mixed",
"de|tl|optional": "opsyonal",
"de|tl|Index": "index",
"de|tl|Diff": "Diff",
"de|tl|myTischtennis-Account": "ang aking table tennis account",
"de|tl|Cookies/Local Storage": "Cookies/Lokal na Imbakan",
"de|tl|TTR": "TTR",
"de|tl|QTTR": "QTTR",
"de|tl|min": "min",
"de|tl|Download PDF": "Mag-download ng PDF",
"de|tl|Code": "code",
"de|tl|Team": "pangkat",
"de|tl|Teams": "mga koponan",
"de|tl|vs": "vs",
"de|tl|Email": "E-mail",
"de|tl|https://example.com": "https://example.com",
"de|tl|/api/auth/login": "/api/auth/login",
"de|tl|/api/members/bulk": "/api/members/bulk",
"de|tl|myTischtennis": "myTable Tennis",
"de|tl|IP": "IP",
"de|tl|Request Body": "Katawan ng Kahilingan",
"de|tl|Response Body": "Katawan ng Pagtugon",
"de|tl|Server": "server",
"de|tl|Endpoint": "Endpoint",
"de|tl|Format": "pormat",
"de|tl|Tags": "mga tag",
"de|tl|Fullscreen Modal": "Fullscreen modal",
"de|tl|Fullscreen Modal Dialog": "Fullscreen modal dialog",
"de|tl|Block": "harangan",
"de|tl|🔍 nuscore Analyzer": "🔍 nuscore analyzer",
"de|tl|(Q)TTR": "(Q)TTR",
"en|ceb|filter": "Salaan",
"en|ceb|status": "",
"en|ceb|min": "min",
"de|ceb|OK": "OK",
"en|ceb|Wed": "Miyerkules",
"en|ceb|Sat": "Sat",
"de|ceb|HTTV / click-TT": "HTTV / mag-click-TT",
"en|ceb|Members": "Mga Miyembro",
"en|ceb|Member info": "Impormasyon sa Miyembro",
"en|ceb|Active members": "Aktibo nga mga miyembro",
"en|ceb|Trial members": "Mga myembro sa pagsulay",
"en|ceb|Inactive members": "Dili aktibo nga mga miyembro",
"en|ceb|Generate phone list": "Paghimo og listahan sa telepono",
"en|ceb|Process group photo": "Litrato sa grupo sa proseso",
"en|ceb|Member photo saved from group photo.": "Ang litrato sa miyembro giluwas gikan sa litrato sa grupo.",
"en|ceb|Only active members are included": "Aktibo nga mga miyembro lamang ang gilakip",
"en|ceb|Update TTR/QTTR from myTischtennis": "I-update ang TTR/QTTR gikan sa myTischtennis",
"en|ceb|Updating...": "<g id=\"1\">Pag-update.</g> ",
"en|ceb|Transfer members": "Mga miyembro sa pagbalhin",
"en|ceb|New member": "Bag-ong miyembro",
"en|ceb|Edit member": "I-edit ang miyembro",
"en|ceb|Create new member": "Paghimo bag-ong miyembro",
"en|ceb|First name": "First name",
"en|ceb|Last name": "Last name",
"en|ceb|Street": "Kalye",
"en|ceb|ZIP code": "Kodigong ZIP",
"en|ceb|City": "Siyudad",
"en|ceb|Birthdate": "Birthdate",
"en|ceb|Phone numbers": "Mga numero sa telepono",
"en|ceb|Email addresses": "Mga adres sa email",
"en|ceb|Add phone number": "Numero sa telepono",
"en|ceb|Add email address": "daguwat",
"en|ceb|Phone number": "Numero sa telepono",
"en|ceb|Email address": "daguwat",
"en|ceb|Parent": "Ginikanan",
"en|ceb|Name (e.g. mother, father)": "Name (e.g. mom, dad)",
"en|ceb|Primary": "Panguna",
"en|ceb|Gender": "Kinatawhan",
"en|ceb|Unknown": "Wala mailhi",
"en|ceb|Male": "Lalaki",
"en|ceb|Female": "Babaye",
"en|ceb|Diverse": "Diverse",
"en|ceb|Pictures allowed online": "Gitugotan ang mga litrato sa online",
"en|ceb|Trial membership": "Miyembro sa pagsulay",
"en|ceb|Membership form handed over": "Porma sa pagkamiyembro nga gitugyan",
"en|ceb|Approved for adults": "Gi-aprubahan alang sa mga hamtong",
"en|ceb|Adult reserve": "Reserva Adulti",
"en|ceb|Wants to play": "Si vreau sa play",
"en|ceb|Training groups": "Mga grupo sa pagbansay",
"en|ceb|No groups assigned": "Wala 'y gitudlo nga mga grupo",
"en|ceb|No groups available": "Wala 'y magamit nga mga grupo",
"en|ceb|Add group...": "verb in a column header displaying group names",
"en|ceb|Bank account / SEPA": "Account sa Bangko/ SEPA",
"en|ceb|Loading bank details...": "Mga detalye sa pagkarga sa bangko...",
"en|ceb|Account holder": "Tag-iya sa account",
"de|ceb|IBAN": "IBAN",
"de|ceb|BIC": "BIC",
"en|ceb|Mandate reference": "Mandato nga pakisayran",
"en|ceb|Signed on": "Gipirmahan sa",
"en|ceb|Valid from": "Valid gikan sa",
"en|ceb|Active": "Aktibo",
"en|ceb|Pending": "Naghulat",
"en|ceb|Revoked": "<g id=\"1\">Nabakwi.</g> ",
"en|ceb|Note": "Pahimangno:",
"en|ceb|Save bank account": "Luwasa ang bank account",
"en|ceb|Bank account saved successfully.": "Malampuson nga naluwas ang account sa bangko.",
"en|ceb|Bank account could not be loaded.": "Ang account sa bangko dili ma-load.",
"en|ceb|Bank account could not be saved.": "Ang account sa bangko dili maluwas.",
"en|ceb|The bank account could not be found again after saving.": "Ang account sa bangko dili makit-an pag-usab pagkahuman sa pagtipig.",
"en|ceb|Remove": "Kuhaa",
"en|ceb|Image": "Imahen",
"en|ceb|Select file": "Pilia ang file",
"en|ceb|Camera": "Camera",
"en|ceb|Member image preview": "Preview sa imahe sa miyembro",
"en|ceb|Change": "Usba",
"en|ceb|Create": "Paghimo",
"en|ceb|Clear fields": "Tin-aw nga mga uma",
"en|ceb|Show inactive members": "Ipakita ang dili aktibo nga mga miyembro",
"en|ceb|Show “Training participations” column": "Ipakita ang kolum sa “Pagbansay sa mga partisipasyon”",
"en|ceb|Age group": "Grupo sa edad",
"en|ceb|Season (cutoff)": "Season (suba nga anhianhi)",
"en|ceb|current": "kasamtangan",
"en|ceb|upcoming": "umaabot",
"en|ceb|Cutoff 1 Jan (DTTB). Boys: J classes only. Girls: J and M.": "Cutoff 1 Jan (DTTB). Mga batang lalaki: Mga klase lang sa J. Mga batang babaye: J ug M.",
"en|ceb|Last training": "Katapusan nga pagbansay",
"en|ceb|With a recorded date": "Uban sa usa ka natala nga petsa",
"en|ceb|No last training": "Wala 'y katapusang pagbansay",
"en|ceb|Flagged “no longer training”": "Flagged “dili na pagbansay-bansay”",
"en|ceb|Age-class column: current and next season. Extra detail (last training, participations) on row hover.": "Kolum sa Klase sa Edad: Karon ug Sunod nga Panahon Dugang nga detalye (katapusang pagbansay, pag-apil) sa row hover.",
"de|ceb|·": "·",
"en|ceb|Age class (TT)": "Klase sa edad (TT)",
"en|ceb|Adults (not youth by cutoff)": "Mga hamtong (dili kabatan-onan pinaagi sa cutoff)",
"en|ceb|Boys & girls (mixed)": "Boy & Girl (mix)",
"en|ceb|Girls only": "Girls lang",
"en|ceb|Adults (18+)": "Adulti (18+)",
"en|ceb|U19": "U19",
"en|ceb|U17 (17 and younger)": "U17 (17 ug mas bata pa)",
"en|ceb|U15": "U15",
"en|ceb|U13": "U13",
"en|ceb|U11": "U11",
"en|ceb|U9": "U9",
"en|ceb|G19": "G19",
"en|ceb|G15": "G15",
"en|ceb|G13": "G13",
"en|ceb|G11": "G11",
"en|ceb|G9": "G9",
"en|ceb|Reset filters": "I-reset ang mga filter",
"en|ceb|Image (web?)": "Ang imahe (WEB?)",
"en|ceb|Trial": "Pagsulay",
"en|ceb|Last name, first name": "Last Name, Unang Ngalan",
"en|ceb|TTR/QTTR": "TTR/QTTR",
"en|ceb|Address": "Address ",
"en|ceb|Actions": "Imuhang binuhatan",
"en|ceb|Phone no.": "Telepono dili.",
"en|ceb|Training participations": "Mga pag-apil sa pagbansay",
"en|ceb|Member image": "Hulagway sa miyembro",
"en|ceb|inactive": "dili aktibo",
"en|ceb|6 or more training participations": "6 o labaw pa nga mga pag-apil sa pagbansay",
"en|ceb|3 or more training participations": "3 o labaw pa nga mga partisipasyon sa pagbansay",
"en|ceb|No longer a trial member": "Dili na jud",
"en|ceb|Deactivate member": "I-deactivate ang myembro",
"en|ceb|Notes": "Mga Sulat",
"en|ceb|Exercises": "Mga ehersisyo",
"en|ceb|Member images": "Mga imahe sa myembro",
"en|ceb|Click TT": "I-klik ang TT",
"en|ceb|member-selection.csv": "member-selection.csv",
"en|ceb|Orders": "Mga mando",
"en|ceb|Orders: {name}": "Mga Order: {name}",
"en|ceb|Orders Across All Clubs": "Mga Order sa Tibuok Tanan nga Mga Klab",
"en|ceb|All orders across clubs can be viewed and managed here.": "Ang tanan nga mga order sa tibuuk nga mga club mahimong makita ug madumala dinhi.",
"en|ceb|Loading orders...": "Pag-load sa mga order...",
"en|ceb|Orders could not be loaded.": "Ang mga order dili ma-load.",
"en|ceb|Order could not be saved.": "Ang order dili maluwas.",
"en|ceb|Search by club, member, or item": "Pagpangita pinaagi sa club, miyembro, o butang",
"en|ceb|All statuses": "Ang tanan nga mga kahimtang",
"en|ceb|All clubs": "Tanan nga mga club",
"en|ceb|All degrees": "Ang tanan nga mga grado",
"en|ceb|Paid": "Bayad",
"en|ceb|Item handed out": "Gihatag nga butang",
"en|ceb|Show completed ones": "Ipakita ang nahuman nga mga",
"en|ceb|Item": "Butang",
"en|ceb|e.g. jersey, hoodie, or paddle case": "gta sa jersey, hoodie, paddle case",
"en|ceb|requested": "gihangyo",
"en|ceb|ordered": "gimando",
"en|ceb|item arrived": "miabot ang butang",
"en|ceb|item handed over": "butang nga gitugyan",
"en|ceb|Cost": "The cost of following jesus",
"en|ceb|budget": "badyet",
"en|ceb|Outstanding": "Outstanding",
"en|ceb|History": "Kasaysayan",
"en|ceb|Created on": "Créer sa",
"en|ceb|Last update": "Katapusan nga pag-update",
"en|ceb|Create order": "Paghimo order",
"en|ceb|The date is set automatically and every change is logged with a date.": "Awtomatiko nga gitakda ang petsa ug ang matag pagbag-o gi-login sa usa ka petsa.",
"en|ceb|There are no orders for this member yet.": "Wala pa 'y mga order alang sa kini nga miyembro.",
"en|ceb|There are currently no orders.": "Sa pagkakaron wala 'y mga order.",
"en|ceb|Club": "Club",
"en|ceb|Member": "Miyembro",
"en|ceb|Invoice": "Invoice",
"en|ceb|Create your own monthly practice lesson bill.": "Paghimo sa imong kaugalingon nga binulan nga praktis nga bill sa leksyon.",
"en|ceb|Step 1: Store template": "Paso 1: Store template",
"en|ceb|Step 2: Create a billing run": "Lakang 2: Paghimo og usa ka billing run",
"en|ceb|Step 3: Generate and download PDF": "Lakang 3: Paghimo ug pag-download sa PDF",
"en|ceb|Upload template": "Pag-upload sa template",
"en|ceb|Template name": "Ngalan sa template",
"en|ceb|Description": "Deskripsyon:",
"en|ceb|PDF template": "Template sa PDF",
"en|ceb|Save Template": "I-save ang Template",
"en|ceb|Delete template": "I-delete ang template",
"en|ceb|Really delete this template?": "I-delete gyud kini nga template?",
"en|ceb|Template has been deleted.": "Gitangtang ang template.",
"en|ceb|Template could not be deleted.": "Dili matanggal ang template.",
"en|ceb|No templates available yet.": "Wala pa magamit nga mga template.",
"en|ceb|Position mapping": "Pag-mapa sa posisyon",
"en|ceb|Adjust and save coordinates once for each field. These positions are used in “Create PDF”.": "Ayuhon ug i-save ang mga koordinasyon kausa alang sa matag natad. Kini nga mga posisyon gigamit sa \"Paghimo og PDF\".",
"en|ceb|Mapping with a click": "Pag-mapa nga adunay usa ka pag-klik",
"en|ceb|Assign fields in the PDF with a click": "I-assign ang mga natad sa PDF nga adunay usa ka pag-klik",
"en|ceb|Select the field, then click in the PDF. The position will be taken over immediately.": "Pilia ang uma, dayon i-klik sa PDF. Ang posisyon kuhaon dayon.",
"en|ceb|Field": "Uma",
"en|ceb|Car suggestions": "Mga sugyot sa awto",
"en|ceb|IBAN boxes reset": "Mga kahon sa IBAN i-reset",
"en|ceb|IBAN boxes have been reset.": "Gi-reset ang mga kahon sa IBAN.",
"en|ceb|Learn IBAN": "Pagkat-on sa IBAN",
"en|ceb|Cancel IBAN learning": "Kanselahon ang pagkat-on sa IBAN",
"en|ceb|IBAN learning: please click on the first IBAN box to be used.": "Pagtuon sa IBAN: palihug i-klik ang una nga kahon sa IBAN nga gamiton.",
"en|ceb|IBAN learning: please click on the last IBAN box to be used.": "Pagtuon sa IBAN: palihug i-klik ang katapusang kahon sa IBAN nga gamiton.",
"en|ceb|IBAN boxes have been assigned from the selected area.": "Ang mga kahon sa IBAN gi-assign gikan sa gipili nga lugar.",
"en|ceb|Car suggestions have been entered. Please check and fine-tune.": "Gisulud ang mga sugyot sa awto. Palihug pagsusi ug pag-tune.",
"en|ceb|Auto suggestions could not be determined.": "Dili matino ang mga sugyot sa awto.",
"en|ceb|PDF preview for mapping could not be loaded.": "Ang preview sa PDF alang sa pagmapa dili ma-load.",
"en|ceb|Save mapping": "I-save ang pagmapa",
"en|ceb|Mapping has been saved.": "Ang mapa naluwas.",
"en|ceb|Mapping could not be saved.": "Ang mapa dili maluwas.",
"en|ceb|Billing run": "Dagan Billing",
"en|ceb|Template": "Template",
"en|ceb|month of": "bulan of",
"en|ceb|month to": "bulan to",
"en|ceb|Own name": "Kaugalingon nga ngalan",
"en|ceb|without country code": "walay country code",
"en|ceb|Hourly salary": "Oras sa suweldo",
"en|ceb|Number of hours": "Gidaghanon sa mga oras",
"en|ceb|Number of hours is automatically calculated from the training days: {hours} h ({count} units).": "Ang gidaghanon sa mga oras awtomatikong gikalkulo gikan sa mga adlaw sa pagbansay: {hours} h ({count} units).",
"en|ceb|Time": "Oras",
"en|ceb|Identifier": "Identifier",
"en|ceb|Hours": "unit-format",
"en|ceb|Same account as last statement": "Parehas nga asoy sama sa katapusang pahayag",
"en|ceb|do not specify": "ayaw pag-esplikar",
"en|ceb|No training sessions found in the selected period.": "Wala 'y mga sesyon sa pagbansay nga nakit-an sa gipili nga panahon.",
"en|ceb|Location": "Lokasyon",
"en|ceb|Date": "Petsa",
"en|ceb|Generate your own billing": "Paghimo sa imong kaugalingon nga billing",
"en|ceb|Generate PDF": "Pagmugna og PDF",
"en|ceb|Generate + download PDF": "Magma + download PDF",
"en|ceb|Create PDF...": "Paghimo (PDF)",
"en|ceb|PDF has been created.": "Gihimo ang PDF.",
"en|ceb|PDF could not be created.": "Dili mahimo ang PDF.",
"en|ceb|Download PDF": "I-download ang PDF",
"en|ceb|PDF could not be downloaded.": "Dili ma-download ang PDF.",
"en|ceb|Delete": "Tangtangon",
"en|ceb|Really delete this generated statement?": "Tinuud nga i-delete kini nga namugna nga pahayag?",
"en|ceb|Billing has been deleted.": "Billing dihapus.",
"en|ceb|Billing could not be deleted.": "Dili mapapas ang billing.",
"en|ceb|Previous billings": "Kaniadto nga mga billing",
"en|ceb|No invoices available yet.": "Wala pang available na invoice.",
"en|ceb|Training diary": "Talaadlawan sa pagbansay",
"en|ceb|No entries": "Walay mga entry",
"en|ceb|Delete date": "I-delete ang petsa",
"en|ceb|Create new": "Paghimo og bag-o",
"en|ceb|Quick add": "Dali nga pagdugang",
"en|ceb|No free training slot found (per group schedule, one year ahead).": "Wala 'y nakit-an nga libre nga slot sa pagbansay (matag iskedyul sa grupo, usa ka tuig sa unahan).",
"en|ceb|Could not create the training day entry.": "Couldn 't Create Training Day Entry.",
"en|ceb|Member gallery": "Galeriya sa miyembro",
"en|ceb|Creating gallery…": "Pagmugna sa gallery...",
"en|ceb|Select training group": "Pagpili og grupo sa pagbansay",
"en|ceb|Please choose...": "Sila Pilih...",
"en|ceb|Suggestion": "Sugyot",
"en|ceb|Next appointment": "Sunod nga appointment",
"en|ceb|Apply suggestion": "Ipadapat ang sugyot",
"en|ceb|Continue without suggestion": "Ipadayon nga wala 'y sugyot",
"en|ceb|Create new date": "Paghimo bag-ong petsa",
"en|ceb|Active training day": "Aktibo nga adlaw sa pagbansay",
"en|ceb|Training day": "Training Day",
"en|ceb|Completion checklist": "Checklist sa pagkompleto",
"en|ceb|Training start": "Pagsugod sa pagbansay",
"en|ceb|Training end": "Kataposan sa pagbansay",
"en|ceb|Exclude from billing": "Dili iapil sa billing",
"en|ceb|Training window": "Bintana sa pagbansay",
"en|ceb|Not set yet": "Wala pa gitakda",
"en|ceb|Groups": "Mga grupo:",
"en|ceb|Create date": "Paghimo petsa",
"en|ceb|Edit training times": "I-edit ang mga oras sa pagbansay",
"en|ceb|Update times": "Mga panahon sa pag-update",
"en|ceb|Group management": "Pagdumala sa grupo",
"en|ceb|Create groups": "Paghimo mga grupo",
"en|ceb|Training plan": "Plano sa pagbansay",
"en|ceb|Planned activities": "Mga giplano nga kalihokan",
"en|ceb|Time blocks": "Mga bloke sa oras",
"en|ceb|Nothing has been entered in the training plan yet.": "Wala pa gihapoy nasulod sa plano sa pagbansay.",
"en|ceb|Add new plan items using the actions above.": "Pagdugang bag-ong mga butang sa plano gamit ang mga aksyon sa taas.",
"en|ceb|Start time": "Oras sa pagsugod",
"en|ceb|Group...": "Maghugpong",
"en|ceb|Time block": "Bloke sa oras",
"en|ceb|Assign participants": "I-assign ang mga partisipante",
"en|ceb|Activities": "Mga kalihokan",
"en|ceb|Free activities": "Libre nga mga kalihokan",
"en|ceb|No free activities have been recorded yet.": "Wala pa 'y natala nga libre nga mga kalihokan.",
"en|ceb|Add activity": "Idugang ang kalihokan",
"en|ceb|Record accident": "Aksidente sa rekord",
"en|ceb|Activity": "Kalihokan",
"en|ceb|Duration": "Gidugayon",
"en|ceb|Activity image": "Larawan sa kalihokan",
"en|ceb|Activity drawing": "Pagdrowing sa kalihokan",
"en|ceb|Today": "Karon",
"en|ceb|Existing groups": "Anaa nga mga grupo",
"en|ceb|Leader": "Lider",
"en|ceb|Delete group": "Pagtangtang sa grupo",
"en|ceb|Number of groups": "Gidaghanon sa mga grupo",
"en|ceb|Add group": "Idugang ang grupo",
"en|ceb|Activity / time block": "Aktibidad / oras block",
"en|ceb|Duration (min)": "Gidugayon (min)",
"en|ceb|Standard activities": "Standard nga mga kalihokan",
"de|ceb|Min": "Min",
"en|ceb|Standard activity could not be added.": "Ang kasagarang kalihokan dili madugang.",
"en|ceb|Add group activity": "Idugang ang kalihokan sa grupo",
"en|ceb|+ Group": "+ Grupo",
"en|ceb|All": "Tanan",
"en|ceb|Select group...": "Pilia ang grupo...",
"en|ceb|Assign": "I-assign",
"en|ceb|Ready": "Andam",
"en|ceb|Open": "Bukas",
"en|ceb|Plan status": "Status sa plano",
"en|ceb|{count} open": "{count} bukas",
"en|ceb|e.g. 2x7 or 3*5": "e.g. 2x7 o 3*5",
"en|ceb|e.g. 2x7": "e.g. 2x7",
"en|ceb|Show image/drawing": "Ipakita ang hulagway/drawing",
"en|ceb|Participants": "Mga partisipante",
"en|ceb|Disabled": "Nabaldado",
"en|ceb|Possible to be present": "Posible nga presente",
"en|ceb|Search participants": "Pangitaa ang mga partisipante",
"en|ceb|Present": "Present"
}

View File

@@ -33,6 +33,7 @@ const LOCALE_TARGETS = {
th: 'th',
tl: 'tl',
fil: 'tl',
ceb: 'ceb',
'de-CH': 'de',
};
@@ -51,6 +52,7 @@ const ALL_FILL_ORDER = [
'th',
'tl',
'fil',
'ceb',
'de-CH',
];