feat(i18n, CourtDrawingTool, MembersOverviewSection): enhance internationalization and UI components
- Added new i18n keys for improved translations in the CourtDrawingTool and MembersOverviewSection components. - Updated CourtDrawingTool to utilize translation keys for various UI elements, enhancing user experience and accessibility. - Enhanced MembersOverviewSection with translation support for search and filter functionalities, improving usability for non-German speakers. - Introduced new scripts in package.json for i18n auditing and status checking, streamlining localization management.
This commit is contained in:
132
frontend/TRANSLATION_WORKFLOW.md
Normal file
132
frontend/TRANSLATION_WORKFLOW.md
Normal file
@@ -0,0 +1,132 @@
|
||||
# Translation Workflow
|
||||
|
||||
This is the project standard for translating UI texts safely and batch-wise.
|
||||
|
||||
## Scope
|
||||
Always translate these core namespaces first:
|
||||
|
||||
- `common`
|
||||
- `navigation`
|
||||
- `club`
|
||||
- `members`
|
||||
- `diary`
|
||||
- `trainingStats`
|
||||
- `courtDrawingTool`
|
||||
|
||||
`de.json` is the source of truth. All other locales are validated against it.
|
||||
|
||||
## Acceptance Criteria
|
||||
- No missing keys in the target locale
|
||||
- No German fallback text left in non-German locales for the translated batch
|
||||
- No placeholder mismatches such as `{count}` becoming `{anzahl}`
|
||||
- Native characters must be used correctly
|
||||
- `npm run build` must pass
|
||||
|
||||
## Native Characters
|
||||
Do not replace native characters with ASCII fallbacks. Use the actual writing system or accents of the target language.
|
||||
|
||||
Examples:
|
||||
- German: use `ä`, `ö`, `ü`, `ß`, not `ae`, `oe`, `ue`, `ss`
|
||||
- French: use `é`, `è`, `à`, `ç`
|
||||
- Spanish: use `á`, `é`, `í`, `ó`, `ú`, `ñ`
|
||||
- Italian: use `à`, `è`, `é`, `ì`, `ò`, `ù`
|
||||
- Polish: use `ą`, `ć`, `ę`, `ł`, `ń`, `ó`, `ś`, `ź`, `ż`
|
||||
- Japanese: use Japanese scripts directly, not romanized fallback
|
||||
- Chinese: use Chinese characters directly, not pinyin fallback
|
||||
- Thai: use Thai script directly, not Latin transliteration
|
||||
|
||||
## Batches
|
||||
- Batch A: `fr`, `es`
|
||||
- Batch B: `it`, `pl`
|
||||
- Batch C: `ja`, `zh`
|
||||
- Batch D: `th`, `tl`, `fil`
|
||||
|
||||
Run one batch at a time. Finish the whole batch before moving on.
|
||||
|
||||
## Order Per Language
|
||||
1. `common`
|
||||
2. `navigation`
|
||||
3. `club`
|
||||
4. `members`
|
||||
5. `diary`
|
||||
6. `trainingStats`
|
||||
7. `courtDrawingTool`
|
||||
|
||||
This keeps global UI stable first, then the larger feature areas.
|
||||
|
||||
## Per-Language Process
|
||||
1. Run the status report to see the current batch state.
|
||||
2. Open the target locale JSON.
|
||||
3. Translate only visible UI text.
|
||||
4. Keep product and domain names unchanged where appropriate:
|
||||
- `myTischtennis`
|
||||
- `click-TT`
|
||||
- `TTR`
|
||||
- `QTTR`
|
||||
5. Keep placeholders unchanged:
|
||||
- correct: `"{count} open"`
|
||||
- wrong: `"{anzahl} offen"`
|
||||
6. Save the file as valid UTF-8 JSON.
|
||||
|
||||
## Audit
|
||||
Run the status report before starting a batch:
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm run i18n:status
|
||||
```
|
||||
|
||||
Run the audit before and after translation work:
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm run i18n:audit -- fr es
|
||||
```
|
||||
|
||||
The audit checks:
|
||||
- missing keys in the core namespaces
|
||||
- values still identical to German
|
||||
- obvious German words left in non-German locales
|
||||
- placeholder mismatches
|
||||
- native-character coverage hints for languages that should visibly use them
|
||||
|
||||
## Build Check
|
||||
After each language batch:
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm run build
|
||||
```
|
||||
|
||||
## Suggested Working Loop
|
||||
1. `npm run i18n:status`
|
||||
2. Pick one batch
|
||||
3. Translate one namespace across the whole batch, or one whole language, but stay consistent
|
||||
4. Run `npm run i18n:audit -- <batch languages>`
|
||||
5. Fix remaining `same as de`, German leftovers, or placeholder issues
|
||||
6. Run `npm run build`
|
||||
7. Do a manual UI pass
|
||||
|
||||
## Manual UI Check
|
||||
Review these areas in the browser:
|
||||
- `/members`
|
||||
- `/diary`
|
||||
- `/training-stats`
|
||||
- exercise editor / court drawing dialog
|
||||
|
||||
Check especially:
|
||||
- clipped labels
|
||||
- wrong placeholders
|
||||
- mixed-language screens
|
||||
- broken interpolation text
|
||||
|
||||
## Definition of Done Per Batch
|
||||
- `missing keys: 0`
|
||||
- `german marker hits: 0`
|
||||
- `placeholder mismatches: 0`
|
||||
- `same as de` only for intentional product names or abbreviations
|
||||
- manual spot check completed on:
|
||||
- `/members`
|
||||
- `/diary`
|
||||
- `/training-stats`
|
||||
- exercise editor / court drawing dialog
|
||||
@@ -5,7 +5,9 @@
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"serve": "vite preview"
|
||||
"serve": "vite preview",
|
||||
"i18n:audit": "node scripts/audit-i18n.js",
|
||||
"i18n:status": "node scripts/translation-status.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^1.7.3",
|
||||
|
||||
187
frontend/scripts/audit-i18n.js
Normal file
187
frontend/scripts/audit-i18n.js
Normal file
@@ -0,0 +1,187 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const ROOT = path.resolve(__dirname, '..');
|
||||
const LOCALES_DIR = path.join(ROOT, 'src', 'i18n', 'locales');
|
||||
const BASE_LOCALE = 'de.json';
|
||||
const CORE_NAMESPACES = [
|
||||
'common',
|
||||
'navigation',
|
||||
'club',
|
||||
'members',
|
||||
'diary',
|
||||
'trainingStats',
|
||||
'courtDrawingTool'
|
||||
];
|
||||
|
||||
const GERMAN_MARKERS = [
|
||||
'Mitglied',
|
||||
'Mitglieder',
|
||||
'Training',
|
||||
'Verein',
|
||||
'Bearbeiten',
|
||||
'Loeschen',
|
||||
'Löschen',
|
||||
'Zugriff',
|
||||
'Aufschlag',
|
||||
'Ziel',
|
||||
'Schlag',
|
||||
'Gruppe',
|
||||
'Gruppen',
|
||||
'Heute',
|
||||
'Zur Startseite'
|
||||
];
|
||||
|
||||
const PLACEHOLDER_PATTERN = /\{[^}]+\}/g;
|
||||
|
||||
const NATIVE_CHARACTER_HINTS = {
|
||||
fr: /[àâæçéèêëîïôœùûüÿ]/i,
|
||||
es: /[áéíóúñü¡¿]/i,
|
||||
it: /[àèéìíîòóù]/i,
|
||||
pl: /[ąćęłńóśźż]/i,
|
||||
de: /[äöüß]/i,
|
||||
'de-CH': /[äöü]/i,
|
||||
ja: /[\u3040-\u30ff\u4e00-\u9faf]/,
|
||||
zh: /[\u4e00-\u9faf]/,
|
||||
th: /[\u0e00-\u0e7f]/,
|
||||
tl: null,
|
||||
fil: null,
|
||||
'en-GB': null,
|
||||
'en-US': null,
|
||||
'en-AU': null
|
||||
};
|
||||
|
||||
function flatten(obj, prefix = '') {
|
||||
const out = {};
|
||||
for (const [key, value] of Object.entries(obj || {})) {
|
||||
const nextKey = prefix ? `${prefix}.${key}` : key;
|
||||
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
||||
Object.assign(out, flatten(value, nextKey));
|
||||
} else {
|
||||
out[nextKey] = value;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
function pickNamespaces(source) {
|
||||
return Object.fromEntries(CORE_NAMESPACES.map(namespace => [namespace, source[namespace] || {}]));
|
||||
}
|
||||
|
||||
function loadJson(filePath) {
|
||||
return JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
||||
}
|
||||
|
||||
function getLocaleCode(localeFile) {
|
||||
return localeFile.replace(/\.json$/, '');
|
||||
}
|
||||
|
||||
function extractPlaceholders(value) {
|
||||
if (typeof value !== 'string') {
|
||||
return [];
|
||||
}
|
||||
return Array.from(value.matchAll(PLACEHOLDER_PATTERN)).map(match => match[0]).sort();
|
||||
}
|
||||
|
||||
function auditLocale(localeFile, baseFlat) {
|
||||
const data = loadJson(path.join(LOCALES_DIR, localeFile));
|
||||
const flat = flatten(pickNamespaces(data));
|
||||
const localeCode = getLocaleCode(localeFile);
|
||||
const missing = Object.keys(baseFlat).filter(key => !(key in flat));
|
||||
const sameAsDe = Object.keys(baseFlat).filter(key => flat[key] === baseFlat[key]);
|
||||
const germanHits = Object.entries(flat)
|
||||
.filter(([, value]) => typeof value === 'string' && GERMAN_MARKERS.some(marker => value.includes(marker)))
|
||||
.map(([key, value]) => `${key} = ${value}`);
|
||||
|
||||
const placeholderMismatches = Object.entries(baseFlat)
|
||||
.filter(([key, value]) => {
|
||||
if (!(key in flat) || typeof value !== 'string' || typeof flat[key] !== 'string') {
|
||||
return false;
|
||||
}
|
||||
const basePlaceholders = extractPlaceholders(value);
|
||||
const localePlaceholders = extractPlaceholders(flat[key]);
|
||||
return JSON.stringify(basePlaceholders) !== JSON.stringify(localePlaceholders);
|
||||
})
|
||||
.map(([key, value]) => `${key} = base:${value} | locale:${flat[key]}`);
|
||||
|
||||
const nativeCharHint = NATIVE_CHARACTER_HINTS[localeCode];
|
||||
const nativeCharCoverage = nativeCharHint
|
||||
? Object.entries(flat)
|
||||
.filter(([, value]) => typeof value === 'string' && value.trim())
|
||||
.filter(([, value]) => nativeCharHint.test(value))
|
||||
.length
|
||||
: null;
|
||||
|
||||
return {
|
||||
localeFile,
|
||||
localeCode,
|
||||
missing,
|
||||
sameAsDe,
|
||||
germanHits,
|
||||
placeholderMismatches,
|
||||
nativeCharCoverage
|
||||
};
|
||||
}
|
||||
|
||||
function printSection(title, entries, limit = 20) {
|
||||
console.log(title);
|
||||
if (!entries.length) {
|
||||
console.log(' none');
|
||||
return;
|
||||
}
|
||||
for (const entry of entries.slice(0, limit)) {
|
||||
console.log(` ${entry}`);
|
||||
}
|
||||
if (entries.length > limit) {
|
||||
console.log(` ... ${entries.length - limit} more`);
|
||||
}
|
||||
}
|
||||
|
||||
function main() {
|
||||
const localeArgs = process.argv.slice(2);
|
||||
const availableLocales = fs.readdirSync(LOCALES_DIR)
|
||||
.filter(file => file.endsWith('.json') && file !== BASE_LOCALE)
|
||||
.sort();
|
||||
|
||||
const locales = localeArgs.length
|
||||
? localeArgs.map(arg => (arg.endsWith('.json') ? arg : `${arg}.json`))
|
||||
: availableLocales;
|
||||
|
||||
const base = loadJson(path.join(LOCALES_DIR, BASE_LOCALE));
|
||||
const baseFlat = flatten(pickNamespaces(base));
|
||||
|
||||
let hasFailures = false;
|
||||
|
||||
for (const localeFile of locales) {
|
||||
if (!availableLocales.includes(localeFile)) {
|
||||
console.error(`Unknown locale: ${localeFile}`);
|
||||
hasFailures = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
const result = auditLocale(localeFile, baseFlat);
|
||||
console.log(`\n## ${localeFile}`);
|
||||
console.log(`missing keys: ${result.missing.length}`);
|
||||
console.log(`same as de: ${result.sameAsDe.length}`);
|
||||
console.log(`german marker hits: ${result.germanHits.length}`);
|
||||
console.log(`placeholder mismatches: ${result.placeholderMismatches.length}`);
|
||||
if (result.nativeCharCoverage !== null) {
|
||||
console.log(`entries with native characters: ${result.nativeCharCoverage}`);
|
||||
}
|
||||
|
||||
if (result.missing.length || result.germanHits.length || result.placeholderMismatches.length) {
|
||||
hasFailures = true;
|
||||
}
|
||||
|
||||
printSection('Missing keys', result.missing);
|
||||
printSection('Same as de', result.sameAsDe);
|
||||
printSection('German marker hits', result.germanHits);
|
||||
printSection('Placeholder mismatches', result.placeholderMismatches);
|
||||
}
|
||||
|
||||
if (hasFailures) {
|
||||
process.exitCode = 1;
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
79
frontend/scripts/translation-status.js
Normal file
79
frontend/scripts/translation-status.js
Normal file
@@ -0,0 +1,79 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const ROOT = path.resolve(__dirname, '..');
|
||||
const LOCALES_DIR = path.join(ROOT, 'src', 'i18n', 'locales');
|
||||
const BASE_LOCALE = 'de.json';
|
||||
const CORE_NAMESPACES = [
|
||||
'common',
|
||||
'navigation',
|
||||
'club',
|
||||
'members',
|
||||
'diary',
|
||||
'trainingStats',
|
||||
'courtDrawingTool'
|
||||
];
|
||||
|
||||
const BATCHES = {
|
||||
A: ['fr', 'es'],
|
||||
B: ['it', 'pl'],
|
||||
C: ['ja', 'zh'],
|
||||
D: ['th', 'tl', 'fil']
|
||||
};
|
||||
|
||||
function loadJson(filePath) {
|
||||
return JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
||||
}
|
||||
|
||||
function flatten(obj, prefix = '', result = {}) {
|
||||
for (const [key, value] of Object.entries(obj || {})) {
|
||||
const nextKey = prefix ? `${prefix}.${key}` : key;
|
||||
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
||||
flatten(value, nextKey, result);
|
||||
} else {
|
||||
result[nextKey] = value;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function pickNamespaces(source) {
|
||||
return Object.fromEntries(CORE_NAMESPACES.map(namespace => [namespace, source[namespace] || {}]));
|
||||
}
|
||||
|
||||
function statusFor(localeFile, baseFlat) {
|
||||
const locale = localeFile.replace(/\.json$/, '');
|
||||
const data = loadJson(path.join(LOCALES_DIR, localeFile));
|
||||
const flat = flatten(pickNamespaces(data));
|
||||
const keys = Object.keys(baseFlat);
|
||||
const missing = keys.filter(key => !(key in flat)).length;
|
||||
const sameAsDe = keys.filter(key => flat[key] === baseFlat[key]).length;
|
||||
const translated = keys.length - missing - sameAsDe;
|
||||
const coverage = ((keys.length - missing) / keys.length) * 100;
|
||||
const actualTranslationCoverage = (translated / keys.length) * 100;
|
||||
return { locale, missing, sameAsDe, translated, coverage, actualTranslationCoverage };
|
||||
}
|
||||
|
||||
function printGroup(title, locales, baseFlat) {
|
||||
console.log(`\n# ${title}`);
|
||||
console.log('locale | translated | same as de | missing | core coverage | actual translation');
|
||||
console.log('--- | ---: | ---: | ---: | ---: | ---:');
|
||||
for (const locale of locales) {
|
||||
const result = statusFor(`${locale}.json`, baseFlat);
|
||||
console.log(
|
||||
`${result.locale} | ${result.translated} | ${result.sameAsDe} | ${result.missing} | ${result.coverage.toFixed(1)}% | ${result.actualTranslationCoverage.toFixed(1)}%`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function main() {
|
||||
const base = loadJson(path.join(LOCALES_DIR, BASE_LOCALE));
|
||||
const baseFlat = flatten(pickNamespaces(base));
|
||||
|
||||
printGroup('Batch A', BATCHES.A, baseFlat);
|
||||
printGroup('Batch B', BATCHES.B, baseFlat);
|
||||
printGroup('Batch C', BATCHES.C, baseFlat);
|
||||
printGroup('Batch D', BATCHES.D, baseFlat);
|
||||
}
|
||||
|
||||
main();
|
||||
@@ -7,8 +7,8 @@
|
||||
<section class="workflow-card">
|
||||
<button type="button" class="workflow-toggle" @click="toggleStartSection">
|
||||
<div>
|
||||
<div class="workflow-step">1. Startposition</div>
|
||||
<p class="workflow-copy workflow-copy-compact">Aus welcher Aufschlagposition startet die Übung?</p>
|
||||
<div class="workflow-step">{{ $t('courtDrawingTool.stepStartPosition') }}</div>
|
||||
<p class="workflow-copy workflow-copy-compact">{{ $t('courtDrawingTool.stepStartPositionHint') }}</p>
|
||||
</div>
|
||||
<span class="workflow-toggle-icon">{{ startSectionExpanded ? '−' : '+' }}</span>
|
||||
</button>
|
||||
@@ -31,8 +31,8 @@
|
||||
<section class="workflow-card">
|
||||
<button type="button" class="workflow-toggle" @click="toggleFirstStrokeSection">
|
||||
<div>
|
||||
<div class="workflow-step">2. 1. Schlag</div>
|
||||
<p class="workflow-copy workflow-copy-compact">Schlagseite und Rotation für den ersten Ball festlegen.</p>
|
||||
<div class="workflow-step">{{ $t('courtDrawingTool.stepFirstStroke') }}</div>
|
||||
<p class="workflow-copy workflow-copy-compact">{{ $t('courtDrawingTool.stepFirstStrokeHint') }}</p>
|
||||
</div>
|
||||
<span class="workflow-toggle-icon">{{ firstStrokeSectionExpanded ? '−' : '+' }}</span>
|
||||
</button>
|
||||
@@ -79,8 +79,8 @@
|
||||
<section class="workflow-card">
|
||||
<button type="button" class="workflow-toggle" @click="toggleTargetSection">
|
||||
<div>
|
||||
<div class="workflow-step">3. Ziel</div>
|
||||
<p class="workflow-copy workflow-copy-compact">Zielzone für den ersten Schlag auswählen.</p>
|
||||
<div class="workflow-step">{{ $t('courtDrawingTool.stepTarget') }}</div>
|
||||
<p class="workflow-copy workflow-copy-compact">{{ $t('courtDrawingTool.stepTargetHint') }}</p>
|
||||
</div>
|
||||
<span class="workflow-toggle-icon">{{ targetSectionExpanded ? '−' : '+' }}</span>
|
||||
</button>
|
||||
@@ -104,8 +104,8 @@
|
||||
</section>
|
||||
|
||||
<section class="workflow-card workflow-card-wide" v-if="strokeType && spinType && targetPosition">
|
||||
<div class="workflow-step">4. Folgeschläge</div>
|
||||
<p class="workflow-copy">Optional weitere Bälle als Liste aufbauen.</p>
|
||||
<div class="workflow-step">{{ $t('courtDrawingTool.stepAdditionalStrokes') }}</div>
|
||||
<p class="workflow-copy">{{ $t('courtDrawingTool.stepAdditionalStrokesHint') }}</p>
|
||||
|
||||
<div v-if="additionalStrokes.length" class="stroke-sequence-list">
|
||||
<div
|
||||
@@ -115,14 +115,14 @@
|
||||
>
|
||||
<div class="stroke-sequence-index">{{ index + 2 }}</div>
|
||||
<div class="stroke-sequence-copy">{{ formatAdditionalStroke(stroke) }}</div>
|
||||
<button type="button" class="stroke-sequence-remove" @click="removeAdditionalStroke(index)">Entfernen</button>
|
||||
<button type="button" class="stroke-sequence-remove" @click="removeAdditionalStroke(index)">{{ $t('common.delete') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="stroke-sequence-empty">Noch keine Folgeschläge angelegt.</div>
|
||||
<div v-else class="stroke-sequence-empty">{{ $t('courtDrawingTool.noAdditionalStrokes') }}</div>
|
||||
|
||||
<div class="next-stroke-selection">
|
||||
<div class="workflow-block">
|
||||
<span class="group-label">Seite</span>
|
||||
<span class="group-label">{{ $t('courtDrawingTool.strokeSide') }}</span>
|
||||
<div class="choice-row">
|
||||
<button
|
||||
type="button"
|
||||
@@ -144,7 +144,7 @@
|
||||
</div>
|
||||
|
||||
<div class="workflow-block">
|
||||
<span class="group-label">Schlagart</span>
|
||||
<span class="group-label">{{ $t('courtDrawingTool.strokeTypeLabel') }}</span>
|
||||
<div class="choice-row choice-row-dense">
|
||||
<button
|
||||
v-for="option in additionalStrokeTypeOptions"
|
||||
@@ -161,7 +161,7 @@
|
||||
</div>
|
||||
|
||||
<div class="workflow-block">
|
||||
<span class="group-label">Zielposition</span>
|
||||
<span class="group-label">{{ $t('courtDrawingTool.targetPositionLabel') }}</span>
|
||||
<div class="target-grid target-grid-large">
|
||||
<button
|
||||
v-for="n in additionalTargetPositions"
|
||||
@@ -182,22 +182,22 @@
|
||||
@click="addNextStroke"
|
||||
:disabled="additionalStrokes.length >= 4 || !nextStrokeTargetPosition"
|
||||
>
|
||||
Schlag hinzufügen
|
||||
{{ $t('courtDrawingTool.addStroke') }}
|
||||
</button>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="exercise-info" v-if="strokeType && spinType">
|
||||
<p><strong>Kürzel:</strong> {{ getFullCode() }}</p>
|
||||
<p><strong>Titel:</strong> {{ getFullTitle() }}</p>
|
||||
<p><strong>{{ $t('courtDrawingTool.codeLabel') }}:</strong> {{ getFullCode() }}</p>
|
||||
<p><strong>{{ $t('courtDrawingTool.titleLabel') }}:</strong> {{ getFullTitle() }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<aside class="preview-panel">
|
||||
<div class="preview-panel-header">
|
||||
<div class="workflow-step">Vorschau</div>
|
||||
<p class="workflow-copy">Die Grafik erscheint, sobald der erste Schlag vollständig gesetzt ist.</p>
|
||||
<div class="workflow-step">{{ $t('courtDrawingTool.preview') }}</div>
|
||||
<p class="workflow-copy">{{ $t('courtDrawingTool.previewHint') }}</p>
|
||||
</div>
|
||||
<div v-if="isPrimaryStrokeReady" class="canvas-container">
|
||||
<canvas
|
||||
@@ -211,8 +211,8 @@
|
||||
></canvas>
|
||||
</div>
|
||||
<div v-else class="canvas-placeholder">
|
||||
<strong>1. Schlag vervollständigen</strong>
|
||||
<span>Wähle Startposition, Schlagseite, Rotation und Ziel. Danach erscheint die grafische Darstellung.</span>
|
||||
<strong>{{ $t('courtDrawingTool.completeFirstStroke') }}</strong>
|
||||
<span>{{ $t('courtDrawingTool.completeFirstStrokeHint') }}</span>
|
||||
</div>
|
||||
</aside>
|
||||
</div>
|
||||
@@ -390,9 +390,9 @@ export default {
|
||||
},
|
||||
startPositionOptions() {
|
||||
return [
|
||||
{ value: 'AS1', short: 'AS1', label: 'links' },
|
||||
{ value: 'AS2', short: 'AS2', label: 'mitte' },
|
||||
{ value: 'AS3', short: 'AS3', label: 'rechts' }
|
||||
{ value: 'AS1', short: 'AS1', label: this.$t('courtDrawingTool.startLeft') },
|
||||
{ value: 'AS2', short: 'AS2', label: this.$t('courtDrawingTool.startMiddle') },
|
||||
{ value: 'AS3', short: 'AS3', label: this.$t('courtDrawingTool.startRight') }
|
||||
];
|
||||
},
|
||||
mainSpinOptions() {
|
||||
@@ -406,14 +406,14 @@ export default {
|
||||
},
|
||||
additionalStrokeTypeOptions() {
|
||||
return [
|
||||
{ value: 'US', short: 'US', label: 'Schupf' },
|
||||
{ value: 'OS', short: 'OS', label: 'Konter' },
|
||||
{ value: 'TS', short: 'TS', label: 'Topspin' },
|
||||
{ value: 'F', short: 'F', label: 'Flip' },
|
||||
{ value: 'B', short: 'B', label: 'Block' },
|
||||
{ value: 'SCH', short: 'SCH', label: 'Schuss' },
|
||||
{ value: 'SAB', short: 'SAB', label: 'Schnittabwehr' },
|
||||
{ value: 'BAB', short: 'BAB', label: 'Ballonabwehr' }
|
||||
{ value: 'US', short: 'US', label: this.$t('courtDrawingTool.strokeTypePush') },
|
||||
{ value: 'OS', short: 'OS', label: this.$t('courtDrawingTool.strokeTypeCounter') },
|
||||
{ value: 'TS', short: 'TS', label: this.$t('courtDrawingTool.strokeTypeTopspin') },
|
||||
{ value: 'F', short: 'F', label: this.$t('courtDrawingTool.strokeTypeFlip') },
|
||||
{ value: 'B', short: 'B', label: this.$t('courtDrawingTool.strokeTypeBlock') },
|
||||
{ value: 'SCH', short: 'SCH', label: this.$t('courtDrawingTool.strokeTypeSmash') },
|
||||
{ value: 'SAB', short: 'SAB', label: this.$t('courtDrawingTool.strokeTypeChopDefense') },
|
||||
{ value: 'BAB', short: 'BAB', label: this.$t('courtDrawingTool.strokeTypeLobDefense') }
|
||||
];
|
||||
},
|
||||
// Reihenfolge der Positionen für Hauptschlag basierend auf Richtung
|
||||
@@ -542,20 +542,20 @@ export default {
|
||||
},
|
||||
formatTargetPosition(position) {
|
||||
const labels = {
|
||||
'1': 'Vorhand lang',
|
||||
'2': 'Mitte lang',
|
||||
'3': 'Rückhand lang',
|
||||
'4': 'Vorhand halblang',
|
||||
'5': 'Mitte halblang',
|
||||
'6': 'Rückhand halblang',
|
||||
'7': 'Vorhand kurz',
|
||||
'8': 'Mitte kurz',
|
||||
'9': 'Rückhand kurz'
|
||||
'1': this.$t('courtDrawingTool.targetForehandLong'),
|
||||
'2': this.$t('courtDrawingTool.targetMiddleLong'),
|
||||
'3': this.$t('courtDrawingTool.targetBackhandLong'),
|
||||
'4': this.$t('courtDrawingTool.targetForehandHalfLong'),
|
||||
'5': this.$t('courtDrawingTool.targetMiddleHalfLong'),
|
||||
'6': this.$t('courtDrawingTool.targetBackhandHalfLong'),
|
||||
'7': this.$t('courtDrawingTool.targetForehandShort'),
|
||||
'8': this.$t('courtDrawingTool.targetMiddleShort'),
|
||||
'9': this.$t('courtDrawingTool.targetBackhandShort')
|
||||
};
|
||||
return labels[String(position)] || String(position);
|
||||
},
|
||||
formatAdditionalStroke(stroke) {
|
||||
return `${this.formatStrokeSide(stroke.side)} ${this.formatAdditionalStrokeType(stroke.type)} nach ${this.formatTargetPosition(stroke.targetPosition)}`;
|
||||
return `${this.formatStrokeSide(stroke.side)} ${this.formatAdditionalStrokeType(stroke.type)} ${this.$t('courtDrawingTool.toTarget')} ${this.formatTargetPosition(stroke.targetPosition)}`;
|
||||
},
|
||||
removeAdditionalStroke(index) {
|
||||
this.additionalStrokes.splice(index, 1);
|
||||
@@ -1620,40 +1620,22 @@ export default {
|
||||
getFullTitle() {
|
||||
if (!this.selectedStartPosition || !this.strokeType) return '';
|
||||
|
||||
const strokeName = this.strokeType === 'VH' ? 'Vorhand' : 'Rückhand';
|
||||
let title = `Aufschlag ${strokeName}`;
|
||||
const strokeName = this.strokeType === 'VH' ? this.$t('courtDrawingTool.forehand') : this.$t('courtDrawingTool.backhand');
|
||||
let title = `${this.$t('courtDrawingTool.serviceTitle')} ${strokeName}`;
|
||||
if (this.spinType) {
|
||||
title = `Aufschlag ${strokeName} ${this.spinType}`;
|
||||
title = `${this.$t('courtDrawingTool.serviceTitle')} ${strokeName} ${this.spinType}`;
|
||||
}
|
||||
if (this.targetPosition) {
|
||||
// Ausgeschriebene Beschreibungen für Zielpositionen
|
||||
const targetDescriptionMap = {
|
||||
'1': 'Vorhand Lang', '2': 'Mitte Lang', '3': 'Rückhand Lang',
|
||||
'4': 'Vorhand Halblang', '5': 'Mitte Halblang', '6': 'Rückhand Halblang',
|
||||
'7': 'Vorhand Kurz', '8': 'Mitte Kurz', '9': 'Rückhand Kurz'
|
||||
};
|
||||
const targetDescription = targetDescriptionMap[this.targetPosition] || this.targetPosition;
|
||||
const targetDescription = this.formatTargetPosition(this.targetPosition);
|
||||
title += ` → ${targetDescription}`;
|
||||
}
|
||||
|
||||
// Zusätzliche Schläge hinzufügen
|
||||
if (this.additionalStrokes.length > 0) {
|
||||
this.additionalStrokes.forEach(stroke => {
|
||||
const strokeNameMap = {
|
||||
'US': 'Schupf', 'OS': 'Konter', 'TS': 'Topspin', 'F': 'Flip', 'B': 'Block',
|
||||
'SCH': 'Schuss', 'SAB': 'Schnittabwehr', 'BAB': 'Ballonabwehr'
|
||||
};
|
||||
const sideNameMap = {
|
||||
'VH': 'Vorhand', 'RH': 'Rückhand'
|
||||
};
|
||||
const targetDescriptionMap = {
|
||||
'1': 'Vorhand Lang', '2': 'Mitte Lang', '3': 'Rückhand Lang',
|
||||
'4': 'Vorhand Halblang', '5': 'Mitte Halblang', '6': 'Rückhand Halblang',
|
||||
'7': 'Vorhand Kurz', '8': 'Mitte Kurz', '9': 'Rückhand Kurz'
|
||||
};
|
||||
const strokeName = strokeNameMap[stroke.type] || stroke.type;
|
||||
const sideName = sideNameMap[stroke.side] || stroke.side;
|
||||
const targetDescription = targetDescriptionMap[stroke.targetPosition] || stroke.targetPosition;
|
||||
const strokeName = this.formatAdditionalStrokeType(stroke.type);
|
||||
const sideName = this.formatStrokeSide(stroke.side);
|
||||
const targetDescription = this.formatTargetPosition(stroke.targetPosition);
|
||||
title += ` / ${sideName} ${strokeName} → ${targetDescription}`;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
|
||||
<details class="members-advanced-filters">
|
||||
<summary>Suche und Filter</summary>
|
||||
<summary>{{ $t('members.searchAndFilter') }}</summary>
|
||||
<div class="filter-controls">
|
||||
<div class="member-search-group">
|
||||
<label for="member-search-input">{{ $t('members.search') }}</label>
|
||||
@@ -69,11 +69,11 @@
|
||||
<option value="J15">{{ $t('members.j15') }}</option>
|
||||
<option value="J13">{{ $t('members.j13') }}</option>
|
||||
<option value="J11">{{ $t('members.j11') }}</option>
|
||||
<option value="range">Alter von - bis</option>
|
||||
<option value="range">{{ $t('members.ageRange') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div v-if="selectedAgeGroup === 'range'" class="filter-group age-range-group">
|
||||
<label>Alter von - bis:</label>
|
||||
<label>{{ $t('members.ageRange') }}:</label>
|
||||
<div class="age-range-inputs">
|
||||
<input
|
||||
:value="selectedAgeFrom"
|
||||
@@ -81,7 +81,7 @@
|
||||
min="0"
|
||||
max="120"
|
||||
class="filter-select age-range-input"
|
||||
placeholder="von"
|
||||
:placeholder="$t('members.ageFromPlaceholder')"
|
||||
@input="$emit('update:selected-age-from', $event.target.value)"
|
||||
>
|
||||
<span class="age-range-separator">-</span>
|
||||
@@ -91,7 +91,7 @@
|
||||
min="0"
|
||||
max="120"
|
||||
class="filter-select age-range-input"
|
||||
placeholder="bis"
|
||||
:placeholder="$t('members.ageToPlaceholder')"
|
||||
@input="$emit('update:selected-age-to', $event.target.value)"
|
||||
>
|
||||
</div>
|
||||
@@ -150,7 +150,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<details class="members-bulk-actions">
|
||||
<summary>Sammelaktionen</summary>
|
||||
<summary>{{ $t('members.bulkActions') }}</summary>
|
||||
<div class="members-bulk-actions-grid">
|
||||
<button type="button" @click="$emit('create-phone-list-for-filtered')" :disabled="visibleMembersCount === 0">
|
||||
{{ $t('members.phoneListForSelection') }}
|
||||
|
||||
@@ -17,6 +17,28 @@ import tl from './locales/tl.json';
|
||||
import th from './locales/th.json';
|
||||
import fil from './locales/fil.json';
|
||||
|
||||
function deepMergeMessages(base, override) {
|
||||
if (!base || typeof base !== 'object' || Array.isArray(base)) {
|
||||
return override ?? base;
|
||||
}
|
||||
const result = { ...base };
|
||||
for (const [key, value] of Object.entries(override || {})) {
|
||||
if (
|
||||
value &&
|
||||
typeof value === 'object' &&
|
||||
!Array.isArray(value) &&
|
||||
result[key] &&
|
||||
typeof result[key] === 'object' &&
|
||||
!Array.isArray(result[key])
|
||||
) {
|
||||
result[key] = deepMergeMessages(result[key], value);
|
||||
} else {
|
||||
result[key] = value;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// Language mapping for browser language detection
|
||||
const languageMap = {
|
||||
'de': 'de',
|
||||
@@ -92,19 +114,19 @@ const i18n = createI18n({
|
||||
fallbackLocale: 'de',
|
||||
messages: {
|
||||
'de': de,
|
||||
'en-GB': enGB,
|
||||
'en-US': enUS,
|
||||
'en-AU': enAU,
|
||||
'de-CH': deCH,
|
||||
'fr': fr,
|
||||
'es': es,
|
||||
'it': it,
|
||||
'pl': pl,
|
||||
'ja': ja,
|
||||
'zh': zh,
|
||||
'tl': tl,
|
||||
'th': th,
|
||||
'fil': fil,
|
||||
'en-GB': deepMergeMessages(de, enGB),
|
||||
'en-US': deepMergeMessages(de, enUS),
|
||||
'en-AU': deepMergeMessages(de, enAU),
|
||||
'de-CH': deepMergeMessages(de, deCH),
|
||||
'fr': deepMergeMessages(de, fr),
|
||||
'es': deepMergeMessages(de, es),
|
||||
'it': deepMergeMessages(de, it),
|
||||
'pl': deepMergeMessages(de, pl),
|
||||
'ja': deepMergeMessages(de, ja),
|
||||
'zh': deepMergeMessages(de, zh),
|
||||
'tl': deepMergeMessages(de, tl),
|
||||
'th': deepMergeMessages(de, th),
|
||||
'fil': deepMergeMessages(de, fil),
|
||||
},
|
||||
legacy: true, // Use Options API mode (required for $t in templates with Options API)
|
||||
// globalInjection is automatically enabled with legacy: true
|
||||
@@ -159,4 +181,3 @@ if (typeof window !== 'undefined' && (process.env.NODE_ENV === 'development' ||
|
||||
|
||||
export default i18n;
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"delete": "Lösche",
|
||||
"edit": "Bearbeite",
|
||||
"add": "Hinzufüge",
|
||||
"close": "Schliesse",
|
||||
"close": "Schliessen",
|
||||
"confirm": "Bestätige",
|
||||
"yes": "Ja",
|
||||
"no": "Nei",
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "Wiiter",
|
||||
"previous": "Zrugg",
|
||||
"submit": "Abschicke",
|
||||
"reset": "Zruggsetze"
|
||||
"reset": "Zruggsetze",
|
||||
"all": "Alle",
|
||||
"today": "Hüt",
|
||||
"time": "Zyt",
|
||||
"new": "Neu",
|
||||
"update": "Aktualisiere",
|
||||
"create": "Erstelle",
|
||||
"remove": "Entferne",
|
||||
"select": "Uswähle",
|
||||
"download": "Herunterlade",
|
||||
"choose": "Wähle",
|
||||
"apply": "Aawände",
|
||||
"clear": "Lösche",
|
||||
"details": "Details",
|
||||
"view": "Aazeige",
|
||||
"name": "Name",
|
||||
"date": "Datum",
|
||||
"status": "Status",
|
||||
"type": "Typ",
|
||||
"description": "Beschrieb",
|
||||
"active": "Aktiv",
|
||||
"inactive": "Inaktiv",
|
||||
"enabled": "Aktiviert",
|
||||
"disabled": "Deaktiviert",
|
||||
"required": "Erforderlich",
|
||||
"optional": "Optional",
|
||||
"in": "in",
|
||||
"min": "Min",
|
||||
"minutes": "Minute",
|
||||
"hours": "Stunde",
|
||||
"days": "Täg",
|
||||
"weeks": "Wuche",
|
||||
"months": "Monat",
|
||||
"years": "Jahr",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Startseite",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "System-Logs",
|
||||
"memberTransfer": "Mitgliderübertragig",
|
||||
"myTischtennisAccount": "myTischtennis-Account",
|
||||
"clickTtAccount": "HTTV / click-TT-Account",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "Persönlichi Iistellige",
|
||||
"logout": "Abmelde",
|
||||
"login": "Aamelde",
|
||||
"register": "Registriere",
|
||||
"dailyBusiness": "Tagesgschäft",
|
||||
"competitions": "Wettbewerb",
|
||||
"settings": "Iistellige"
|
||||
"settings": "Iistellige",
|
||||
"backToHome": "Zur Startseite"
|
||||
},
|
||||
"club": {
|
||||
"select": "Verein uswähle",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "Lade",
|
||||
"name": "Vereinsname",
|
||||
"create": "Verein erstelle",
|
||||
"accessRequestPending": "Der Zugriff auf diesen Verein ist beantragt. Bitte haben Sie etwas Geduld."
|
||||
"createTitle": "Verein aalege",
|
||||
"members": "Mitglieder",
|
||||
"trainingDiary": "Trainingstagebuch",
|
||||
"noAccess": "Für diesen Verein isch no kei Zugriff freigschaltet.",
|
||||
"requestAccess": "Zugriff beantrage",
|
||||
"openRequests": "Offeni Zugriffsafrage",
|
||||
"title": "Verein",
|
||||
"openAccessRequests": "Offeni Zugriffsafrage",
|
||||
"diary": "Trainingstagebuch",
|
||||
"accessDenied": "Zugriff uf de Verein verweigeret.",
|
||||
"errorLoadingRequests": "Fehler bim Lade vo de offene Afroge",
|
||||
"accessRequested": "Zugriff isch aagfragt worde.",
|
||||
"accessRequestPending": "Der Zugriff auf diesen Verein ist beantragt. Bitte haben Sie etwas Geduld.",
|
||||
"accessRequestFailed": "Zugriffsafrag het nöd chönne gstellt werde."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Aamelde",
|
||||
@@ -359,6 +409,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Platz {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "Mitglieder",
|
||||
"memberInfo": "Mitglieder-Info",
|
||||
"activeMembers": "Aktive Mitglieder",
|
||||
"testMembers": "Testmitglieder",
|
||||
"inactiveMembers": "Inaktive Mitglieder",
|
||||
"generatePhoneList": "Telefonliste generieren",
|
||||
"onlyActiveMembers": "Es werden nur aktive Mitglieder ausgegeben",
|
||||
"updateRatings": "TTR/QTTR von myTischtennis aktualisieren",
|
||||
"updating": "Aktualisiere...",
|
||||
"transferMembers": "Mitglieder übertragen",
|
||||
"newMember": "Neues Mitglied",
|
||||
"editMember": "Mitglied bearbeiten",
|
||||
"createNewMember": "Neues Mitglied anlegen",
|
||||
"firstName": "Vorname",
|
||||
"lastName": "Nachname",
|
||||
"street": "Straße",
|
||||
"postalCode": "PLZ",
|
||||
"city": "Ort",
|
||||
"birthdate": "Geburtsdatum",
|
||||
"phones": "Telefonnummern",
|
||||
"emails": "E-Mail-Adressen",
|
||||
"addPhone": "Telefonnummer hinzufügen",
|
||||
"addEmail": "E-Mail-Adresse hinzufügen",
|
||||
"phoneNumber": "Telefonnummer",
|
||||
"emailAddress": "E-Mail-Adresse",
|
||||
"parent": "Elternteil",
|
||||
"parentName": "Name (z.B. Mutter, Vater)",
|
||||
"primary": "Primär",
|
||||
"gender": "Geschlecht",
|
||||
"genderUnknown": "Unbekannt",
|
||||
"genderMale": "Männlich",
|
||||
"genderFemale": "Weiblich",
|
||||
"genderDiverse": "Divers",
|
||||
"picsInInternetAllowed": "Pics in Internet erlaubt",
|
||||
"testMembership": "Testmitgliedschaft",
|
||||
"memberFormHandedOver": "Mitgliedsformular ausgehändigt",
|
||||
"trainingGroups": "Trainingsgruppen",
|
||||
"noGroupsAssigned": "Keine Gruppen zugeordnet",
|
||||
"noGroupsAvailable": "Keine Gruppen verfügbar",
|
||||
"addGroup": "Gruppe hinzufügen...",
|
||||
"remove": "Entfernen",
|
||||
"image": "Bild",
|
||||
"selectFile": "Datei auswählen",
|
||||
"camera": "Kamera",
|
||||
"imagePreview": "Vorschau des Mitgliedsbildes",
|
||||
"change": "Ändern",
|
||||
"create": "Anlegen",
|
||||
"clearFields": "Felder leeren",
|
||||
"showInactiveMembers": "Inaktive Mitglieder anzeigen",
|
||||
"ageGroup": "Altersklasse",
|
||||
"adults": "Erwachsene (20+)",
|
||||
"j19": "J19 (19 und jünger)",
|
||||
"j17": "J17 (17 und jünger)",
|
||||
"j15": "J15 (15 und jünger)",
|
||||
"j13": "J13 (13 und jünger)",
|
||||
"j11": "J11 (11 und jünger)",
|
||||
"clearFilters": "Filter zurücksetzen",
|
||||
"imageInternet": "Bild (Inet?)",
|
||||
"testMember": "Testm.",
|
||||
"name": "Name, Vorname",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Adresse",
|
||||
"active": "Aktiv",
|
||||
"actions": "Aktionen",
|
||||
"phoneNumberShort": "Telefon-Nr.",
|
||||
"emailAddressShort": "Email-Adresse",
|
||||
"trainingParticipations": "Trainingsteilnahmen",
|
||||
"memberImage": "Mitgliedsbild",
|
||||
"inactive": "inaktiv",
|
||||
"sixOrMoreParticipations": "6 oder mehr Trainingsteilnahmen",
|
||||
"threeOrMoreParticipations": "3 oder mehr Trainingsteilnahmen",
|
||||
"noTestMembership": "Keine Testmitgliedschaft mehr",
|
||||
"formHandedOver": "Mitgliedsformular ausgehändigt",
|
||||
"deactivateMember": "Mitglied deaktivieren",
|
||||
"notes": "Notizen",
|
||||
"exercises": "Übungen",
|
||||
"memberImages": "Mitgliedsbilder",
|
||||
"testMembershipRemoved": "Testmitgliedschaft entfernt.",
|
||||
"errorRemovingTestMembership": "Fehler beim Entfernen der Testmitgliedschaft.",
|
||||
"formMarkedAsHandedOver": "Mitgliedsformular als ausgehändigt markiert.",
|
||||
"errorMarkingForm": "Fehler beim Markieren des Formulars.",
|
||||
"deactivateMemberTitle": "Mitglied deaktivieren",
|
||||
"deactivateMemberConfirm": "Möchten Sie \"{name}\" wirklich deaktivieren?",
|
||||
"memberDeactivated": "Mitglied deaktiviert",
|
||||
"errorDeactivatingMember": "Fehler beim Deaktivieren des Mitglieds",
|
||||
"errorSavingMember": "Fehler beim Speichern des Mitglieds",
|
||||
"errorAddingToGroup": "Fehler beim Hinzufügen zur Gruppe",
|
||||
"errorRemovingFromGroup": "Fehler beim Entfernen aus der Gruppe",
|
||||
"imageUpdated": "Bild wurde aktualisiert",
|
||||
"errorRotatingImage": "Fehler beim Drehen des Bildes",
|
||||
"imageDeleted": "Bild wurde gelöscht.",
|
||||
"errorDeletingImage": "Bild konnte nicht gelöscht werden",
|
||||
"primaryImageUpdated": "Hauptbild wurde aktualisiert.",
|
||||
"errorSettingPrimaryImage": "Hauptbild konnte nicht gesetzt werden",
|
||||
"errorUploadingImage": "Bild konnte nicht hochgeladen werden",
|
||||
"errorLoadingImage": "Fehler beim Laden des Bildes",
|
||||
"phoneList": "Telefonliste.pdf",
|
||||
"errorLoadingTrainingParticipations": "Fehler beim Laden der Trainingsteilnahmen",
|
||||
"errorUpdatingRatings": "Fehler beim Aktualisieren der TTR/QTTR-Werte",
|
||||
"errorTransfer": "Fehler bei der Übertragung",
|
||||
"subtitle": "Mitglieder suchen, filtern und direkt bearbeiten.",
|
||||
"closeEditor": "Editor schließen",
|
||||
"visibleMembers": "Sichtbare Mitglieder",
|
||||
@@ -369,11 +519,17 @@
|
||||
"scopeActive": "Aktiv",
|
||||
"scopeTest": "Probe",
|
||||
"scopeNeedsForm": "Formular ungeprüft",
|
||||
"scopeActiveDataIncomplete": "Aktiv + Daten unvollständig",
|
||||
"scopeDataIncomplete": "Daten unvollständig",
|
||||
"scopeInactive": "Inaktiv",
|
||||
"searchAndFilter": "Suche und Filter",
|
||||
"bulkActions": "Sammelaktionen",
|
||||
"resultsVisible": "Mitglieder sichtbar",
|
||||
"editHint": "Ein Klick auf eine Zeile öffnet den Editor.",
|
||||
"editorCreateHint": "Neues Mitglied anlegen und Kontaktdaten direkt erfassen.",
|
||||
"editorEditHint": "Daten von {name} bearbeiten.",
|
||||
"editorAssignTrainingGroupHint": "Bitte mindestens eine Trainingsgruppe zuordnen.",
|
||||
"editorRecommendedEntry": "Empfohlener Eintrag",
|
||||
"transferSuccessTitle": "Übertragung erfolgreich",
|
||||
"transferErrorTitle": "Fehler bei der Übertragung",
|
||||
"clickTtRequestPending": "Click-TT-Antrag läuft",
|
||||
@@ -418,17 +574,33 @@
|
||||
"sortFirstName": "Vorname",
|
||||
"sortBirthday": "Geburtstag",
|
||||
"sortAge": "Alter",
|
||||
"ageRange": "Alter von - bis",
|
||||
"ageFromPlaceholder": "von",
|
||||
"ageToPlaceholder": "bis",
|
||||
"age": "Alter",
|
||||
"dataQuality": "Datenqualität",
|
||||
"dataQualityComplete": "Daten vollständig",
|
||||
"dataIssueBirthdate": "Geburtsdatum fehlt",
|
||||
"dataIssuePhone": "Telefon fehlt",
|
||||
"dataIssueEmail": "E-Mail fehlt",
|
||||
"dataIssueAddress": "Adresse fehlt",
|
||||
"dataIssueGender": "Geschlecht ungeklärt",
|
||||
"dataIssueTrainingGroup": "Trainingsgruppe fehlt",
|
||||
"openTasks": "Offene Aufgaben",
|
||||
"noOpenTasks": "Keine offenen Aufgaben",
|
||||
"taskVerifyForm": "Formular prüfen",
|
||||
"taskReviewTrialStatus": "Probe-Status prüfen",
|
||||
"taskCheckTrainingStatus": "Trainingsstatus prüfen",
|
||||
"taskCheckDataQuality": "Datenqualität prüfen",
|
||||
"taskAssignTrainingGroup": "Trainingsgruppe zuordnen",
|
||||
"taskCheckClickTt": "Click-TT-Spielberechtigung prüfen",
|
||||
"taskActionVerify": "Prüfen",
|
||||
"taskActionMarkRegular": "Regulär setzen",
|
||||
"taskActionReview": "Öffnen",
|
||||
"taskActionRequest": "Anfragen",
|
||||
"toggleSortDirection": "Sortierrichtung wechseln",
|
||||
"showTtrHistory": "TTR-Historie anzeigen",
|
||||
"missingTtrHistoryId": "Keine myTischtennis-ID hinterlegt",
|
||||
"sortLastTraining": "Letztes Training",
|
||||
"sortOpenTasks": "Offene Aufgaben",
|
||||
"exportPreview": "Exportvorschau",
|
||||
@@ -450,5 +622,212 @@
|
||||
"composeEmail": "E-Mail vorbereiten",
|
||||
"copyContactSummary": "Kontaktübersicht kopieren",
|
||||
"copyContactSummarySuccess": "Kontaktübersicht in die Zwischenablage kopiert."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Trainingstagebuch",
|
||||
"date": "Datum",
|
||||
"noEntries": "Keine Einträge",
|
||||
"deleteDate": "Datum löschen",
|
||||
"createNew": "Neu anlegen",
|
||||
"gallery": "Mitglieder-Galerie",
|
||||
"galleryCreating": "Galerie wird erstellt…",
|
||||
"selectTrainingGroup": "Trainingsgruppe auswählen",
|
||||
"selectTrainingGroupPlaceholder": "Bitte wählen...",
|
||||
"suggestion": "Vorschlag",
|
||||
"nextAppointment": "Nächster Termin",
|
||||
"applySuggestion": "Vorschlag übernehmen",
|
||||
"skipSuggestion": "Ohne Vorschlag fortfahren",
|
||||
"createNewDate": "Neues Datum anlegen",
|
||||
"activeTrainingDay": "Aktiver Trainingstag",
|
||||
"trainingDaySection": "Trainingstag",
|
||||
"trainingDayChecklist": "Abschlusscheck",
|
||||
"trainingStart": "Trainingsbeginn",
|
||||
"trainingEnd": "Trainingsende",
|
||||
"trainingWindow": "Trainingsfenster",
|
||||
"trainingWindowUnset": "Noch nicht gesetzt",
|
||||
"groupsLabel": "Gruppen",
|
||||
"groupsSection": "Gruppen",
|
||||
"createDate": "Datum anlegen",
|
||||
"editTrainingTimes": "Trainingszeiten bearbeiten",
|
||||
"updateTimes": "Zeiten aktualisieren",
|
||||
"groupManagement": "Gruppenverwaltung",
|
||||
"createGroups": "Gruppen erstellen",
|
||||
"trainingPlan": "Trainingsplan",
|
||||
"planActivitiesCount": "Plan-Aktivitäten",
|
||||
"timeblocksCount": "Zeitblöcke",
|
||||
"planEmptyState": "Im Trainingsplan ist noch nichts eingetragen.",
|
||||
"planAddHint": "Neue Plan-Elemente fügst du über die Aktionen oben hinzu.",
|
||||
"startTime": "Startzeit",
|
||||
"group": "Gruppe...",
|
||||
"timeblock": "Zeitblock",
|
||||
"assignParticipants": "Teilnehmer zuordnen",
|
||||
"addTimeblock": "Zeitblock",
|
||||
"activities": "Aktivitäten",
|
||||
"freeActivities": "Freie Aktivitäten",
|
||||
"noFreeActivitiesYet": "Noch keine freien Aktivitäten erfasst.",
|
||||
"addActivity": "Aktivität hinzufügen",
|
||||
"bookAccident": "Unfall buchen",
|
||||
"activity": "Aktivität",
|
||||
"duration": "Dauer",
|
||||
"activityImage": "Aktivitätsbild",
|
||||
"activityDrawing": "Aktivitätszeichnung",
|
||||
"today": "Heute",
|
||||
"existingGroups": "Vorhandene Gruppen",
|
||||
"leader": "Leiter",
|
||||
"deleteGroup": "Gruppe löschen",
|
||||
"numberOfGroups": "Anzahl Gruppen",
|
||||
"addGroup": "Gruppe hinzufügen",
|
||||
"activityOrTimeblock": "Aktivität / Zeitblock",
|
||||
"durationMinutes": "Dauer (Min)",
|
||||
"standardActivities": "Standard-Aktivitäten",
|
||||
"standardDurationShort": "Min",
|
||||
"standardActivityAddError": "Standard-Aktivität konnte nicht hinzugefügt werden.",
|
||||
"addGroupActivity": "Gruppen-Aktivität hinzufügen",
|
||||
"addGroupButton": "+ Gruppe",
|
||||
"all": "Alle",
|
||||
"selectGroup": "Gruppe auswählen...",
|
||||
"activityPlaceholder": "Aktivität",
|
||||
"assignShort": "Zuordnen",
|
||||
"statusReadyShort": "Bereit",
|
||||
"statusOpenShort": "Offen",
|
||||
"openPlanItemsLabel": "Plan-Status",
|
||||
"openPlanItems": "{count} offen",
|
||||
"unassignedPlanItems": "{count} offen",
|
||||
"durationExampleLong": "z.B. 2x7 oder 3*5",
|
||||
"durationExampleShort": "z.B. 2x7",
|
||||
"showImage": "Bild/Zeichnung anzeigen",
|
||||
"participants": "Teilnehmer",
|
||||
"searchParticipants": "Teilnehmer suchen",
|
||||
"filterAll": "Alle",
|
||||
"filterPresent": "Anwesend",
|
||||
"filterAbsent": "Abwesend",
|
||||
"filterExcused": "Entschuldigt",
|
||||
"filterTest": "Probe",
|
||||
"participantStatusNone": "Kein Status",
|
||||
"participantStatusExcused": "Entschuldigt",
|
||||
"participantStatusCancelled": "Abgesagt",
|
||||
"quickAdd": "+ Schnell hinzufügen",
|
||||
"selectTags": "Tags auswählen",
|
||||
"createDrawing": "Übungszeichnung erstellen",
|
||||
"overallActivity": "Gesamt-Aktivität",
|
||||
"editActivity": "Aktivität bearbeiten",
|
||||
"editGroupActivity": "Gruppen-Aktivität bearbeiten",
|
||||
"assignParticipantsForGroupActivity": "Teilnehmer für Gruppen-Aktivität zuordnen",
|
||||
"delete": "Löschen",
|
||||
"min": "Min",
|
||||
"errorLoadingPredefinedActivities": "Fehler beim Laden der vordefinierten Aktivitäten",
|
||||
"selectParticipantAndNote": "Bitte wählen Sie einen Teilnehmer aus und geben Sie einen Notiztext ein.",
|
||||
"selectGroupAndActivity": "Bitte wählen Sie eine Gruppe und geben Sie eine Aktivität ein.",
|
||||
"dateCannotBeDeleted": "Datum kann nicht gelöscht werden",
|
||||
"dateCannotBeDeletedDetails": "Es sind noch Inhalte vorhanden (Trainingplan, Teilnehmer, Aktivitäten, Unfälle oder Notizen).",
|
||||
"confirmDelete": "Löschen bestätigen",
|
||||
"confirmDeleteDate": "Möchten Sie dieses Datum wirklich löschen?",
|
||||
"confirmDeleteDateDetails": "Alle zugehörigen Daten werden ebenfalls gelöscht.",
|
||||
"noParticipants": "Keine Teilnehmer für diesen Trainingstag vorhanden.",
|
||||
"mustCreateAtLeastTwoGroups": "Beim ersten Erstellen müssen mindestens 2 Gruppen erstellt werden!",
|
||||
"oneGroupAdded": "1 Gruppe wurde erfolgreich hinzugefügt!",
|
||||
"groupsCreated": "{count} Gruppen wurden erfolgreich erstellt!",
|
||||
"errorCreatingGroups": "Fehler beim Erstellen der Gruppen",
|
||||
"confirmDeleteGroup": "Möchten Sie die Gruppe \"{name}\" wirklich löschen?",
|
||||
"groupDeletedSuccessfully": "Gruppe wurde erfolgreich gelöscht!",
|
||||
"errorDeletingGroup": "Fehler beim Löschen der Gruppe",
|
||||
"errorCreatingActivity": "Fehler beim Erstellen der Aktivität",
|
||||
"trainingPlanAsPDF": "Trainingsplan als PDF",
|
||||
"trainingPlanPdfShort": "Ablaufplan als PDF",
|
||||
"trainingDayAsPDF": "Trainingstag als PDF herunterladen",
|
||||
"trainingDayAsPDFShort": "Trainingstag als PDF",
|
||||
"trainingDaySummaryPdfShort": "Teilnehmerübersicht als PDF",
|
||||
"minutes": "Minuten",
|
||||
"formHandedOver": "Mitgliedsformular ausgehändigt",
|
||||
"errorOccurred": "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.",
|
||||
"trainingTimesUpdated": "Trainingszeiten erfolgreich aktualisiert.",
|
||||
"noActiveTrainingDay": "Kein Trainingstag ausgewählt.",
|
||||
"statusReady": "Zeiten und Trainingsplan sind gepflegt.",
|
||||
"statusEmpty": "Dieser Trainingstag ist noch leer.",
|
||||
"statusInProgress": "Dieser Trainingstag ist teilweise vorbereitet.",
|
||||
"formMarkedAsHandedOver": "Mitgliedsformular als ausgehändigt markiert",
|
||||
"errorMarkingForm": "Fehler beim Markieren des Mitgliedsformulars",
|
||||
"dateNoLongerCurrent": "Ausgewähltes Datum war nicht mehr aktuell. Bitte erneut versuchen.",
|
||||
"activityRequired": "Bitte geben Sie eine Aktivität ein.",
|
||||
"activityNotFound": "Aktivität nicht gefunden. Bitte wählen Sie eine aus der Liste aus."
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Trainings-Statistik",
|
||||
"activeMembers": "Aktive Mitglieder",
|
||||
"averageParticipationCurrentMonth": "Durchschnittliche Teilnahme (aktueller Monat)",
|
||||
"averageParticipationLastMonth": "Durchschnittliche Teilnahme (letzter Monat)",
|
||||
"averageParticipationQuarter": "Durchschnittliche Teilnahme (Quartal)",
|
||||
"averageParticipationHalfYear": "Durchschnittliche Teilnahme (Halbjahr)",
|
||||
"averageParticipationYear": "Durchschnittliche Teilnahme (Jahr)",
|
||||
"trainingDays": "Trainingstage (letzte 12 Monate)",
|
||||
"memberParticipations": "Mitglieder-Teilnahmen",
|
||||
"date": "Datum",
|
||||
"weekday": "Wochentag",
|
||||
"participants": "Teilnehmer",
|
||||
"name": "Name",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Geburtsdatum",
|
||||
"participations12Months": "Teilnahmen (12 Monate)",
|
||||
"participations3Months": "Teilnahmen (3 Monate)",
|
||||
"participationsTotal": "Teilnahmen (Gesamt)",
|
||||
"lastTraining": "Letztes Training",
|
||||
"actions": "Aktionen",
|
||||
"showDetails": "Details anzeigen"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Tischtennis-Übungszeichnung",
|
||||
"configureExercise": "Übung konfigurieren",
|
||||
"stepStartPosition": "1. Startposition",
|
||||
"stepStartPositionHint": "Aus welcher Aufschlagposition startet die Übung?",
|
||||
"stepFirstStroke": "2. 1. Schlag",
|
||||
"stepFirstStrokeHint": "Schlagseite und Rotation für den ersten Ball festlegen.",
|
||||
"stepTarget": "3. Ziel",
|
||||
"stepTargetHint": "Zielzone für den ersten Schlag auswählen.",
|
||||
"stepAdditionalStrokes": "4. Folgeschläge",
|
||||
"stepAdditionalStrokesHint": "Optional weitere Bälle als Liste aufbauen.",
|
||||
"noAdditionalStrokes": "Noch keine Folgeschläge angelegt.",
|
||||
"service": "Aufschlag:",
|
||||
"serviceTitle": "Aufschlag",
|
||||
"forehand": "Vorhand",
|
||||
"backhand": "Rückhand",
|
||||
"spin": "Schnitt:",
|
||||
"underspin": "Unterschnitt",
|
||||
"topspin": "Überschnitt",
|
||||
"sidespin": "Seitschnitt",
|
||||
"sideUnderspin": "Seitunterschnitt",
|
||||
"counterSpin": "Gegenläufer",
|
||||
"targetPosition": "Zielposition:",
|
||||
"targetPositionLabel": "Zielposition",
|
||||
"strokeSide": "Seite",
|
||||
"strokeTypeLabel": "Schlagart",
|
||||
"addStroke": "Schlag hinzufügen",
|
||||
"preview": "Vorschau",
|
||||
"previewHint": "Die Grafik erscheint, sobald der erste Schlag vollständig gesetzt ist.",
|
||||
"completeFirstStroke": "1. Schlag vervollständigen",
|
||||
"completeFirstStrokeHint": "Wähle Startposition, Schlagseite, Rotation und Ziel. Danach erscheint die grafische Darstellung.",
|
||||
"codeLabel": "Kürzel",
|
||||
"titleLabel": "Titel",
|
||||
"startLeft": "links",
|
||||
"startMiddle": "mitte",
|
||||
"startRight": "rechts",
|
||||
"strokeTypePush": "Schupf",
|
||||
"strokeTypeCounter": "Konter",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Block",
|
||||
"strokeTypeSmash": "Schuss",
|
||||
"strokeTypeChopDefense": "Schnittabwehr",
|
||||
"strokeTypeLobDefense": "Ballonabwehr",
|
||||
"targetForehandLong": "Vorhand lang",
|
||||
"targetMiddleLong": "Mitte lang",
|
||||
"targetBackhandLong": "Rückhand lang",
|
||||
"targetForehandHalfLong": "Vorhand halblang",
|
||||
"targetMiddleHalfLong": "Mitte halblang",
|
||||
"targetBackhandHalfLong": "Rückhand halblang",
|
||||
"targetForehandShort": "Vorhand kurz",
|
||||
"targetMiddleShort": "Mitte kurz",
|
||||
"targetBackhandShort": "Rückhand kurz",
|
||||
"toTarget": "nach"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -298,6 +298,8 @@
|
||||
"scopeActiveDataIncomplete": "Aktiv + Daten unvollständig",
|
||||
"scopeDataIncomplete": "Daten unvollständig",
|
||||
"scopeInactive": "Inaktiv",
|
||||
"searchAndFilter": "Suche und Filter",
|
||||
"bulkActions": "Sammelaktionen",
|
||||
"resultsVisible": "Mitglieder sichtbar",
|
||||
"editHint": "Ein Klick auf eine Zeile öffnet den Editor.",
|
||||
"editorCreateHint": "Neues Mitglied anlegen und Kontaktdaten direkt erfassen.",
|
||||
@@ -348,6 +350,9 @@
|
||||
"sortFirstName": "Vorname",
|
||||
"sortBirthday": "Geburtstag",
|
||||
"sortAge": "Alter",
|
||||
"ageRange": "Alter von - bis",
|
||||
"ageFromPlaceholder": "von",
|
||||
"ageToPlaceholder": "bis",
|
||||
"age": "Alter",
|
||||
"dataQuality": "Datenqualität",
|
||||
"dataQualityComplete": "Daten vollständig",
|
||||
@@ -370,6 +375,8 @@
|
||||
"taskActionReview": "Öffnen",
|
||||
"taskActionRequest": "Anfragen",
|
||||
"toggleSortDirection": "Sortierrichtung wechseln",
|
||||
"showTtrHistory": "TTR-Historie anzeigen",
|
||||
"missingTtrHistoryId": "Keine myTischtennis-ID hinterlegt",
|
||||
"sortLastTraining": "Letztes Training",
|
||||
"sortOpenTasks": "Offene Aufgaben",
|
||||
"exportPreview": "Exportvorschau",
|
||||
@@ -2018,7 +2025,17 @@
|
||||
"courtDrawingTool": {
|
||||
"title": "Tischtennis-Übungszeichnung",
|
||||
"configureExercise": "Übung konfigurieren",
|
||||
"stepStartPosition": "1. Startposition",
|
||||
"stepStartPositionHint": "Aus welcher Aufschlagposition startet die Übung?",
|
||||
"stepFirstStroke": "2. 1. Schlag",
|
||||
"stepFirstStrokeHint": "Schlagseite und Rotation für den ersten Ball festlegen.",
|
||||
"stepTarget": "3. Ziel",
|
||||
"stepTargetHint": "Zielzone für den ersten Schlag auswählen.",
|
||||
"stepAdditionalStrokes": "4. Folgeschläge",
|
||||
"stepAdditionalStrokesHint": "Optional weitere Bälle als Liste aufbauen.",
|
||||
"noAdditionalStrokes": "Noch keine Folgeschläge angelegt.",
|
||||
"service": "Aufschlag:",
|
||||
"serviceTitle": "Aufschlag",
|
||||
"forehand": "Vorhand",
|
||||
"backhand": "Rückhand",
|
||||
"spin": "Schnitt:",
|
||||
@@ -2027,7 +2044,38 @@
|
||||
"sidespin": "Seitschnitt",
|
||||
"sideUnderspin": "Seitunterschnitt",
|
||||
"counterSpin": "Gegenläufer",
|
||||
"targetPosition": "Zielposition:"
|
||||
"targetPosition": "Zielposition:",
|
||||
"targetPositionLabel": "Zielposition",
|
||||
"strokeSide": "Seite",
|
||||
"strokeTypeLabel": "Schlagart",
|
||||
"addStroke": "Schlag hinzufügen",
|
||||
"preview": "Vorschau",
|
||||
"previewHint": "Die Grafik erscheint, sobald der erste Schlag vollständig gesetzt ist.",
|
||||
"completeFirstStroke": "1. Schlag vervollständigen",
|
||||
"completeFirstStrokeHint": "Wähle Startposition, Schlagseite, Rotation und Ziel. Danach erscheint die grafische Darstellung.",
|
||||
"codeLabel": "Kürzel",
|
||||
"titleLabel": "Titel",
|
||||
"startLeft": "links",
|
||||
"startMiddle": "mitte",
|
||||
"startRight": "rechts",
|
||||
"strokeTypePush": "Schupf",
|
||||
"strokeTypeCounter": "Konter",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Block",
|
||||
"strokeTypeSmash": "Schuss",
|
||||
"strokeTypeChopDefense": "Schnittabwehr",
|
||||
"strokeTypeLobDefense": "Ballonabwehr",
|
||||
"targetForehandLong": "Vorhand lang",
|
||||
"targetMiddleLong": "Mitte lang",
|
||||
"targetBackhandLong": "Rückhand lang",
|
||||
"targetForehandHalfLong": "Vorhand halblang",
|
||||
"targetMiddleHalfLong": "Mitte halblang",
|
||||
"targetBackhandHalfLong": "Rückhand halblang",
|
||||
"targetForehandShort": "Vorhand kurz",
|
||||
"targetMiddleShort": "Mitte kurz",
|
||||
"targetBackhandShort": "Rückhand kurz",
|
||||
"toTarget": "nach"
|
||||
},
|
||||
"courtDrawingRender": {
|
||||
"startAnimation": "Animation starten",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"details": "Details",
|
||||
"confirm": "Confirm",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
@@ -22,7 +23,40 @@
|
||||
"next": "Next",
|
||||
"previous": "Previous",
|
||||
"submit": "Submit",
|
||||
"reset": "Reset"
|
||||
"reset": "Reset",
|
||||
"all": "All",
|
||||
"today": "Today",
|
||||
"time": "Time",
|
||||
"new": "New",
|
||||
"update": "Update",
|
||||
"create": "Create",
|
||||
"remove": "Remove",
|
||||
"select": "Select",
|
||||
"download": "Download",
|
||||
"choose": "Choose",
|
||||
"apply": "Apply",
|
||||
"clear": "Clear",
|
||||
"view": "View",
|
||||
"name": "Name",
|
||||
"date": "Date",
|
||||
"status": "Status",
|
||||
"type": "Type",
|
||||
"description": "Description",
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"required": "Required",
|
||||
"optional": "Optional",
|
||||
"in": "in",
|
||||
"min": "min",
|
||||
"minutes": "minutes",
|
||||
"hours": "hours",
|
||||
"days": "days",
|
||||
"weeks": "weeks",
|
||||
"months": "months",
|
||||
"years": "years",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Home",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "System Logs",
|
||||
"memberTransfer": "Member Transfer",
|
||||
"myTischtennisAccount": "myTischtennis Account",
|
||||
"clickTtAccount": "HTTV / click-TT Account",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "Personal Settings",
|
||||
"logout": "Logout",
|
||||
"login": "Login",
|
||||
"register": "Register",
|
||||
"dailyBusiness": "Daily Business",
|
||||
"competitions": "Competitions",
|
||||
"settings": "Settings"
|
||||
"settings": "Settings",
|
||||
"backToHome": "Back to home"
|
||||
},
|
||||
"club": {
|
||||
"select": "Select Club",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "Load",
|
||||
"name": "Club Name",
|
||||
"create": "Create Club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient.",
|
||||
"createTitle": "Create club",
|
||||
"members": "Members",
|
||||
"trainingDiary": "Training diary",
|
||||
"noAccess": "You have not yet been granted access to this club.",
|
||||
"requestAccess": "Request access",
|
||||
"openRequests": "Open access requests",
|
||||
"title": "Club",
|
||||
"openAccessRequests": "Open access requests",
|
||||
"diary": "Training diary",
|
||||
"accessDenied": "Access to the club was denied.",
|
||||
"errorLoadingRequests": "Failed to load open requests",
|
||||
"accessRequested": "Access has been requested.",
|
||||
"accessRequestFailed": "Access request could not be submitted."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
@@ -359,6 +409,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "Members",
|
||||
"memberInfo": "Member info",
|
||||
"activeMembers": "Active members",
|
||||
"testMembers": "Trial members",
|
||||
"inactiveMembers": "Inactive members",
|
||||
"generatePhoneList": "Generate phone list",
|
||||
"onlyActiveMembers": "Only active members are included",
|
||||
"updateRatings": "Update TTR/QTTR from myTischtennis",
|
||||
"updating": "Updating...",
|
||||
"transferMembers": "Transfer members",
|
||||
"newMember": "New member",
|
||||
"editMember": "Edit member",
|
||||
"createNewMember": "Create new member",
|
||||
"firstName": "First name",
|
||||
"lastName": "Last name",
|
||||
"street": "Street",
|
||||
"postalCode": "Postcode",
|
||||
"city": "City",
|
||||
"birthdate": "Birthdate",
|
||||
"phones": "Phone numbers",
|
||||
"emails": "Email addresses",
|
||||
"addPhone": "Add phone number",
|
||||
"addEmail": "Add email address",
|
||||
"phoneNumber": "Phone number",
|
||||
"emailAddress": "Email address",
|
||||
"parent": "Parent",
|
||||
"parentName": "Name (e.g. mother, father)",
|
||||
"primary": "Primary",
|
||||
"gender": "Gender",
|
||||
"genderUnknown": "Unknown",
|
||||
"genderMale": "Male",
|
||||
"genderFemale": "Female",
|
||||
"genderDiverse": "Diverse",
|
||||
"picsInInternetAllowed": "Pictures allowed online",
|
||||
"testMembership": "Trial membership",
|
||||
"memberFormHandedOver": "Membership form handed over",
|
||||
"trainingGroups": "Training groups",
|
||||
"noGroupsAssigned": "No groups assigned",
|
||||
"noGroupsAvailable": "No groups available",
|
||||
"addGroup": "Add group...",
|
||||
"remove": "Remove",
|
||||
"image": "Image",
|
||||
"selectFile": "Select file",
|
||||
"camera": "Camera",
|
||||
"imagePreview": "Member image preview",
|
||||
"change": "Change",
|
||||
"create": "Create",
|
||||
"clearFields": "Clear fields",
|
||||
"showInactiveMembers": "Show inactive members",
|
||||
"ageGroup": "Age group",
|
||||
"adults": "Adults (20+)",
|
||||
"j19": "U19 (19 and younger)",
|
||||
"j17": "U17 (17 and younger)",
|
||||
"j15": "U15 (15 and younger)",
|
||||
"j13": "U13 (13 and younger)",
|
||||
"j11": "U11 (11 and younger)",
|
||||
"clearFilters": "Reset filters",
|
||||
"imageInternet": "Image (web?)",
|
||||
"testMember": "Trial",
|
||||
"name": "Surname, first name",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Address",
|
||||
"active": "Active",
|
||||
"actions": "Actions",
|
||||
"phoneNumberShort": "Phone no.",
|
||||
"emailAddressShort": "Email address",
|
||||
"trainingParticipations": "Training participations",
|
||||
"memberImage": "Member image",
|
||||
"inactive": "inactive",
|
||||
"sixOrMoreParticipations": "6 or more training participations",
|
||||
"threeOrMoreParticipations": "3 or more training participations",
|
||||
"noTestMembership": "No longer a trial member",
|
||||
"formHandedOver": "Membership form handed over",
|
||||
"deactivateMember": "Deactivate member",
|
||||
"notes": "Notes",
|
||||
"exercises": "Exercises",
|
||||
"memberImages": "Member images",
|
||||
"testMembershipRemoved": "Trial membership removed.",
|
||||
"errorRemovingTestMembership": "Error removing the trial membership.",
|
||||
"formMarkedAsHandedOver": "Membership form marked as handed over.",
|
||||
"errorMarkingForm": "Error marking the form.",
|
||||
"deactivateMemberTitle": "Deactivate member",
|
||||
"deactivateMemberConfirm": "Do you really want to deactivate \"{name}\"?",
|
||||
"memberDeactivated": "Member deactivated",
|
||||
"errorDeactivatingMember": "Error deactivating member",
|
||||
"errorSavingMember": "Error saving member",
|
||||
"errorAddingToGroup": "Error adding to group",
|
||||
"errorRemovingFromGroup": "Error removing from group",
|
||||
"imageUpdated": "Image updated",
|
||||
"errorRotatingImage": "Error rotating image",
|
||||
"imageDeleted": "Image deleted.",
|
||||
"errorDeletingImage": "Image could not be deleted",
|
||||
"primaryImageUpdated": "Primary image updated.",
|
||||
"errorSettingPrimaryImage": "Primary image could not be set",
|
||||
"errorUploadingImage": "Image could not be uploaded",
|
||||
"errorLoadingImage": "Error loading image",
|
||||
"phoneList": "phone-list.pdf",
|
||||
"errorLoadingTrainingParticipations": "Error loading training participations",
|
||||
"errorUpdatingRatings": "Error updating TTR/QTTR values",
|
||||
"errorTransfer": "Transfer error",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -369,11 +519,17 @@
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeDataIncomplete": "Data incomplete",
|
||||
"scopeInactive": "Inactive",
|
||||
"scopeActiveDataIncomplete": "Active + data incomplete",
|
||||
"searchAndFilter": "Search and filter",
|
||||
"bulkActions": "Bulk actions",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "Please assign at least one training group.",
|
||||
"editorRecommendedEntry": "Recommended entry",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -418,17 +574,33 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "Age from - to",
|
||||
"ageFromPlaceholder": "from",
|
||||
"ageToPlaceholder": "to",
|
||||
"age": "Age",
|
||||
"dataQuality": "Data quality",
|
||||
"dataQualityComplete": "Data complete",
|
||||
"dataIssueBirthdate": "Birthdate missing",
|
||||
"dataIssuePhone": "Phone missing",
|
||||
"dataIssueEmail": "Email missing",
|
||||
"dataIssueAddress": "Address missing",
|
||||
"dataIssueGender": "Gender unclear",
|
||||
"dataIssueTrainingGroup": "Training group missing",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "Review data quality",
|
||||
"taskAssignTrainingGroup": "Assign training group",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "Open",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "Show TTR history",
|
||||
"missingTtrHistoryId": "No myTischtennis ID stored",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -450,5 +622,212 @@
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Training diary",
|
||||
"date": "Date",
|
||||
"noEntries": "No entries",
|
||||
"deleteDate": "Delete date",
|
||||
"createNew": "Create new",
|
||||
"gallery": "Member gallery",
|
||||
"galleryCreating": "Creating gallery…",
|
||||
"selectTrainingGroup": "Select training group",
|
||||
"selectTrainingGroupPlaceholder": "Please choose...",
|
||||
"suggestion": "Suggestion",
|
||||
"nextAppointment": "Next appointment",
|
||||
"applySuggestion": "Apply suggestion",
|
||||
"skipSuggestion": "Continue without suggestion",
|
||||
"createNewDate": "Create new date",
|
||||
"activeTrainingDay": "Active training day",
|
||||
"trainingDaySection": "Training day",
|
||||
"trainingDayChecklist": "Completion checklist",
|
||||
"trainingStart": "Training start",
|
||||
"trainingEnd": "Training end",
|
||||
"trainingWindow": "Training window",
|
||||
"trainingWindowUnset": "Not set yet",
|
||||
"groupsLabel": "Groups",
|
||||
"groupsSection": "Groups",
|
||||
"createDate": "Create date",
|
||||
"editTrainingTimes": "Edit training times",
|
||||
"updateTimes": "Update times",
|
||||
"groupManagement": "Group management",
|
||||
"createGroups": "Create groups",
|
||||
"trainingPlan": "Training plan",
|
||||
"planActivitiesCount": "Planned activities",
|
||||
"timeblocksCount": "Time blocks",
|
||||
"planEmptyState": "Nothing has been entered in the training plan yet.",
|
||||
"planAddHint": "Add new plan items using the actions above.",
|
||||
"startTime": "Start time",
|
||||
"group": "Group...",
|
||||
"timeblock": "Time block",
|
||||
"assignParticipants": "Assign participants",
|
||||
"addTimeblock": "Time block",
|
||||
"activities": "Activities",
|
||||
"freeActivities": "Free activities",
|
||||
"noFreeActivitiesYet": "No free activities have been recorded yet.",
|
||||
"addActivity": "Add activity",
|
||||
"bookAccident": "Record accident",
|
||||
"activity": "Activity",
|
||||
"duration": "Duration",
|
||||
"activityImage": "Activity image",
|
||||
"activityDrawing": "Activity drawing",
|
||||
"today": "Today",
|
||||
"existingGroups": "Existing groups",
|
||||
"leader": "Leader",
|
||||
"deleteGroup": "Delete group",
|
||||
"numberOfGroups": "Number of groups",
|
||||
"addGroup": "Add group",
|
||||
"activityOrTimeblock": "Activity / time block",
|
||||
"durationMinutes": "Duration (min)",
|
||||
"addGroupActivity": "Add group activity",
|
||||
"addGroupButton": "+ Group",
|
||||
"all": "All",
|
||||
"selectGroup": "Select group...",
|
||||
"activityPlaceholder": "Activity",
|
||||
"assignShort": "Assign",
|
||||
"statusReadyShort": "Ready",
|
||||
"statusOpenShort": "Open",
|
||||
"openPlanItemsLabel": "Plan status",
|
||||
"openPlanItems": "{count} open",
|
||||
"unassignedPlanItems": "{count} open",
|
||||
"durationExampleLong": "e.g. 2x7 or 3*5",
|
||||
"durationExampleShort": "e.g. 2x7",
|
||||
"showImage": "Show image/drawing",
|
||||
"participants": "Participants",
|
||||
"searchParticipants": "Search participants",
|
||||
"filterAll": "All",
|
||||
"filterPresent": "Present",
|
||||
"filterAbsent": "Absent",
|
||||
"filterTest": "Trial",
|
||||
"quickAdd": "+ Quick add",
|
||||
"selectTags": "Select tags",
|
||||
"createDrawing": "Create exercise drawing",
|
||||
"overallActivity": "Overall activity",
|
||||
"editActivity": "Edit activity",
|
||||
"editGroupActivity": "Edit group activity",
|
||||
"assignParticipantsForGroupActivity": "Assign participants for group activity",
|
||||
"delete": "Delete",
|
||||
"min": "Min",
|
||||
"errorLoadingPredefinedActivities": "Failed to load predefined activities",
|
||||
"selectParticipantAndNote": "Please select a participant and enter a note.",
|
||||
"selectGroupAndActivity": "Please select a group and enter an activity.",
|
||||
"dateCannotBeDeleted": "Date cannot be deleted",
|
||||
"dateCannotBeDeletedDetails": "There is still content present (training plan, participants, activities, accidents or notes).",
|
||||
"confirmDelete": "Confirm deletion",
|
||||
"confirmDeleteDate": "Do you really want to delete this date?",
|
||||
"confirmDeleteDateDetails": "All associated data will also be deleted.",
|
||||
"noParticipants": "No participants available for this training day.",
|
||||
"mustCreateAtLeastTwoGroups": "At least 2 groups must be created the first time.",
|
||||
"oneGroupAdded": "1 group was added successfully.",
|
||||
"groupsCreated": "{count} groups were created successfully.",
|
||||
"errorCreatingGroups": "Error creating groups",
|
||||
"confirmDeleteGroup": "Do you really want to delete the group \"{name}\"?",
|
||||
"groupDeletedSuccessfully": "Group deleted successfully.",
|
||||
"errorDeletingGroup": "Error deleting group",
|
||||
"errorCreatingActivity": "Error creating activity",
|
||||
"trainingPlanAsPDF": "Training plan as PDF",
|
||||
"trainingPlanPdfShort": "Schedule as PDF",
|
||||
"trainingDayAsPDF": "Download training day as PDF",
|
||||
"trainingDayAsPDFShort": "Training day as PDF",
|
||||
"trainingDaySummaryPdfShort": "Participant summary as PDF",
|
||||
"minutes": "Minutes",
|
||||
"formHandedOver": "Membership form handed over",
|
||||
"errorOccurred": "An error occurred. Please try again.",
|
||||
"trainingTimesUpdated": "Training times updated successfully.",
|
||||
"noActiveTrainingDay": "No training day selected.",
|
||||
"statusEmpty": "This training day is still empty.",
|
||||
"statusInProgress": "This training day is partially prepared.",
|
||||
"formMarkedAsHandedOver": "Membership form marked as handed over",
|
||||
"errorMarkingForm": "Error marking the membership form",
|
||||
"dateNoLongerCurrent": "The selected date was no longer current. Please try again.",
|
||||
"activityRequired": "Please enter an activity.",
|
||||
"activityNotFound": "Activity not found. Please choose one from the list.",
|
||||
"standardActivities": "Standard activities",
|
||||
"standardDurationShort": "Min",
|
||||
"standardActivityAddError": "Standard activity could not be added.",
|
||||
"statusReady": "Times and training plan are set.",
|
||||
"filterExcused": "Excused",
|
||||
"participantStatusNone": "No status",
|
||||
"participantStatusExcused": "Excused",
|
||||
"participantStatusCancelled": "Cancelled"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Training statistics",
|
||||
"activeMembers": "Active members",
|
||||
"averageParticipationCurrentMonth": "Average participation (current month)",
|
||||
"averageParticipationLastMonth": "Average participation (last month)",
|
||||
"averageParticipationQuarter": "Average participation (quarter)",
|
||||
"averageParticipationHalfYear": "Average participation (half-year)",
|
||||
"averageParticipationYear": "Average participation (year)",
|
||||
"trainingDays": "Training days (last 12 months)",
|
||||
"memberParticipations": "Member participations",
|
||||
"date": "Date",
|
||||
"weekday": "Weekday",
|
||||
"participants": "Participants",
|
||||
"name": "Name",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Birthdate",
|
||||
"participations12Months": "Participations (12 months)",
|
||||
"participations3Months": "Participations (3 months)",
|
||||
"participationsTotal": "Participations (total)",
|
||||
"lastTraining": "Last training",
|
||||
"actions": "Actions",
|
||||
"showDetails": "Show details"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Table tennis exercise drawing",
|
||||
"configureExercise": "Configure exercise",
|
||||
"stepStartPosition": "1. Start position",
|
||||
"stepStartPositionHint": "Which service position does the exercise start from?",
|
||||
"stepFirstStroke": "2. First stroke",
|
||||
"stepFirstStrokeHint": "Set stroke side and spin for the first ball.",
|
||||
"stepTarget": "3. Target",
|
||||
"stepTargetHint": "Choose the target zone for the first stroke.",
|
||||
"stepAdditionalStrokes": "4. Follow-up strokes",
|
||||
"stepAdditionalStrokesHint": "Optionally build additional balls as a sequence.",
|
||||
"noAdditionalStrokes": "No follow-up strokes added yet.",
|
||||
"service": "Serve:",
|
||||
"serviceTitle": "Serve",
|
||||
"forehand": "Forehand",
|
||||
"backhand": "Backhand",
|
||||
"spin": "Spin:",
|
||||
"underspin": "Backspin",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Sidespin",
|
||||
"sideUnderspin": "Side-backspin",
|
||||
"counterSpin": "Counter-spin",
|
||||
"targetPosition": "Target position:",
|
||||
"targetPositionLabel": "Target position",
|
||||
"strokeSide": "Side",
|
||||
"strokeTypeLabel": "Stroke type",
|
||||
"addStroke": "Add stroke",
|
||||
"preview": "Preview",
|
||||
"previewHint": "The graphic appears as soon as the first stroke is fully configured.",
|
||||
"completeFirstStroke": "Complete the first stroke",
|
||||
"completeFirstStrokeHint": "Choose start position, stroke side, spin and target. The graphic will then appear.",
|
||||
"codeLabel": "Code",
|
||||
"titleLabel": "Title",
|
||||
"startLeft": "left",
|
||||
"startMiddle": "centre",
|
||||
"startRight": "right",
|
||||
"strokeTypePush": "Push",
|
||||
"strokeTypeCounter": "Counter",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Block",
|
||||
"strokeTypeSmash": "Smash",
|
||||
"strokeTypeChopDefense": "Chop defence",
|
||||
"strokeTypeLobDefense": "Lob defence",
|
||||
"targetForehandLong": "Forehand deep",
|
||||
"targetMiddleLong": "Middle deep",
|
||||
"targetBackhandLong": "Backhand deep",
|
||||
"targetForehandHalfLong": "Forehand half-long",
|
||||
"targetMiddleHalfLong": "Middle half-long",
|
||||
"targetBackhandHalfLong": "Backhand half-long",
|
||||
"targetForehandShort": "Forehand short",
|
||||
"targetMiddleShort": "Middle short",
|
||||
"targetBackhandShort": "Backhand short",
|
||||
"toTarget": "to"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,40 @@
|
||||
"next": "Next",
|
||||
"previous": "Previous",
|
||||
"submit": "Submit",
|
||||
"reset": "Reset"
|
||||
"reset": "Reset",
|
||||
"all": "All",
|
||||
"today": "Today",
|
||||
"time": "Time",
|
||||
"new": "New",
|
||||
"update": "Update",
|
||||
"create": "Create",
|
||||
"remove": "Remove",
|
||||
"select": "Select",
|
||||
"download": "Download",
|
||||
"choose": "Choose",
|
||||
"apply": "Apply",
|
||||
"clear": "Clear",
|
||||
"view": "View",
|
||||
"name": "Name",
|
||||
"date": "Date",
|
||||
"status": "Status",
|
||||
"type": "Type",
|
||||
"description": "Description",
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"required": "Required",
|
||||
"optional": "Optional",
|
||||
"in": "in",
|
||||
"min": "min",
|
||||
"minutes": "minutes",
|
||||
"hours": "hours",
|
||||
"days": "days",
|
||||
"weeks": "weeks",
|
||||
"months": "months",
|
||||
"years": "years",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Home",
|
||||
@@ -50,7 +83,8 @@
|
||||
"register": "Register",
|
||||
"dailyBusiness": "Daily Business",
|
||||
"competitions": "Competitions",
|
||||
"settings": "Settings"
|
||||
"settings": "Settings",
|
||||
"backToHome": "Back to home"
|
||||
},
|
||||
"club": {
|
||||
"select": "Select Club",
|
||||
@@ -59,7 +93,20 @@
|
||||
"load": "Load",
|
||||
"name": "Club Name",
|
||||
"create": "Create Club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient.",
|
||||
"createTitle": "Create club",
|
||||
"members": "Members",
|
||||
"trainingDiary": "Training diary",
|
||||
"noAccess": "You have not yet been granted access to this club.",
|
||||
"requestAccess": "Request access",
|
||||
"openRequests": "Open access requests",
|
||||
"title": "Club",
|
||||
"openAccessRequests": "Open access requests",
|
||||
"diary": "Training diary",
|
||||
"accessDenied": "Access to the club was denied.",
|
||||
"errorLoadingRequests": "Failed to load open requests",
|
||||
"accessRequested": "Access has been requested.",
|
||||
"accessRequestFailed": "Access request could not be submitted."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
@@ -130,6 +177,124 @@
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"diary": {
|
||||
"title": "Training diary",
|
||||
"date": "Date",
|
||||
"noEntries": "No entries",
|
||||
"deleteDate": "Delete date",
|
||||
"createNew": "Create new",
|
||||
"gallery": "Member gallery",
|
||||
"galleryCreating": "Creating gallery…",
|
||||
"selectTrainingGroup": "Select training group",
|
||||
"selectTrainingGroupPlaceholder": "Please choose...",
|
||||
"suggestion": "Suggestion",
|
||||
"nextAppointment": "Next appointment",
|
||||
"applySuggestion": "Apply suggestion",
|
||||
"skipSuggestion": "Continue without suggestion",
|
||||
"createNewDate": "Create new date",
|
||||
"activeTrainingDay": "Active training day",
|
||||
"trainingDaySection": "Training day",
|
||||
"trainingDayChecklist": "Completion checklist",
|
||||
"trainingStart": "Training start",
|
||||
"trainingEnd": "Training end",
|
||||
"trainingWindow": "Training window",
|
||||
"trainingWindowUnset": "Not set yet",
|
||||
"groupsLabel": "Groups",
|
||||
"groupsSection": "Groups",
|
||||
"createDate": "Create date",
|
||||
"editTrainingTimes": "Edit training times",
|
||||
"updateTimes": "Update times",
|
||||
"groupManagement": "Group management",
|
||||
"createGroups": "Create groups",
|
||||
"trainingPlan": "Training plan",
|
||||
"planActivitiesCount": "Planned activities",
|
||||
"timeblocksCount": "Time blocks",
|
||||
"planEmptyState": "Nothing has been entered in the training plan yet.",
|
||||
"planAddHint": "Add new plan items using the actions above.",
|
||||
"startTime": "Start time",
|
||||
"group": "Group...",
|
||||
"timeblock": "Time block",
|
||||
"assignParticipants": "Assign participants",
|
||||
"addTimeblock": "Time block",
|
||||
"activities": "Activities",
|
||||
"freeActivities": "Free activities",
|
||||
"noFreeActivitiesYet": "No free activities have been recorded yet.",
|
||||
"addActivity": "Add activity",
|
||||
"bookAccident": "Record accident",
|
||||
"activity": "Activity",
|
||||
"duration": "Duration",
|
||||
"activityImage": "Activity image",
|
||||
"activityDrawing": "Activity drawing",
|
||||
"today": "Today",
|
||||
"existingGroups": "Existing groups",
|
||||
"leader": "Leader",
|
||||
"deleteGroup": "Delete group",
|
||||
"numberOfGroups": "Number of groups",
|
||||
"addGroup": "Add group",
|
||||
"activityOrTimeblock": "Activity / time block",
|
||||
"durationMinutes": "Duration (min)",
|
||||
"addGroupActivity": "Add group activity",
|
||||
"addGroupButton": "+ Group",
|
||||
"all": "All",
|
||||
"selectGroup": "Select group...",
|
||||
"activityPlaceholder": "Activity",
|
||||
"assignShort": "Assign",
|
||||
"statusReadyShort": "Ready",
|
||||
"statusOpenShort": "Open",
|
||||
"openPlanItemsLabel": "Plan status",
|
||||
"openPlanItems": "{count} open",
|
||||
"unassignedPlanItems": "{count} open",
|
||||
"durationExampleLong": "e.g. 2x7 or 3*5",
|
||||
"durationExampleShort": "e.g. 2x7",
|
||||
"showImage": "Show image/drawing",
|
||||
"participants": "Participants",
|
||||
"searchParticipants": "Search participants",
|
||||
"filterAll": "All",
|
||||
"filterPresent": "Present",
|
||||
"filterAbsent": "Absent",
|
||||
"filterTest": "Trial",
|
||||
"quickAdd": "+ Quick add",
|
||||
"selectTags": "Select tags",
|
||||
"createDrawing": "Create exercise drawing",
|
||||
"overallActivity": "Overall activity",
|
||||
"editActivity": "Edit activity",
|
||||
"editGroupActivity": "Edit group activity",
|
||||
"assignParticipantsForGroupActivity": "Assign participants for group activity",
|
||||
"delete": "Delete",
|
||||
"min": "Min",
|
||||
"errorLoadingPredefinedActivities": "Failed to load predefined activities",
|
||||
"selectParticipantAndNote": "Please select a participant and enter a note.",
|
||||
"selectGroupAndActivity": "Please select a group and enter an activity.",
|
||||
"dateCannotBeDeleted": "Date cannot be deleted",
|
||||
"dateCannotBeDeletedDetails": "There is still content present (training plan, participants, activities, accidents or notes).",
|
||||
"confirmDelete": "Confirm deletion",
|
||||
"confirmDeleteDate": "Do you really want to delete this date?",
|
||||
"confirmDeleteDateDetails": "All associated data will also be deleted.",
|
||||
"noParticipants": "No participants available for this training day.",
|
||||
"mustCreateAtLeastTwoGroups": "At least 2 groups must be created the first time.",
|
||||
"oneGroupAdded": "1 group was added successfully.",
|
||||
"groupsCreated": "{count} groups were created successfully.",
|
||||
"errorCreatingGroups": "Error creating groups",
|
||||
"confirmDeleteGroup": "Do you really want to delete the group \"{name}\"?",
|
||||
"groupDeletedSuccessfully": "Group deleted successfully.",
|
||||
"errorDeletingGroup": "Error deleting group",
|
||||
"errorCreatingActivity": "Error creating activity",
|
||||
"trainingPlanAsPDF": "Training plan as PDF",
|
||||
"trainingPlanPdfShort": "Schedule as PDF",
|
||||
"trainingDayAsPDF": "Download training day as PDF",
|
||||
"trainingDayAsPDFShort": "Training day as PDF",
|
||||
"trainingDaySummaryPdfShort": "Participant summary as PDF",
|
||||
"minutes": "Minutes",
|
||||
"formHandedOver": "Membership form handed over",
|
||||
"errorOccurred": "An error occurred. Please try again.",
|
||||
"trainingTimesUpdated": "Training times updated successfully.",
|
||||
"noActiveTrainingDay": "No training day selected.",
|
||||
"statusEmpty": "This training day is still empty.",
|
||||
"statusInProgress": "This training day is partially prepared.",
|
||||
"formMarkedAsHandedOver": "Membership form marked as handed over",
|
||||
"errorMarkingForm": "Error marking the membership form",
|
||||
"dateNoLongerCurrent": "The selected date was no longer current. Please try again.",
|
||||
"activityRequired": "Please enter an activity.",
|
||||
"activityNotFound": "Activity not found. Please choose one from the list.",
|
||||
"standardActivities": "Standard activities",
|
||||
"standardDurationShort": "Min",
|
||||
"standardActivityAddError": "Standard activity could not be added.",
|
||||
@@ -488,6 +653,106 @@
|
||||
"errorImportingCSV": "Failed to import the CSV file"
|
||||
},
|
||||
"members": {
|
||||
"title": "Members",
|
||||
"memberInfo": "Member info",
|
||||
"activeMembers": "Active members",
|
||||
"testMembers": "Trial members",
|
||||
"inactiveMembers": "Inactive members",
|
||||
"generatePhoneList": "Generate phone list",
|
||||
"onlyActiveMembers": "Only active members are included",
|
||||
"updateRatings": "Update TTR/QTTR from myTischtennis",
|
||||
"updating": "Updating...",
|
||||
"transferMembers": "Transfer members",
|
||||
"newMember": "New member",
|
||||
"editMember": "Edit member",
|
||||
"createNewMember": "Create new member",
|
||||
"firstName": "First name",
|
||||
"lastName": "Last name",
|
||||
"street": "Street",
|
||||
"postalCode": "Postcode",
|
||||
"city": "City",
|
||||
"birthdate": "Birthdate",
|
||||
"phones": "Phone numbers",
|
||||
"emails": "Email addresses",
|
||||
"addPhone": "Add phone number",
|
||||
"addEmail": "Add email address",
|
||||
"phoneNumber": "Phone number",
|
||||
"emailAddress": "Email address",
|
||||
"parent": "Parent",
|
||||
"parentName": "Name (e.g. mother, father)",
|
||||
"primary": "Primary",
|
||||
"gender": "Gender",
|
||||
"genderUnknown": "Unknown",
|
||||
"genderMale": "Male",
|
||||
"genderFemale": "Female",
|
||||
"genderDiverse": "Diverse",
|
||||
"picsInInternetAllowed": "Pictures allowed online",
|
||||
"testMembership": "Trial membership",
|
||||
"memberFormHandedOver": "Membership form handed over",
|
||||
"trainingGroups": "Training groups",
|
||||
"noGroupsAssigned": "No groups assigned",
|
||||
"noGroupsAvailable": "No groups available",
|
||||
"addGroup": "Add group...",
|
||||
"remove": "Remove",
|
||||
"image": "Image",
|
||||
"selectFile": "Select file",
|
||||
"camera": "Camera",
|
||||
"imagePreview": "Member image preview",
|
||||
"change": "Change",
|
||||
"create": "Create",
|
||||
"clearFields": "Clear fields",
|
||||
"showInactiveMembers": "Show inactive members",
|
||||
"ageGroup": "Age group",
|
||||
"adults": "Adults (20+)",
|
||||
"j19": "U19 (19 and younger)",
|
||||
"j17": "U17 (17 and younger)",
|
||||
"j15": "U15 (15 and younger)",
|
||||
"j13": "U13 (13 and younger)",
|
||||
"j11": "U11 (11 and younger)",
|
||||
"clearFilters": "Reset filters",
|
||||
"imageInternet": "Image (web?)",
|
||||
"testMember": "Trial",
|
||||
"name": "Surname, first name",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Address",
|
||||
"active": "Active",
|
||||
"actions": "Actions",
|
||||
"phoneNumberShort": "Phone no.",
|
||||
"emailAddressShort": "Email address",
|
||||
"trainingParticipations": "Training participations",
|
||||
"memberImage": "Member image",
|
||||
"inactive": "inactive",
|
||||
"sixOrMoreParticipations": "6 or more training participations",
|
||||
"threeOrMoreParticipations": "3 or more training participations",
|
||||
"noTestMembership": "No longer a trial member",
|
||||
"formHandedOver": "Membership form handed over",
|
||||
"deactivateMember": "Deactivate member",
|
||||
"notes": "Notes",
|
||||
"exercises": "Exercises",
|
||||
"memberImages": "Member images",
|
||||
"testMembershipRemoved": "Trial membership removed.",
|
||||
"errorRemovingTestMembership": "Error removing the trial membership.",
|
||||
"formMarkedAsHandedOver": "Membership form marked as handed over.",
|
||||
"errorMarkingForm": "Error marking the form.",
|
||||
"deactivateMemberTitle": "Deactivate member",
|
||||
"deactivateMemberConfirm": "Do you really want to deactivate \"{name}\"?",
|
||||
"memberDeactivated": "Member deactivated",
|
||||
"errorDeactivatingMember": "Error deactivating member",
|
||||
"errorSavingMember": "Error saving member",
|
||||
"errorAddingToGroup": "Error adding to group",
|
||||
"errorRemovingFromGroup": "Error removing from group",
|
||||
"imageUpdated": "Image updated",
|
||||
"errorRotatingImage": "Error rotating image",
|
||||
"imageDeleted": "Image deleted.",
|
||||
"errorDeletingImage": "Image could not be deleted",
|
||||
"primaryImageUpdated": "Primary image updated.",
|
||||
"errorSettingPrimaryImage": "Primary image could not be set",
|
||||
"errorUploadingImage": "Image could not be uploaded",
|
||||
"errorLoadingImage": "Error loading image",
|
||||
"phoneList": "phone-list.pdf",
|
||||
"errorLoadingTrainingParticipations": "Error loading training participations",
|
||||
"errorUpdatingRatings": "Error updating TTR/QTTR values",
|
||||
"errorTransfer": "Transfer error",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -500,10 +765,15 @@
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeDataIncomplete": "Data incomplete",
|
||||
"scopeInactive": "Inactive",
|
||||
"scopeActiveDataIncomplete": "Active + data incomplete",
|
||||
"searchAndFilter": "Search and filter",
|
||||
"bulkActions": "Bulk actions",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "Please assign at least one training group.",
|
||||
"editorRecommendedEntry": "Recommended entry",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -548,6 +818,9 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "Age from - to",
|
||||
"ageFromPlaceholder": "from",
|
||||
"ageToPlaceholder": "to",
|
||||
"age": "Age",
|
||||
"dataQuality": "Data quality",
|
||||
"dataQualityComplete": "Data complete",
|
||||
@@ -556,18 +829,22 @@
|
||||
"dataIssueEmail": "Email missing",
|
||||
"dataIssueAddress": "Address missing",
|
||||
"dataIssueGender": "Gender unclear",
|
||||
"dataIssueTrainingGroup": "Training group missing",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "Review data quality",
|
||||
"taskAssignTrainingGroup": "Assign training group",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "Open",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "Show TTR history",
|
||||
"missingTtrHistoryId": "No myTischtennis ID stored",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -590,6 +867,85 @@
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Training statistics",
|
||||
"activeMembers": "Active members",
|
||||
"averageParticipationCurrentMonth": "Average participation (current month)",
|
||||
"averageParticipationLastMonth": "Average participation (last month)",
|
||||
"averageParticipationQuarter": "Average participation (quarter)",
|
||||
"averageParticipationHalfYear": "Average participation (half-year)",
|
||||
"averageParticipationYear": "Average participation (year)",
|
||||
"trainingDays": "Training days (last 12 months)",
|
||||
"memberParticipations": "Member participations",
|
||||
"date": "Date",
|
||||
"weekday": "Weekday",
|
||||
"participants": "Participants",
|
||||
"name": "Name",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Birthdate",
|
||||
"participations12Months": "Participations (12 months)",
|
||||
"participations3Months": "Participations (3 months)",
|
||||
"participationsTotal": "Participations (total)",
|
||||
"lastTraining": "Last training",
|
||||
"actions": "Actions",
|
||||
"showDetails": "Show details"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Table tennis exercise drawing",
|
||||
"configureExercise": "Configure exercise",
|
||||
"stepStartPosition": "1. Start position",
|
||||
"stepStartPositionHint": "Which service position does the exercise start from?",
|
||||
"stepFirstStroke": "2. First stroke",
|
||||
"stepFirstStrokeHint": "Set stroke side and spin for the first ball.",
|
||||
"stepTarget": "3. Target",
|
||||
"stepTargetHint": "Choose the target zone for the first stroke.",
|
||||
"stepAdditionalStrokes": "4. Follow-up strokes",
|
||||
"stepAdditionalStrokesHint": "Optionally build additional balls as a sequence.",
|
||||
"noAdditionalStrokes": "No follow-up strokes added yet.",
|
||||
"service": "Serve:",
|
||||
"serviceTitle": "Serve",
|
||||
"forehand": "Forehand",
|
||||
"backhand": "Backhand",
|
||||
"spin": "Spin:",
|
||||
"underspin": "Backspin",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Sidespin",
|
||||
"sideUnderspin": "Side-backspin",
|
||||
"counterSpin": "Counter-spin",
|
||||
"targetPosition": "Target position:",
|
||||
"targetPositionLabel": "Target position",
|
||||
"strokeSide": "Side",
|
||||
"strokeTypeLabel": "Stroke type",
|
||||
"addStroke": "Add stroke",
|
||||
"preview": "Preview",
|
||||
"previewHint": "The graphic appears as soon as the first stroke is fully configured.",
|
||||
"completeFirstStroke": "Complete the first stroke",
|
||||
"completeFirstStrokeHint": "Choose start position, stroke side, spin and target. The graphic will then appear.",
|
||||
"codeLabel": "Code",
|
||||
"titleLabel": "Title",
|
||||
"startLeft": "left",
|
||||
"startMiddle": "centre",
|
||||
"startRight": "right",
|
||||
"strokeTypePush": "Push",
|
||||
"strokeTypeCounter": "Counter",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Block",
|
||||
"strokeTypeSmash": "Smash",
|
||||
"strokeTypeChopDefense": "Chop defence",
|
||||
"strokeTypeLobDefense": "Lob defence",
|
||||
"targetForehandLong": "Forehand deep",
|
||||
"targetMiddleLong": "Middle deep",
|
||||
"targetBackhandLong": "Backhand deep",
|
||||
"targetForehandHalfLong": "Forehand half-long",
|
||||
"targetMiddleHalfLong": "Middle half-long",
|
||||
"targetBackhandHalfLong": "Backhand half-long",
|
||||
"targetForehandShort": "Forehand short",
|
||||
"targetMiddleShort": "Middle short",
|
||||
"targetBackhandShort": "Backhand short",
|
||||
"toTarget": "to"
|
||||
},
|
||||
"teamManagement": {
|
||||
"title": "Team Management",
|
||||
"subtitle": "Select teams, review configuration and maintain league data in one place.",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"edit": "Edit",
|
||||
"add": "Add",
|
||||
"close": "Close",
|
||||
"details": "Details",
|
||||
"confirm": "Confirm",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
@@ -22,7 +23,40 @@
|
||||
"next": "Next",
|
||||
"previous": "Previous",
|
||||
"submit": "Submit",
|
||||
"reset": "Reset"
|
||||
"reset": "Reset",
|
||||
"all": "All",
|
||||
"today": "Today",
|
||||
"time": "Time",
|
||||
"new": "New",
|
||||
"update": "Update",
|
||||
"create": "Create",
|
||||
"remove": "Remove",
|
||||
"select": "Select",
|
||||
"download": "Download",
|
||||
"choose": "Choose",
|
||||
"apply": "Apply",
|
||||
"clear": "Clear",
|
||||
"view": "View",
|
||||
"name": "Name",
|
||||
"date": "Date",
|
||||
"status": "Status",
|
||||
"type": "Type",
|
||||
"description": "Description",
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"required": "Required",
|
||||
"optional": "Optional",
|
||||
"in": "in",
|
||||
"min": "min",
|
||||
"minutes": "minutes",
|
||||
"hours": "hours",
|
||||
"days": "days",
|
||||
"weeks": "weeks",
|
||||
"months": "months",
|
||||
"years": "years",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Home",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "System Logs",
|
||||
"memberTransfer": "Member Transfer",
|
||||
"myTischtennisAccount": "myTischtennis Account",
|
||||
"clickTtAccount": "HTTV / click-TT Account",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "Personal Settings",
|
||||
"logout": "Log Out",
|
||||
"login": "Log In",
|
||||
"register": "Sign Up",
|
||||
"dailyBusiness": "Daily Business",
|
||||
"competitions": "Competitions",
|
||||
"settings": "Settings"
|
||||
"settings": "Settings",
|
||||
"backToHome": "Back to home"
|
||||
},
|
||||
"club": {
|
||||
"select": "Select Club",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "Load",
|
||||
"name": "Club Name",
|
||||
"create": "Create Club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient.",
|
||||
"createTitle": "Create club",
|
||||
"members": "Members",
|
||||
"trainingDiary": "Training diary",
|
||||
"noAccess": "You have not yet been granted access to this club.",
|
||||
"requestAccess": "Request access",
|
||||
"openRequests": "Open access requests",
|
||||
"title": "Club",
|
||||
"openAccessRequests": "Open access requests",
|
||||
"diary": "Training diary",
|
||||
"accessDenied": "Access to the club was denied.",
|
||||
"errorLoadingRequests": "Failed to load open requests",
|
||||
"accessRequested": "Access has been requested.",
|
||||
"accessRequestFailed": "Access request could not be submitted."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Log In",
|
||||
@@ -359,6 +409,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "Members",
|
||||
"memberInfo": "Member info",
|
||||
"activeMembers": "Active members",
|
||||
"testMembers": "Trial members",
|
||||
"inactiveMembers": "Inactive members",
|
||||
"generatePhoneList": "Generate phone list",
|
||||
"onlyActiveMembers": "Only active members are included",
|
||||
"updateRatings": "Update TTR/QTTR from myTischtennis",
|
||||
"updating": "Updating...",
|
||||
"transferMembers": "Transfer members",
|
||||
"newMember": "New member",
|
||||
"editMember": "Edit member",
|
||||
"createNewMember": "Create new member",
|
||||
"firstName": "First name",
|
||||
"lastName": "Last name",
|
||||
"street": "Street",
|
||||
"postalCode": "ZIP code",
|
||||
"city": "City",
|
||||
"birthdate": "Birthdate",
|
||||
"phones": "Phone numbers",
|
||||
"emails": "Email addresses",
|
||||
"addPhone": "Add phone number",
|
||||
"addEmail": "Add email address",
|
||||
"phoneNumber": "Phone number",
|
||||
"emailAddress": "Email address",
|
||||
"parent": "Parent",
|
||||
"parentName": "Name (e.g. mother, father)",
|
||||
"primary": "Primary",
|
||||
"gender": "Gender",
|
||||
"genderUnknown": "Unknown",
|
||||
"genderMale": "Male",
|
||||
"genderFemale": "Female",
|
||||
"genderDiverse": "Diverse",
|
||||
"picsInInternetAllowed": "Pictures allowed online",
|
||||
"testMembership": "Trial membership",
|
||||
"memberFormHandedOver": "Membership form handed over",
|
||||
"trainingGroups": "Training groups",
|
||||
"noGroupsAssigned": "No groups assigned",
|
||||
"noGroupsAvailable": "No groups available",
|
||||
"addGroup": "Add group...",
|
||||
"remove": "Remove",
|
||||
"image": "Image",
|
||||
"selectFile": "Select file",
|
||||
"camera": "Camera",
|
||||
"imagePreview": "Member image preview",
|
||||
"change": "Change",
|
||||
"create": "Create",
|
||||
"clearFields": "Clear fields",
|
||||
"showInactiveMembers": "Show inactive members",
|
||||
"ageGroup": "Age group",
|
||||
"adults": "Adults (20+)",
|
||||
"j19": "U19 (19 and younger)",
|
||||
"j17": "U17 (17 and younger)",
|
||||
"j15": "U15 (15 and younger)",
|
||||
"j13": "U13 (13 and younger)",
|
||||
"j11": "U11 (11 and younger)",
|
||||
"clearFilters": "Reset filters",
|
||||
"imageInternet": "Image (web?)",
|
||||
"testMember": "Trial",
|
||||
"name": "Last name, first name",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Address",
|
||||
"active": "Active",
|
||||
"actions": "Actions",
|
||||
"phoneNumberShort": "Phone no.",
|
||||
"emailAddressShort": "Email address",
|
||||
"trainingParticipations": "Training participations",
|
||||
"memberImage": "Member image",
|
||||
"inactive": "inactive",
|
||||
"sixOrMoreParticipations": "6 or more training participations",
|
||||
"threeOrMoreParticipations": "3 or more training participations",
|
||||
"noTestMembership": "No longer a trial member",
|
||||
"formHandedOver": "Membership form handed over",
|
||||
"deactivateMember": "Deactivate member",
|
||||
"notes": "Notes",
|
||||
"exercises": "Exercises",
|
||||
"memberImages": "Member images",
|
||||
"testMembershipRemoved": "Trial membership removed.",
|
||||
"errorRemovingTestMembership": "Error removing the trial membership.",
|
||||
"formMarkedAsHandedOver": "Membership form marked as handed over.",
|
||||
"errorMarkingForm": "Error marking the form.",
|
||||
"deactivateMemberTitle": "Deactivate member",
|
||||
"deactivateMemberConfirm": "Do you really want to deactivate \"{name}\"?",
|
||||
"memberDeactivated": "Member deactivated",
|
||||
"errorDeactivatingMember": "Error deactivating member",
|
||||
"errorSavingMember": "Error saving member",
|
||||
"errorAddingToGroup": "Error adding to group",
|
||||
"errorRemovingFromGroup": "Error removing from group",
|
||||
"imageUpdated": "Image updated",
|
||||
"errorRotatingImage": "Error rotating image",
|
||||
"imageDeleted": "Image deleted.",
|
||||
"errorDeletingImage": "Image could not be deleted",
|
||||
"primaryImageUpdated": "Primary image updated.",
|
||||
"errorSettingPrimaryImage": "Primary image could not be set",
|
||||
"errorUploadingImage": "Image could not be uploaded",
|
||||
"errorLoadingImage": "Error loading image",
|
||||
"phoneList": "phone-list.pdf",
|
||||
"errorLoadingTrainingParticipations": "Error loading training participations",
|
||||
"errorUpdatingRatings": "Error updating TTR/QTTR values",
|
||||
"errorTransfer": "Transfer error",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -369,11 +519,17 @@
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeDataIncomplete": "Data incomplete",
|
||||
"scopeInactive": "Inactive",
|
||||
"scopeActiveDataIncomplete": "Active + data incomplete",
|
||||
"searchAndFilter": "Search and filter",
|
||||
"bulkActions": "Bulk actions",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "Please assign at least one training group.",
|
||||
"editorRecommendedEntry": "Recommended entry",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -418,17 +574,33 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "Age from - to",
|
||||
"ageFromPlaceholder": "from",
|
||||
"ageToPlaceholder": "to",
|
||||
"age": "Age",
|
||||
"dataQuality": "Data quality",
|
||||
"dataQualityComplete": "Data complete",
|
||||
"dataIssueBirthdate": "Birthdate missing",
|
||||
"dataIssuePhone": "Phone missing",
|
||||
"dataIssueEmail": "Email missing",
|
||||
"dataIssueAddress": "Address missing",
|
||||
"dataIssueGender": "Gender unclear",
|
||||
"dataIssueTrainingGroup": "Training group missing",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "Review data quality",
|
||||
"taskAssignTrainingGroup": "Assign training group",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "Open",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "Show TTR history",
|
||||
"missingTtrHistoryId": "No myTischtennis ID stored",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -450,5 +622,212 @@
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Training diary",
|
||||
"date": "Date",
|
||||
"noEntries": "No entries",
|
||||
"deleteDate": "Delete date",
|
||||
"createNew": "Create new",
|
||||
"gallery": "Member gallery",
|
||||
"galleryCreating": "Creating gallery…",
|
||||
"selectTrainingGroup": "Select training group",
|
||||
"selectTrainingGroupPlaceholder": "Please choose...",
|
||||
"suggestion": "Suggestion",
|
||||
"nextAppointment": "Next appointment",
|
||||
"applySuggestion": "Apply suggestion",
|
||||
"skipSuggestion": "Continue without suggestion",
|
||||
"createNewDate": "Create new date",
|
||||
"activeTrainingDay": "Active training day",
|
||||
"trainingDaySection": "Training day",
|
||||
"trainingDayChecklist": "Completion checklist",
|
||||
"trainingStart": "Training start",
|
||||
"trainingEnd": "Training end",
|
||||
"trainingWindow": "Training window",
|
||||
"trainingWindowUnset": "Not set yet",
|
||||
"groupsLabel": "Groups",
|
||||
"groupsSection": "Groups",
|
||||
"createDate": "Create date",
|
||||
"editTrainingTimes": "Edit training times",
|
||||
"updateTimes": "Update times",
|
||||
"groupManagement": "Group management",
|
||||
"createGroups": "Create groups",
|
||||
"trainingPlan": "Training plan",
|
||||
"planActivitiesCount": "Planned activities",
|
||||
"timeblocksCount": "Time blocks",
|
||||
"planEmptyState": "Nothing has been entered in the training plan yet.",
|
||||
"planAddHint": "Add new plan items using the actions above.",
|
||||
"startTime": "Start time",
|
||||
"group": "Group...",
|
||||
"timeblock": "Time block",
|
||||
"assignParticipants": "Assign participants",
|
||||
"addTimeblock": "Time block",
|
||||
"activities": "Activities",
|
||||
"freeActivities": "Free activities",
|
||||
"noFreeActivitiesYet": "No free activities have been recorded yet.",
|
||||
"addActivity": "Add activity",
|
||||
"bookAccident": "Record accident",
|
||||
"activity": "Activity",
|
||||
"duration": "Duration",
|
||||
"activityImage": "Activity image",
|
||||
"activityDrawing": "Activity drawing",
|
||||
"today": "Today",
|
||||
"existingGroups": "Existing groups",
|
||||
"leader": "Leader",
|
||||
"deleteGroup": "Delete group",
|
||||
"numberOfGroups": "Number of groups",
|
||||
"addGroup": "Add group",
|
||||
"activityOrTimeblock": "Activity / time block",
|
||||
"durationMinutes": "Duration (min)",
|
||||
"addGroupActivity": "Add group activity",
|
||||
"addGroupButton": "+ Group",
|
||||
"all": "All",
|
||||
"selectGroup": "Select group...",
|
||||
"activityPlaceholder": "Activity",
|
||||
"assignShort": "Assign",
|
||||
"statusReadyShort": "Ready",
|
||||
"statusOpenShort": "Open",
|
||||
"openPlanItemsLabel": "Plan status",
|
||||
"openPlanItems": "{count} open",
|
||||
"unassignedPlanItems": "{count} open",
|
||||
"durationExampleLong": "e.g. 2x7 or 3*5",
|
||||
"durationExampleShort": "e.g. 2x7",
|
||||
"showImage": "Show image/drawing",
|
||||
"participants": "Participants",
|
||||
"searchParticipants": "Search participants",
|
||||
"filterAll": "All",
|
||||
"filterPresent": "Present",
|
||||
"filterAbsent": "Absent",
|
||||
"filterTest": "Trial",
|
||||
"quickAdd": "+ Quick add",
|
||||
"selectTags": "Select tags",
|
||||
"createDrawing": "Create exercise drawing",
|
||||
"overallActivity": "Overall activity",
|
||||
"editActivity": "Edit activity",
|
||||
"editGroupActivity": "Edit group activity",
|
||||
"assignParticipantsForGroupActivity": "Assign participants for group activity",
|
||||
"delete": "Delete",
|
||||
"min": "Min",
|
||||
"errorLoadingPredefinedActivities": "Failed to load predefined activities",
|
||||
"selectParticipantAndNote": "Please select a participant and enter a note.",
|
||||
"selectGroupAndActivity": "Please select a group and enter an activity.",
|
||||
"dateCannotBeDeleted": "Date cannot be deleted",
|
||||
"dateCannotBeDeletedDetails": "There is still content present (training plan, participants, activities, accidents or notes).",
|
||||
"confirmDelete": "Confirm deletion",
|
||||
"confirmDeleteDate": "Do you really want to delete this date?",
|
||||
"confirmDeleteDateDetails": "All associated data will also be deleted.",
|
||||
"noParticipants": "No participants available for this training day.",
|
||||
"mustCreateAtLeastTwoGroups": "At least 2 groups must be created the first time.",
|
||||
"oneGroupAdded": "1 group was added successfully.",
|
||||
"groupsCreated": "{count} groups were created successfully.",
|
||||
"errorCreatingGroups": "Error creating groups",
|
||||
"confirmDeleteGroup": "Do you really want to delete the group \"{name}\"?",
|
||||
"groupDeletedSuccessfully": "Group deleted successfully.",
|
||||
"errorDeletingGroup": "Error deleting group",
|
||||
"errorCreatingActivity": "Error creating activity",
|
||||
"trainingPlanAsPDF": "Training plan as PDF",
|
||||
"trainingPlanPdfShort": "Schedule as PDF",
|
||||
"trainingDayAsPDF": "Download training day as PDF",
|
||||
"trainingDayAsPDFShort": "Training day as PDF",
|
||||
"trainingDaySummaryPdfShort": "Participant summary as PDF",
|
||||
"minutes": "Minutes",
|
||||
"formHandedOver": "Membership form handed over",
|
||||
"errorOccurred": "An error occurred. Please try again.",
|
||||
"trainingTimesUpdated": "Training times updated successfully.",
|
||||
"noActiveTrainingDay": "No training day selected.",
|
||||
"statusEmpty": "This training day is still empty.",
|
||||
"statusInProgress": "This training day is partially prepared.",
|
||||
"formMarkedAsHandedOver": "Membership form marked as handed over",
|
||||
"errorMarkingForm": "Error marking the membership form",
|
||||
"dateNoLongerCurrent": "The selected date was no longer current. Please try again.",
|
||||
"activityRequired": "Please enter an activity.",
|
||||
"activityNotFound": "Activity not found. Please choose one from the list.",
|
||||
"standardActivities": "Standard activities",
|
||||
"standardDurationShort": "Min",
|
||||
"standardActivityAddError": "Standard activity could not be added.",
|
||||
"statusReady": "Times and training plan are set.",
|
||||
"filterExcused": "Excused",
|
||||
"participantStatusNone": "No status",
|
||||
"participantStatusExcused": "Excused",
|
||||
"participantStatusCancelled": "Cancelled"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Training statistics",
|
||||
"activeMembers": "Active members",
|
||||
"averageParticipationCurrentMonth": "Average participation (current month)",
|
||||
"averageParticipationLastMonth": "Average participation (last month)",
|
||||
"averageParticipationQuarter": "Average participation (quarter)",
|
||||
"averageParticipationHalfYear": "Average participation (half-year)",
|
||||
"averageParticipationYear": "Average participation (year)",
|
||||
"trainingDays": "Training days (last 12 months)",
|
||||
"memberParticipations": "Member participations",
|
||||
"date": "Date",
|
||||
"weekday": "Weekday",
|
||||
"participants": "Participants",
|
||||
"name": "Name",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Birthdate",
|
||||
"participations12Months": "Participations (12 months)",
|
||||
"participations3Months": "Participations (3 months)",
|
||||
"participationsTotal": "Participations (total)",
|
||||
"lastTraining": "Last training",
|
||||
"actions": "Actions",
|
||||
"showDetails": "Show details"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Table tennis exercise drawing",
|
||||
"configureExercise": "Configure exercise",
|
||||
"stepStartPosition": "1. Start position",
|
||||
"stepStartPositionHint": "Which service position does the exercise start from?",
|
||||
"stepFirstStroke": "2. First stroke",
|
||||
"stepFirstStrokeHint": "Set stroke side and spin for the first ball.",
|
||||
"stepTarget": "3. Target",
|
||||
"stepTargetHint": "Choose the target zone for the first stroke.",
|
||||
"stepAdditionalStrokes": "4. Follow-up strokes",
|
||||
"stepAdditionalStrokesHint": "Optionally build additional balls as a sequence.",
|
||||
"noAdditionalStrokes": "No follow-up strokes added yet.",
|
||||
"service": "Serve:",
|
||||
"serviceTitle": "Serve",
|
||||
"forehand": "Forehand",
|
||||
"backhand": "Backhand",
|
||||
"spin": "Spin:",
|
||||
"underspin": "Backspin",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Sidespin",
|
||||
"sideUnderspin": "Side-backspin",
|
||||
"counterSpin": "Counter-spin",
|
||||
"targetPosition": "Target position:",
|
||||
"targetPositionLabel": "Target position",
|
||||
"strokeSide": "Side",
|
||||
"strokeTypeLabel": "Stroke type",
|
||||
"addStroke": "Add stroke",
|
||||
"preview": "Preview",
|
||||
"previewHint": "The graphic appears as soon as the first stroke is fully configured.",
|
||||
"completeFirstStroke": "Complete the first stroke",
|
||||
"completeFirstStrokeHint": "Choose start position, stroke side, spin and target. The graphic will then appear.",
|
||||
"codeLabel": "Code",
|
||||
"titleLabel": "Title",
|
||||
"startLeft": "left",
|
||||
"startMiddle": "center",
|
||||
"startRight": "right",
|
||||
"strokeTypePush": "Push",
|
||||
"strokeTypeCounter": "Counter",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Block",
|
||||
"strokeTypeSmash": "Smash",
|
||||
"strokeTypeChopDefense": "Chop defense",
|
||||
"strokeTypeLobDefense": "Lob defense",
|
||||
"targetForehandLong": "Forehand deep",
|
||||
"targetMiddleLong": "Middle deep",
|
||||
"targetBackhandLong": "Backhand deep",
|
||||
"targetForehandHalfLong": "Forehand half-long",
|
||||
"targetMiddleHalfLong": "Middle half-long",
|
||||
"targetBackhandHalfLong": "Backhand half-long",
|
||||
"targetForehandShort": "Forehand short",
|
||||
"targetMiddleShort": "Middle short",
|
||||
"targetBackhandShort": "Backhand short",
|
||||
"toTarget": "to"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "Siguiente",
|
||||
"previous": "Anterior",
|
||||
"submit": "Enviar",
|
||||
"reset": "Restablecer"
|
||||
"reset": "Restablecer",
|
||||
"all": "Todos",
|
||||
"today": "Hoy",
|
||||
"time": "Hora",
|
||||
"new": "Nuevo",
|
||||
"update": "Actualizar",
|
||||
"create": "Crear",
|
||||
"remove": "Quitar",
|
||||
"select": "Seleccionar",
|
||||
"download": "Descargar",
|
||||
"choose": "Elegir",
|
||||
"apply": "Aplicar",
|
||||
"clear": "Borrar",
|
||||
"details": "Detalles",
|
||||
"view": "Ver",
|
||||
"name": "Nombre",
|
||||
"date": "Fecha",
|
||||
"status": "Estado",
|
||||
"type": "Tipo",
|
||||
"description": "Descripción",
|
||||
"active": "Activo",
|
||||
"inactive": "Inactivo",
|
||||
"enabled": "Habilitado",
|
||||
"disabled": "Deshabilitado",
|
||||
"required": "Obligatorio",
|
||||
"optional": "Opcional",
|
||||
"in": "en",
|
||||
"min": "min",
|
||||
"minutes": "minutos",
|
||||
"hours": "horas",
|
||||
"days": "días",
|
||||
"weeks": "semanas",
|
||||
"months": "meses",
|
||||
"years": "años",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Inicio",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "Registros del sistema",
|
||||
"memberTransfer": "Transferencia de miembros",
|
||||
"myTischtennisAccount": "Cuenta myTischtennis",
|
||||
"clickTtAccount": "Cuenta HTTV / click-TT",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "Configuración personal",
|
||||
"logout": "Cerrar sesión",
|
||||
"login": "Iniciar sesión",
|
||||
"register": "Registrarse",
|
||||
"dailyBusiness": "Negocios diarios",
|
||||
"dailyBusiness": "Gestión diaria",
|
||||
"competitions": "Competiciones",
|
||||
"settings": "Configuración"
|
||||
"settings": "Configuración",
|
||||
"backToHome": "Volver al inicio"
|
||||
},
|
||||
"club": {
|
||||
"select": "Seleccionar club",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "Cargar",
|
||||
"name": "Nombre del club",
|
||||
"create": "Crear club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "Crear club",
|
||||
"members": "Miembros",
|
||||
"trainingDiary": "Diario de entrenamiento",
|
||||
"noAccess": "Todavía no tienes acceso a este club.",
|
||||
"requestAccess": "Solicitar acceso",
|
||||
"openRequests": "Solicitudes de acceso abiertas",
|
||||
"title": "Club",
|
||||
"openAccessRequests": "Solicitudes de acceso abiertas",
|
||||
"diary": "Diario de entrenamiento",
|
||||
"accessDenied": "Acceso al club denegado.",
|
||||
"errorLoadingRequests": "Error al cargar las solicitudes abiertas",
|
||||
"accessRequested": "Se ha solicitado el acceso.",
|
||||
"accessRequestPending": "Se ha solicitado acceso a este club. Por favor, espera.",
|
||||
"accessRequestFailed": "No se pudo enviar la solicitud de acceso."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Iniciar sesión",
|
||||
@@ -331,96 +381,425 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
"search": "Search",
|
||||
"searchPlaceholder": "Search by name, city, phone or email",
|
||||
"memberScope": "Member scope",
|
||||
"scopeAll": "All",
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeInactive": "Inactive",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
"clickTtRequestAction": "Request click-TT eligibility",
|
||||
"clickTtRequestTitle": "Start Click-TT request",
|
||||
"clickTtRequestConfirm": "Start the automated Click-TT request for {name}?",
|
||||
"clickTtRequestHint": "The request is processed automatically by the backend Click-TT workflow.",
|
||||
"clickTtRequestSuccess": "Please sign in to click-tt and submit the request there.",
|
||||
"clickTtRequestError": "The Click-TT request could not be submitted.",
|
||||
"clickTtRequestFailedLog": "Click-TT request failed",
|
||||
"deleteImageTitle": "Delete image",
|
||||
"deleteImageConfirm": "Do you really want to delete this image?",
|
||||
"parentFallback": "Parent",
|
||||
"loadingMembers": "Loading members...",
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
"noAddressShort": "No address",
|
||||
"clickTtSubmitted": "Click-TT submitted",
|
||||
"markRegular": "Mark regular",
|
||||
"markFormReceived": "Mark form verified",
|
||||
"title": "Miembros",
|
||||
"memberInfo": "Información del miembro",
|
||||
"activeMembers": "Miembros activos",
|
||||
"testMembers": "Miembros de prueba",
|
||||
"inactiveMembers": "Miembros inactivos",
|
||||
"generatePhoneList": "Generar lista telefónica",
|
||||
"onlyActiveMembers": "Solo se incluyen miembros activos",
|
||||
"updateRatings": "Actualizar TTR/QTTR desde myTischtennis",
|
||||
"updating": "Actualizando...",
|
||||
"transferMembers": "Transferir miembros",
|
||||
"newMember": "Nuevo miembro",
|
||||
"editMember": "Editar miembro",
|
||||
"createNewMember": "Crear nuevo miembro",
|
||||
"firstName": "Nombre",
|
||||
"lastName": "Apellido",
|
||||
"street": "Calle",
|
||||
"postalCode": "Código postal",
|
||||
"city": "Ciudad",
|
||||
"birthdate": "Fecha de nacimiento",
|
||||
"phones": "Números de teléfono",
|
||||
"emails": "Direcciones de correo",
|
||||
"addPhone": "Añadir número de teléfono",
|
||||
"addEmail": "Añadir dirección de correo",
|
||||
"phoneNumber": "Número de teléfono",
|
||||
"emailAddress": "Dirección de correo",
|
||||
"parent": "Tutor",
|
||||
"parentName": "Nombre (p. ej. madre, padre)",
|
||||
"primary": "Principal",
|
||||
"gender": "Sexo",
|
||||
"genderUnknown": "Desconocido",
|
||||
"genderMale": "Masculino",
|
||||
"genderFemale": "Femenino",
|
||||
"genderDiverse": "Diverso",
|
||||
"picsInInternetAllowed": "Fotos permitidas en internet",
|
||||
"testMembership": "Membresía de prueba",
|
||||
"memberFormHandedOver": "Formulario de afiliación entregado",
|
||||
"trainingGroups": "Grupos de entrenamiento",
|
||||
"noGroupsAssigned": "No hay grupos asignados",
|
||||
"noGroupsAvailable": "No hay grupos disponibles",
|
||||
"addGroup": "Añadir grupo...",
|
||||
"remove": "Quitar",
|
||||
"image": "Imagen",
|
||||
"selectFile": "Seleccionar archivo",
|
||||
"camera": "Cámara",
|
||||
"imagePreview": "Vista previa de la imagen del miembro",
|
||||
"change": "Cambiar",
|
||||
"create": "Crear",
|
||||
"clearFields": "Vaciar campos",
|
||||
"showInactiveMembers": "Mostrar miembros inactivos",
|
||||
"ageGroup": "Categoría de edad",
|
||||
"adults": "Adultos (20+)",
|
||||
"j19": "U19 (19 años o menos)",
|
||||
"j17": "U17 (17 años o menos)",
|
||||
"j15": "U15 (15 años o menos)",
|
||||
"j13": "U13 (13 años o menos)",
|
||||
"j11": "U11 (11 años o menos)",
|
||||
"clearFilters": "Restablecer filtros",
|
||||
"imageInternet": "Imagen (web?)",
|
||||
"testMember": "Prueba",
|
||||
"name": "Apellido, nombre",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Dirección",
|
||||
"active": "Activo",
|
||||
"actions": "Acciones",
|
||||
"phoneNumberShort": "Tel.",
|
||||
"emailAddressShort": "Correo",
|
||||
"trainingParticipations": "Participaciones en entrenamiento",
|
||||
"memberImage": "Imagen del miembro",
|
||||
"inactive": "inactivo",
|
||||
"sixOrMoreParticipations": "6 o más participaciones en entrenamiento",
|
||||
"threeOrMoreParticipations": "3 o más participaciones en entrenamiento",
|
||||
"noTestMembership": "Ya no es miembro de prueba",
|
||||
"formHandedOver": "Formulario de afiliación entregado",
|
||||
"deactivateMember": "Desactivar miembro",
|
||||
"notes": "Notas",
|
||||
"exercises": "Ejercicios",
|
||||
"memberImages": "Imágenes del miembro",
|
||||
"testMembershipRemoved": "Se eliminó la membresía de prueba.",
|
||||
"errorRemovingTestMembership": "Error al eliminar la membresía de prueba.",
|
||||
"formMarkedAsHandedOver": "El formulario de afiliación se marcó como entregado.",
|
||||
"errorMarkingForm": "Error al marcar el formulario.",
|
||||
"deactivateMemberTitle": "Desactivar miembro",
|
||||
"deactivateMemberConfirm": "¿Realmente deseas desactivar a \"{name}\"?",
|
||||
"memberDeactivated": "Miembro desactivado",
|
||||
"errorDeactivatingMember": "Error al desactivar al miembro",
|
||||
"errorSavingMember": "Error al guardar el miembro",
|
||||
"errorAddingToGroup": "Error al añadir al grupo",
|
||||
"errorRemovingFromGroup": "Error al quitar del grupo",
|
||||
"imageUpdated": "Imagen actualizada",
|
||||
"errorRotatingImage": "Error al girar la imagen",
|
||||
"imageDeleted": "La imagen ha sido eliminada.",
|
||||
"errorDeletingImage": "No se pudo eliminar la imagen",
|
||||
"primaryImageUpdated": "Imagen principal actualizada.",
|
||||
"errorSettingPrimaryImage": "No se pudo establecer la imagen principal",
|
||||
"errorUploadingImage": "No se pudo subir la imagen",
|
||||
"errorLoadingImage": "Error al cargar la imagen",
|
||||
"phoneList": "lista-telefonica.pdf",
|
||||
"errorLoadingTrainingParticipations": "Error al cargar las participaciones de entrenamiento",
|
||||
"errorUpdatingRatings": "Error al actualizar los valores TTR/QTTR",
|
||||
"errorTransfer": "Error en la transferencia",
|
||||
"subtitle": "Buscar, filtrar y editar miembros directamente.",
|
||||
"closeEditor": "Cerrar editor",
|
||||
"visibleMembers": "Miembros visibles",
|
||||
"search": "Buscar",
|
||||
"searchPlaceholder": "Buscar por nombre, ciudad, teléfono o correo",
|
||||
"memberScope": "Ámbito de miembros",
|
||||
"scopeAll": "Todos",
|
||||
"scopeActive": "Activos",
|
||||
"scopeTest": "Prueba",
|
||||
"scopeNeedsForm": "Formulario sin verificar",
|
||||
"scopeDataIncomplete": "Datos incompletos",
|
||||
"scopeInactive": "Inactivos",
|
||||
"scopeActiveDataIncomplete": "Activo + datos incompletos",
|
||||
"searchAndFilter": "Búsqueda y filtros",
|
||||
"bulkActions": "Acciones en lote",
|
||||
"resultsVisible": "miembros visibles",
|
||||
"editHint": "Un clic en una fila abre el editor.",
|
||||
"editorCreateHint": "Crear un nuevo miembro e introducir directamente sus datos de contacto.",
|
||||
"editorEditHint": "Editar los datos de {name}.",
|
||||
"editorAssignTrainingGroupHint": "Asigna al menos un grupo de entrenamiento.",
|
||||
"editorRecommendedEntry": "Entrada recomendada",
|
||||
"transferSuccessTitle": "Transferencia correcta",
|
||||
"transferErrorTitle": "Error de transferencia",
|
||||
"clickTtRequestPending": "Solicitud Click-TT en curso",
|
||||
"clickTtRequestAction": "Solicitar autorización Click-TT",
|
||||
"clickTtRequestTitle": "Iniciar solicitud Click-TT",
|
||||
"clickTtRequestConfirm": "¿Deseas iniciar la solicitud Click-TT automatizada para {name}?",
|
||||
"clickTtRequestHint": "La solicitud se procesa automáticamente mediante el flujo Click-TT del backend.",
|
||||
"clickTtRequestSuccess": "Inicia sesión en click-tt y envía allí la solicitud.",
|
||||
"clickTtRequestError": "No se pudo enviar la solicitud Click-TT.",
|
||||
"clickTtRequestFailedLog": "Falló la solicitud Click-TT",
|
||||
"deleteImageTitle": "Eliminar imagen",
|
||||
"deleteImageConfirm": "¿Deseas eliminar realmente esta imagen?",
|
||||
"parentFallback": "Tutor",
|
||||
"loadingMembers": "Cargando miembros...",
|
||||
"errorLoadingMembers": "No se pudo cargar la lista de miembros.",
|
||||
"scopeNotTraining": "Ya no entrena",
|
||||
"notInTrainingTooltip": "Sin participación desde hace {weeks} semanas de entrenamiento",
|
||||
"status": "Estado",
|
||||
"contact": "Contacto",
|
||||
"noPhoneShort": "Sin teléfono",
|
||||
"noEmailShort": "Sin correo",
|
||||
"noAddressShort": "Sin dirección",
|
||||
"clickTtSubmitted": "Click-TT enviado",
|
||||
"markRegular": "Marcar como regular",
|
||||
"markFormReceived": "Marcar formulario como verificado",
|
||||
"clickTtRequestShort": "Click-TT",
|
||||
"clickTtRequestPendingShort": "Pending ...",
|
||||
"memberDetails": "Member details",
|
||||
"previewLastTraining": "Last training",
|
||||
"previewNoLastTraining": "No participation yet",
|
||||
"phoneListForSelection": "Phone list for selection",
|
||||
"markFormsForSelection": "Verify forms for selection",
|
||||
"markRegularForSelection": "Mark selection regular",
|
||||
"phoneListSelectionFile": "phone-list-selection.pdf",
|
||||
"batchFormsMarkedSuccess": "Marked {count} form(s) as verified.",
|
||||
"batchFormsMarkedEmpty": "There are no unverified forms in the current selection.",
|
||||
"batchMarkedRegularSuccess": "Marked {count} trial member(s) as regular.",
|
||||
"batchMarkedRegularEmpty": "There are no trial members in the current selection.",
|
||||
"batchPartialFailure": "{success} succeeded, {failed} failed.",
|
||||
"sortBy": "Sort by",
|
||||
"sortLastName": "Last name",
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"age": "Age",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
"exportMembersSelected": "members currently selected",
|
||||
"exportPhones": "Phone",
|
||||
"exportReachableByPhone": "with phone number",
|
||||
"exportEmails": "Email",
|
||||
"exportReachableByEmail": "with email address",
|
||||
"exportPreviewNames": "Preview",
|
||||
"exportPreviewEmpty": "No members in the current selection",
|
||||
"exportCsv": "Export CSV",
|
||||
"exportCsvFile": "member-selection.csv",
|
||||
"copyPhones": "Copy phones",
|
||||
"copyEmails": "Copy emails",
|
||||
"copyPhonesSuccess": "Phone list copied to clipboard.",
|
||||
"copyPhonesEmpty": "There are no phone numbers in the current selection.",
|
||||
"copyEmailsSuccess": "Email list copied to clipboard.",
|
||||
"copyEmailsEmpty": "There are no email addresses in the current selection.",
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
"clickTtRequestPendingShort": "En curso...",
|
||||
"memberDetails": "Detalles del miembro",
|
||||
"previewLastTraining": "Último entrenamiento",
|
||||
"previewNoLastTraining": "Aún sin participación",
|
||||
"phoneListForSelection": "Lista telefónica de la selección",
|
||||
"markFormsForSelection": "Verificar formularios de la selección",
|
||||
"markRegularForSelection": "Marcar selección como regular",
|
||||
"phoneListSelectionFile": "lista-telefonica-seleccion.pdf",
|
||||
"batchFormsMarkedSuccess": "Se marcaron {count} formulario(s) como verificados.",
|
||||
"batchFormsMarkedEmpty": "No hay formularios sin verificar en la selección actual.",
|
||||
"batchMarkedRegularSuccess": "Se marcaron {count} miembro(s) de prueba como regulares.",
|
||||
"batchMarkedRegularEmpty": "No hay miembros de prueba en la selección actual.",
|
||||
"batchPartialFailure": "{success} correctos, {failed} fallidos.",
|
||||
"sortBy": "Ordenar por",
|
||||
"sortLastName": "Apellido",
|
||||
"sortFirstName": "Nombre",
|
||||
"sortBirthday": "Fecha de nacimiento",
|
||||
"sortAge": "Edad",
|
||||
"ageRange": "Edad de - a",
|
||||
"ageFromPlaceholder": "de",
|
||||
"ageToPlaceholder": "a",
|
||||
"age": "Edad",
|
||||
"dataQuality": "Calidad de los datos",
|
||||
"dataQualityComplete": "Datos completos",
|
||||
"dataIssueBirthdate": "Falta la fecha de nacimiento",
|
||||
"dataIssuePhone": "Falta el teléfono",
|
||||
"dataIssueEmail": "Falta el correo",
|
||||
"dataIssueAddress": "Falta la dirección",
|
||||
"dataIssueGender": "Sexo no definido",
|
||||
"dataIssueTrainingGroup": "Falta el grupo de entrenamiento",
|
||||
"openTasks": "Tareas abiertas",
|
||||
"noOpenTasks": "No hay tareas abiertas",
|
||||
"taskVerifyForm": "Verificar formulario",
|
||||
"taskReviewTrialStatus": "Revisar estado de prueba",
|
||||
"taskCheckTrainingStatus": "Revisar estado de entrenamiento",
|
||||
"taskCheckDataQuality": "Revisar calidad de datos",
|
||||
"taskAssignTrainingGroup": "Asignar grupo de entrenamiento",
|
||||
"taskCheckClickTt": "Revisar autorización Click-TT",
|
||||
"taskActionVerify": "Verificar",
|
||||
"taskActionMarkRegular": "Marcar regular",
|
||||
"taskActionReview": "Abrir",
|
||||
"taskActionRequest": "Solicitar",
|
||||
"toggleSortDirection": "Cambiar dirección de ordenación",
|
||||
"showTtrHistory": "Mostrar historial TTR",
|
||||
"missingTtrHistoryId": "No hay ID de myTischtennis almacenado",
|
||||
"sortLastTraining": "Último entrenamiento",
|
||||
"sortOpenTasks": "Tareas abiertas",
|
||||
"exportPreview": "Vista previa de exportación",
|
||||
"exportMembersSelected": "miembros seleccionados actualmente",
|
||||
"exportPhones": "Teléfono",
|
||||
"exportReachableByPhone": "con número de teléfono",
|
||||
"exportEmails": "Correo",
|
||||
"exportReachableByEmail": "con dirección de correo",
|
||||
"exportPreviewNames": "Vista previa",
|
||||
"exportPreviewEmpty": "No hay miembros en la selección actual",
|
||||
"exportCsv": "Exportar CSV",
|
||||
"exportCsvFile": "seleccion-miembros.csv",
|
||||
"copyPhones": "Copiar teléfonos",
|
||||
"copyEmails": "Copiar correos",
|
||||
"copyPhonesSuccess": "La lista telefónica se copió al portapapeles.",
|
||||
"copyPhonesEmpty": "No hay números de teléfono en la selección actual.",
|
||||
"copyEmailsSuccess": "La lista de correo se copió al portapapeles.",
|
||||
"copyEmailsEmpty": "No hay direcciones de correo en la selección actual.",
|
||||
"composeEmail": "Preparar correo",
|
||||
"copyContactSummary": "Copiar resumen de contactos",
|
||||
"copyContactSummarySuccess": "Resumen de contactos copiado al portapapeles."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Diario de entrenamiento",
|
||||
"date": "Fecha",
|
||||
"noEntries": "No hay entradas",
|
||||
"deleteDate": "Eliminar fecha",
|
||||
"createNew": "Crear",
|
||||
"gallery": "Galería de miembros",
|
||||
"galleryCreating": "Creando galería…",
|
||||
"selectTrainingGroup": "Seleccionar grupo de entrenamiento",
|
||||
"selectTrainingGroupPlaceholder": "Selecciona...",
|
||||
"suggestion": "Sugerencia",
|
||||
"nextAppointment": "Próxima cita",
|
||||
"applySuggestion": "Aplicar sugerencia",
|
||||
"skipSuggestion": "Continuar sin sugerencia",
|
||||
"createNewDate": "Crear nueva fecha",
|
||||
"activeTrainingDay": "Día de entrenamiento activo",
|
||||
"trainingDaySection": "Día de entrenamiento",
|
||||
"trainingDayChecklist": "Lista de control final",
|
||||
"trainingStart": "Inicio del entrenamiento",
|
||||
"trainingEnd": "Fin del entrenamiento",
|
||||
"trainingWindow": "Franja de entrenamiento",
|
||||
"trainingWindowUnset": "Aún no definido",
|
||||
"groupsLabel": "Grupos",
|
||||
"groupsSection": "Grupos",
|
||||
"createDate": "Crear fecha",
|
||||
"editTrainingTimes": "Editar horarios de entrenamiento",
|
||||
"updateTimes": "Actualizar horarios",
|
||||
"groupManagement": "Gestión de grupos",
|
||||
"createGroups": "Crear grupos",
|
||||
"trainingPlan": "Plan de entrenamiento",
|
||||
"planActivitiesCount": "Actividades planificadas",
|
||||
"timeblocksCount": "Bloques horarios",
|
||||
"planEmptyState": "Todavía no hay nada registrado en el plan de entrenamiento.",
|
||||
"planAddHint": "Añade nuevos elementos del plan con las acciones superiores.",
|
||||
"startTime": "Hora de inicio",
|
||||
"group": "Grupo...",
|
||||
"timeblock": "Bloque horario",
|
||||
"assignParticipants": "Asignar participantes",
|
||||
"addTimeblock": "Bloque horario",
|
||||
"activities": "Actividades",
|
||||
"freeActivities": "Actividades libres",
|
||||
"noFreeActivitiesYet": "Todavía no se han registrado actividades libres.",
|
||||
"addActivity": "Añadir actividad",
|
||||
"bookAccident": "Registrar accidente",
|
||||
"activity": "Actividad",
|
||||
"duration": "Duración",
|
||||
"activityImage": "Imagen de actividad",
|
||||
"activityDrawing": "Dibujo de actividad",
|
||||
"today": "Hoy",
|
||||
"existingGroups": "Grupos existentes",
|
||||
"leader": "Responsable",
|
||||
"deleteGroup": "Eliminar grupo",
|
||||
"numberOfGroups": "Número de grupos",
|
||||
"addGroup": "Añadir grupo",
|
||||
"activityOrTimeblock": "Actividad / bloque horario",
|
||||
"durationMinutes": "Duración (min)",
|
||||
"addGroupActivity": "Añadir actividad de grupo",
|
||||
"addGroupButton": "+ Grupo",
|
||||
"all": "Todos",
|
||||
"selectGroup": "Seleccionar grupo...",
|
||||
"activityPlaceholder": "Actividad",
|
||||
"assignShort": "Asignar",
|
||||
"statusReadyShort": "Listo",
|
||||
"statusOpenShort": "Abierto",
|
||||
"openPlanItemsLabel": "Estado del plan",
|
||||
"openPlanItems": "{count} abiertos",
|
||||
"unassignedPlanItems": "{count} abiertos",
|
||||
"durationExampleLong": "p. ej. 2x7 o 3*5",
|
||||
"durationExampleShort": "p. ej. 2x7",
|
||||
"showImage": "Mostrar imagen/dibujo",
|
||||
"participants": "Participantes",
|
||||
"searchParticipants": "Buscar participantes",
|
||||
"filterAll": "Todos",
|
||||
"filterPresent": "Presente",
|
||||
"filterAbsent": "Ausente",
|
||||
"filterTest": "Prueba",
|
||||
"quickAdd": "+ Añadir rápido",
|
||||
"selectTags": "Seleccionar etiquetas",
|
||||
"createDrawing": "Crear dibujo de ejercicio",
|
||||
"overallActivity": "Actividad global",
|
||||
"editActivity": "Editar actividad",
|
||||
"editGroupActivity": "Editar actividad de grupo",
|
||||
"assignParticipantsForGroupActivity": "Asignar participantes a la actividad de grupo",
|
||||
"delete": "Eliminar",
|
||||
"min": "min",
|
||||
"errorLoadingPredefinedActivities": "Error al cargar las actividades predefinidas",
|
||||
"selectParticipantAndNote": "Selecciona un participante e introduce una nota.",
|
||||
"selectGroupAndActivity": "Selecciona un grupo e introduce una actividad.",
|
||||
"dateCannotBeDeleted": "La fecha no se puede eliminar",
|
||||
"dateCannotBeDeletedDetails": "Todavía hay contenido (plan, participantes, actividades, accidentes o notas).",
|
||||
"confirmDelete": "Confirmar eliminación",
|
||||
"confirmDeleteDate": "¿Deseas eliminar realmente esta fecha?",
|
||||
"confirmDeleteDateDetails": "También se eliminarán todos los datos asociados.",
|
||||
"noParticipants": "No hay participantes disponibles para este día de entrenamiento.",
|
||||
"mustCreateAtLeastTwoGroups": "La primera vez deben crearse al menos 2 grupos.",
|
||||
"oneGroupAdded": "Se añadió 1 grupo correctamente.",
|
||||
"groupsCreated": "Se crearon {count} grupos correctamente.",
|
||||
"errorCreatingGroups": "Error al crear grupos",
|
||||
"confirmDeleteGroup": "¿Deseas eliminar realmente el grupo \"{name}\"?",
|
||||
"groupDeletedSuccessfully": "El grupo se eliminó correctamente.",
|
||||
"errorDeletingGroup": "Error al eliminar el grupo",
|
||||
"errorCreatingActivity": "Error al crear la actividad",
|
||||
"trainingPlanAsPDF": "Plan de entrenamiento en PDF",
|
||||
"trainingPlanPdfShort": "Planificación en PDF",
|
||||
"trainingDayAsPDF": "Descargar día de entrenamiento como PDF",
|
||||
"trainingDayAsPDFShort": "Día de entrenamiento en PDF",
|
||||
"trainingDaySummaryPdfShort": "Resumen de participantes en PDF",
|
||||
"minutes": "Minutos",
|
||||
"formHandedOver": "Formulario de afiliación entregado",
|
||||
"errorOccurred": "Se ha producido un error. Inténtalo de nuevo.",
|
||||
"trainingTimesUpdated": "Los horarios de entrenamiento se actualizaron correctamente.",
|
||||
"noActiveTrainingDay": "No se ha seleccionado ningún día de entrenamiento.",
|
||||
"statusEmpty": "Este día de entrenamiento aún está vacío.",
|
||||
"statusInProgress": "Este día de entrenamiento está preparado parcialmente.",
|
||||
"formMarkedAsHandedOver": "Formulario de afiliación marcado como entregado",
|
||||
"errorMarkingForm": "Error al marcar el formulario",
|
||||
"dateNoLongerCurrent": "La fecha seleccionada ya no era actual. Inténtalo de nuevo.",
|
||||
"activityRequired": "Introduce una actividad.",
|
||||
"activityNotFound": "Actividad no encontrada. Selecciona una de la lista.",
|
||||
"standardActivities": "Actividades estándar",
|
||||
"standardDurationShort": "min",
|
||||
"standardActivityAddError": "No se pudo añadir la actividad estándar.",
|
||||
"statusReady": "Los horarios y el plan de entrenamiento están definidos.",
|
||||
"filterExcused": "Justificado",
|
||||
"participantStatusNone": "Sin estado",
|
||||
"participantStatusExcused": "Justificado",
|
||||
"participantStatusCancelled": "Cancelado"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Estadísticas de entrenamiento",
|
||||
"activeMembers": "Miembros activos",
|
||||
"averageParticipationCurrentMonth": "Participación media (mes actual)",
|
||||
"averageParticipationLastMonth": "Participación media (mes anterior)",
|
||||
"averageParticipationQuarter": "Participación media (trimestre)",
|
||||
"averageParticipationHalfYear": "Participación media (semestre)",
|
||||
"averageParticipationYear": "Participación media (año)",
|
||||
"trainingDays": "Días de entrenamiento (últimos 12 meses)",
|
||||
"memberParticipations": "Participaciones de los miembros",
|
||||
"date": "Fecha",
|
||||
"weekday": "Día de la semana",
|
||||
"participants": "Participantes",
|
||||
"name": "Nombre",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Fecha de nacimiento",
|
||||
"participations12Months": "Participaciones (12 meses)",
|
||||
"participations3Months": "Participaciones (3 meses)",
|
||||
"participationsTotal": "Participaciones (total)",
|
||||
"lastTraining": "Último entrenamiento",
|
||||
"actions": "Acciones",
|
||||
"showDetails": "Mostrar detalles"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Dibujo de ejercicio de tenis de mesa",
|
||||
"configureExercise": "Configurar ejercicio",
|
||||
"stepStartPosition": "1. Posición inicial",
|
||||
"stepStartPositionHint": "¿Desde qué posición de saque comienza el ejercicio?",
|
||||
"stepFirstStroke": "2. Primer golpe",
|
||||
"stepFirstStrokeHint": "Define el lado y el efecto de la primera pelota.",
|
||||
"stepTarget": "3. Objetivo",
|
||||
"stepTargetHint": "Selecciona la zona objetivo del primer golpe.",
|
||||
"stepAdditionalStrokes": "4. Golpes siguientes",
|
||||
"stepAdditionalStrokesHint": "Opcionalmente añade más pelotas como secuencia.",
|
||||
"noAdditionalStrokes": "Todavía no se han añadido golpes siguientes.",
|
||||
"service": "Saque:",
|
||||
"serviceTitle": "Saque",
|
||||
"forehand": "Derecha",
|
||||
"backhand": "Revés",
|
||||
"spin": "Efecto:",
|
||||
"underspin": "Cortado",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Efecto lateral",
|
||||
"sideUnderspin": "Lateral cortado",
|
||||
"counterSpin": "Contraefecto",
|
||||
"targetPosition": "Posición objetivo:",
|
||||
"targetPositionLabel": "Posición objetivo",
|
||||
"strokeSide": "Lado",
|
||||
"strokeTypeLabel": "Tipo de golpe",
|
||||
"addStroke": "Añadir golpe",
|
||||
"preview": "Vista previa",
|
||||
"previewHint": "El gráfico aparece en cuanto el primer golpe está completamente configurado.",
|
||||
"completeFirstStroke": "Completar el primer golpe",
|
||||
"completeFirstStrokeHint": "Elige posición inicial, lado, efecto y objetivo. Después aparecerá el gráfico.",
|
||||
"codeLabel": "Código",
|
||||
"titleLabel": "Título",
|
||||
"startLeft": "izquierda",
|
||||
"startMiddle": "centro",
|
||||
"startRight": "derecha",
|
||||
"strokeTypePush": "Corto",
|
||||
"strokeTypeCounter": "Contragolpe",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Bloqueo",
|
||||
"strokeTypeSmash": "Remate",
|
||||
"strokeTypeChopDefense": "Defensa cortada",
|
||||
"strokeTypeLobDefense": "Defensa alta",
|
||||
"targetForehandLong": "Derecha larga",
|
||||
"targetMiddleLong": "Centro largo",
|
||||
"targetBackhandLong": "Revés largo",
|
||||
"targetForehandHalfLong": "Derecha media-larga",
|
||||
"targetMiddleHalfLong": "Centro media-larga",
|
||||
"targetBackhandHalfLong": "Revés media-larga",
|
||||
"targetForehandShort": "Derecha corta",
|
||||
"targetMiddleShort": "Centro corto",
|
||||
"targetBackhandShort": "Revés corto",
|
||||
"toTarget": "a"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,32 +22,69 @@
|
||||
"next": "Susunod",
|
||||
"previous": "Nakaraan",
|
||||
"submit": "Ipasa",
|
||||
"reset": "I-reset"
|
||||
"reset": "I-reset",
|
||||
"all": "Lahat",
|
||||
"today": "Ngayon",
|
||||
"time": "Oras",
|
||||
"new": "Bago",
|
||||
"update": "I-update",
|
||||
"create": "Lumikha",
|
||||
"remove": "Alisin",
|
||||
"select": "Pumili",
|
||||
"download": "I-download",
|
||||
"choose": "Pumili",
|
||||
"apply": "Ilapat",
|
||||
"clear": "Burahin",
|
||||
"details": "Mga detalye",
|
||||
"view": "Tingnan",
|
||||
"name": "Pangalan",
|
||||
"date": "Petsa",
|
||||
"status": "Katayuan",
|
||||
"type": "Uri",
|
||||
"description": "Paglalarawan",
|
||||
"active": "Aktibo",
|
||||
"inactive": "Hindi aktibo",
|
||||
"enabled": "Pinagana",
|
||||
"disabled": "Hindi pinagana",
|
||||
"required": "Kinakailangan",
|
||||
"optional": "Opsyonal",
|
||||
"in": "sa",
|
||||
"min": "Min",
|
||||
"minutes": "Minuto",
|
||||
"hours": "Oras",
|
||||
"days": "Araw",
|
||||
"weeks": "Linggo",
|
||||
"months": "Buwan",
|
||||
"years": "Taon",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Home",
|
||||
"members": "Mga miyembro",
|
||||
"diary": "Talaarawan",
|
||||
"approvals": "Mga pag-apruba",
|
||||
"statistics": "Mga istatistika ng pagsasanay",
|
||||
"statistics": "Istatistika ng pagsasanay",
|
||||
"tournaments": "Mga paligsahan",
|
||||
"clubTournaments": "Mga paligsahan ng club",
|
||||
"tournamentParticipations": "Mga paglahok sa paligsahan",
|
||||
"schedule": "Mga iskedyul",
|
||||
"clubSettings": "Mga setting ng club",
|
||||
"predefinedActivities": "Mga paunang natukoy na aktibidad",
|
||||
"teamManagement": "Pamamahala ng koponan",
|
||||
"teamManagement": "Pamamahala ng team",
|
||||
"permissions": "Mga pahintulot",
|
||||
"logs": "Mga system log",
|
||||
"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",
|
||||
"register": "Magrehistro",
|
||||
"dailyBusiness": "Araw-araw na negosyo",
|
||||
"competitions": "Mga kompetisyon",
|
||||
"settings": "Mga setting"
|
||||
"settings": "Mga setting",
|
||||
"backToHome": "Bumalik sa home"
|
||||
},
|
||||
"club": {
|
||||
"select": "Pumili ng club",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "I-load",
|
||||
"name": "Pangalan ng club",
|
||||
"create": "Gumawa ng club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "Gumawa ng club",
|
||||
"members": "Mga miyembro",
|
||||
"trainingDiary": "Talaarawan ng pagsasanay",
|
||||
"noAccess": "Wala ka pang pahintulot na ma-access ang club na ito.",
|
||||
"requestAccess": "Humiling ng access",
|
||||
"openRequests": "Mga nakabinbing hiling sa access",
|
||||
"title": "Klub",
|
||||
"openAccessRequests": "Mga nakabinbing hiling sa access",
|
||||
"diary": "Talaarawan ng pagsasanay",
|
||||
"accessDenied": "Hindi pinapayagan ang access sa club na ito.",
|
||||
"errorLoadingRequests": "Error sa pag-load ng mga nakabinbing hiling",
|
||||
"accessRequested": "Naipadala na ang hiling sa access.",
|
||||
"accessRequestPending": "Humiling ka na ng access sa club na ito. Maghintay lamang.",
|
||||
"accessRequestFailed": "Hindi naipadala ang hiling sa access."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Mag-login",
|
||||
@@ -331,6 +381,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "Mga kasapi",
|
||||
"memberInfo": "Impormasyon ng kasapi",
|
||||
"activeMembers": "Mga aktibong kasapi",
|
||||
"testMembers": "Mga kasaping pansubok",
|
||||
"inactiveMembers": "Mga hindi aktibong kasapi",
|
||||
"generatePhoneList": "Gumawa ng listahan ng telepono",
|
||||
"onlyActiveMembers": "Tanging mga aktibong miyembro lamang ang ilalabas",
|
||||
"updateRatings": "I-update ang TTR/QTTR mula sa myTischtennis",
|
||||
"updating": "Nag-a-update...",
|
||||
"transferMembers": "Ilipat ang mga miyembro",
|
||||
"newMember": "Bagong kasapi",
|
||||
"editMember": "I-edit ang kasapi",
|
||||
"createNewMember": "Lumikha ng bagong kasapi",
|
||||
"firstName": "Pangalan",
|
||||
"lastName": "Apelyido",
|
||||
"street": "Kalye",
|
||||
"postalCode": "Postal code",
|
||||
"city": "Lungsod",
|
||||
"birthdate": "Petsa ng kapanganakan",
|
||||
"phones": "Mga numero ng telepono",
|
||||
"emails": "Mga email address",
|
||||
"addPhone": "Magdagdag ng numero ng telepono",
|
||||
"addEmail": "Magdagdag ng email address",
|
||||
"phoneNumber": "Numero ng telepono",
|
||||
"emailAddress": "Email address",
|
||||
"parent": "Magulang",
|
||||
"parentName": "Pangalan (hal. ina, ama)",
|
||||
"primary": "Pangunahin",
|
||||
"gender": "Kasarian",
|
||||
"genderUnknown": "Hindi alam",
|
||||
"genderMale": "Lalaki",
|
||||
"genderFemale": "Babae",
|
||||
"genderDiverse": "Iba pa",
|
||||
"picsInInternetAllowed": "Pinapayagan ang larawan sa internet",
|
||||
"testMembership": "Trial membership",
|
||||
"memberFormHandedOver": "Naibigay na ang pormularyo ng kasapi",
|
||||
"trainingGroups": "Mga grupo ng pagsasanay",
|
||||
"noGroupsAssigned": "Walang grupong nakatalaga",
|
||||
"noGroupsAvailable": "Walang available na grupo",
|
||||
"addGroup": "Magdagdag ng grupo...",
|
||||
"remove": "Alisin",
|
||||
"image": "Larawan",
|
||||
"selectFile": "Pumili ng file",
|
||||
"camera": "Camera",
|
||||
"imagePreview": "Preview ng larawan ng miyembro",
|
||||
"change": "Baguhin",
|
||||
"create": "Lumikha",
|
||||
"clearFields": "Burahin ang mga field",
|
||||
"showInactiveMembers": "Ipakita ang mga hindi aktibong miyembro",
|
||||
"ageGroup": "Pangkat ng edad",
|
||||
"adults": "Adulto (20+)",
|
||||
"j19": "J19 (19 pababa)",
|
||||
"j17": "J17 (17 pababa)",
|
||||
"j15": "J15 (15 pababa)",
|
||||
"j13": "J13 (13 pababa)",
|
||||
"j11": "J11 (11 pababa)",
|
||||
"clearFilters": "I-reset ang mga filter",
|
||||
"imageInternet": "Larawan (net?)",
|
||||
"testMember": "Trial",
|
||||
"name": "Apelyido, Pangalan",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Address",
|
||||
"active": "Aktibo",
|
||||
"actions": "Mga aksyon",
|
||||
"phoneNumberShort": "Telepono",
|
||||
"emailAddressShort": "Email",
|
||||
"trainingParticipations": "Paglahok sa pagsasanay",
|
||||
"memberImage": "Larawan ng kasapi",
|
||||
"inactive": "hindi aktibo",
|
||||
"sixOrMoreParticipations": "6 o higit pang paglahok sa pagsasanay",
|
||||
"threeOrMoreParticipations": "3 o higit pang paglahok sa pagsasanay",
|
||||
"noTestMembership": "Hindi na trial member",
|
||||
"formHandedOver": "Naibigay na ang pormularyo ng kasapi",
|
||||
"deactivateMember": "I-deactivate ang kasapi",
|
||||
"notes": "Mga tala",
|
||||
"exercises": "Mga ehersisyo",
|
||||
"memberImages": "Mga larawan ng miyembro",
|
||||
"testMembershipRemoved": "Inalis na ang trial membership.",
|
||||
"errorRemovingTestMembership": "Error sa pag-alis ng trial membership.",
|
||||
"formMarkedAsHandedOver": "Namarkahan bilang naibigay na ang pormularyo ng kasapi.",
|
||||
"errorMarkingForm": "Error sa pagmamarka ng form.",
|
||||
"deactivateMemberTitle": "I-deactivate ang kasapi",
|
||||
"deactivateMemberConfirm": "Sigurado ka bang ide-deactivate si \"{name}\"?",
|
||||
"memberDeactivated": "Na-deactivate na ang kasapi",
|
||||
"errorDeactivatingMember": "Error sa pag-deactivate ng miyembro",
|
||||
"errorSavingMember": "Error sa pag-save ng miyembro",
|
||||
"errorAddingToGroup": "Error sa pagdagdag sa grupo",
|
||||
"errorRemovingFromGroup": "Error sa pag-alis mula sa grupo",
|
||||
"imageUpdated": "Na-update na ang larawan",
|
||||
"errorRotatingImage": "Error sa pag-ikot ng larawan",
|
||||
"imageDeleted": "Nabura na ang larawan.",
|
||||
"errorDeletingImage": "Hindi mabura ang larawan",
|
||||
"primaryImageUpdated": "Na-update na ang pangunahing larawan.",
|
||||
"errorSettingPrimaryImage": "Hindi maitakda ang pangunahing larawan",
|
||||
"errorUploadingImage": "Hindi ma-upload ang larawan",
|
||||
"errorLoadingImage": "Error sa pag-load ng larawan",
|
||||
"phoneList": "ListahanNgTelepono.pdf",
|
||||
"errorLoadingTrainingParticipations": "Error sa pag-load ng paglahok sa pagsasanay",
|
||||
"errorUpdatingRatings": "Error sa pag-update ng mga TTR/QTTR value",
|
||||
"errorTransfer": "Error sa paglipat",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -341,11 +491,17 @@
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeActiveDataIncomplete": "Aktibo + hindi kumpleto ang datos",
|
||||
"scopeDataIncomplete": "Hindi kumpleto ang datos",
|
||||
"scopeInactive": "Inactive",
|
||||
"searchAndFilter": "Paghahanap at mga filter",
|
||||
"bulkActions": "Mga bulk action",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "Mangyaring magtalaga ng kahit isang grupo ng pagsasanay.",
|
||||
"editorRecommendedEntry": "Inirerekomendang entry",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -363,7 +519,7 @@
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"status": "Katayuan",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
@@ -390,17 +546,33 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "Edad mula - hanggang",
|
||||
"ageFromPlaceholder": "mula",
|
||||
"ageToPlaceholder": "hanggang",
|
||||
"age": "Age",
|
||||
"dataQuality": "Kalidad ng datos",
|
||||
"dataQualityComplete": "Kumpleto ang datos",
|
||||
"dataIssueBirthdate": "Kulang ang petsa ng kapanganakan",
|
||||
"dataIssuePhone": "Kulang ang telepono",
|
||||
"dataIssueEmail": "Kulang ang email",
|
||||
"dataIssueAddress": "Kulang ang address",
|
||||
"dataIssueGender": "Hindi malinaw ang kasarian",
|
||||
"dataIssueTrainingGroup": "Kulang ang grupo ng pagsasanay",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "Suriin ang kalidad ng datos",
|
||||
"taskAssignTrainingGroup": "Magtalaga ng grupo ng pagsasanay",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "Buksan",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "Ipakita ang TTR history",
|
||||
"missingTtrHistoryId": "Walang naka-save na myTischtennis ID",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -422,5 +594,212 @@
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Talaarawan ng pagsasanay",
|
||||
"date": "Petsa",
|
||||
"noEntries": "Walang entry",
|
||||
"deleteDate": "Burahin ang petsa",
|
||||
"createNew": "Lumikha ng bago",
|
||||
"gallery": "Gallery ng mga kasapi",
|
||||
"galleryCreating": "Ginagawa ang gallery…",
|
||||
"selectTrainingGroup": "Pumili ng grupo ng pagsasanay",
|
||||
"selectTrainingGroupPlaceholder": "Mangyaring pumili...",
|
||||
"suggestion": "Mungkahi",
|
||||
"nextAppointment": "Susunod na schedule",
|
||||
"applySuggestion": "Ilapat ang mungkahi",
|
||||
"skipSuggestion": "Magpatuloy nang walang mungkahi",
|
||||
"createNewDate": "Lumikha ng bagong petsa",
|
||||
"activeTrainingDay": "Aktibong araw ng pagsasanay",
|
||||
"trainingDaySection": "Araw ng pagsasanay",
|
||||
"trainingDayChecklist": "Checklist ng pagkumpleto",
|
||||
"trainingStart": "Simula ng pagsasanay",
|
||||
"trainingEnd": "Pagtatapos ng pagsasanay",
|
||||
"trainingWindow": "Oras ng pagsasanay",
|
||||
"trainingWindowUnset": "Hindi pa naitakda",
|
||||
"groupsLabel": "Mga grupo",
|
||||
"groupsSection": "Mga grupo",
|
||||
"createDate": "Lumikha ng petsa",
|
||||
"editTrainingTimes": "I-edit ang oras ng pagsasanay",
|
||||
"updateTimes": "I-update ang oras",
|
||||
"groupManagement": "Pamamahala ng grupo",
|
||||
"createGroups": "Lumikha ng mga grupo",
|
||||
"trainingPlan": "Plano ng pagsasanay",
|
||||
"planActivitiesCount": "Mga aktibidad sa plano",
|
||||
"timeblocksCount": "Mga time block",
|
||||
"planEmptyState": "Wala pang nakalagay sa plano ng pagsasanay.",
|
||||
"planAddHint": "Magdagdag ng bagong item sa plano gamit ang mga aksyon sa itaas.",
|
||||
"startTime": "Oras ng simula",
|
||||
"group": "Grupo...",
|
||||
"timeblock": "Time block",
|
||||
"assignParticipants": "Magtalaga ng mga kalahok",
|
||||
"addTimeblock": "Time block",
|
||||
"activities": "Mga aktibidad",
|
||||
"freeActivities": "Libreng aktibidad",
|
||||
"noFreeActivitiesYet": "Wala pang naitalang libreng aktibidad.",
|
||||
"addActivity": "Magdagdag ng aktibidad",
|
||||
"bookAccident": "Magtala ng aksidente",
|
||||
"activity": "Aktibidad",
|
||||
"duration": "Tagal",
|
||||
"activityImage": "Larawan ng aktibidad",
|
||||
"activityDrawing": "Guhit ng aktibidad",
|
||||
"today": "Ngayon",
|
||||
"existingGroups": "Mga kasalukuyang grupo",
|
||||
"leader": "Tagapanguna",
|
||||
"deleteGroup": "Burahin ang grupo",
|
||||
"numberOfGroups": "Bilang ng grupo",
|
||||
"addGroup": "Magdagdag ng grupo",
|
||||
"activityOrTimeblock": "Aktibidad / time block",
|
||||
"durationMinutes": "Tagal (min)",
|
||||
"standardActivities": "Mga karaniwang aktibidad",
|
||||
"standardDurationShort": "min",
|
||||
"standardActivityAddError": "Hindi maidagdag ang karaniwang aktibidad.",
|
||||
"addGroupActivity": "Magdagdag ng aktibidad ng grupo",
|
||||
"addGroupButton": "+ Grupo",
|
||||
"all": "Lahat",
|
||||
"selectGroup": "Pumili ng grupo...",
|
||||
"activityPlaceholder": "Aktibidad",
|
||||
"assignShort": "Italaga",
|
||||
"statusReadyShort": "Handa",
|
||||
"statusOpenShort": "Bukas",
|
||||
"openPlanItemsLabel": "Katayuan ng plano",
|
||||
"openPlanItems": "{count} bukas",
|
||||
"unassignedPlanItems": "{count} hindi nakatalaga",
|
||||
"durationExampleLong": "hal. 2x7 o 3*5",
|
||||
"durationExampleShort": "hal. 2x7",
|
||||
"showImage": "Ipakita ang larawan/guhit",
|
||||
"participants": "Mga kalahok",
|
||||
"searchParticipants": "Maghanap ng kalahok",
|
||||
"filterAll": "Lahat",
|
||||
"filterPresent": "Dumalo",
|
||||
"filterAbsent": "Liban",
|
||||
"filterExcused": "May paalam",
|
||||
"filterTest": "Trial",
|
||||
"participantStatusNone": "Walang katayuan",
|
||||
"participantStatusExcused": "May paalam",
|
||||
"participantStatusCancelled": "Kinansela",
|
||||
"quickAdd": "+ Quick add",
|
||||
"selectTags": "Pumili ng mga tag",
|
||||
"createDrawing": "Gumawa ng guhit ng ehersisyo",
|
||||
"overallActivity": "Kabuuang aktibidad",
|
||||
"editActivity": "I-edit ang aktibidad",
|
||||
"editGroupActivity": "I-edit ang aktibidad ng grupo",
|
||||
"assignParticipantsForGroupActivity": "Magtalaga ng mga kalahok para sa aktibidad ng grupo",
|
||||
"delete": "Burahin",
|
||||
"min": "Min",
|
||||
"errorLoadingPredefinedActivities": "Error sa pag-load ng paunang natukoy na mga aktibidad",
|
||||
"selectParticipantAndNote": "Mangyaring pumili ng kalahok at maglagay ng tala.",
|
||||
"selectGroupAndActivity": "Mangyaring pumili ng grupo at maglagay ng aktibidad.",
|
||||
"dateCannotBeDeleted": "Hindi mabubura ang petsa",
|
||||
"dateCannotBeDeletedDetails": "May laman pa (plano ng pagsasanay, mga kalahok, aktibidad, aksidente o mga tala).",
|
||||
"confirmDelete": "Kumpirmahin ang pagbura",
|
||||
"confirmDeleteDate": "Sigurado ka bang buburahin ang petsang ito?",
|
||||
"confirmDeleteDateDetails": "Mabubura rin ang lahat ng kaugnay na datos.",
|
||||
"noParticipants": "Walang kalahok para sa araw ng pagsasanay na ito.",
|
||||
"mustCreateAtLeastTwoGroups": "Sa unang paggawa, kailangan ng hindi bababa sa 2 grupo!",
|
||||
"oneGroupAdded": "Matagumpay na naidagdag ang 1 grupo!",
|
||||
"groupsCreated": "Matagumpay na nalikha ang {count} grupo!",
|
||||
"errorCreatingGroups": "Error sa paggawa ng mga grupo",
|
||||
"confirmDeleteGroup": "Sigurado ka bang buburahin ang grupong \"{name}\"?",
|
||||
"groupDeletedSuccessfully": "Matagumpay na nabura ang grupo!",
|
||||
"errorDeletingGroup": "Error sa pagbura ng grupo",
|
||||
"errorCreatingActivity": "Error sa paggawa ng aktibidad",
|
||||
"trainingPlanAsPDF": "Plano ng pagsasanay bilang PDF",
|
||||
"trainingPlanPdfShort": "Flow plan bilang PDF",
|
||||
"trainingDayAsPDF": "I-download ang araw ng pagsasanay bilang PDF",
|
||||
"trainingDayAsPDFShort": "Araw ng pagsasanay PDF",
|
||||
"trainingDaySummaryPdfShort": "Buod ng kalahok bilang PDF",
|
||||
"minutes": "Minuto",
|
||||
"formHandedOver": "Naibigay na ang pormularyo ng kasapi",
|
||||
"errorOccurred": "May naganap na error. Pakisubukang muli.",
|
||||
"trainingTimesUpdated": "Matagumpay na na-update ang oras ng pagsasanay.",
|
||||
"noActiveTrainingDay": "Walang napiling araw ng pagsasanay.",
|
||||
"statusReady": "Naayos na ang oras at plano ng pagsasanay.",
|
||||
"statusEmpty": "Wala pang laman ang araw ng pagsasanay na ito.",
|
||||
"statusInProgress": "Bahagyang naihanda ang araw ng pagsasanay na ito.",
|
||||
"formMarkedAsHandedOver": "Namarkahan bilang naibigay na ang pormularyo ng kasapi",
|
||||
"errorMarkingForm": "Error sa pagmamarka ng pormularyo ng kasapi",
|
||||
"dateNoLongerCurrent": "Hindi na kasalukuyan ang napiling petsa. Pakisubukan muli.",
|
||||
"activityRequired": "Mangyaring maglagay ng aktibidad.",
|
||||
"activityNotFound": "Hindi nahanap ang aktibidad. Mangyaring pumili mula sa listahan."
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Mga istatistika ng pagsasanay",
|
||||
"activeMembers": "Mga aktibong miyembro",
|
||||
"averageParticipationCurrentMonth": "Karaniwang paglahok (kasalukuyang buwan)",
|
||||
"averageParticipationLastMonth": "Karaniwang paglahok (nakaraang buwan)",
|
||||
"averageParticipationQuarter": "Karaniwang paglahok (quarter)",
|
||||
"averageParticipationHalfYear": "Karaniwang paglahok (kalahating taon)",
|
||||
"averageParticipationYear": "Karaniwang paglahok (taon)",
|
||||
"trainingDays": "Mga araw ng pagsasanay (huling 12 buwan)",
|
||||
"memberParticipations": "Paglahok ng miyembro",
|
||||
"date": "Petsa",
|
||||
"weekday": "Araw ng linggo",
|
||||
"participants": "Mga kalahok",
|
||||
"name": "Pangalan",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Petsa ng kapanganakan",
|
||||
"participations12Months": "Paglahok (12 buwan)",
|
||||
"participations3Months": "Paglahok (3 buwan)",
|
||||
"participationsTotal": "Paglahok (kabuuan)",
|
||||
"lastTraining": "Huling pagsasanay",
|
||||
"actions": "Mga aksyon",
|
||||
"showDetails": "Ipakita ang mga detalye"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Guhit ng ehersisyo sa table tennis",
|
||||
"configureExercise": "I-configure ang ehersisyo",
|
||||
"stepStartPosition": "1. Panimulang posisyon",
|
||||
"stepStartPositionHint": "Saang posisyon ng serve magsisimula ang ehersisyo?",
|
||||
"stepFirstStroke": "2. Unang palo",
|
||||
"stepFirstStrokeHint": "Itakda ang side at spin para sa unang bola.",
|
||||
"stepTarget": "3. Target",
|
||||
"stepTargetHint": "Pumili ng target zone para sa unang palo.",
|
||||
"stepAdditionalStrokes": "4. Mga kasunod na palo",
|
||||
"stepAdditionalStrokesHint": "Opsyonal na magdagdag pa ng mga bola bilang listahan.",
|
||||
"noAdditionalStrokes": "Wala pang mga kasunod na palo.",
|
||||
"service": "Serve:",
|
||||
"serviceTitle": "Serve",
|
||||
"forehand": "Forehand",
|
||||
"backhand": "Backhand",
|
||||
"spin": "Spin:",
|
||||
"underspin": "Underspin",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Sidespin",
|
||||
"sideUnderspin": "Side underspin",
|
||||
"counterSpin": "Counter spin",
|
||||
"targetPosition": "Posisyon ng target:",
|
||||
"targetPositionLabel": "Posisyon ng target",
|
||||
"strokeSide": "Side",
|
||||
"strokeTypeLabel": "Uri ng palo",
|
||||
"addStroke": "Magdagdag ng palo",
|
||||
"preview": "Preview",
|
||||
"previewHint": "Lilitaw ang graphic kapag kumpleto na ang unang palo.",
|
||||
"completeFirstStroke": "Tapusin ang unang palo",
|
||||
"completeFirstStrokeHint": "Piliin ang panimulang posisyon, side, spin at target. Pagkatapos ay lalabas ang graphic.",
|
||||
"codeLabel": "Code",
|
||||
"titleLabel": "Pamagat",
|
||||
"startLeft": "kaliwa",
|
||||
"startMiddle": "gitna",
|
||||
"startRight": "kanan",
|
||||
"strokeTypePush": "Push",
|
||||
"strokeTypeCounter": "Counter",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Block",
|
||||
"strokeTypeSmash": "Smash",
|
||||
"strokeTypeChopDefense": "Chop defense",
|
||||
"strokeTypeLobDefense": "Lob defense",
|
||||
"targetForehandLong": "forehand long",
|
||||
"targetMiddleLong": "middle long",
|
||||
"targetBackhandLong": "backhand long",
|
||||
"targetForehandHalfLong": "forehand half-long",
|
||||
"targetMiddleHalfLong": "middle half-long",
|
||||
"targetBackhandHalfLong": "backhand half-long",
|
||||
"targetForehandShort": "forehand short",
|
||||
"targetMiddleShort": "middle short",
|
||||
"targetBackhandShort": "backhand short",
|
||||
"toTarget": "papunta sa"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,42 @@
|
||||
"back": "Retour",
|
||||
"next": "Suivant",
|
||||
"previous": "Précédent",
|
||||
"submit": "Soumettre",
|
||||
"reset": "Réinitialiser"
|
||||
"submit": "Valider",
|
||||
"reset": "Réinitialiser",
|
||||
"all": "Tous",
|
||||
"today": "Aujourd'hui",
|
||||
"time": "Heure",
|
||||
"new": "Nouveau",
|
||||
"update": "Mettre à jour",
|
||||
"create": "Créer",
|
||||
"remove": "Retirer",
|
||||
"select": "Sélectionner",
|
||||
"download": "Télécharger",
|
||||
"choose": "Choisir",
|
||||
"apply": "Appliquer",
|
||||
"clear": "Effacer",
|
||||
"details": "Détails",
|
||||
"view": "Afficher",
|
||||
"name": "Nom",
|
||||
"date": "Date",
|
||||
"status": "Statut",
|
||||
"type": "Type",
|
||||
"description": "Description",
|
||||
"active": "Actif",
|
||||
"inactive": "Inactif",
|
||||
"enabled": "Activé",
|
||||
"disabled": "Désactivé",
|
||||
"required": "Obligatoire",
|
||||
"optional": "Optionnel",
|
||||
"in": "dans",
|
||||
"min": "min",
|
||||
"minutes": "minutes",
|
||||
"hours": "heures",
|
||||
"days": "jours",
|
||||
"weeks": "semaines",
|
||||
"months": "mois",
|
||||
"years": "années",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Accueil",
|
||||
@@ -39,15 +73,18 @@
|
||||
"teamManagement": "Gestion d'équipe",
|
||||
"permissions": "Autorisations",
|
||||
"logs": "Journaux système",
|
||||
"memberTransfer": "Transfert de membre",
|
||||
"memberTransfer": "Transfert de membres",
|
||||
"myTischtennisAccount": "Compte myTischtennis",
|
||||
"clickTtAccount": "Compte HTTV / click-TT",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "Paramètres personnels",
|
||||
"logout": "Déconnexion",
|
||||
"login": "Connexion",
|
||||
"register": "S'inscrire",
|
||||
"dailyBusiness": "Affaires quotidiennes",
|
||||
"dailyBusiness": "Gestion quotidienne",
|
||||
"competitions": "Compétitions",
|
||||
"settings": "Paramètres"
|
||||
"settings": "Paramètres",
|
||||
"backToHome": "Retour à l'accueil"
|
||||
},
|
||||
"club": {
|
||||
"select": "Sélectionner un club",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "Charger",
|
||||
"name": "Nom du club",
|
||||
"create": "Créer un club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "Créer un club",
|
||||
"members": "Membres",
|
||||
"trainingDiary": "Journal d'entraînement",
|
||||
"noAccess": "Vous n'avez pas encore accès à ce club.",
|
||||
"requestAccess": "Demander l'accès",
|
||||
"openRequests": "Demandes d'accès ouvertes",
|
||||
"title": "Club",
|
||||
"openAccessRequests": "Demandes d'accès ouvertes",
|
||||
"diary": "Journal d'entraînement",
|
||||
"accessDenied": "Accès au club refusé.",
|
||||
"errorLoadingRequests": "Erreur lors du chargement des demandes ouvertes",
|
||||
"accessRequested": "L'accès a été demandé.",
|
||||
"accessRequestPending": "L'accès à ce club a été demandé. Veuillez patienter.",
|
||||
"accessRequestFailed": "La demande d'accès n'a pas pu être envoyée."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
@@ -331,96 +381,425 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
"search": "Search",
|
||||
"searchPlaceholder": "Search by name, city, phone or email",
|
||||
"memberScope": "Member scope",
|
||||
"scopeAll": "All",
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeInactive": "Inactive",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
"clickTtRequestAction": "Request click-TT eligibility",
|
||||
"clickTtRequestTitle": "Start Click-TT request",
|
||||
"clickTtRequestConfirm": "Start the automated Click-TT request for {name}?",
|
||||
"clickTtRequestHint": "The request is processed automatically by the backend Click-TT workflow.",
|
||||
"clickTtRequestSuccess": "Please sign in to click-tt and submit the request there.",
|
||||
"clickTtRequestError": "The Click-TT request could not be submitted.",
|
||||
"clickTtRequestFailedLog": "Click-TT request failed",
|
||||
"deleteImageTitle": "Delete image",
|
||||
"deleteImageConfirm": "Do you really want to delete this image?",
|
||||
"title": "Membres",
|
||||
"memberInfo": "Informations membre",
|
||||
"activeMembers": "Membres actifs",
|
||||
"testMembers": "Membres à l'essai",
|
||||
"inactiveMembers": "Membres inactifs",
|
||||
"generatePhoneList": "Générer la liste téléphonique",
|
||||
"onlyActiveMembers": "Seuls les membres actifs sont inclus",
|
||||
"updateRatings": "Mettre à jour TTR/QTTR depuis myTischtennis",
|
||||
"updating": "Mise à jour...",
|
||||
"transferMembers": "Transférer des membres",
|
||||
"newMember": "Nouveau membre",
|
||||
"editMember": "Modifier le membre",
|
||||
"createNewMember": "Créer un nouveau membre",
|
||||
"firstName": "Prénom",
|
||||
"lastName": "Nom",
|
||||
"street": "Rue",
|
||||
"postalCode": "Code postal",
|
||||
"city": "Ville",
|
||||
"birthdate": "Date de naissance",
|
||||
"phones": "Numéros de téléphone",
|
||||
"emails": "Adresses e-mail",
|
||||
"addPhone": "Ajouter un numéro",
|
||||
"addEmail": "Ajouter une adresse e-mail",
|
||||
"phoneNumber": "Numéro de téléphone",
|
||||
"emailAddress": "Adresse e-mail",
|
||||
"parent": "Parent",
|
||||
"parentName": "Nom (p. ex. mère, père)",
|
||||
"primary": "Principal",
|
||||
"gender": "Sexe",
|
||||
"genderUnknown": "Inconnu",
|
||||
"genderMale": "Masculin",
|
||||
"genderFemale": "Féminin",
|
||||
"genderDiverse": "Divers",
|
||||
"picsInInternetAllowed": "Photos autorisées en ligne",
|
||||
"testMembership": "Adhésion d'essai",
|
||||
"memberFormHandedOver": "Formulaire d'adhésion remis",
|
||||
"trainingGroups": "Groupes d'entraînement",
|
||||
"noGroupsAssigned": "Aucun groupe attribué",
|
||||
"noGroupsAvailable": "Aucun groupe disponible",
|
||||
"addGroup": "Ajouter un groupe...",
|
||||
"remove": "Retirer",
|
||||
"image": "Image",
|
||||
"selectFile": "Choisir un fichier",
|
||||
"camera": "Caméra",
|
||||
"imagePreview": "Aperçu de l'image du membre",
|
||||
"change": "Modifier",
|
||||
"create": "Créer",
|
||||
"clearFields": "Vider les champs",
|
||||
"showInactiveMembers": "Afficher les membres inactifs",
|
||||
"ageGroup": "Catégorie d'âge",
|
||||
"adults": "Adultes (20+)",
|
||||
"j19": "U19 (19 ans et moins)",
|
||||
"j17": "U17 (17 ans et moins)",
|
||||
"j15": "U15 (15 ans et moins)",
|
||||
"j13": "U13 (13 ans et moins)",
|
||||
"j11": "U11 (11 ans et moins)",
|
||||
"clearFilters": "Réinitialiser les filtres",
|
||||
"imageInternet": "Image (web ?)",
|
||||
"testMember": "Essai",
|
||||
"name": "Nom, prénom",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Adresse",
|
||||
"active": "Actif",
|
||||
"actions": "Actions",
|
||||
"phoneNumberShort": "Tél.",
|
||||
"emailAddressShort": "E-mail",
|
||||
"trainingParticipations": "Participations à l'entraînement",
|
||||
"memberImage": "Photo du membre",
|
||||
"inactive": "inactif",
|
||||
"sixOrMoreParticipations": "6 participations ou plus à l'entraînement",
|
||||
"threeOrMoreParticipations": "3 participations ou plus à l'entraînement",
|
||||
"noTestMembership": "N'est plus membre à l'essai",
|
||||
"formHandedOver": "Formulaire d'adhésion remis",
|
||||
"deactivateMember": "Désactiver le membre",
|
||||
"notes": "Notes",
|
||||
"exercises": "Exercices",
|
||||
"memberImages": "Images du membre",
|
||||
"testMembershipRemoved": "L'adhésion d'essai a été supprimée.",
|
||||
"errorRemovingTestMembership": "Erreur lors de la suppression de l'adhésion d'essai.",
|
||||
"formMarkedAsHandedOver": "Le formulaire d'adhésion a été marqué comme remis.",
|
||||
"errorMarkingForm": "Erreur lors du marquage du formulaire.",
|
||||
"deactivateMemberTitle": "Désactiver le membre",
|
||||
"deactivateMemberConfirm": "Voulez-vous vraiment désactiver \"{name}\" ?",
|
||||
"memberDeactivated": "Membre désactivé",
|
||||
"errorDeactivatingMember": "Erreur lors de la désactivation du membre",
|
||||
"errorSavingMember": "Erreur lors de l'enregistrement du membre",
|
||||
"errorAddingToGroup": "Erreur lors de l'ajout au groupe",
|
||||
"errorRemovingFromGroup": "Erreur lors du retrait du groupe",
|
||||
"imageUpdated": "Image mise à jour",
|
||||
"errorRotatingImage": "Erreur lors de la rotation de l'image",
|
||||
"imageDeleted": "L'image a été supprimée.",
|
||||
"errorDeletingImage": "L'image n'a pas pu être supprimée",
|
||||
"primaryImageUpdated": "Image principale mise à jour.",
|
||||
"errorSettingPrimaryImage": "L'image principale n'a pas pu être définie",
|
||||
"errorUploadingImage": "L'image n'a pas pu être téléversée",
|
||||
"errorLoadingImage": "Erreur lors du chargement de l'image",
|
||||
"phoneList": "liste-telephonique.pdf",
|
||||
"errorLoadingTrainingParticipations": "Erreur lors du chargement des participations",
|
||||
"errorUpdatingRatings": "Erreur lors de la mise à jour des valeurs TTR/QTTR",
|
||||
"errorTransfer": "Erreur lors du transfert",
|
||||
"subtitle": "Rechercher, filtrer et modifier les membres directement.",
|
||||
"closeEditor": "Fermer l'éditeur",
|
||||
"visibleMembers": "Membres visibles",
|
||||
"search": "Rechercher",
|
||||
"searchPlaceholder": "Rechercher par nom, ville, téléphone ou e-mail",
|
||||
"memberScope": "Périmètre des membres",
|
||||
"scopeAll": "Tous",
|
||||
"scopeActive": "Actifs",
|
||||
"scopeTest": "Essai",
|
||||
"scopeNeedsForm": "Formulaire non vérifié",
|
||||
"scopeDataIncomplete": "Données incomplètes",
|
||||
"scopeInactive": "Inactifs",
|
||||
"scopeActiveDataIncomplete": "Actif + données incomplètes",
|
||||
"searchAndFilter": "Recherche et filtres",
|
||||
"bulkActions": "Actions groupées",
|
||||
"resultsVisible": "membres visibles",
|
||||
"editHint": "Un clic sur une ligne ouvre l’éditeur.",
|
||||
"editorCreateHint": "Créer un nouveau membre et saisir directement ses coordonnées.",
|
||||
"editorEditHint": "Modifier les données de {name}.",
|
||||
"editorAssignTrainingGroupHint": "Veuillez attribuer au moins un groupe d'entraînement.",
|
||||
"editorRecommendedEntry": "Entrée recommandée",
|
||||
"transferSuccessTitle": "Transfert réussi",
|
||||
"transferErrorTitle": "Erreur de transfert",
|
||||
"clickTtRequestPending": "Demande Click-TT en cours",
|
||||
"clickTtRequestAction": "Demander l'autorisation Click-TT",
|
||||
"clickTtRequestTitle": "Lancer une demande Click-TT",
|
||||
"clickTtRequestConfirm": "Faut-il lancer la demande Click-TT automatisée pour {name} ?",
|
||||
"clickTtRequestHint": "La demande est traitée automatiquement par le workflow Click-TT du backend.",
|
||||
"clickTtRequestSuccess": "Veuillez encore vous connecter à click-tt et envoyer la demande.",
|
||||
"clickTtRequestError": "La demande Click-TT n'a pas pu être envoyée.",
|
||||
"clickTtRequestFailedLog": "Échec de la demande Click-TT",
|
||||
"deleteImageTitle": "Supprimer l'image",
|
||||
"deleteImageConfirm": "Voulez-vous vraiment supprimer cette image ?",
|
||||
"parentFallback": "Parent",
|
||||
"loadingMembers": "Loading members...",
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"loadingMembers": "Chargement des membres...",
|
||||
"errorLoadingMembers": "Échec du chargement de la liste des membres.",
|
||||
"scopeNotTraining": "Ne s'entraîne plus",
|
||||
"notInTrainingTooltip": "Aucune participation depuis {weeks} semaines d’entraînement",
|
||||
"status": "Statut",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
"noAddressShort": "No address",
|
||||
"clickTtSubmitted": "Click-TT submitted",
|
||||
"markRegular": "Mark regular",
|
||||
"markFormReceived": "Mark form verified",
|
||||
"noPhoneShort": "Pas de téléphone",
|
||||
"noEmailShort": "Pas d’e-mail",
|
||||
"noAddressShort": "Pas d’adresse",
|
||||
"clickTtSubmitted": "Click-TT envoyé",
|
||||
"markRegular": "Marquer comme régulier",
|
||||
"markFormReceived": "Marquer le formulaire comme vérifié",
|
||||
"clickTtRequestShort": "Click-TT",
|
||||
"clickTtRequestPendingShort": "Pending ...",
|
||||
"memberDetails": "Member details",
|
||||
"previewLastTraining": "Last training",
|
||||
"previewNoLastTraining": "No participation yet",
|
||||
"phoneListForSelection": "Phone list for selection",
|
||||
"markFormsForSelection": "Verify forms for selection",
|
||||
"markRegularForSelection": "Mark selection regular",
|
||||
"phoneListSelectionFile": "phone-list-selection.pdf",
|
||||
"batchFormsMarkedSuccess": "Marked {count} form(s) as verified.",
|
||||
"batchFormsMarkedEmpty": "There are no unverified forms in the current selection.",
|
||||
"batchMarkedRegularSuccess": "Marked {count} trial member(s) as regular.",
|
||||
"batchMarkedRegularEmpty": "There are no trial members in the current selection.",
|
||||
"batchPartialFailure": "{success} succeeded, {failed} failed.",
|
||||
"sortBy": "Sort by",
|
||||
"sortLastName": "Last name",
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"age": "Age",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
"exportMembersSelected": "members currently selected",
|
||||
"exportPhones": "Phone",
|
||||
"exportReachableByPhone": "with phone number",
|
||||
"exportEmails": "Email",
|
||||
"exportReachableByEmail": "with email address",
|
||||
"exportPreviewNames": "Preview",
|
||||
"exportPreviewEmpty": "No members in the current selection",
|
||||
"exportCsv": "Export CSV",
|
||||
"exportCsvFile": "member-selection.csv",
|
||||
"copyPhones": "Copy phones",
|
||||
"copyEmails": "Copy emails",
|
||||
"copyPhonesSuccess": "Phone list copied to clipboard.",
|
||||
"copyPhonesEmpty": "There are no phone numbers in the current selection.",
|
||||
"copyEmailsSuccess": "Email list copied to clipboard.",
|
||||
"copyEmailsEmpty": "There are no email addresses in the current selection.",
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
"clickTtRequestPendingShort": "En cours...",
|
||||
"memberDetails": "Détails du membre",
|
||||
"previewLastTraining": "Dernier entraînement",
|
||||
"previewNoLastTraining": "Aucune participation pour le moment",
|
||||
"phoneListForSelection": "Liste téléphonique pour la sélection",
|
||||
"markFormsForSelection": "Vérifier les formulaires de la sélection",
|
||||
"markRegularForSelection": "Marquer la sélection comme régulière",
|
||||
"phoneListSelectionFile": "liste-telephonique-selection.pdf",
|
||||
"batchFormsMarkedSuccess": "{count} formulaire(s) marqué(s) comme vérifié(s).",
|
||||
"batchFormsMarkedEmpty": "Aucun formulaire non vérifié dans la sélection actuelle.",
|
||||
"batchMarkedRegularSuccess": "{count} membre(s) à l’essai marqué(s) comme réguliers.",
|
||||
"batchMarkedRegularEmpty": "Aucun membre à l’essai dans la sélection actuelle.",
|
||||
"batchPartialFailure": "{success} réussis, {failed} échoués.",
|
||||
"sortBy": "Trier par",
|
||||
"sortLastName": "Nom",
|
||||
"sortFirstName": "Prénom",
|
||||
"sortBirthday": "Date de naissance",
|
||||
"sortAge": "Âge",
|
||||
"ageRange": "Âge de - à",
|
||||
"ageFromPlaceholder": "de",
|
||||
"ageToPlaceholder": "à",
|
||||
"age": "Âge",
|
||||
"dataQuality": "Qualité des données",
|
||||
"dataQualityComplete": "Données complètes",
|
||||
"dataIssueBirthdate": "Date de naissance manquante",
|
||||
"dataIssuePhone": "Téléphone manquant",
|
||||
"dataIssueEmail": "E-mail manquant",
|
||||
"dataIssueAddress": "Adresse manquante",
|
||||
"dataIssueGender": "Sexe non défini",
|
||||
"dataIssueTrainingGroup": "Groupe d'entraînement manquant",
|
||||
"openTasks": "Tâches ouvertes",
|
||||
"noOpenTasks": "Aucune tâche ouverte",
|
||||
"taskVerifyForm": "Vérifier le formulaire",
|
||||
"taskReviewTrialStatus": "Vérifier le statut d'essai",
|
||||
"taskCheckTrainingStatus": "Vérifier le statut d'entraînement",
|
||||
"taskCheckDataQuality": "Vérifier la qualité des données",
|
||||
"taskAssignTrainingGroup": "Attribuer un groupe d'entraînement",
|
||||
"taskCheckClickTt": "Vérifier l'autorisation Click-TT",
|
||||
"taskActionVerify": "Vérifier",
|
||||
"taskActionMarkRegular": "Marquer régulier",
|
||||
"taskActionReview": "Ouvrir",
|
||||
"taskActionRequest": "Demander",
|
||||
"toggleSortDirection": "Changer le sens du tri",
|
||||
"showTtrHistory": "Afficher l’historique TTR",
|
||||
"missingTtrHistoryId": "Aucun identifiant myTischtennis enregistré",
|
||||
"sortLastTraining": "Dernier entraînement",
|
||||
"sortOpenTasks": "Tâches ouvertes",
|
||||
"exportPreview": "Aperçu de l'export",
|
||||
"exportMembersSelected": "membres actuellement sélectionnés",
|
||||
"exportPhones": "Téléphone",
|
||||
"exportReachableByPhone": "avec numéro de téléphone",
|
||||
"exportEmails": "E-mail",
|
||||
"exportReachableByEmail": "avec adresse e-mail",
|
||||
"exportPreviewNames": "Aperçu",
|
||||
"exportPreviewEmpty": "Aucun membre dans la sélection actuelle",
|
||||
"exportCsv": "Exporter en CSV",
|
||||
"exportCsvFile": "selection-membres.csv",
|
||||
"copyPhones": "Copier les téléphones",
|
||||
"copyEmails": "Copier les e-mails",
|
||||
"copyPhonesSuccess": "Liste téléphonique copiée dans le presse-papiers.",
|
||||
"copyPhonesEmpty": "Aucun numéro de téléphone dans la sélection actuelle.",
|
||||
"copyEmailsSuccess": "Liste e-mail copiée dans le presse-papiers.",
|
||||
"copyEmailsEmpty": "Aucune adresse e-mail dans la sélection actuelle.",
|
||||
"composeEmail": "Préparer un e-mail",
|
||||
"copyContactSummary": "Copier le résumé des contacts",
|
||||
"copyContactSummarySuccess": "Résumé des contacts copié dans le presse-papiers."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Journal d'entraînement",
|
||||
"date": "Date",
|
||||
"noEntries": "Aucune entrée",
|
||||
"deleteDate": "Supprimer la date",
|
||||
"createNew": "Créer",
|
||||
"gallery": "Galerie des membres",
|
||||
"galleryCreating": "Création de la galerie…",
|
||||
"selectTrainingGroup": "Sélectionner un groupe d'entraînement",
|
||||
"selectTrainingGroupPlaceholder": "Veuillez choisir...",
|
||||
"suggestion": "Suggestion",
|
||||
"nextAppointment": "Prochain rendez-vous",
|
||||
"applySuggestion": "Appliquer la suggestion",
|
||||
"skipSuggestion": "Continuer sans suggestion",
|
||||
"createNewDate": "Créer une nouvelle date",
|
||||
"activeTrainingDay": "Jour d'entraînement actif",
|
||||
"trainingDaySection": "Jour d'entraînement",
|
||||
"trainingDayChecklist": "Liste de contrôle finale",
|
||||
"trainingStart": "Début de l'entraînement",
|
||||
"trainingEnd": "Fin de l'entraînement",
|
||||
"trainingWindow": "Plage d'entraînement",
|
||||
"trainingWindowUnset": "Pas encore défini",
|
||||
"groupsLabel": "Groupes",
|
||||
"groupsSection": "Groupes",
|
||||
"createDate": "Créer la date",
|
||||
"editTrainingTimes": "Modifier les horaires d'entraînement",
|
||||
"updateTimes": "Mettre à jour les horaires",
|
||||
"groupManagement": "Gestion des groupes",
|
||||
"createGroups": "Créer des groupes",
|
||||
"trainingPlan": "Plan d'entraînement",
|
||||
"planActivitiesCount": "Activités planifiées",
|
||||
"timeblocksCount": "Blocs horaires",
|
||||
"planEmptyState": "Aucun élément n'a encore été saisi dans le plan d'entraînement.",
|
||||
"planAddHint": "Ajoutez de nouveaux éléments du plan avec les actions ci-dessus.",
|
||||
"startTime": "Heure de début",
|
||||
"group": "Groupe...",
|
||||
"timeblock": "Bloc horaire",
|
||||
"assignParticipants": "Attribuer des participants",
|
||||
"addTimeblock": "Bloc horaire",
|
||||
"activities": "Activités",
|
||||
"freeActivities": "Activités libres",
|
||||
"noFreeActivitiesYet": "Aucune activité libre n'a encore été enregistrée.",
|
||||
"addActivity": "Ajouter une activité",
|
||||
"bookAccident": "Enregistrer un accident",
|
||||
"activity": "Activité",
|
||||
"duration": "Durée",
|
||||
"activityImage": "Image d'activité",
|
||||
"activityDrawing": "Schéma d'activité",
|
||||
"today": "Aujourd'hui",
|
||||
"existingGroups": "Groupes existants",
|
||||
"leader": "Responsable",
|
||||
"deleteGroup": "Supprimer le groupe",
|
||||
"numberOfGroups": "Nombre de groupes",
|
||||
"addGroup": "Ajouter un groupe",
|
||||
"activityOrTimeblock": "Activité / bloc horaire",
|
||||
"durationMinutes": "Durée (min)",
|
||||
"addGroupActivity": "Ajouter une activité de groupe",
|
||||
"addGroupButton": "+ Groupe",
|
||||
"all": "Tous",
|
||||
"selectGroup": "Sélectionner un groupe...",
|
||||
"activityPlaceholder": "Activité",
|
||||
"assignShort": "Attribuer",
|
||||
"statusReadyShort": "Prêt",
|
||||
"statusOpenShort": "Ouvert",
|
||||
"openPlanItemsLabel": "Statut du plan",
|
||||
"openPlanItems": "{count} ouvert(s)",
|
||||
"unassignedPlanItems": "{count} ouvert(s)",
|
||||
"durationExampleLong": "p. ex. 2x7 ou 3*5",
|
||||
"durationExampleShort": "p. ex. 2x7",
|
||||
"showImage": "Afficher image/schéma",
|
||||
"participants": "Participants",
|
||||
"searchParticipants": "Rechercher des participants",
|
||||
"filterAll": "Tous",
|
||||
"filterPresent": "Présent",
|
||||
"filterAbsent": "Absent",
|
||||
"filterTest": "Essai",
|
||||
"quickAdd": "+ Ajout rapide",
|
||||
"selectTags": "Sélectionner des tags",
|
||||
"createDrawing": "Créer un schéma d'exercice",
|
||||
"overallActivity": "Activité globale",
|
||||
"editActivity": "Modifier l'activité",
|
||||
"editGroupActivity": "Modifier l'activité de groupe",
|
||||
"assignParticipantsForGroupActivity": "Attribuer des participants à l'activité de groupe",
|
||||
"delete": "Supprimer",
|
||||
"min": "min",
|
||||
"errorLoadingPredefinedActivities": "Erreur lors du chargement des activités prédéfinies",
|
||||
"selectParticipantAndNote": "Veuillez sélectionner un participant et saisir une note.",
|
||||
"selectGroupAndActivity": "Veuillez sélectionner un groupe et saisir une activité.",
|
||||
"dateCannotBeDeleted": "La date ne peut pas être supprimée",
|
||||
"dateCannotBeDeletedDetails": "Du contenu existe encore (plan, participants, activités, accidents ou notes).",
|
||||
"confirmDelete": "Confirmer la suppression",
|
||||
"confirmDeleteDate": "Voulez-vous vraiment supprimer cette date ?",
|
||||
"confirmDeleteDateDetails": "Toutes les données associées seront également supprimées.",
|
||||
"noParticipants": "Aucun participant disponible pour ce jour d'entraînement.",
|
||||
"mustCreateAtLeastTwoGroups": "Il faut créer au moins 2 groupes la première fois.",
|
||||
"oneGroupAdded": "1 groupe a été ajouté avec succès.",
|
||||
"groupsCreated": "{count} groupes ont été créés avec succès.",
|
||||
"errorCreatingGroups": "Erreur lors de la création des groupes",
|
||||
"confirmDeleteGroup": "Voulez-vous vraiment supprimer le groupe \"{name}\" ?",
|
||||
"groupDeletedSuccessfully": "Le groupe a été supprimé avec succès.",
|
||||
"errorDeletingGroup": "Erreur lors de la suppression du groupe",
|
||||
"errorCreatingActivity": "Erreur lors de la création de l'activité",
|
||||
"trainingPlanAsPDF": "Plan d'entraînement en PDF",
|
||||
"trainingPlanPdfShort": "Planning en PDF",
|
||||
"trainingDayAsPDF": "Télécharger le jour d'entraînement en PDF",
|
||||
"trainingDayAsPDFShort": "Jour d'entraînement en PDF",
|
||||
"trainingDaySummaryPdfShort": "Résumé des participants en PDF",
|
||||
"minutes": "Minutes",
|
||||
"formHandedOver": "Formulaire d'adhésion remis",
|
||||
"errorOccurred": "Une erreur est survenue. Veuillez réessayer.",
|
||||
"trainingTimesUpdated": "Horaires d'entraînement mis à jour avec succès.",
|
||||
"noActiveTrainingDay": "Aucun jour d'entraînement sélectionné.",
|
||||
"statusEmpty": "Ce jour d'entraînement est encore vide.",
|
||||
"statusInProgress": "Ce jour d'entraînement est partiellement préparé.",
|
||||
"formMarkedAsHandedOver": "Formulaire d'adhésion marqué comme remis",
|
||||
"errorMarkingForm": "Erreur lors du marquage du formulaire",
|
||||
"dateNoLongerCurrent": "La date sélectionnée n'était plus actuelle. Veuillez réessayer.",
|
||||
"activityRequired": "Veuillez saisir une activité.",
|
||||
"activityNotFound": "Activité introuvable. Veuillez en choisir une dans la liste.",
|
||||
"standardActivities": "Activités standard",
|
||||
"standardDurationShort": "min",
|
||||
"standardActivityAddError": "L'activité standard n'a pas pu être ajoutée.",
|
||||
"statusReady": "Les horaires et le plan d'entraînement sont définis.",
|
||||
"filterExcused": "Excusé",
|
||||
"participantStatusNone": "Aucun statut",
|
||||
"participantStatusExcused": "Excusé",
|
||||
"participantStatusCancelled": "Annulé"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Statistiques d'entraînement",
|
||||
"activeMembers": "Membres actifs",
|
||||
"averageParticipationCurrentMonth": "Participation moyenne (mois en cours)",
|
||||
"averageParticipationLastMonth": "Participation moyenne (mois précédent)",
|
||||
"averageParticipationQuarter": "Participation moyenne (trimestre)",
|
||||
"averageParticipationHalfYear": "Participation moyenne (semestre)",
|
||||
"averageParticipationYear": "Participation moyenne (année)",
|
||||
"trainingDays": "Jours d'entraînement (12 derniers mois)",
|
||||
"memberParticipations": "Participations des membres",
|
||||
"date": "Date",
|
||||
"weekday": "Jour de semaine",
|
||||
"participants": "Participants",
|
||||
"name": "Nom",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Date de naissance",
|
||||
"participations12Months": "Participations (12 mois)",
|
||||
"participations3Months": "Participations (3 mois)",
|
||||
"participationsTotal": "Participations (total)",
|
||||
"lastTraining": "Dernier entraînement",
|
||||
"actions": "Actions",
|
||||
"showDetails": "Afficher les détails"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Schéma d'exercice de tennis de table",
|
||||
"configureExercise": "Configurer l'exercice",
|
||||
"stepStartPosition": "1. Position de départ",
|
||||
"stepStartPositionHint": "Depuis quelle position de service l'exercice commence-t-il ?",
|
||||
"stepFirstStroke": "2. Premier coup",
|
||||
"stepFirstStrokeHint": "Définir le côté et la rotation du premier ballon.",
|
||||
"stepTarget": "3. Cible",
|
||||
"stepTargetHint": "Choisir la zone cible pour le premier coup.",
|
||||
"stepAdditionalStrokes": "4. Coups suivants",
|
||||
"stepAdditionalStrokesHint": "Ajouter si besoin d’autres balles sous forme de séquence.",
|
||||
"noAdditionalStrokes": "Aucun coup suivant ajouté pour le moment.",
|
||||
"service": "Service :",
|
||||
"serviceTitle": "Service",
|
||||
"forehand": "Coup droit",
|
||||
"backhand": "Revers",
|
||||
"spin": "Effet :",
|
||||
"underspin": "Coupe",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Effet latéral",
|
||||
"sideUnderspin": "Latéral coupé",
|
||||
"counterSpin": "Contre-effet",
|
||||
"targetPosition": "Position cible :",
|
||||
"targetPositionLabel": "Position cible",
|
||||
"strokeSide": "Côté",
|
||||
"strokeTypeLabel": "Type de coup",
|
||||
"addStroke": "Ajouter un coup",
|
||||
"preview": "Aperçu",
|
||||
"previewHint": "Le schéma apparaît dès que le premier coup est entièrement configuré.",
|
||||
"completeFirstStroke": "Compléter le premier coup",
|
||||
"completeFirstStrokeHint": "Choisissez la position de départ, le côté, l’effet et la cible. Le schéma apparaîtra ensuite.",
|
||||
"codeLabel": "Code",
|
||||
"titleLabel": "Titre",
|
||||
"startLeft": "gauche",
|
||||
"startMiddle": "centre",
|
||||
"startRight": "droite",
|
||||
"strokeTypePush": "Poussette",
|
||||
"strokeTypeCounter": "Contre",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Bloc",
|
||||
"strokeTypeSmash": "Frappe",
|
||||
"strokeTypeChopDefense": "Défense coupée",
|
||||
"strokeTypeLobDefense": "Défense lobée",
|
||||
"targetForehandLong": "Coup droit long",
|
||||
"targetMiddleLong": "Milieu long",
|
||||
"targetBackhandLong": "Revers long",
|
||||
"targetForehandHalfLong": "Coup droit mi-long",
|
||||
"targetMiddleHalfLong": "Milieu mi-long",
|
||||
"targetBackhandHalfLong": "Revers mi-long",
|
||||
"targetForehandShort": "Coup droit court",
|
||||
"targetMiddleShort": "Milieu court",
|
||||
"targetBackhandShort": "Revers court",
|
||||
"toTarget": "vers"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "Avanti",
|
||||
"previous": "Precedente",
|
||||
"submit": "Invia",
|
||||
"reset": "Reimposta"
|
||||
"reset": "Reimposta",
|
||||
"all": "Tutti",
|
||||
"today": "Oggi",
|
||||
"time": "Ora",
|
||||
"new": "Nuovo",
|
||||
"update": "Aggiorna",
|
||||
"create": "Crea",
|
||||
"remove": "Rimuovi",
|
||||
"select": "Seleziona",
|
||||
"download": "Scarica",
|
||||
"choose": "Scegli",
|
||||
"apply": "Applica",
|
||||
"clear": "Cancella",
|
||||
"details": "Dettagli",
|
||||
"view": "Visualizza",
|
||||
"name": "Nome",
|
||||
"date": "Data",
|
||||
"status": "Stato",
|
||||
"type": "Tipo",
|
||||
"description": "Descrizione",
|
||||
"active": "Attivo",
|
||||
"inactive": "Inattivo",
|
||||
"enabled": "Abilitato",
|
||||
"disabled": "Disabilitato",
|
||||
"required": "Obbligatorio",
|
||||
"optional": "Opzionale",
|
||||
"in": "in",
|
||||
"min": "min",
|
||||
"minutes": "minuti",
|
||||
"hours": "ore",
|
||||
"days": "giorni",
|
||||
"weeks": "settimane",
|
||||
"months": "mesi",
|
||||
"years": "anni",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Home",
|
||||
@@ -34,29 +68,45 @@
|
||||
"clubTournaments": "Tornei del club",
|
||||
"tournamentParticipations": "Partecipazioni ai tornei",
|
||||
"schedule": "Calendari",
|
||||
"clubSettings": "Impostazioni club",
|
||||
"clubSettings": "Impostazioni del club",
|
||||
"predefinedActivities": "Attività predefinite",
|
||||
"teamManagement": "Gestione squadra",
|
||||
"teamManagement": "Gestione squadre",
|
||||
"permissions": "Permessi",
|
||||
"logs": "Log di sistema",
|
||||
"memberTransfer": "Trasferimento membri",
|
||||
"myTischtennisAccount": "Account myTischtennis",
|
||||
"clickTtAccount": "Account HTTV / click-TT",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "Impostazioni personali",
|
||||
"logout": "Esci",
|
||||
"logout": "Disconnetti",
|
||||
"login": "Accedi",
|
||||
"register": "Registrati",
|
||||
"dailyBusiness": "Attività quotidiane",
|
||||
"dailyBusiness": "Gestione quotidiana",
|
||||
"competitions": "Competizioni",
|
||||
"settings": "Impostazioni"
|
||||
"settings": "Impostazioni",
|
||||
"backToHome": "Torna alla home"
|
||||
},
|
||||
"club": {
|
||||
"select": "Seleziona club",
|
||||
"selectPlaceholder": "Scegli club...",
|
||||
"selectPlaceholder": "Scegli un club...",
|
||||
"new": "Nuovo club",
|
||||
"load": "Carica",
|
||||
"name": "Nome club",
|
||||
"name": "Nome del club",
|
||||
"create": "Crea club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "Crea club",
|
||||
"members": "Membri",
|
||||
"trainingDiary": "Diario di allenamento",
|
||||
"noAccess": "Non hai ancora accesso a questo club.",
|
||||
"requestAccess": "Richiedi accesso",
|
||||
"openRequests": "Richieste di accesso aperte",
|
||||
"title": "Club",
|
||||
"openAccessRequests": "Richieste di accesso aperte",
|
||||
"diary": "Diario di allenamento",
|
||||
"accessDenied": "Accesso al club negato.",
|
||||
"errorLoadingRequests": "Errore durante il caricamento delle richieste aperte",
|
||||
"accessRequested": "Accesso richiesto.",
|
||||
"accessRequestPending": "L’accesso a questo club è stato richiesto. Attendere prego.",
|
||||
"accessRequestFailed": "Impossibile inviare la richiesta di accesso."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Accedi",
|
||||
@@ -331,96 +381,425 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
"search": "Search",
|
||||
"searchPlaceholder": "Search by name, city, phone or email",
|
||||
"memberScope": "Member scope",
|
||||
"scopeAll": "All",
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeInactive": "Inactive",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
"clickTtRequestAction": "Request click-TT eligibility",
|
||||
"clickTtRequestTitle": "Start Click-TT request",
|
||||
"clickTtRequestConfirm": "Start the automated Click-TT request for {name}?",
|
||||
"clickTtRequestHint": "The request is processed automatically by the backend Click-TT workflow.",
|
||||
"clickTtRequestSuccess": "Please sign in to click-tt and submit the request there.",
|
||||
"clickTtRequestError": "The Click-TT request could not be submitted.",
|
||||
"clickTtRequestFailedLog": "Click-TT request failed",
|
||||
"deleteImageTitle": "Delete image",
|
||||
"deleteImageConfirm": "Do you really want to delete this image?",
|
||||
"parentFallback": "Parent",
|
||||
"loadingMembers": "Loading members...",
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
"noAddressShort": "No address",
|
||||
"clickTtSubmitted": "Click-TT submitted",
|
||||
"markRegular": "Mark regular",
|
||||
"markFormReceived": "Mark form verified",
|
||||
"title": "Membri",
|
||||
"memberInfo": "Informazioni membro",
|
||||
"activeMembers": "Membri attivi",
|
||||
"testMembers": "Membri in prova",
|
||||
"inactiveMembers": "Membri inattivi",
|
||||
"generatePhoneList": "Genera elenco telefonico",
|
||||
"onlyActiveMembers": "Sono inclusi solo i membri attivi",
|
||||
"updateRatings": "Aggiorna TTR/QTTR da myTischtennis",
|
||||
"updating": "Aggiornamento in corso...",
|
||||
"transferMembers": "Trasferisci membri",
|
||||
"newMember": "Nuovo membro",
|
||||
"editMember": "Modifica membro",
|
||||
"createNewMember": "Crea nuovo membro",
|
||||
"firstName": "Nome",
|
||||
"lastName": "Cognome",
|
||||
"street": "Via",
|
||||
"postalCode": "CAP",
|
||||
"city": "Città",
|
||||
"birthdate": "Data di nascita",
|
||||
"phones": "Numeri di telefono",
|
||||
"emails": "Indirizzi e-mail",
|
||||
"addPhone": "Aggiungi numero di telefono",
|
||||
"addEmail": "Aggiungi indirizzo e-mail",
|
||||
"phoneNumber": "Numero di telefono",
|
||||
"emailAddress": "Indirizzo e-mail",
|
||||
"parent": "Genitore",
|
||||
"parentName": "Nome (es. madre, padre)",
|
||||
"primary": "Principale",
|
||||
"gender": "Genere",
|
||||
"genderUnknown": "Sconosciuto",
|
||||
"genderMale": "Maschile",
|
||||
"genderFemale": "Femminile",
|
||||
"genderDiverse": "Diverso",
|
||||
"picsInInternetAllowed": "Foto consentite online",
|
||||
"testMembership": "Iscrizione di prova",
|
||||
"memberFormHandedOver": "Modulo di iscrizione consegnato",
|
||||
"trainingGroups": "Gruppi di allenamento",
|
||||
"noGroupsAssigned": "Nessun gruppo assegnato",
|
||||
"noGroupsAvailable": "Nessun gruppo disponibile",
|
||||
"addGroup": "Aggiungi gruppo...",
|
||||
"remove": "Rimuovi",
|
||||
"image": "Immagine",
|
||||
"selectFile": "Seleziona file",
|
||||
"camera": "Fotocamera",
|
||||
"imagePreview": "Anteprima immagine membro",
|
||||
"change": "Modifica",
|
||||
"create": "Crea",
|
||||
"clearFields": "Svuota campi",
|
||||
"showInactiveMembers": "Mostra membri inattivi",
|
||||
"ageGroup": "Fascia d’età",
|
||||
"adults": "Adulti (20+)",
|
||||
"j19": "U19 (19 anni o meno)",
|
||||
"j17": "U17 (17 anni o meno)",
|
||||
"j15": "U15 (15 anni o meno)",
|
||||
"j13": "U13 (13 anni o meno)",
|
||||
"j11": "U11 (11 anni o meno)",
|
||||
"clearFilters": "Reimposta filtri",
|
||||
"imageInternet": "Immagine (web?)",
|
||||
"testMember": "Prova",
|
||||
"name": "Cognome, nome",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Indirizzo",
|
||||
"active": "Attivo",
|
||||
"actions": "Azioni",
|
||||
"phoneNumberShort": "Tel.",
|
||||
"emailAddressShort": "E-mail",
|
||||
"trainingParticipations": "Partecipazioni agli allenamenti",
|
||||
"memberImage": "Immagine membro",
|
||||
"inactive": "inattivo",
|
||||
"sixOrMoreParticipations": "6 o più partecipazioni agli allenamenti",
|
||||
"threeOrMoreParticipations": "3 o più partecipazioni agli allenamenti",
|
||||
"noTestMembership": "Non più membro in prova",
|
||||
"formHandedOver": "Modulo di iscrizione consegnato",
|
||||
"deactivateMember": "Disattiva membro",
|
||||
"notes": "Note",
|
||||
"exercises": "Esercizi",
|
||||
"memberImages": "Immagini membro",
|
||||
"testMembershipRemoved": "Iscrizione di prova rimossa.",
|
||||
"errorRemovingTestMembership": "Errore durante la rimozione dell’iscrizione di prova.",
|
||||
"formMarkedAsHandedOver": "Modulo di iscrizione contrassegnato come consegnato.",
|
||||
"errorMarkingForm": "Errore durante la marcatura del modulo.",
|
||||
"deactivateMemberTitle": "Disattiva membro",
|
||||
"deactivateMemberConfirm": "Vuoi davvero disattivare \"{name}\"?",
|
||||
"memberDeactivated": "Membro disattivato",
|
||||
"errorDeactivatingMember": "Errore durante la disattivazione del membro",
|
||||
"errorSavingMember": "Errore durante il salvataggio del membro",
|
||||
"errorAddingToGroup": "Errore durante l’aggiunta al gruppo",
|
||||
"errorRemovingFromGroup": "Errore durante la rimozione dal gruppo",
|
||||
"imageUpdated": "Immagine aggiornata",
|
||||
"errorRotatingImage": "Errore durante la rotazione dell’immagine",
|
||||
"imageDeleted": "Immagine eliminata.",
|
||||
"errorDeletingImage": "Impossibile eliminare l’immagine",
|
||||
"primaryImageUpdated": "Immagine principale aggiornata.",
|
||||
"errorSettingPrimaryImage": "Impossibile impostare l’immagine principale",
|
||||
"errorUploadingImage": "Impossibile caricare l’immagine",
|
||||
"errorLoadingImage": "Errore durante il caricamento dell’immagine",
|
||||
"phoneList": "elenco-telefonico.pdf",
|
||||
"errorLoadingTrainingParticipations": "Errore durante il caricamento delle partecipazioni",
|
||||
"errorUpdatingRatings": "Errore durante l’aggiornamento dei valori TTR/QTTR",
|
||||
"errorTransfer": "Errore durante il trasferimento",
|
||||
"subtitle": "Cerca, filtra e modifica direttamente i membri.",
|
||||
"closeEditor": "Chiudi editor",
|
||||
"visibleMembers": "Membri visibili",
|
||||
"search": "Cerca",
|
||||
"searchPlaceholder": "Cerca per nome, città, telefono o e-mail",
|
||||
"memberScope": "Ambito membri",
|
||||
"scopeAll": "Tutti",
|
||||
"scopeActive": "Attivi",
|
||||
"scopeTest": "Prova",
|
||||
"scopeNeedsForm": "Modulo non verificato",
|
||||
"scopeDataIncomplete": "Dati incompleti",
|
||||
"scopeInactive": "Inattivi",
|
||||
"scopeActiveDataIncomplete": "Attivo + dati incompleti",
|
||||
"searchAndFilter": "Ricerca e filtri",
|
||||
"bulkActions": "Azioni di gruppo",
|
||||
"resultsVisible": "membri visibili",
|
||||
"editHint": "Un clic su una riga apre l’editor.",
|
||||
"editorCreateHint": "Crea un nuovo membro e inserisci subito i dati di contatto.",
|
||||
"editorEditHint": "Modifica i dati di {name}.",
|
||||
"editorAssignTrainingGroupHint": "Assegna almeno un gruppo di allenamento.",
|
||||
"editorRecommendedEntry": "Voce consigliata",
|
||||
"transferSuccessTitle": "Trasferimento riuscito",
|
||||
"transferErrorTitle": "Errore di trasferimento",
|
||||
"clickTtRequestPending": "Richiesta Click-TT in corso",
|
||||
"clickTtRequestAction": "Richiedi autorizzazione Click-TT",
|
||||
"clickTtRequestTitle": "Avvia richiesta Click-TT",
|
||||
"clickTtRequestConfirm": "Vuoi avviare la richiesta Click-TT automatizzata per {name}?",
|
||||
"clickTtRequestHint": "La richiesta viene elaborata automaticamente dal workflow Click-TT del backend.",
|
||||
"clickTtRequestSuccess": "Accedi ancora a click-tt e invia lì la richiesta.",
|
||||
"clickTtRequestError": "Impossibile inviare la richiesta Click-TT.",
|
||||
"clickTtRequestFailedLog": "Richiesta Click-TT non riuscita",
|
||||
"deleteImageTitle": "Elimina immagine",
|
||||
"deleteImageConfirm": "Vuoi davvero eliminare questa immagine?",
|
||||
"parentFallback": "Genitore",
|
||||
"loadingMembers": "Caricamento membri...",
|
||||
"errorLoadingMembers": "Impossibile caricare la lista dei membri.",
|
||||
"scopeNotTraining": "Non si allena più",
|
||||
"notInTrainingTooltip": "Nessuna partecipazione da {weeks} settimane di allenamento",
|
||||
"status": "Stato",
|
||||
"contact": "Contatto",
|
||||
"noPhoneShort": "Nessun telefono",
|
||||
"noEmailShort": "Nessuna e-mail",
|
||||
"noAddressShort": "Nessun indirizzo",
|
||||
"clickTtSubmitted": "Click-TT inviato",
|
||||
"markRegular": "Segna come regolare",
|
||||
"markFormReceived": "Segna modulo come verificato",
|
||||
"clickTtRequestShort": "Click-TT",
|
||||
"clickTtRequestPendingShort": "Pending ...",
|
||||
"memberDetails": "Member details",
|
||||
"previewLastTraining": "Last training",
|
||||
"previewNoLastTraining": "No participation yet",
|
||||
"phoneListForSelection": "Phone list for selection",
|
||||
"markFormsForSelection": "Verify forms for selection",
|
||||
"markRegularForSelection": "Mark selection regular",
|
||||
"phoneListSelectionFile": "phone-list-selection.pdf",
|
||||
"batchFormsMarkedSuccess": "Marked {count} form(s) as verified.",
|
||||
"batchFormsMarkedEmpty": "There are no unverified forms in the current selection.",
|
||||
"batchMarkedRegularSuccess": "Marked {count} trial member(s) as regular.",
|
||||
"batchMarkedRegularEmpty": "There are no trial members in the current selection.",
|
||||
"batchPartialFailure": "{success} succeeded, {failed} failed.",
|
||||
"sortBy": "Sort by",
|
||||
"sortLastName": "Last name",
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"age": "Age",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
"exportMembersSelected": "members currently selected",
|
||||
"exportPhones": "Phone",
|
||||
"exportReachableByPhone": "with phone number",
|
||||
"exportEmails": "Email",
|
||||
"exportReachableByEmail": "with email address",
|
||||
"exportPreviewNames": "Preview",
|
||||
"exportPreviewEmpty": "No members in the current selection",
|
||||
"exportCsv": "Export CSV",
|
||||
"exportCsvFile": "member-selection.csv",
|
||||
"copyPhones": "Copy phones",
|
||||
"copyEmails": "Copy emails",
|
||||
"copyPhonesSuccess": "Phone list copied to clipboard.",
|
||||
"copyPhonesEmpty": "There are no phone numbers in the current selection.",
|
||||
"copyEmailsSuccess": "Email list copied to clipboard.",
|
||||
"copyEmailsEmpty": "There are no email addresses in the current selection.",
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
"clickTtRequestPendingShort": "In corso...",
|
||||
"memberDetails": "Dettagli membro",
|
||||
"previewLastTraining": "Ultimo allenamento",
|
||||
"previewNoLastTraining": "Ancora nessuna partecipazione",
|
||||
"phoneListForSelection": "Elenco telefonico per la selezione",
|
||||
"markFormsForSelection": "Verifica moduli della selezione",
|
||||
"markRegularForSelection": "Segna la selezione come regolare",
|
||||
"phoneListSelectionFile": "elenco-telefonico-selezione.pdf",
|
||||
"batchFormsMarkedSuccess": "{count} modulo/i contrassegnato/i come verificato/i.",
|
||||
"batchFormsMarkedEmpty": "Nessun modulo non verificato nella selezione attuale.",
|
||||
"batchMarkedRegularSuccess": "{count} membro/i in prova contrassegnato/i come regolare/i.",
|
||||
"batchMarkedRegularEmpty": "Nessun membro in prova nella selezione attuale.",
|
||||
"batchPartialFailure": "{success} riusciti, {failed} falliti.",
|
||||
"sortBy": "Ordina per",
|
||||
"sortLastName": "Cognome",
|
||||
"sortFirstName": "Nome",
|
||||
"sortBirthday": "Data di nascita",
|
||||
"sortAge": "Età",
|
||||
"ageRange": "Età da - a",
|
||||
"ageFromPlaceholder": "da",
|
||||
"ageToPlaceholder": "a",
|
||||
"age": "Età",
|
||||
"dataQuality": "Qualità dei dati",
|
||||
"dataQualityComplete": "Dati completi",
|
||||
"dataIssueBirthdate": "Data di nascita mancante",
|
||||
"dataIssuePhone": "Telefono mancante",
|
||||
"dataIssueEmail": "E-mail mancante",
|
||||
"dataIssueAddress": "Indirizzo mancante",
|
||||
"dataIssueGender": "Genere non definito",
|
||||
"dataIssueTrainingGroup": "Gruppo di allenamento mancante",
|
||||
"openTasks": "Attività aperte",
|
||||
"noOpenTasks": "Nessuna attività aperta",
|
||||
"taskVerifyForm": "Verifica modulo",
|
||||
"taskReviewTrialStatus": "Controlla stato di prova",
|
||||
"taskCheckTrainingStatus": "Controlla stato allenamento",
|
||||
"taskCheckDataQuality": "Controlla qualità dati",
|
||||
"taskAssignTrainingGroup": "Assegna gruppo di allenamento",
|
||||
"taskCheckClickTt": "Controlla autorizzazione Click-TT",
|
||||
"taskActionVerify": "Verifica",
|
||||
"taskActionMarkRegular": "Segna come regolare",
|
||||
"taskActionReview": "Apri",
|
||||
"taskActionRequest": "Richiedi",
|
||||
"toggleSortDirection": "Cambia direzione di ordinamento",
|
||||
"showTtrHistory": "Mostra cronologia TTR",
|
||||
"missingTtrHistoryId": "Nessun ID myTischtennis memorizzato",
|
||||
"sortLastTraining": "Ultimo allenamento",
|
||||
"sortOpenTasks": "Attività aperte",
|
||||
"exportPreview": "Anteprima esportazione",
|
||||
"exportMembersSelected": "membri attualmente selezionati",
|
||||
"exportPhones": "Telefono",
|
||||
"exportReachableByPhone": "con numero di telefono",
|
||||
"exportEmails": "E-mail",
|
||||
"exportReachableByEmail": "con indirizzo e-mail",
|
||||
"exportPreviewNames": "Anteprima",
|
||||
"exportPreviewEmpty": "Nessun membro nella selezione attuale",
|
||||
"exportCsv": "Esporta CSV",
|
||||
"exportCsvFile": "selezione-membri.csv",
|
||||
"copyPhones": "Copia telefoni",
|
||||
"copyEmails": "Copia e-mail",
|
||||
"copyPhonesSuccess": "Elenco telefonico copiato negli appunti.",
|
||||
"copyPhonesEmpty": "Nessun numero di telefono nella selezione attuale.",
|
||||
"copyEmailsSuccess": "Elenco e-mail copiato negli appunti.",
|
||||
"copyEmailsEmpty": "Nessun indirizzo e-mail nella selezione attuale.",
|
||||
"composeEmail": "Prepara e-mail",
|
||||
"copyContactSummary": "Copia riepilogo contatti",
|
||||
"copyContactSummarySuccess": "Riepilogo contatti copiato negli appunti."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Diario di allenamento",
|
||||
"date": "Data",
|
||||
"noEntries": "Nessuna voce",
|
||||
"deleteDate": "Elimina data",
|
||||
"createNew": "Crea",
|
||||
"gallery": "Galleria membri",
|
||||
"galleryCreating": "Creazione galleria…",
|
||||
"selectTrainingGroup": "Seleziona gruppo di allenamento",
|
||||
"selectTrainingGroupPlaceholder": "Seleziona...",
|
||||
"suggestion": "Suggerimento",
|
||||
"nextAppointment": "Prossimo appuntamento",
|
||||
"applySuggestion": "Applica suggerimento",
|
||||
"skipSuggestion": "Continua senza suggerimento",
|
||||
"createNewDate": "Crea nuova data",
|
||||
"activeTrainingDay": "Giorno di allenamento attivo",
|
||||
"trainingDaySection": "Giorno di allenamento",
|
||||
"trainingDayChecklist": "Checklist finale",
|
||||
"trainingStart": "Inizio allenamento",
|
||||
"trainingEnd": "Fine allenamento",
|
||||
"trainingWindow": "Fascia di allenamento",
|
||||
"trainingWindowUnset": "Non ancora impostato",
|
||||
"groupsLabel": "Gruppi",
|
||||
"groupsSection": "Gruppi",
|
||||
"createDate": "Crea data",
|
||||
"editTrainingTimes": "Modifica orari di allenamento",
|
||||
"updateTimes": "Aggiorna orari",
|
||||
"groupManagement": "Gestione gruppi",
|
||||
"createGroups": "Crea gruppi",
|
||||
"trainingPlan": "Piano di allenamento",
|
||||
"planActivitiesCount": "Attività pianificate",
|
||||
"timeblocksCount": "Blocchi orari",
|
||||
"planEmptyState": "Non è ancora stato inserito nulla nel piano di allenamento.",
|
||||
"planAddHint": "Aggiungi nuovi elementi del piano usando le azioni sopra.",
|
||||
"startTime": "Ora di inizio",
|
||||
"group": "Gruppo...",
|
||||
"timeblock": "Blocco orario",
|
||||
"assignParticipants": "Assegna partecipanti",
|
||||
"addTimeblock": "Blocco orario",
|
||||
"activities": "Attività",
|
||||
"freeActivities": "Attività libere",
|
||||
"noFreeActivitiesYet": "Non sono ancora state registrate attività libere.",
|
||||
"addActivity": "Aggiungi attività",
|
||||
"bookAccident": "Registra incidente",
|
||||
"activity": "Attività",
|
||||
"duration": "Durata",
|
||||
"activityImage": "Immagine attività",
|
||||
"activityDrawing": "Disegno attività",
|
||||
"today": "Oggi",
|
||||
"existingGroups": "Gruppi esistenti",
|
||||
"leader": "Responsabile",
|
||||
"deleteGroup": "Elimina gruppo",
|
||||
"numberOfGroups": "Numero di gruppi",
|
||||
"addGroup": "Aggiungi gruppo",
|
||||
"activityOrTimeblock": "Attività / blocco orario",
|
||||
"durationMinutes": "Durata (min)",
|
||||
"addGroupActivity": "Aggiungi attività di gruppo",
|
||||
"addGroupButton": "+ Gruppo",
|
||||
"all": "Tutti",
|
||||
"selectGroup": "Seleziona gruppo...",
|
||||
"activityPlaceholder": "Attività",
|
||||
"assignShort": "Assegna",
|
||||
"statusReadyShort": "Pronto",
|
||||
"statusOpenShort": "Aperto",
|
||||
"openPlanItemsLabel": "Stato del piano",
|
||||
"openPlanItems": "{count} aperti",
|
||||
"unassignedPlanItems": "{count} aperti",
|
||||
"durationExampleLong": "es. 2x7 o 3*5",
|
||||
"durationExampleShort": "es. 2x7",
|
||||
"showImage": "Mostra immagine/disegno",
|
||||
"participants": "Partecipanti",
|
||||
"searchParticipants": "Cerca partecipanti",
|
||||
"filterAll": "Tutti",
|
||||
"filterPresent": "Presente",
|
||||
"filterAbsent": "Assente",
|
||||
"filterTest": "Prova",
|
||||
"quickAdd": "+ Aggiunta rapida",
|
||||
"selectTags": "Seleziona tag",
|
||||
"createDrawing": "Crea disegno esercizio",
|
||||
"overallActivity": "Attività complessiva",
|
||||
"editActivity": "Modifica attività",
|
||||
"editGroupActivity": "Modifica attività di gruppo",
|
||||
"assignParticipantsForGroupActivity": "Assegna partecipanti all’attività di gruppo",
|
||||
"delete": "Elimina",
|
||||
"min": "min",
|
||||
"errorLoadingPredefinedActivities": "Errore durante il caricamento delle attività predefinite",
|
||||
"selectParticipantAndNote": "Seleziona un partecipante e inserisci una nota.",
|
||||
"selectGroupAndActivity": "Seleziona un gruppo e inserisci un’attività.",
|
||||
"dateCannotBeDeleted": "La data non può essere eliminata",
|
||||
"dateCannotBeDeletedDetails": "Sono ancora presenti contenuti (piano, partecipanti, attività, incidenti o note).",
|
||||
"confirmDelete": "Conferma eliminazione",
|
||||
"confirmDeleteDate": "Vuoi davvero eliminare questa data?",
|
||||
"confirmDeleteDateDetails": "Verranno eliminati anche tutti i dati associati.",
|
||||
"noParticipants": "Nessun partecipante disponibile per questo giorno di allenamento.",
|
||||
"mustCreateAtLeastTwoGroups": "La prima volta è necessario creare almeno 2 gruppi.",
|
||||
"oneGroupAdded": "1 gruppo aggiunto correttamente.",
|
||||
"groupsCreated": "{count} gruppi creati correttamente.",
|
||||
"errorCreatingGroups": "Errore durante la creazione dei gruppi",
|
||||
"confirmDeleteGroup": "Vuoi davvero eliminare il gruppo \"{name}\"?",
|
||||
"groupDeletedSuccessfully": "Gruppo eliminato correttamente.",
|
||||
"errorDeletingGroup": "Errore durante l’eliminazione del gruppo",
|
||||
"errorCreatingActivity": "Errore durante la creazione dell’attività",
|
||||
"trainingPlanAsPDF": "Piano di allenamento in PDF",
|
||||
"trainingPlanPdfShort": "Programma in PDF",
|
||||
"trainingDayAsPDF": "Scarica il giorno di allenamento in PDF",
|
||||
"trainingDayAsPDFShort": "Giorno di allenamento in PDF",
|
||||
"trainingDaySummaryPdfShort": "Riepilogo partecipanti in PDF",
|
||||
"minutes": "Minuti",
|
||||
"formHandedOver": "Modulo di iscrizione consegnato",
|
||||
"errorOccurred": "Si è verificato un errore. Riprova.",
|
||||
"trainingTimesUpdated": "Orari di allenamento aggiornati correttamente.",
|
||||
"noActiveTrainingDay": "Nessun giorno di allenamento selezionato.",
|
||||
"statusEmpty": "Questo giorno di allenamento è ancora vuoto.",
|
||||
"statusInProgress": "Questo giorno di allenamento è preparato solo in parte.",
|
||||
"formMarkedAsHandedOver": "Modulo di iscrizione contrassegnato come consegnato",
|
||||
"errorMarkingForm": "Errore durante la marcatura del modulo",
|
||||
"dateNoLongerCurrent": "La data selezionata non era più attuale. Riprova.",
|
||||
"activityRequired": "Inserisci un’attività.",
|
||||
"activityNotFound": "Attività non trovata. Scegline una dalla lista.",
|
||||
"standardActivities": "Attività standard",
|
||||
"standardDurationShort": "min",
|
||||
"standardActivityAddError": "Non è stato possibile aggiungere l'attività standard.",
|
||||
"statusReady": "Orari e piano di allenamento sono impostati.",
|
||||
"filterExcused": "Giustificato",
|
||||
"participantStatusNone": "Nessuno stato",
|
||||
"participantStatusExcused": "Giustificato",
|
||||
"participantStatusCancelled": "Annullato"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Statistiche di allenamento",
|
||||
"activeMembers": "Membri attivi",
|
||||
"averageParticipationCurrentMonth": "Partecipazione media (mese corrente)",
|
||||
"averageParticipationLastMonth": "Partecipazione media (mese precedente)",
|
||||
"averageParticipationQuarter": "Partecipazione media (trimestre)",
|
||||
"averageParticipationHalfYear": "Partecipazione media (semestre)",
|
||||
"averageParticipationYear": "Partecipazione media (anno)",
|
||||
"trainingDays": "Giorni di allenamento (ultimi 12 mesi)",
|
||||
"memberParticipations": "Partecipazioni dei membri",
|
||||
"date": "Data",
|
||||
"weekday": "Giorno della settimana",
|
||||
"participants": "Partecipanti",
|
||||
"name": "Nome",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Data di nascita",
|
||||
"participations12Months": "Partecipazioni (12 mesi)",
|
||||
"participations3Months": "Partecipazioni (3 mesi)",
|
||||
"participationsTotal": "Partecipazioni (totale)",
|
||||
"lastTraining": "Ultimo allenamento",
|
||||
"actions": "Azioni",
|
||||
"showDetails": "Mostra dettagli"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Schema di esercizio di tennistavolo",
|
||||
"configureExercise": "Configura esercizio",
|
||||
"stepStartPosition": "1. Posizione iniziale",
|
||||
"stepStartPositionHint": "Da quale posizione di servizio inizia l’esercizio?",
|
||||
"stepFirstStroke": "2. Primo colpo",
|
||||
"stepFirstStrokeHint": "Definisci il lato e l’effetto della prima palla.",
|
||||
"stepTarget": "3. Obiettivo",
|
||||
"stepTargetHint": "Scegli la zona bersaglio per il primo colpo.",
|
||||
"stepAdditionalStrokes": "4. Colpi successivi",
|
||||
"stepAdditionalStrokesHint": "Aggiungi facoltativamente altre palle come sequenza.",
|
||||
"noAdditionalStrokes": "Nessun colpo successivo aggiunto finora.",
|
||||
"service": "Servizio:",
|
||||
"serviceTitle": "Servizio",
|
||||
"forehand": "Dritto",
|
||||
"backhand": "Rovescio",
|
||||
"spin": "Effetto:",
|
||||
"underspin": "Taglio",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Effetto laterale",
|
||||
"sideUnderspin": "Laterale tagliato",
|
||||
"counterSpin": "Controeffetto",
|
||||
"targetPosition": "Posizione bersaglio:",
|
||||
"targetPositionLabel": "Posizione bersaglio",
|
||||
"strokeSide": "Lato",
|
||||
"strokeTypeLabel": "Tipo di colpo",
|
||||
"addStroke": "Aggiungi colpo",
|
||||
"preview": "Anteprima",
|
||||
"previewHint": "Lo schema appare non appena il primo colpo è configurato completamente.",
|
||||
"completeFirstStroke": "Completa il primo colpo",
|
||||
"completeFirstStrokeHint": "Scegli posizione iniziale, lato, effetto e obiettivo. Lo schema apparirà poi.",
|
||||
"codeLabel": "Codice",
|
||||
"titleLabel": "Titolo",
|
||||
"startLeft": "sinistra",
|
||||
"startMiddle": "centro",
|
||||
"startRight": "destra",
|
||||
"strokeTypePush": "Palleggio corto",
|
||||
"strokeTypeCounter": "Contro",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Blocco",
|
||||
"strokeTypeSmash": "Schiacciata",
|
||||
"strokeTypeChopDefense": "Difesa tagliata",
|
||||
"strokeTypeLobDefense": "Difesa alta",
|
||||
"targetForehandLong": "Dritto lungo",
|
||||
"targetMiddleLong": "Centro lungo",
|
||||
"targetBackhandLong": "Rovescio lungo",
|
||||
"targetForehandHalfLong": "Dritto mezzo-lungo",
|
||||
"targetMiddleHalfLong": "Centro mezzo-lungo",
|
||||
"targetBackhandHalfLong": "Rovescio mezzo-lungo",
|
||||
"targetForehandShort": "Dritto corto",
|
||||
"targetMiddleShort": "Centro corto",
|
||||
"targetBackhandShort": "Rovescio corto",
|
||||
"toTarget": "verso"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "次へ",
|
||||
"previous": "前へ",
|
||||
"submit": "送信",
|
||||
"reset": "リセット"
|
||||
"reset": "リセット",
|
||||
"all": "すべて",
|
||||
"today": "今日",
|
||||
"time": "時刻",
|
||||
"new": "新規",
|
||||
"update": "更新",
|
||||
"create": "作成",
|
||||
"remove": "削除",
|
||||
"select": "選択",
|
||||
"download": "ダウンロード",
|
||||
"choose": "選択",
|
||||
"apply": "適用",
|
||||
"clear": "クリア",
|
||||
"details": "詳細",
|
||||
"view": "表示",
|
||||
"name": "名前",
|
||||
"date": "日付",
|
||||
"status": "状態",
|
||||
"type": "種類",
|
||||
"description": "説明",
|
||||
"active": "アクティブ",
|
||||
"inactive": "非アクティブ",
|
||||
"enabled": "有効",
|
||||
"disabled": "無効",
|
||||
"required": "必須",
|
||||
"optional": "任意",
|
||||
"in": "後",
|
||||
"min": "分",
|
||||
"minutes": "分",
|
||||
"hours": "時間",
|
||||
"days": "日",
|
||||
"weeks": "週間",
|
||||
"months": "か月",
|
||||
"years": "年",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "ホーム",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "システムログ",
|
||||
"memberTransfer": "メンバー転送",
|
||||
"myTischtennisAccount": "myTischtennisアカウント",
|
||||
"clickTtAccount": "HTTV / click-TT アカウント",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "個人設定",
|
||||
"logout": "ログアウト",
|
||||
"login": "ログイン",
|
||||
"register": "登録",
|
||||
"dailyBusiness": "日常業務",
|
||||
"competitions": "競技",
|
||||
"settings": "設定"
|
||||
"settings": "設定",
|
||||
"backToHome": "ホームへ戻る"
|
||||
},
|
||||
"club": {
|
||||
"select": "クラブを選択",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "読み込む",
|
||||
"name": "クラブ名",
|
||||
"create": "クラブを作成",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "クラブを作成",
|
||||
"members": "メンバー",
|
||||
"trainingDiary": "練習日誌",
|
||||
"noAccess": "このクラブへのアクセス権はまだ付与されていません。",
|
||||
"requestAccess": "アクセスを申請",
|
||||
"openRequests": "保留中のアクセス申請",
|
||||
"title": "クラブ",
|
||||
"openAccessRequests": "保留中のアクセス申請",
|
||||
"diary": "練習日誌",
|
||||
"accessDenied": "このクラブへのアクセスは許可されていません。",
|
||||
"errorLoadingRequests": "保留中の申請の読み込みエラー",
|
||||
"accessRequested": "アクセスを申請しました。",
|
||||
"accessRequestPending": "このクラブへのアクセスを申請しました。しばらくお待ちください。",
|
||||
"accessRequestFailed": "アクセス申請を送信できませんでした。"
|
||||
},
|
||||
"auth": {
|
||||
"login": "ログイン",
|
||||
@@ -331,6 +381,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "メンバー",
|
||||
"memberInfo": "メンバー情報",
|
||||
"activeMembers": "アクティブメンバー",
|
||||
"testMembers": "体験メンバー",
|
||||
"inactiveMembers": "非アクティブメンバー",
|
||||
"generatePhoneList": "電話リストを作成",
|
||||
"onlyActiveMembers": "アクティブメンバーのみ出力されます",
|
||||
"updateRatings": "myTischtennis から TTR/QTTR を更新",
|
||||
"updating": "更新中...",
|
||||
"transferMembers": "メンバーを移行",
|
||||
"newMember": "新規メンバー",
|
||||
"editMember": "メンバーを編集",
|
||||
"createNewMember": "新規メンバーを作成",
|
||||
"firstName": "名",
|
||||
"lastName": "姓",
|
||||
"street": "住所",
|
||||
"postalCode": "郵便番号",
|
||||
"city": "市区町村",
|
||||
"birthdate": "生年月日",
|
||||
"phones": "電話番号",
|
||||
"emails": "メールアドレス",
|
||||
"addPhone": "電話番号を追加",
|
||||
"addEmail": "メールアドレスを追加",
|
||||
"phoneNumber": "電話番号",
|
||||
"emailAddress": "メールアドレス",
|
||||
"parent": "保護者",
|
||||
"parentName": "名前(例:母、父)",
|
||||
"primary": "メイン",
|
||||
"gender": "性別",
|
||||
"genderUnknown": "不明",
|
||||
"genderMale": "男性",
|
||||
"genderFemale": "女性",
|
||||
"genderDiverse": "その他",
|
||||
"picsInInternetAllowed": "インターネット掲載可",
|
||||
"testMembership": "体験会員",
|
||||
"memberFormHandedOver": "会員フォーム受け渡し済み",
|
||||
"trainingGroups": "練習グループ",
|
||||
"noGroupsAssigned": "グループ未割り当て",
|
||||
"noGroupsAvailable": "利用可能なグループがありません",
|
||||
"addGroup": "グループを追加...",
|
||||
"remove": "削除",
|
||||
"image": "画像",
|
||||
"selectFile": "ファイルを選択",
|
||||
"camera": "カメラ",
|
||||
"imagePreview": "メンバー画像のプレビュー",
|
||||
"change": "変更",
|
||||
"create": "作成",
|
||||
"clearFields": "入力欄をクリア",
|
||||
"showInactiveMembers": "非アクティブメンバーを表示",
|
||||
"ageGroup": "年齢区分",
|
||||
"adults": "一般(20歳以上)",
|
||||
"j19": "J19(19歳以下)",
|
||||
"j17": "J17(17歳以下)",
|
||||
"j15": "J15(15歳以下)",
|
||||
"j13": "J13(13歳以下)",
|
||||
"j11": "J11(11歳以下)",
|
||||
"clearFilters": "フィルターをリセット",
|
||||
"imageInternet": "画像(公開)",
|
||||
"testMember": "体験",
|
||||
"name": "姓名",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "住所",
|
||||
"active": "アクティブ",
|
||||
"actions": "操作",
|
||||
"phoneNumberShort": "電話番号",
|
||||
"emailAddressShort": "メール",
|
||||
"trainingParticipations": "練習参加回数",
|
||||
"memberImage": "メンバー画像",
|
||||
"inactive": "非アクティブ",
|
||||
"sixOrMoreParticipations": "練習参加 6 回以上",
|
||||
"threeOrMoreParticipations": "練習参加 3 回以上",
|
||||
"noTestMembership": "体験会員ではない",
|
||||
"formHandedOver": "会員フォーム受け渡し済み",
|
||||
"deactivateMember": "メンバーを無効化",
|
||||
"notes": "メモ",
|
||||
"exercises": "練習",
|
||||
"memberImages": "メンバー画像",
|
||||
"testMembershipRemoved": "体験会員を解除しました。",
|
||||
"errorRemovingTestMembership": "体験会員の解除エラー。",
|
||||
"formMarkedAsHandedOver": "会員フォームを受け渡し済みにしました。",
|
||||
"errorMarkingForm": "フォームの更新エラー。",
|
||||
"deactivateMemberTitle": "メンバーを無効化",
|
||||
"deactivateMemberConfirm": "「{name}」を本当に無効化しますか?",
|
||||
"memberDeactivated": "メンバーを無効化しました",
|
||||
"errorDeactivatingMember": "メンバーの無効化エラー",
|
||||
"errorSavingMember": "メンバーの保存エラー",
|
||||
"errorAddingToGroup": "グループへの追加エラー",
|
||||
"errorRemovingFromGroup": "グループからの削除エラー",
|
||||
"imageUpdated": "画像を更新しました",
|
||||
"errorRotatingImage": "画像回転エラー",
|
||||
"imageDeleted": "画像を削除しました。",
|
||||
"errorDeletingImage": "画像を削除できませんでした",
|
||||
"primaryImageUpdated": "メイン画像を更新しました。",
|
||||
"errorSettingPrimaryImage": "メイン画像を設定できませんでした",
|
||||
"errorUploadingImage": "画像をアップロードできませんでした",
|
||||
"errorLoadingImage": "画像の読み込みエラー",
|
||||
"phoneList": "電話リスト.pdf",
|
||||
"errorLoadingTrainingParticipations": "練習参加履歴の読み込みエラー",
|
||||
"errorUpdatingRatings": "TTR/QTTR 更新エラー",
|
||||
"errorTransfer": "移行エラー",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -341,11 +491,17 @@
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeActiveDataIncomplete": "アクティブ + データ不完全",
|
||||
"scopeDataIncomplete": "データ不完全",
|
||||
"scopeInactive": "Inactive",
|
||||
"searchAndFilter": "検索とフィルター",
|
||||
"bulkActions": "一括操作",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "少なくとも 1 つの練習グループを割り当ててください。",
|
||||
"editorRecommendedEntry": "推奨入力",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -363,7 +519,7 @@
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"status": "状態",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
@@ -390,17 +546,33 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "年齢範囲",
|
||||
"ageFromPlaceholder": "から",
|
||||
"ageToPlaceholder": "まで",
|
||||
"age": "Age",
|
||||
"dataQuality": "データ品質",
|
||||
"dataQualityComplete": "データは完全です",
|
||||
"dataIssueBirthdate": "生年月日がありません",
|
||||
"dataIssuePhone": "電話番号がありません",
|
||||
"dataIssueEmail": "メールアドレスがありません",
|
||||
"dataIssueAddress": "住所がありません",
|
||||
"dataIssueGender": "性別が未設定です",
|
||||
"dataIssueTrainingGroup": "練習グループがありません",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "データ品質を確認",
|
||||
"taskAssignTrainingGroup": "練習グループを割り当て",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "開く",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "TTR 履歴を表示",
|
||||
"missingTtrHistoryId": "myTischtennis ID が登録されていません",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -422,5 +594,212 @@
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"diary": {
|
||||
"title": "練習日誌",
|
||||
"date": "日付",
|
||||
"noEntries": "エントリがありません",
|
||||
"deleteDate": "日付を削除",
|
||||
"createNew": "新規作成",
|
||||
"gallery": "メンバーギャラリー",
|
||||
"galleryCreating": "ギャラリーを作成中…",
|
||||
"selectTrainingGroup": "練習グループを選択",
|
||||
"selectTrainingGroupPlaceholder": "選択してください...",
|
||||
"suggestion": "提案",
|
||||
"nextAppointment": "次回の予定",
|
||||
"applySuggestion": "提案を適用",
|
||||
"skipSuggestion": "提案なしで続行",
|
||||
"createNewDate": "新しい日付を作成",
|
||||
"activeTrainingDay": "現在の練習日",
|
||||
"trainingDaySection": "練習日",
|
||||
"trainingDayChecklist": "完了チェック",
|
||||
"trainingStart": "練習開始",
|
||||
"trainingEnd": "練習終了",
|
||||
"trainingWindow": "練習時間帯",
|
||||
"trainingWindowUnset": "未設定",
|
||||
"groupsLabel": "グループ",
|
||||
"groupsSection": "グループ",
|
||||
"createDate": "日付を作成",
|
||||
"editTrainingTimes": "練習時間を編集",
|
||||
"updateTimes": "時間を更新",
|
||||
"groupManagement": "グループ管理",
|
||||
"createGroups": "グループを作成",
|
||||
"trainingPlan": "練習計画",
|
||||
"planActivitiesCount": "計画アクティビティ",
|
||||
"timeblocksCount": "時間ブロック",
|
||||
"planEmptyState": "練習計画にはまだ何も登録されていません。",
|
||||
"planAddHint": "新しい計画項目は上の操作から追加します。",
|
||||
"startTime": "開始時刻",
|
||||
"group": "グループ...",
|
||||
"timeblock": "時間ブロック",
|
||||
"assignParticipants": "参加者を割り当て",
|
||||
"addTimeblock": "時間ブロック",
|
||||
"activities": "アクティビティ",
|
||||
"freeActivities": "自由アクティビティ",
|
||||
"noFreeActivitiesYet": "自由アクティビティはまだありません。",
|
||||
"addActivity": "アクティビティを追加",
|
||||
"bookAccident": "事故を記録",
|
||||
"activity": "アクティビティ",
|
||||
"duration": "時間",
|
||||
"activityImage": "アクティビティ画像",
|
||||
"activityDrawing": "アクティビティ図",
|
||||
"today": "今日",
|
||||
"existingGroups": "既存のグループ",
|
||||
"leader": "担当者",
|
||||
"deleteGroup": "グループを削除",
|
||||
"numberOfGroups": "グループ数",
|
||||
"addGroup": "グループを追加",
|
||||
"activityOrTimeblock": "アクティビティ / 時間ブロック",
|
||||
"durationMinutes": "時間(分)",
|
||||
"standardActivities": "標準アクティビティ",
|
||||
"standardDurationShort": "分",
|
||||
"standardActivityAddError": "標準アクティビティを追加できませんでした。",
|
||||
"addGroupActivity": "グループアクティビティを追加",
|
||||
"addGroupButton": "+ グループ",
|
||||
"all": "すべて",
|
||||
"selectGroup": "グループを選択...",
|
||||
"activityPlaceholder": "アクティビティ",
|
||||
"assignShort": "割り当て",
|
||||
"statusReadyShort": "準備完了",
|
||||
"statusOpenShort": "未完了",
|
||||
"openPlanItemsLabel": "計画状況",
|
||||
"openPlanItems": "{count} 件未完了",
|
||||
"unassignedPlanItems": "{count} 件未割り当て",
|
||||
"durationExampleLong": "例: 2x7 または 3*5",
|
||||
"durationExampleShort": "例: 2x7",
|
||||
"showImage": "画像/図を表示",
|
||||
"participants": "参加者",
|
||||
"searchParticipants": "参加者を検索",
|
||||
"filterAll": "すべて",
|
||||
"filterPresent": "出席",
|
||||
"filterAbsent": "欠席",
|
||||
"filterExcused": "欠席連絡あり",
|
||||
"filterTest": "体験",
|
||||
"participantStatusNone": "ステータスなし",
|
||||
"participantStatusExcused": "欠席連絡あり",
|
||||
"participantStatusCancelled": "キャンセル",
|
||||
"quickAdd": "+ クイック追加",
|
||||
"selectTags": "タグを選択",
|
||||
"createDrawing": "練習図を作成",
|
||||
"overallActivity": "全体アクティビティ",
|
||||
"editActivity": "アクティビティを編集",
|
||||
"editGroupActivity": "グループアクティビティを編集",
|
||||
"assignParticipantsForGroupActivity": "グループアクティビティの参加者を割り当て",
|
||||
"delete": "削除",
|
||||
"min": "分",
|
||||
"errorLoadingPredefinedActivities": "事前定義アクティビティの読み込みエラー",
|
||||
"selectParticipantAndNote": "参加者を選択し、メモを入力してください。",
|
||||
"selectGroupAndActivity": "グループを選択し、アクティビティを入力してください。",
|
||||
"dateCannotBeDeleted": "日付を削除できません",
|
||||
"dateCannotBeDeletedDetails": "まだ内容があります(練習計画、参加者、アクティビティ、事故、メモ)。",
|
||||
"confirmDelete": "削除を確認",
|
||||
"confirmDeleteDate": "この日付を本当に削除しますか?",
|
||||
"confirmDeleteDateDetails": "関連データもすべて削除されます。",
|
||||
"noParticipants": "この練習日に参加者がいません。",
|
||||
"mustCreateAtLeastTwoGroups": "初回作成時は少なくとも 2 つのグループが必要です。",
|
||||
"oneGroupAdded": "1 つのグループを追加しました。",
|
||||
"groupsCreated": "{count} 個のグループを作成しました。",
|
||||
"errorCreatingGroups": "グループ作成エラー",
|
||||
"confirmDeleteGroup": "グループ「{name}」を本当に削除しますか?",
|
||||
"groupDeletedSuccessfully": "グループを削除しました。",
|
||||
"errorDeletingGroup": "グループ削除エラー",
|
||||
"errorCreatingActivity": "アクティビティ作成エラー",
|
||||
"trainingPlanAsPDF": "練習計画を PDF で出力",
|
||||
"trainingPlanPdfShort": "進行計画を PDF",
|
||||
"trainingDayAsPDF": "練習日を PDF でダウンロード",
|
||||
"trainingDayAsPDFShort": "練習日を PDF",
|
||||
"trainingDaySummaryPdfShort": "参加者一覧を PDF",
|
||||
"minutes": "分",
|
||||
"formHandedOver": "会員フォーム受け渡し済み",
|
||||
"errorOccurred": "エラーが発生しました。もう一度お試しください。",
|
||||
"trainingTimesUpdated": "練習時間を更新しました。",
|
||||
"noActiveTrainingDay": "練習日が選択されていません。",
|
||||
"statusReady": "時間と練習計画は設定済みです。",
|
||||
"statusEmpty": "この練習日はまだ空です。",
|
||||
"statusInProgress": "この練習日は一部のみ準備されています。",
|
||||
"formMarkedAsHandedOver": "会員フォームを受け渡し済みにしました",
|
||||
"errorMarkingForm": "会員フォーム更新エラー",
|
||||
"dateNoLongerCurrent": "選択した日付は最新ではありません。もう一度お試しください。",
|
||||
"activityRequired": "アクティビティを入力してください。",
|
||||
"activityNotFound": "アクティビティが見つかりません。リストから選択してください。"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "練習統計",
|
||||
"activeMembers": "アクティブメンバー",
|
||||
"averageParticipationCurrentMonth": "平均参加数(今月)",
|
||||
"averageParticipationLastMonth": "平均参加数(先月)",
|
||||
"averageParticipationQuarter": "平均参加数(四半期)",
|
||||
"averageParticipationHalfYear": "平均参加数(半年)",
|
||||
"averageParticipationYear": "平均参加数(年間)",
|
||||
"trainingDays": "練習日(過去 12 か月)",
|
||||
"memberParticipations": "メンバー参加数",
|
||||
"date": "日付",
|
||||
"weekday": "曜日",
|
||||
"participants": "参加者",
|
||||
"name": "名前",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "生年月日",
|
||||
"participations12Months": "参加回数(12 か月)",
|
||||
"participations3Months": "参加回数(3 か月)",
|
||||
"participationsTotal": "参加回数(合計)",
|
||||
"lastTraining": "最終練習",
|
||||
"actions": "操作",
|
||||
"showDetails": "詳細を表示"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "卓球練習図",
|
||||
"configureExercise": "練習を設定",
|
||||
"stepStartPosition": "1. 開始位置",
|
||||
"stepStartPositionHint": "どのサーブ位置から練習を始めますか?",
|
||||
"stepFirstStroke": "2. 第1打",
|
||||
"stepFirstStrokeHint": "最初のボールの打球面と回転を設定します。",
|
||||
"stepTarget": "3. 落点",
|
||||
"stepTargetHint": "第1打の落点ゾーンを選択します。",
|
||||
"stepAdditionalStrokes": "4. 後続の打球",
|
||||
"stepAdditionalStrokesHint": "必要に応じて後続のボールを一覧で追加できます。",
|
||||
"noAdditionalStrokes": "まだ後続の打球はありません。",
|
||||
"service": "サーブ:",
|
||||
"serviceTitle": "サーブ",
|
||||
"forehand": "フォアハンド",
|
||||
"backhand": "バックハンド",
|
||||
"spin": "回転:",
|
||||
"underspin": "下回転",
|
||||
"topspin": "上回転",
|
||||
"sidespin": "横回転",
|
||||
"sideUnderspin": "横下回転",
|
||||
"counterSpin": "逆回転",
|
||||
"targetPosition": "落点位置:",
|
||||
"targetPositionLabel": "落点位置",
|
||||
"strokeSide": "面",
|
||||
"strokeTypeLabel": "打球タイプ",
|
||||
"addStroke": "打球を追加",
|
||||
"preview": "プレビュー",
|
||||
"previewHint": "最初の打球が完全に設定されると図が表示されます。",
|
||||
"completeFirstStroke": "第1打を完成させる",
|
||||
"completeFirstStrokeHint": "開始位置、打球面、回転、落点を選択すると、図が表示されます。",
|
||||
"codeLabel": "略称",
|
||||
"titleLabel": "タイトル",
|
||||
"startLeft": "左",
|
||||
"startMiddle": "中央",
|
||||
"startRight": "右",
|
||||
"strokeTypePush": "ツッツキ",
|
||||
"strokeTypeCounter": "カウンター",
|
||||
"strokeTypeTopspin": "トップスピン",
|
||||
"strokeTypeFlip": "フリック",
|
||||
"strokeTypeBlock": "ブロック",
|
||||
"strokeTypeSmash": "スマッシュ",
|
||||
"strokeTypeChopDefense": "カット守備",
|
||||
"strokeTypeLobDefense": "ロブ守備",
|
||||
"targetForehandLong": "フォア奥",
|
||||
"targetMiddleLong": "ミドル奥",
|
||||
"targetBackhandLong": "バック奥",
|
||||
"targetForehandHalfLong": "フォア半長",
|
||||
"targetMiddleHalfLong": "ミドル半長",
|
||||
"targetBackhandHalfLong": "バック半長",
|
||||
"targetForehandShort": "フォア短",
|
||||
"targetMiddleShort": "ミドル短",
|
||||
"targetBackhandShort": "バック短",
|
||||
"toTarget": "へ"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "Dalej",
|
||||
"previous": "Poprzedni",
|
||||
"submit": "Wyślij",
|
||||
"reset": "Resetuj"
|
||||
"reset": "Resetuj",
|
||||
"all": "Wszystkie",
|
||||
"today": "Dzisiaj",
|
||||
"time": "Czas",
|
||||
"new": "Nowy",
|
||||
"update": "Aktualizuj",
|
||||
"create": "Utwórz",
|
||||
"remove": "Usuń",
|
||||
"select": "Wybierz",
|
||||
"download": "Pobierz",
|
||||
"choose": "Wybierz",
|
||||
"apply": "Zastosuj",
|
||||
"clear": "Wyczyść",
|
||||
"details": "Szczegóły",
|
||||
"view": "Pokaż",
|
||||
"name": "Nazwa",
|
||||
"date": "Data",
|
||||
"status": "Status",
|
||||
"type": "Typ",
|
||||
"description": "Opis",
|
||||
"active": "Aktywny",
|
||||
"inactive": "Nieaktywny",
|
||||
"enabled": "Włączony",
|
||||
"disabled": "Wyłączony",
|
||||
"required": "Wymagane",
|
||||
"optional": "Opcjonalne",
|
||||
"in": "w",
|
||||
"min": "min",
|
||||
"minutes": "minuty",
|
||||
"hours": "godziny",
|
||||
"days": "dni",
|
||||
"weeks": "tygodnie",
|
||||
"months": "miesiące",
|
||||
"years": "lata",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Strona główna",
|
||||
@@ -36,18 +70,21 @@
|
||||
"schedule": "Harmonogramy",
|
||||
"clubSettings": "Ustawienia klubu",
|
||||
"predefinedActivities": "Predefiniowane aktywności",
|
||||
"teamManagement": "Zarządzanie zespołem",
|
||||
"teamManagement": "Zarządzanie drużyną",
|
||||
"permissions": "Uprawnienia",
|
||||
"logs": "Logi systemowe",
|
||||
"memberTransfer": "Transfer członka",
|
||||
"memberTransfer": "Transfer członków",
|
||||
"myTischtennisAccount": "Konto myTischtennis",
|
||||
"clickTtAccount": "Konto HTTV / click-TT",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "Ustawienia osobiste",
|
||||
"logout": "Wyloguj",
|
||||
"login": "Zaloguj",
|
||||
"register": "Zarejestruj",
|
||||
"dailyBusiness": "Codzienne sprawy",
|
||||
"competitions": "Zawody",
|
||||
"settings": "Ustawienia"
|
||||
"dailyBusiness": "Codzienna praca",
|
||||
"competitions": "Rozgrywki",
|
||||
"settings": "Ustawienia",
|
||||
"backToHome": "Powrót do strony głównej"
|
||||
},
|
||||
"club": {
|
||||
"select": "Wybierz klub",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "Załaduj",
|
||||
"name": "Nazwa klubu",
|
||||
"create": "Utwórz klub",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "Utwórz klub",
|
||||
"members": "Członkowie",
|
||||
"trainingDiary": "Dziennik treningowy",
|
||||
"noAccess": "Nie masz jeszcze dostępu do tego klubu.",
|
||||
"requestAccess": "Poproś o dostęp",
|
||||
"openRequests": "Otwarte prośby o dostęp",
|
||||
"title": "Klub",
|
||||
"openAccessRequests": "Otwarte prośby o dostęp",
|
||||
"diary": "Dziennik treningowy",
|
||||
"accessDenied": "Dostęp do klubu został odrzucony.",
|
||||
"errorLoadingRequests": "Błąd podczas ładowania otwartych próśb",
|
||||
"accessRequested": "Poproszono o dostęp.",
|
||||
"accessRequestPending": "Poproszono o dostęp do tego klubu. Proszę czekać.",
|
||||
"accessRequestFailed": "Nie udało się wysłać prośby o dostęp."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Zaloguj",
|
||||
@@ -331,96 +381,425 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
"search": "Search",
|
||||
"searchPlaceholder": "Search by name, city, phone or email",
|
||||
"memberScope": "Member scope",
|
||||
"scopeAll": "All",
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeInactive": "Inactive",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
"clickTtRequestAction": "Request click-TT eligibility",
|
||||
"clickTtRequestTitle": "Start Click-TT request",
|
||||
"clickTtRequestConfirm": "Start the automated Click-TT request for {name}?",
|
||||
"clickTtRequestHint": "The request is processed automatically by the backend Click-TT workflow.",
|
||||
"clickTtRequestSuccess": "Please sign in to click-tt and submit the request there.",
|
||||
"clickTtRequestError": "The Click-TT request could not be submitted.",
|
||||
"clickTtRequestFailedLog": "Click-TT request failed",
|
||||
"deleteImageTitle": "Delete image",
|
||||
"deleteImageConfirm": "Do you really want to delete this image?",
|
||||
"parentFallback": "Parent",
|
||||
"loadingMembers": "Loading members...",
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"title": "Członkowie",
|
||||
"memberInfo": "Informacje o członku",
|
||||
"activeMembers": "Aktywni członkowie",
|
||||
"testMembers": "Członkowie próbni",
|
||||
"inactiveMembers": "Nieaktywni członkowie",
|
||||
"generatePhoneList": "Generuj listę telefoniczną",
|
||||
"onlyActiveMembers": "Uwzględniani są tylko aktywni członkowie",
|
||||
"updateRatings": "Aktualizuj TTR/QTTR z myTischtennis",
|
||||
"updating": "Aktualizowanie...",
|
||||
"transferMembers": "Przenieś członków",
|
||||
"newMember": "Nowy członek",
|
||||
"editMember": "Edytuj członka",
|
||||
"createNewMember": "Utwórz nowego członka",
|
||||
"firstName": "Imię",
|
||||
"lastName": "Nazwisko",
|
||||
"street": "Ulica",
|
||||
"postalCode": "Kod pocztowy",
|
||||
"city": "Miasto",
|
||||
"birthdate": "Data urodzenia",
|
||||
"phones": "Numery telefonów",
|
||||
"emails": "Adresy e-mail",
|
||||
"addPhone": "Dodaj numer telefonu",
|
||||
"addEmail": "Dodaj adres e-mail",
|
||||
"phoneNumber": "Numer telefonu",
|
||||
"emailAddress": "Adres e-mail",
|
||||
"parent": "Rodzic",
|
||||
"parentName": "Imię (np. matka, ojciec)",
|
||||
"primary": "Główny",
|
||||
"gender": "Płeć",
|
||||
"genderUnknown": "Nieznana",
|
||||
"genderMale": "Męska",
|
||||
"genderFemale": "Żeńska",
|
||||
"genderDiverse": "Inna",
|
||||
"picsInInternetAllowed": "Zdjęcia dozwolone w internecie",
|
||||
"testMembership": "Członkostwo próbne",
|
||||
"memberFormHandedOver": "Formularz członkowski przekazany",
|
||||
"trainingGroups": "Grupy treningowe",
|
||||
"noGroupsAssigned": "Brak przypisanych grup",
|
||||
"noGroupsAvailable": "Brak dostępnych grup",
|
||||
"addGroup": "Dodaj grupę...",
|
||||
"remove": "Usuń",
|
||||
"image": "Obraz",
|
||||
"selectFile": "Wybierz plik",
|
||||
"camera": "Aparat",
|
||||
"imagePreview": "Podgląd zdjęcia członka",
|
||||
"change": "Zmień",
|
||||
"create": "Utwórz",
|
||||
"clearFields": "Wyczyść pola",
|
||||
"showInactiveMembers": "Pokaż nieaktywnych członków",
|
||||
"ageGroup": "Kategoria wiekowa",
|
||||
"adults": "Dorośli (20+)",
|
||||
"j19": "U19 (19 lat i mniej)",
|
||||
"j17": "U17 (17 lat i mniej)",
|
||||
"j15": "U15 (15 lat i mniej)",
|
||||
"j13": "U13 (13 lat i mniej)",
|
||||
"j11": "U11 (11 lat i mniej)",
|
||||
"clearFilters": "Resetuj filtry",
|
||||
"imageInternet": "Zdjęcie (www?)",
|
||||
"testMember": "Próba",
|
||||
"name": "Nazwisko, imię",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Adres",
|
||||
"active": "Aktywny",
|
||||
"actions": "Akcje",
|
||||
"phoneNumberShort": "Tel.",
|
||||
"emailAddressShort": "E-mail",
|
||||
"trainingParticipations": "Udziały w treningach",
|
||||
"memberImage": "Zdjęcie członka",
|
||||
"inactive": "nieaktywny",
|
||||
"sixOrMoreParticipations": "6 lub więcej udziałów w treningu",
|
||||
"threeOrMoreParticipations": "3 lub więcej udziałów w treningu",
|
||||
"noTestMembership": "Nie jest już członkiem próbnym",
|
||||
"formHandedOver": "Formularz członkowski przekazany",
|
||||
"deactivateMember": "Dezaktywuj członka",
|
||||
"notes": "Notatki",
|
||||
"exercises": "Ćwiczenia",
|
||||
"memberImages": "Zdjęcia członka",
|
||||
"testMembershipRemoved": "Usunięto członkostwo próbne.",
|
||||
"errorRemovingTestMembership": "Błąd podczas usuwania członkostwa próbnego.",
|
||||
"formMarkedAsHandedOver": "Formularz członkowski oznaczono jako przekazany.",
|
||||
"errorMarkingForm": "Błąd podczas oznaczania formularza.",
|
||||
"deactivateMemberTitle": "Dezaktywuj członka",
|
||||
"deactivateMemberConfirm": "Czy na pewno chcesz dezaktywować „{name}”?",
|
||||
"memberDeactivated": "Członek został dezaktywowany",
|
||||
"errorDeactivatingMember": "Błąd podczas dezaktywacji członka",
|
||||
"errorSavingMember": "Błąd podczas zapisywania członka",
|
||||
"errorAddingToGroup": "Błąd podczas dodawania do grupy",
|
||||
"errorRemovingFromGroup": "Błąd podczas usuwania z grupy",
|
||||
"imageUpdated": "Zdjęcie zaktualizowano",
|
||||
"errorRotatingImage": "Błąd podczas obracania zdjęcia",
|
||||
"imageDeleted": "Zdjęcie zostało usunięte.",
|
||||
"errorDeletingImage": "Nie udało się usunąć zdjęcia",
|
||||
"primaryImageUpdated": "Zaktualizowano główne zdjęcie.",
|
||||
"errorSettingPrimaryImage": "Nie udało się ustawić głównego zdjęcia",
|
||||
"errorUploadingImage": "Nie udało się przesłać zdjęcia",
|
||||
"errorLoadingImage": "Błąd podczas ładowania zdjęcia",
|
||||
"phoneList": "lista-telefoniczna.pdf",
|
||||
"errorLoadingTrainingParticipations": "Błąd podczas ładowania udziałów treningowych",
|
||||
"errorUpdatingRatings": "Błąd podczas aktualizacji wartości TTR/QTTR",
|
||||
"errorTransfer": "Błąd transferu",
|
||||
"subtitle": "Szukaj, filtruj i edytuj członków bezpośrednio.",
|
||||
"closeEditor": "Zamknij edytor",
|
||||
"visibleMembers": "Widoczni członkowie",
|
||||
"search": "Szukaj",
|
||||
"searchPlaceholder": "Szukaj po nazwisku, mieście, telefonie lub e-mailu",
|
||||
"memberScope": "Zakres członków",
|
||||
"scopeAll": "Wszyscy",
|
||||
"scopeActive": "Aktywni",
|
||||
"scopeTest": "Próba",
|
||||
"scopeNeedsForm": "Formularz niezweryfikowany",
|
||||
"scopeDataIncomplete": "Niepełne dane",
|
||||
"scopeInactive": "Nieaktywni",
|
||||
"scopeActiveDataIncomplete": "Aktywny + niepełne dane",
|
||||
"searchAndFilter": "Wyszukiwanie i filtry",
|
||||
"bulkActions": "Akcje zbiorcze",
|
||||
"resultsVisible": "widocznych członków",
|
||||
"editHint": "Kliknięcie wiersza otwiera edytor.",
|
||||
"editorCreateHint": "Utwórz nowego członka i od razu wprowadź dane kontaktowe.",
|
||||
"editorEditHint": "Edytuj dane użytkownika {name}.",
|
||||
"editorAssignTrainingGroupHint": "Przypisz co najmniej jedną grupę treningową.",
|
||||
"editorRecommendedEntry": "Zalecany wpis",
|
||||
"transferSuccessTitle": "Transfer zakończony sukcesem",
|
||||
"transferErrorTitle": "Błąd transferu",
|
||||
"clickTtRequestPending": "Wniosek Click-TT w toku",
|
||||
"clickTtRequestAction": "Poproś o uprawnienie Click-TT",
|
||||
"clickTtRequestTitle": "Uruchom wniosek Click-TT",
|
||||
"clickTtRequestConfirm": "Czy uruchomić automatyczny wniosek Click-TT dla {name}?",
|
||||
"clickTtRequestHint": "Wniosek jest przetwarzany automatycznie przez backendowy workflow Click-TT.",
|
||||
"clickTtRequestSuccess": "Zaloguj się jeszcze do click-tt i wyślij tam wniosek.",
|
||||
"clickTtRequestError": "Nie udało się wysłać wniosku Click-TT.",
|
||||
"clickTtRequestFailedLog": "Wniosek Click-TT nie powiódł się",
|
||||
"deleteImageTitle": "Usuń zdjęcie",
|
||||
"deleteImageConfirm": "Czy na pewno chcesz usunąć to zdjęcie?",
|
||||
"parentFallback": "Rodzic",
|
||||
"loadingMembers": "Ładowanie członków...",
|
||||
"errorLoadingMembers": "Nie udało się załadować listy członków.",
|
||||
"scopeNotTraining": "Już nie trenuje",
|
||||
"notInTrainingTooltip": "Brak udziału od {weeks} tygodni treningowych",
|
||||
"status": "Status",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
"noAddressShort": "No address",
|
||||
"clickTtSubmitted": "Click-TT submitted",
|
||||
"markRegular": "Mark regular",
|
||||
"markFormReceived": "Mark form verified",
|
||||
"contact": "Kontakt",
|
||||
"noPhoneShort": "Brak telefonu",
|
||||
"noEmailShort": "Brak e-maila",
|
||||
"noAddressShort": "Brak adresu",
|
||||
"clickTtSubmitted": "Click-TT wysłane",
|
||||
"markRegular": "Oznacz jako regularny",
|
||||
"markFormReceived": "Oznacz formularz jako zweryfikowany",
|
||||
"clickTtRequestShort": "Click-TT",
|
||||
"clickTtRequestPendingShort": "Pending ...",
|
||||
"memberDetails": "Member details",
|
||||
"previewLastTraining": "Last training",
|
||||
"previewNoLastTraining": "No participation yet",
|
||||
"phoneListForSelection": "Phone list for selection",
|
||||
"markFormsForSelection": "Verify forms for selection",
|
||||
"markRegularForSelection": "Mark selection regular",
|
||||
"phoneListSelectionFile": "phone-list-selection.pdf",
|
||||
"batchFormsMarkedSuccess": "Marked {count} form(s) as verified.",
|
||||
"batchFormsMarkedEmpty": "There are no unverified forms in the current selection.",
|
||||
"batchMarkedRegularSuccess": "Marked {count} trial member(s) as regular.",
|
||||
"batchMarkedRegularEmpty": "There are no trial members in the current selection.",
|
||||
"batchPartialFailure": "{success} succeeded, {failed} failed.",
|
||||
"sortBy": "Sort by",
|
||||
"sortLastName": "Last name",
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"age": "Age",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
"exportMembersSelected": "members currently selected",
|
||||
"exportPhones": "Phone",
|
||||
"exportReachableByPhone": "with phone number",
|
||||
"exportEmails": "Email",
|
||||
"exportReachableByEmail": "with email address",
|
||||
"exportPreviewNames": "Preview",
|
||||
"exportPreviewEmpty": "No members in the current selection",
|
||||
"exportCsv": "Export CSV",
|
||||
"exportCsvFile": "member-selection.csv",
|
||||
"copyPhones": "Copy phones",
|
||||
"copyEmails": "Copy emails",
|
||||
"copyPhonesSuccess": "Phone list copied to clipboard.",
|
||||
"copyPhonesEmpty": "There are no phone numbers in the current selection.",
|
||||
"copyEmailsSuccess": "Email list copied to clipboard.",
|
||||
"copyEmailsEmpty": "There are no email addresses in the current selection.",
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
"clickTtRequestPendingShort": "W toku...",
|
||||
"memberDetails": "Szczegóły członka",
|
||||
"previewLastTraining": "Ostatni trening",
|
||||
"previewNoLastTraining": "Brak udziału do tej pory",
|
||||
"phoneListForSelection": "Lista telefoniczna dla zaznaczenia",
|
||||
"markFormsForSelection": "Zweryfikuj formularze zaznaczenia",
|
||||
"markRegularForSelection": "Oznacz zaznaczenie jako regularne",
|
||||
"phoneListSelectionFile": "lista-telefoniczna-zaznaczenie.pdf",
|
||||
"batchFormsMarkedSuccess": "Oznaczono {count} formularz(y) jako zweryfikowane.",
|
||||
"batchFormsMarkedEmpty": "Brak niezweryfikowanych formularzy w bieżącym zaznaczeniu.",
|
||||
"batchMarkedRegularSuccess": "Oznaczono {count} członka/ów próbnych jako regularnych.",
|
||||
"batchMarkedRegularEmpty": "Brak członków próbnych w bieżącym zaznaczeniu.",
|
||||
"batchPartialFailure": "{success} zakończonych sukcesem, {failed} nieudanych.",
|
||||
"sortBy": "Sortuj według",
|
||||
"sortLastName": "Nazwisko",
|
||||
"sortFirstName": "Imię",
|
||||
"sortBirthday": "Data urodzenia",
|
||||
"sortAge": "Wiek",
|
||||
"ageRange": "Wiek od - do",
|
||||
"ageFromPlaceholder": "od",
|
||||
"ageToPlaceholder": "do",
|
||||
"age": "Wiek",
|
||||
"dataQuality": "Jakość danych",
|
||||
"dataQualityComplete": "Dane kompletne",
|
||||
"dataIssueBirthdate": "Brak daty urodzenia",
|
||||
"dataIssuePhone": "Brak telefonu",
|
||||
"dataIssueEmail": "Brak e-maila",
|
||||
"dataIssueAddress": "Brak adresu",
|
||||
"dataIssueGender": "Płeć nieokreślona",
|
||||
"dataIssueTrainingGroup": "Brak grupy treningowej",
|
||||
"openTasks": "Otwarte zadania",
|
||||
"noOpenTasks": "Brak otwartych zadań",
|
||||
"taskVerifyForm": "Zweryfikuj formularz",
|
||||
"taskReviewTrialStatus": "Sprawdź status próbny",
|
||||
"taskCheckTrainingStatus": "Sprawdź status treningowy",
|
||||
"taskCheckDataQuality": "Sprawdź jakość danych",
|
||||
"taskAssignTrainingGroup": "Przypisz grupę treningową",
|
||||
"taskCheckClickTt": "Sprawdź uprawnienie Click-TT",
|
||||
"taskActionVerify": "Zweryfikuj",
|
||||
"taskActionMarkRegular": "Oznacz jako regularny",
|
||||
"taskActionReview": "Otwórz",
|
||||
"taskActionRequest": "Poproś",
|
||||
"toggleSortDirection": "Zmień kierunek sortowania",
|
||||
"showTtrHistory": "Pokaż historię TTR",
|
||||
"missingTtrHistoryId": "Brak zapisanego identyfikatora myTischtennis",
|
||||
"sortLastTraining": "Ostatni trening",
|
||||
"sortOpenTasks": "Otwarte zadania",
|
||||
"exportPreview": "Podgląd eksportu",
|
||||
"exportMembersSelected": "aktualnie wybrani członkowie",
|
||||
"exportPhones": "Telefon",
|
||||
"exportReachableByPhone": "z numerem telefonu",
|
||||
"exportEmails": "E-mail",
|
||||
"exportReachableByEmail": "z adresem e-mail",
|
||||
"exportPreviewNames": "Podgląd",
|
||||
"exportPreviewEmpty": "Brak członków w bieżącym zaznaczeniu",
|
||||
"exportCsv": "Eksportuj CSV",
|
||||
"exportCsvFile": "wybor-czlonkow.csv",
|
||||
"copyPhones": "Kopiuj telefony",
|
||||
"copyEmails": "Kopiuj e-maile",
|
||||
"copyPhonesSuccess": "Lista telefoniczna skopiowana do schowka.",
|
||||
"copyPhonesEmpty": "Brak numerów telefonu w bieżącym zaznaczeniu.",
|
||||
"copyEmailsSuccess": "Lista e-mail skopiowana do schowka.",
|
||||
"copyEmailsEmpty": "Brak adresów e-mail w bieżącym zaznaczeniu.",
|
||||
"composeEmail": "Przygotuj e-mail",
|
||||
"copyContactSummary": "Kopiuj podsumowanie kontaktów",
|
||||
"copyContactSummarySuccess": "Podsumowanie kontaktów skopiowano do schowka."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Dziennik treningowy",
|
||||
"date": "Data",
|
||||
"noEntries": "Brak wpisów",
|
||||
"deleteDate": "Usuń datę",
|
||||
"createNew": "Utwórz",
|
||||
"gallery": "Galeria członków",
|
||||
"galleryCreating": "Tworzenie galerii…",
|
||||
"selectTrainingGroup": "Wybierz grupę treningową",
|
||||
"selectTrainingGroupPlaceholder": "Wybierz...",
|
||||
"suggestion": "Sugestia",
|
||||
"nextAppointment": "Następny termin",
|
||||
"applySuggestion": "Zastosuj sugestię",
|
||||
"skipSuggestion": "Kontynuuj bez sugestii",
|
||||
"createNewDate": "Utwórz nową datę",
|
||||
"activeTrainingDay": "Aktywny dzień treningowy",
|
||||
"trainingDaySection": "Dzień treningowy",
|
||||
"trainingDayChecklist": "Lista końcowa",
|
||||
"trainingStart": "Początek treningu",
|
||||
"trainingEnd": "Koniec treningu",
|
||||
"trainingWindow": "Okno treningowe",
|
||||
"trainingWindowUnset": "Jeszcze nie ustawiono",
|
||||
"groupsLabel": "Grupy",
|
||||
"groupsSection": "Grupy",
|
||||
"createDate": "Utwórz datę",
|
||||
"editTrainingTimes": "Edytuj godziny treningu",
|
||||
"updateTimes": "Aktualizuj godziny",
|
||||
"groupManagement": "Zarządzanie grupami",
|
||||
"createGroups": "Utwórz grupy",
|
||||
"trainingPlan": "Plan treningowy",
|
||||
"planActivitiesCount": "Zaplanowane aktywności",
|
||||
"timeblocksCount": "Bloki czasowe",
|
||||
"planEmptyState": "W planie treningowym nic jeszcze nie wpisano.",
|
||||
"planAddHint": "Dodawaj nowe elementy planu za pomocą powyższych akcji.",
|
||||
"startTime": "Godzina rozpoczęcia",
|
||||
"group": "Grupa...",
|
||||
"timeblock": "Blok czasowy",
|
||||
"assignParticipants": "Przypisz uczestników",
|
||||
"addTimeblock": "Blok czasowy",
|
||||
"activities": "Aktywności",
|
||||
"freeActivities": "Wolne aktywności",
|
||||
"noFreeActivitiesYet": "Nie zapisano jeszcze żadnych wolnych aktywności.",
|
||||
"addActivity": "Dodaj aktywność",
|
||||
"bookAccident": "Zarejestruj wypadek",
|
||||
"activity": "Aktywność",
|
||||
"duration": "Czas trwania",
|
||||
"activityImage": "Obraz aktywności",
|
||||
"activityDrawing": "Rysunek aktywności",
|
||||
"today": "Dzisiaj",
|
||||
"existingGroups": "Istniejące grupy",
|
||||
"leader": "Prowadzący",
|
||||
"deleteGroup": "Usuń grupę",
|
||||
"numberOfGroups": "Liczba grup",
|
||||
"addGroup": "Dodaj grupę",
|
||||
"activityOrTimeblock": "Aktywność / blok czasowy",
|
||||
"durationMinutes": "Czas trwania (min)",
|
||||
"addGroupActivity": "Dodaj aktywność grupową",
|
||||
"addGroupButton": "+ Grupa",
|
||||
"all": "Wszystkie",
|
||||
"selectGroup": "Wybierz grupę...",
|
||||
"activityPlaceholder": "Aktywność",
|
||||
"assignShort": "Przypisz",
|
||||
"statusReadyShort": "Gotowe",
|
||||
"statusOpenShort": "Otwarte",
|
||||
"openPlanItemsLabel": "Status planu",
|
||||
"openPlanItems": "{count} otwarte",
|
||||
"unassignedPlanItems": "{count} otwarte",
|
||||
"durationExampleLong": "np. 2x7 lub 3*5",
|
||||
"durationExampleShort": "np. 2x7",
|
||||
"showImage": "Pokaż obraz/rysunek",
|
||||
"participants": "Uczestnicy",
|
||||
"searchParticipants": "Szukaj uczestników",
|
||||
"filterAll": "Wszystkie",
|
||||
"filterPresent": "Obecny",
|
||||
"filterAbsent": "Nieobecny",
|
||||
"filterTest": "Próba",
|
||||
"quickAdd": "+ Szybkie dodawanie",
|
||||
"selectTags": "Wybierz tagi",
|
||||
"createDrawing": "Utwórz rysunek ćwiczenia",
|
||||
"overallActivity": "Aktywność ogólna",
|
||||
"editActivity": "Edytuj aktywność",
|
||||
"editGroupActivity": "Edytuj aktywność grupową",
|
||||
"assignParticipantsForGroupActivity": "Przypisz uczestników do aktywności grupowej",
|
||||
"delete": "Usuń",
|
||||
"min": "min",
|
||||
"errorLoadingPredefinedActivities": "Błąd podczas ładowania predefiniowanych aktywności",
|
||||
"selectParticipantAndNote": "Wybierz uczestnika i wpisz notatkę.",
|
||||
"selectGroupAndActivity": "Wybierz grupę i wpisz aktywność.",
|
||||
"dateCannotBeDeleted": "Nie można usunąć daty",
|
||||
"dateCannotBeDeletedDetails": "Nadal istnieje zawartość (plan, uczestnicy, aktywności, wypadki lub notatki).",
|
||||
"confirmDelete": "Potwierdź usunięcie",
|
||||
"confirmDeleteDate": "Czy na pewno chcesz usunąć tę datę?",
|
||||
"confirmDeleteDateDetails": "Wszystkie powiązane dane również zostaną usunięte.",
|
||||
"noParticipants": "Brak uczestników dla tego dnia treningowego.",
|
||||
"mustCreateAtLeastTwoGroups": "Za pierwszym razem trzeba utworzyć co najmniej 2 grupy.",
|
||||
"oneGroupAdded": "Pomyślnie dodano 1 grupę.",
|
||||
"groupsCreated": "Pomyślnie utworzono {count} grup.",
|
||||
"errorCreatingGroups": "Błąd podczas tworzenia grup",
|
||||
"confirmDeleteGroup": "Czy na pewno chcesz usunąć grupę „{name}”?",
|
||||
"groupDeletedSuccessfully": "Grupa została pomyślnie usunięta.",
|
||||
"errorDeletingGroup": "Błąd podczas usuwania grupy",
|
||||
"errorCreatingActivity": "Błąd podczas tworzenia aktywności",
|
||||
"trainingPlanAsPDF": "Plan treningowy jako PDF",
|
||||
"trainingPlanPdfShort": "Plan jako PDF",
|
||||
"trainingDayAsPDF": "Pobierz dzień treningowy jako PDF",
|
||||
"trainingDayAsPDFShort": "Dzień treningowy jako PDF",
|
||||
"trainingDaySummaryPdfShort": "Podsumowanie uczestników jako PDF",
|
||||
"minutes": "Minuty",
|
||||
"formHandedOver": "Formularz członkowski przekazany",
|
||||
"errorOccurred": "Wystąpił błąd. Spróbuj ponownie.",
|
||||
"trainingTimesUpdated": "Godziny treningu zostały pomyślnie zaktualizowane.",
|
||||
"noActiveTrainingDay": "Nie wybrano dnia treningowego.",
|
||||
"statusEmpty": "Ten dzień treningowy jest jeszcze pusty.",
|
||||
"statusInProgress": "Ten dzień treningowy jest częściowo przygotowany.",
|
||||
"formMarkedAsHandedOver": "Formularz członkowski oznaczono jako przekazany",
|
||||
"errorMarkingForm": "Błąd podczas oznaczania formularza",
|
||||
"dateNoLongerCurrent": "Wybrana data nie była już aktualna. Spróbuj ponownie.",
|
||||
"activityRequired": "Wpisz aktywność.",
|
||||
"activityNotFound": "Nie znaleziono aktywności. Wybierz jedną z listy.",
|
||||
"standardActivities": "Aktywności standardowe",
|
||||
"standardDurationShort": "min",
|
||||
"standardActivityAddError": "Nie udało się dodać standardowej aktywności.",
|
||||
"statusReady": "Godziny i plan treningowy są ustawione.",
|
||||
"filterExcused": "Usprawiedliwiony",
|
||||
"participantStatusNone": "Brak statusu",
|
||||
"participantStatusExcused": "Usprawiedliwiony",
|
||||
"participantStatusCancelled": "Anulowano"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Statystyki treningowe",
|
||||
"activeMembers": "Aktywni członkowie",
|
||||
"averageParticipationCurrentMonth": "Średnia frekwencja (bieżący miesiąc)",
|
||||
"averageParticipationLastMonth": "Średnia frekwencja (poprzedni miesiąc)",
|
||||
"averageParticipationQuarter": "Średnia frekwencja (kwartał)",
|
||||
"averageParticipationHalfYear": "Średnia frekwencja (półrocze)",
|
||||
"averageParticipationYear": "Średnia frekwencja (rok)",
|
||||
"trainingDays": "Dni treningowe (ostatnie 12 miesięcy)",
|
||||
"memberParticipations": "Udziały członków",
|
||||
"date": "Data",
|
||||
"weekday": "Dzień tygodnia",
|
||||
"participants": "Uczestnicy",
|
||||
"name": "Nazwa",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Data urodzenia",
|
||||
"participations12Months": "Udziały (12 miesięcy)",
|
||||
"participations3Months": "Udziały (3 miesiące)",
|
||||
"participationsTotal": "Udziały (łącznie)",
|
||||
"lastTraining": "Ostatni trening",
|
||||
"actions": "Akcje",
|
||||
"showDetails": "Pokaż szczegóły"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Rysunek ćwiczenia tenisa stołowego",
|
||||
"configureExercise": "Konfiguruj ćwiczenie",
|
||||
"stepStartPosition": "1. Pozycja startowa",
|
||||
"stepStartPositionHint": "Z której pozycji serwisowej zaczyna się ćwiczenie?",
|
||||
"stepFirstStroke": "2. Pierwsze zagranie",
|
||||
"stepFirstStrokeHint": "Ustaw stronę i rotację pierwszej piłki.",
|
||||
"stepTarget": "3. Cel",
|
||||
"stepTargetHint": "Wybierz strefę celu dla pierwszego zagrania.",
|
||||
"stepAdditionalStrokes": "4. Kolejne zagrania",
|
||||
"stepAdditionalStrokesHint": "Opcjonalnie dodaj kolejne piłki jako sekwencję.",
|
||||
"noAdditionalStrokes": "Nie dodano jeszcze kolejnych zagrań.",
|
||||
"service": "Serwis:",
|
||||
"serviceTitle": "Serwis",
|
||||
"forehand": "Forehand",
|
||||
"backhand": "Backhand",
|
||||
"spin": "Rotacja:",
|
||||
"underspin": "Podcięcie",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Rotacja boczna",
|
||||
"sideUnderspin": "Boczne podcięcie",
|
||||
"counterSpin": "Kontratopspin",
|
||||
"targetPosition": "Pozycja celu:",
|
||||
"targetPositionLabel": "Pozycja celu",
|
||||
"strokeSide": "Strona",
|
||||
"strokeTypeLabel": "Typ zagrania",
|
||||
"addStroke": "Dodaj zagranie",
|
||||
"preview": "Podgląd",
|
||||
"previewHint": "Grafika pojawi się, gdy pierwsze zagranie będzie w pełni skonfigurowane.",
|
||||
"completeFirstStroke": "Uzupełnij pierwsze zagranie",
|
||||
"completeFirstStrokeHint": "Wybierz pozycję startową, stronę, rotację i cel. Następnie pojawi się grafika.",
|
||||
"codeLabel": "Kod",
|
||||
"titleLabel": "Tytuł",
|
||||
"startLeft": "lewa",
|
||||
"startMiddle": "środek",
|
||||
"startRight": "prawa",
|
||||
"strokeTypePush": "Pchnięcie",
|
||||
"strokeTypeCounter": "Kontra",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Blok",
|
||||
"strokeTypeSmash": "Smecz",
|
||||
"strokeTypeChopDefense": "Obrona podcięciem",
|
||||
"strokeTypeLobDefense": "Obrona lobem",
|
||||
"targetForehandLong": "Forehand długi",
|
||||
"targetMiddleLong": "Środek długi",
|
||||
"targetBackhandLong": "Backhand długi",
|
||||
"targetForehandHalfLong": "Forehand półdługi",
|
||||
"targetMiddleHalfLong": "Środek półdługi",
|
||||
"targetBackhandHalfLong": "Backhand półdługi",
|
||||
"targetForehandShort": "Forehand krótki",
|
||||
"targetMiddleShort": "Środek krótki",
|
||||
"targetBackhandShort": "Backhand krótki",
|
||||
"toTarget": "do"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "ถัดไป",
|
||||
"previous": "ก่อนหน้า",
|
||||
"submit": "ส่ง",
|
||||
"reset": "รีเซ็ต"
|
||||
"reset": "รีเซ็ต",
|
||||
"all": "ทั้งหมด",
|
||||
"today": "วันนี้",
|
||||
"time": "เวลา",
|
||||
"new": "ใหม่",
|
||||
"update": "อัปเดต",
|
||||
"create": "สร้าง",
|
||||
"remove": "เอาออก",
|
||||
"select": "เลือก",
|
||||
"download": "ดาวน์โหลด",
|
||||
"choose": "เลือก",
|
||||
"apply": "นำไปใช้",
|
||||
"clear": "ล้าง",
|
||||
"details": "รายละเอียด",
|
||||
"view": "แสดง",
|
||||
"name": "ชื่อ",
|
||||
"date": "วันที่",
|
||||
"status": "สถานะ",
|
||||
"type": "ประเภท",
|
||||
"description": "คำอธิบาย",
|
||||
"active": "ใช้งานอยู่",
|
||||
"inactive": "ไม่ใช้งาน",
|
||||
"enabled": "เปิดใช้งาน",
|
||||
"disabled": "ปิดใช้งาน",
|
||||
"required": "จำเป็น",
|
||||
"optional": "ไม่บังคับ",
|
||||
"in": "ใน",
|
||||
"min": "นาที",
|
||||
"minutes": "นาที",
|
||||
"hours": "ชั่วโมง",
|
||||
"days": "วัน",
|
||||
"weeks": "สัปดาห์",
|
||||
"months": "เดือน",
|
||||
"years": "ปี",
|
||||
"ok": "ตกลง"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "หน้าแรก",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "บันทึกระบบ",
|
||||
"memberTransfer": "การโอนสมาชิก",
|
||||
"myTischtennisAccount": "บัญชี myTischtennis",
|
||||
"clickTtAccount": "บัญชี HTTV / click-TT",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "การตั้งค่าส่วนตัว",
|
||||
"logout": "ออกจากระบบ",
|
||||
"login": "เข้าสู่ระบบ",
|
||||
"register": "ลงทะเบียน",
|
||||
"dailyBusiness": "ธุรกิจประจำวัน",
|
||||
"competitions": "การแข่งขัน",
|
||||
"settings": "การตั้งค่า"
|
||||
"settings": "การตั้งค่า",
|
||||
"backToHome": "กลับหน้าแรก"
|
||||
},
|
||||
"club": {
|
||||
"select": "เลือกสโมสร",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "โหลด",
|
||||
"name": "ชื่อสโมสร",
|
||||
"create": "สร้างสโมสร",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "สร้างสโมสร",
|
||||
"members": "สมาชิก",
|
||||
"trainingDiary": "สมุดบันทึกการฝึกซ้อม",
|
||||
"noAccess": "คุณยังไม่ได้รับสิทธิ์เข้าถึงสโมสรนี้",
|
||||
"requestAccess": "ขอสิทธิ์เข้าถึง",
|
||||
"openRequests": "คำขอเข้าถึงที่รอดำเนินการ",
|
||||
"title": "สโมสร",
|
||||
"openAccessRequests": "คำขอเข้าถึงที่รอดำเนินการ",
|
||||
"diary": "สมุดบันทึกการฝึกซ้อม",
|
||||
"accessDenied": "ไม่ได้รับอนุญาตให้เข้าถึงสโมสรนี้",
|
||||
"errorLoadingRequests": "เกิดข้อผิดพลาดในการโหลดคำขอที่รอดำเนินการ",
|
||||
"accessRequested": "ส่งคำขอเข้าถึงแล้ว",
|
||||
"accessRequestPending": "ได้ส่งคำขอเข้าถึงสโมสรนี้แล้ว โปรดรอสักครู่",
|
||||
"accessRequestFailed": "ไม่สามารถส่งคำขอเข้าถึงได้"
|
||||
},
|
||||
"auth": {
|
||||
"login": "เข้าสู่ระบบ",
|
||||
@@ -331,6 +381,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "สมาชิก",
|
||||
"memberInfo": "ข้อมูลสมาชิก",
|
||||
"activeMembers": "สมาชิกที่ใช้งานอยู่",
|
||||
"testMembers": "สมาชิกทดลอง",
|
||||
"inactiveMembers": "สมาชิกที่ไม่ใช้งาน",
|
||||
"generatePhoneList": "สร้างรายการโทรศัพท์",
|
||||
"onlyActiveMembers": "จะแสดงเฉพาะสมาชิกที่ใช้งานอยู่",
|
||||
"updateRatings": "อัปเดต TTR/QTTR จาก myTischtennis",
|
||||
"updating": "กำลังอัปเดต...",
|
||||
"transferMembers": "โอนสมาชิก",
|
||||
"newMember": "สมาชิกใหม่",
|
||||
"editMember": "แก้ไขสมาชิก",
|
||||
"createNewMember": "สร้างสมาชิกใหม่",
|
||||
"firstName": "ชื่อ",
|
||||
"lastName": "นามสกุล",
|
||||
"street": "ถนน",
|
||||
"postalCode": "รหัสไปรษณีย์",
|
||||
"city": "เมือง",
|
||||
"birthdate": "วันเกิด",
|
||||
"phones": "หมายเลขโทรศัพท์",
|
||||
"emails": "อีเมล",
|
||||
"addPhone": "เพิ่มหมายเลขโทรศัพท์",
|
||||
"addEmail": "เพิ่มอีเมล",
|
||||
"phoneNumber": "หมายเลขโทรศัพท์",
|
||||
"emailAddress": "อีเมล",
|
||||
"parent": "ผู้ปกครอง",
|
||||
"parentName": "ชื่อ (เช่น แม่ พ่อ)",
|
||||
"primary": "หลัก",
|
||||
"gender": "เพศ",
|
||||
"genderUnknown": "ไม่ทราบ",
|
||||
"genderMale": "ชาย",
|
||||
"genderFemale": "หญิง",
|
||||
"genderDiverse": "หลากหลาย",
|
||||
"picsInInternetAllowed": "อนุญาตให้ใช้รูปบนอินเทอร์เน็ต",
|
||||
"testMembership": "สมาชิกทดลอง",
|
||||
"memberFormHandedOver": "ส่งแบบฟอร์มสมาชิกแล้ว",
|
||||
"trainingGroups": "กลุ่มฝึกซ้อม",
|
||||
"noGroupsAssigned": "ยังไม่ได้กำหนดกลุ่ม",
|
||||
"noGroupsAvailable": "ไม่มีกลุ่มให้เลือก",
|
||||
"addGroup": "เพิ่มกลุ่ม...",
|
||||
"remove": "เอาออก",
|
||||
"image": "รูปภาพ",
|
||||
"selectFile": "เลือกไฟล์",
|
||||
"camera": "กล้อง",
|
||||
"imagePreview": "ตัวอย่างรูปสมาชิก",
|
||||
"change": "เปลี่ยน",
|
||||
"create": "สร้าง",
|
||||
"clearFields": "ล้างช่องข้อมูล",
|
||||
"showInactiveMembers": "แสดงสมาชิกที่ไม่ใช้งาน",
|
||||
"ageGroup": "กลุ่มอายุ",
|
||||
"adults": "ผู้ใหญ่ (20+)",
|
||||
"j19": "J19 (19 ปีหรือน้อยกว่า)",
|
||||
"j17": "J17 (17 ปีหรือน้อยกว่า)",
|
||||
"j15": "J15 (15 ปีหรือน้อยกว่า)",
|
||||
"j13": "J13 (13 ปีหรือน้อยกว่า)",
|
||||
"j11": "J11 (11 ปีหรือน้อยกว่า)",
|
||||
"clearFilters": "รีเซ็ตตัวกรอง",
|
||||
"imageInternet": "รูปภาพ (เน็ต)",
|
||||
"testMember": "ทดลอง",
|
||||
"name": "ชื่อ นามสกุล",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "ที่อยู่",
|
||||
"active": "ใช้งานอยู่",
|
||||
"actions": "การดำเนินการ",
|
||||
"phoneNumberShort": "โทรศัพท์",
|
||||
"emailAddressShort": "อีเมล",
|
||||
"trainingParticipations": "การเข้าร่วมฝึกซ้อม",
|
||||
"memberImage": "รูปสมาชิก",
|
||||
"inactive": "ไม่ใช้งาน",
|
||||
"sixOrMoreParticipations": "เข้าร่วมฝึกซ้อม 6 ครั้งขึ้นไป",
|
||||
"threeOrMoreParticipations": "เข้าร่วมฝึกซ้อม 3 ครั้งขึ้นไป",
|
||||
"noTestMembership": "ไม่ใช่สมาชิกทดลองอีกต่อไป",
|
||||
"formHandedOver": "ส่งแบบฟอร์มสมาชิกแล้ว",
|
||||
"deactivateMember": "ปิดการใช้งานสมาชิก",
|
||||
"notes": "บันทึกย่อ",
|
||||
"exercises": "แบบฝึก",
|
||||
"memberImages": "รูปสมาชิก",
|
||||
"testMembershipRemoved": "ลบสถานะสมาชิกทดลองแล้ว",
|
||||
"errorRemovingTestMembership": "เกิดข้อผิดพลาดในการลบสถานะสมาชิกทดลอง",
|
||||
"formMarkedAsHandedOver": "ทำเครื่องหมายว่าได้ส่งแบบฟอร์มสมาชิกแล้ว",
|
||||
"errorMarkingForm": "เกิดข้อผิดพลาดในการทำเครื่องหมายแบบฟอร์ม",
|
||||
"deactivateMemberTitle": "ปิดการใช้งานสมาชิก",
|
||||
"deactivateMemberConfirm": "คุณต้องการปิดการใช้งาน \"{name}\" จริงหรือไม่?",
|
||||
"memberDeactivated": "ปิดการใช้งานสมาชิกแล้ว",
|
||||
"errorDeactivatingMember": "เกิดข้อผิดพลาดในการปิดการใช้งานสมาชิก",
|
||||
"errorSavingMember": "เกิดข้อผิดพลาดในการบันทึกสมาชิก",
|
||||
"errorAddingToGroup": "เกิดข้อผิดพลาดในการเพิ่มเข้ากลุ่ม",
|
||||
"errorRemovingFromGroup": "เกิดข้อผิดพลาดในการลบออกจากกลุ่ม",
|
||||
"imageUpdated": "อัปเดตรูปภาพแล้ว",
|
||||
"errorRotatingImage": "เกิดข้อผิดพลาดในการหมุนรูปภาพ",
|
||||
"imageDeleted": "ลบรูปภาพแล้ว",
|
||||
"errorDeletingImage": "ไม่สามารถลบรูปภาพได้",
|
||||
"primaryImageUpdated": "อัปเดตรูปภาพหลักแล้ว",
|
||||
"errorSettingPrimaryImage": "ไม่สามารถตั้งรูปภาพหลักได้",
|
||||
"errorUploadingImage": "ไม่สามารถอัปโหลดรูปภาพได้",
|
||||
"errorLoadingImage": "เกิดข้อผิดพลาดในการโหลดรูปภาพ",
|
||||
"phoneList": "รายการโทรศัพท์.pdf",
|
||||
"errorLoadingTrainingParticipations": "เกิดข้อผิดพลาดในการโหลดการเข้าร่วมฝึกซ้อม",
|
||||
"errorUpdatingRatings": "เกิดข้อผิดพลาดในการอัปเดตค่า TTR/QTTR",
|
||||
"errorTransfer": "เกิดข้อผิดพลาดในการโอนข้อมูล",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -341,11 +491,17 @@
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeActiveDataIncomplete": "ใช้งานอยู่ + ข้อมูลไม่ครบ",
|
||||
"scopeDataIncomplete": "ข้อมูลไม่ครบ",
|
||||
"scopeInactive": "Inactive",
|
||||
"searchAndFilter": "ค้นหาและตัวกรอง",
|
||||
"bulkActions": "การดำเนินการแบบกลุ่ม",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "กรุณากำหนดกลุ่มฝึกซ้อมอย่างน้อยหนึ่งกลุ่ม",
|
||||
"editorRecommendedEntry": "ข้อมูลที่แนะนำให้กรอก",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -363,7 +519,7 @@
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"status": "สถานะ",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
@@ -390,17 +546,33 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "ช่วงอายุ",
|
||||
"ageFromPlaceholder": "จาก",
|
||||
"ageToPlaceholder": "ถึง",
|
||||
"age": "Age",
|
||||
"dataQuality": "คุณภาพข้อมูล",
|
||||
"dataQualityComplete": "ข้อมูลครบถ้วน",
|
||||
"dataIssueBirthdate": "ไม่มีวันเกิด",
|
||||
"dataIssuePhone": "ไม่มีหมายเลขโทรศัพท์",
|
||||
"dataIssueEmail": "ไม่มีอีเมล",
|
||||
"dataIssueAddress": "ไม่มีที่อยู่",
|
||||
"dataIssueGender": "เพศยังไม่ชัดเจน",
|
||||
"dataIssueTrainingGroup": "ไม่มีกลุ่มฝึกซ้อม",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "ตรวจสอบคุณภาพข้อมูล",
|
||||
"taskAssignTrainingGroup": "กำหนดกลุ่มฝึกซ้อม",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "เปิด",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "แสดงประวัติ TTR",
|
||||
"missingTtrHistoryId": "ไม่มีการบันทึก myTischtennis ID",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -422,5 +594,212 @@
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"diary": {
|
||||
"title": "สมุดบันทึกการฝึกซ้อม",
|
||||
"date": "วันที่",
|
||||
"noEntries": "ไม่มีรายการ",
|
||||
"deleteDate": "ลบวันที่",
|
||||
"createNew": "สร้างใหม่",
|
||||
"gallery": "แกลเลอรีสมาชิก",
|
||||
"galleryCreating": "กำลังสร้างแกลเลอรี…",
|
||||
"selectTrainingGroup": "เลือกกลุ่มฝึกซ้อม",
|
||||
"selectTrainingGroupPlaceholder": "กรุณาเลือก...",
|
||||
"suggestion": "ข้อเสนอแนะ",
|
||||
"nextAppointment": "นัดถัดไป",
|
||||
"applySuggestion": "ใช้ข้อเสนอแนะ",
|
||||
"skipSuggestion": "ดำเนินการต่อโดยไม่ใช้ข้อเสนอแนะ",
|
||||
"createNewDate": "สร้างวันที่ใหม่",
|
||||
"activeTrainingDay": "วันฝึกซ้อมที่ใช้งานอยู่",
|
||||
"trainingDaySection": "วันฝึกซ้อม",
|
||||
"trainingDayChecklist": "รายการตรวจสอบความครบถ้วน",
|
||||
"trainingStart": "เริ่มฝึกซ้อม",
|
||||
"trainingEnd": "สิ้นสุดการฝึกซ้อม",
|
||||
"trainingWindow": "ช่วงเวลาฝึกซ้อม",
|
||||
"trainingWindowUnset": "ยังไม่ได้ตั้งค่า",
|
||||
"groupsLabel": "กลุ่ม",
|
||||
"groupsSection": "กลุ่ม",
|
||||
"createDate": "สร้างวันที่",
|
||||
"editTrainingTimes": "แก้ไขเวลาฝึกซ้อม",
|
||||
"updateTimes": "อัปเดตเวลา",
|
||||
"groupManagement": "การจัดการกลุ่ม",
|
||||
"createGroups": "สร้างกลุ่ม",
|
||||
"trainingPlan": "แผนการฝึกซ้อม",
|
||||
"planActivitiesCount": "กิจกรรมในแผน",
|
||||
"timeblocksCount": "ช่วงเวลา",
|
||||
"planEmptyState": "ยังไม่มีรายการในแผนการฝึกซ้อม",
|
||||
"planAddHint": "คุณสามารถเพิ่มรายการใหม่ได้จากปุ่มด้านบน",
|
||||
"startTime": "เวลาเริ่ม",
|
||||
"group": "กลุ่ม...",
|
||||
"timeblock": "ช่วงเวลา",
|
||||
"assignParticipants": "กำหนดผู้เข้าร่วม",
|
||||
"addTimeblock": "ช่วงเวลา",
|
||||
"activities": "กิจกรรม",
|
||||
"freeActivities": "กิจกรรมอิสระ",
|
||||
"noFreeActivitiesYet": "ยังไม่มีการบันทึกกิจกรรมอิสระ",
|
||||
"addActivity": "เพิ่มกิจกรรม",
|
||||
"bookAccident": "บันทึกอุบัติเหตุ",
|
||||
"activity": "กิจกรรม",
|
||||
"duration": "ระยะเวลา",
|
||||
"activityImage": "รูปกิจกรรม",
|
||||
"activityDrawing": "ภาพวาดกิจกรรม",
|
||||
"today": "วันนี้",
|
||||
"existingGroups": "กลุ่มที่มีอยู่",
|
||||
"leader": "ผู้ดูแล",
|
||||
"deleteGroup": "ลบกลุ่ม",
|
||||
"numberOfGroups": "จำนวนกลุ่ม",
|
||||
"addGroup": "เพิ่มกลุ่ม",
|
||||
"activityOrTimeblock": "กิจกรรม / ช่วงเวลา",
|
||||
"durationMinutes": "ระยะเวลา (นาที)",
|
||||
"standardActivities": "กิจกรรมมาตรฐาน",
|
||||
"standardDurationShort": "นาที",
|
||||
"standardActivityAddError": "ไม่สามารถเพิ่มกิจกรรมมาตรฐานได้",
|
||||
"addGroupActivity": "เพิ่มกิจกรรมของกลุ่ม",
|
||||
"addGroupButton": "+ กลุ่ม",
|
||||
"all": "ทั้งหมด",
|
||||
"selectGroup": "เลือกกลุ่ม...",
|
||||
"activityPlaceholder": "กิจกรรม",
|
||||
"assignShort": "กำหนด",
|
||||
"statusReadyShort": "พร้อม",
|
||||
"statusOpenShort": "เปิด",
|
||||
"openPlanItemsLabel": "สถานะแผน",
|
||||
"openPlanItems": "เปิดอยู่ {count} รายการ",
|
||||
"unassignedPlanItems": "ยังไม่กำหนด {count} รายการ",
|
||||
"durationExampleLong": "เช่น 2x7 หรือ 3*5",
|
||||
"durationExampleShort": "เช่น 2x7",
|
||||
"showImage": "แสดงรูป/ภาพวาด",
|
||||
"participants": "ผู้เข้าร่วม",
|
||||
"searchParticipants": "ค้นหาผู้เข้าร่วม",
|
||||
"filterAll": "ทั้งหมด",
|
||||
"filterPresent": "มาเข้าร่วม",
|
||||
"filterAbsent": "ขาด",
|
||||
"filterExcused": "ลา",
|
||||
"filterTest": "ทดลอง",
|
||||
"participantStatusNone": "ไม่มีสถานะ",
|
||||
"participantStatusExcused": "ลา",
|
||||
"participantStatusCancelled": "ยกเลิก",
|
||||
"quickAdd": "+ เพิ่มด่วน",
|
||||
"selectTags": "เลือกแท็ก",
|
||||
"createDrawing": "สร้างภาพฝึกซ้อม",
|
||||
"overallActivity": "กิจกรรมรวม",
|
||||
"editActivity": "แก้ไขกิจกรรม",
|
||||
"editGroupActivity": "แก้ไขกิจกรรมกลุ่ม",
|
||||
"assignParticipantsForGroupActivity": "กำหนดผู้เข้าร่วมสำหรับกิจกรรมกลุ่ม",
|
||||
"delete": "ลบ",
|
||||
"min": "นาที",
|
||||
"errorLoadingPredefinedActivities": "เกิดข้อผิดพลาดในการโหลดกิจกรรมที่กำหนดไว้ล่วงหน้า",
|
||||
"selectParticipantAndNote": "กรุณาเลือกผู้เข้าร่วมและใส่ข้อความบันทึก",
|
||||
"selectGroupAndActivity": "กรุณาเลือกกลุ่มและกรอกกิจกรรม",
|
||||
"dateCannotBeDeleted": "ไม่สามารถลบวันที่ได้",
|
||||
"dateCannotBeDeletedDetails": "ยังมีเนื้อหาอยู่ (แผนการฝึก ผู้เข้าร่วม กิจกรรม อุบัติเหตุ หรือบันทึก)",
|
||||
"confirmDelete": "ยืนยันการลบ",
|
||||
"confirmDeleteDate": "คุณต้องการลบวันที่นี้จริงหรือไม่?",
|
||||
"confirmDeleteDateDetails": "ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบด้วย",
|
||||
"noParticipants": "ไม่มีผู้เข้าร่วมสำหรับวันฝึกซ้อมนี้",
|
||||
"mustCreateAtLeastTwoGroups": "การสร้างครั้งแรกต้องมีอย่างน้อย 2 กลุ่ม",
|
||||
"oneGroupAdded": "เพิ่มกลุ่มสำเร็จ 1 กลุ่ม",
|
||||
"groupsCreated": "สร้างกลุ่มสำเร็จ {count} กลุ่ม",
|
||||
"errorCreatingGroups": "เกิดข้อผิดพลาดในการสร้างกลุ่ม",
|
||||
"confirmDeleteGroup": "คุณต้องการลบกลุ่ม \"{name}\" จริงหรือไม่?",
|
||||
"groupDeletedSuccessfully": "ลบกลุ่มสำเร็จ",
|
||||
"errorDeletingGroup": "เกิดข้อผิดพลาดในการลบกลุ่ม",
|
||||
"errorCreatingActivity": "เกิดข้อผิดพลาดในการสร้างกิจกรรม",
|
||||
"trainingPlanAsPDF": "แผนการฝึกซ้อมเป็น PDF",
|
||||
"trainingPlanPdfShort": "แผนการดำเนินงาน PDF",
|
||||
"trainingDayAsPDF": "ดาวน์โหลดวันฝึกซ้อมเป็น PDF",
|
||||
"trainingDayAsPDFShort": "วันฝึกซ้อม PDF",
|
||||
"trainingDaySummaryPdfShort": "สรุปผู้เข้าร่วม PDF",
|
||||
"minutes": "นาที",
|
||||
"formHandedOver": "ส่งแบบฟอร์มสมาชิกแล้ว",
|
||||
"errorOccurred": "เกิดข้อผิดพลาด โปรดลองอีกครั้ง",
|
||||
"trainingTimesUpdated": "อัปเดตเวลาฝึกซ้อมสำเร็จ",
|
||||
"noActiveTrainingDay": "ไม่ได้เลือกวันฝึกซ้อม",
|
||||
"statusReady": "ตั้งค่าเวลาและแผนการฝึกซ้อมแล้ว",
|
||||
"statusEmpty": "วันฝึกซ้อมนี้ยังว่างอยู่",
|
||||
"statusInProgress": "วันฝึกซ้อมนี้เตรียมไว้เพียงบางส่วน",
|
||||
"formMarkedAsHandedOver": "ทำเครื่องหมายว่าได้ส่งแบบฟอร์มสมาชิกแล้ว",
|
||||
"errorMarkingForm": "เกิดข้อผิดพลาดในการทำเครื่องหมายแบบฟอร์มสมาชิก",
|
||||
"dateNoLongerCurrent": "วันที่ที่เลือกไม่ใช่ข้อมูลล่าสุดอีกต่อไป โปรดลองอีกครั้ง",
|
||||
"activityRequired": "กรุณากรอกกิจกรรม",
|
||||
"activityNotFound": "ไม่พบกิจกรรม กรุณาเลือกจากรายการ"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "สถิติการฝึกซ้อม",
|
||||
"activeMembers": "สมาชิกที่ใช้งานอยู่",
|
||||
"averageParticipationCurrentMonth": "การเข้าร่วมเฉลี่ย (เดือนปัจจุบัน)",
|
||||
"averageParticipationLastMonth": "การเข้าร่วมเฉลี่ย (เดือนที่ผ่านมา)",
|
||||
"averageParticipationQuarter": "การเข้าร่วมเฉลี่ย (ไตรมาส)",
|
||||
"averageParticipationHalfYear": "การเข้าร่วมเฉลี่ย (ครึ่งปี)",
|
||||
"averageParticipationYear": "การเข้าร่วมเฉลี่ย (ปี)",
|
||||
"trainingDays": "วันฝึกซ้อม (12 เดือนล่าสุด)",
|
||||
"memberParticipations": "การเข้าร่วมของสมาชิก",
|
||||
"date": "วันที่",
|
||||
"weekday": "วันในสัปดาห์",
|
||||
"participants": "ผู้เข้าร่วม",
|
||||
"name": "ชื่อ",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "วันเกิด",
|
||||
"participations12Months": "การเข้าร่วม (12 เดือน)",
|
||||
"participations3Months": "การเข้าร่วม (3 เดือน)",
|
||||
"participationsTotal": "การเข้าร่วม (ทั้งหมด)",
|
||||
"lastTraining": "การฝึกซ้อมล่าสุด",
|
||||
"actions": "การดำเนินการ",
|
||||
"showDetails": "แสดงรายละเอียด"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "ภาพวาดแบบฝึกปิงปอง",
|
||||
"configureExercise": "กำหนดค่าแบบฝึก",
|
||||
"stepStartPosition": "1. ตำแหน่งเริ่มต้น",
|
||||
"stepStartPositionHint": "แบบฝึกเริ่มจากตำแหน่งเสิร์ฟใด?",
|
||||
"stepFirstStroke": "2. ลูกแรก",
|
||||
"stepFirstStrokeHint": "กำหนดด้านตีและสปินสำหรับลูกแรก",
|
||||
"stepTarget": "3. เป้าหมาย",
|
||||
"stepTargetHint": "เลือกโซนเป้าหมายสำหรับลูกแรก",
|
||||
"stepAdditionalStrokes": "4. ลูกต่อเนื่อง",
|
||||
"stepAdditionalStrokesHint": "สามารถเพิ่มลูกต่อเนื่องเป็นรายการได้ตามต้องการ",
|
||||
"noAdditionalStrokes": "ยังไม่มีลูกต่อเนื่อง",
|
||||
"service": "เสิร์ฟ:",
|
||||
"serviceTitle": "การเสิร์ฟ",
|
||||
"forehand": "โฟร์แฮนด์",
|
||||
"backhand": "แบ็กแฮนด์",
|
||||
"spin": "สปิน:",
|
||||
"underspin": "อันเดอร์สปิน",
|
||||
"topspin": "ท็อปสปิน",
|
||||
"sidespin": "ไซด์สปิน",
|
||||
"sideUnderspin": "ไซด์อันเดอร์สปิน",
|
||||
"counterSpin": "สปินสวน",
|
||||
"targetPosition": "ตำแหน่งเป้าหมาย:",
|
||||
"targetPositionLabel": "ตำแหน่งเป้าหมาย",
|
||||
"strokeSide": "ด้านตี",
|
||||
"strokeTypeLabel": "ประเภทการตี",
|
||||
"addStroke": "เพิ่มการตี",
|
||||
"preview": "ตัวอย่าง",
|
||||
"previewHint": "กราฟิกจะแสดงเมื่อกำหนดลูกแรกครบถ้วนแล้ว",
|
||||
"completeFirstStroke": "กำหนดลูกแรกให้ครบ",
|
||||
"completeFirstStrokeHint": "เลือกตำแหน่งเริ่ม ด้านตี สปิน และเป้าหมาย แล้วภาพจะแสดงขึ้น",
|
||||
"codeLabel": "รหัสย่อ",
|
||||
"titleLabel": "ชื่อเรื่อง",
|
||||
"startLeft": "ซ้าย",
|
||||
"startMiddle": "กลาง",
|
||||
"startRight": "ขวา",
|
||||
"strokeTypePush": "ผลัก",
|
||||
"strokeTypeCounter": "เคาน์เตอร์",
|
||||
"strokeTypeTopspin": "ท็อปสปิน",
|
||||
"strokeTypeFlip": "ฟลิก",
|
||||
"strokeTypeBlock": "บล็อก",
|
||||
"strokeTypeSmash": "ตบ",
|
||||
"strokeTypeChopDefense": "รับแบบช็อป",
|
||||
"strokeTypeLobDefense": "รับแบบลอบ",
|
||||
"targetForehandLong": "โฟร์แฮนด์ยาว",
|
||||
"targetMiddleLong": "กลางยาว",
|
||||
"targetBackhandLong": "แบ็กแฮนด์ยาว",
|
||||
"targetForehandHalfLong": "โฟร์แฮนด์กึ่งยาว",
|
||||
"targetMiddleHalfLong": "กลางกึ่งยาว",
|
||||
"targetBackhandHalfLong": "แบ็กแฮนด์กึ่งยาว",
|
||||
"targetForehandShort": "โฟร์แฮนด์สั้น",
|
||||
"targetMiddleShort": "กลางสั้น",
|
||||
"targetBackhandShort": "แบ็กแฮนด์สั้น",
|
||||
"toTarget": "ไปยัง"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "Susunod",
|
||||
"previous": "Nakaraan",
|
||||
"submit": "Ipasa",
|
||||
"reset": "I-reset"
|
||||
"reset": "I-reset",
|
||||
"all": "Lahat",
|
||||
"today": "Ngayon",
|
||||
"time": "Oras",
|
||||
"new": "Bago",
|
||||
"update": "I-update",
|
||||
"create": "Lumikha",
|
||||
"remove": "Alisin",
|
||||
"select": "Pumili",
|
||||
"download": "I-download",
|
||||
"choose": "Pumili",
|
||||
"apply": "Ilapat",
|
||||
"clear": "Burahin",
|
||||
"details": "Mga detalye",
|
||||
"view": "Tingnan",
|
||||
"name": "Pangalan",
|
||||
"date": "Petsa",
|
||||
"status": "Katayuan",
|
||||
"type": "Uri",
|
||||
"description": "Paglalarawan",
|
||||
"active": "Aktibo",
|
||||
"inactive": "Hindi aktibo",
|
||||
"enabled": "Pinagana",
|
||||
"disabled": "Hindi pinagana",
|
||||
"required": "Kinakailangan",
|
||||
"optional": "Opsyonal",
|
||||
"in": "sa",
|
||||
"min": "Min",
|
||||
"minutes": "Minuto",
|
||||
"hours": "Oras",
|
||||
"days": "Araw",
|
||||
"weeks": "Linggo",
|
||||
"months": "Buwan",
|
||||
"years": "Taon",
|
||||
"ok": "OK"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "Home",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "Mga system log",
|
||||
"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",
|
||||
"register": "Magrehistro",
|
||||
"dailyBusiness": "Araw-araw na negosyo",
|
||||
"competitions": "Mga kompetisyon",
|
||||
"settings": "Mga setting"
|
||||
"settings": "Mga setting",
|
||||
"backToHome": "Bumalik sa home"
|
||||
},
|
||||
"club": {
|
||||
"select": "Pumili ng club",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "I-load",
|
||||
"name": "Pangalan ng club",
|
||||
"create": "Gumawa ng club",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "Gumawa ng club",
|
||||
"members": "Mga miyembro",
|
||||
"trainingDiary": "Talaarawan ng pagsasanay",
|
||||
"noAccess": "Wala ka pang pahintulot na ma-access ang club na ito.",
|
||||
"requestAccess": "Humiling ng access",
|
||||
"openRequests": "Mga nakabinbing hiling sa access",
|
||||
"title": "Club",
|
||||
"openAccessRequests": "Mga nakabinbing hiling sa access",
|
||||
"diary": "Talaarawan ng pagsasanay",
|
||||
"accessDenied": "Hindi pinapayagan ang access sa club na ito.",
|
||||
"errorLoadingRequests": "Error sa pag-load ng mga nakabinbing hiling",
|
||||
"accessRequested": "Naipadala na ang hiling sa access.",
|
||||
"accessRequestPending": "Humiling ka na ng access sa club na ito. Maghintay lamang.",
|
||||
"accessRequestFailed": "Hindi naipadala ang hiling sa access."
|
||||
},
|
||||
"auth": {
|
||||
"login": "Mag-login",
|
||||
@@ -331,6 +381,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "Mga miyembro",
|
||||
"memberInfo": "Impormasyon ng miyembro",
|
||||
"activeMembers": "Mga aktibong miyembro",
|
||||
"testMembers": "Mga trial na miyembro",
|
||||
"inactiveMembers": "Mga hindi aktibong miyembro",
|
||||
"generatePhoneList": "Gumawa ng listahan ng telepono",
|
||||
"onlyActiveMembers": "Tanging mga aktibong miyembro lamang ang ilalabas",
|
||||
"updateRatings": "I-update ang TTR/QTTR mula sa myTischtennis",
|
||||
"updating": "Nag-a-update...",
|
||||
"transferMembers": "Ilipat ang mga miyembro",
|
||||
"newMember": "Bagong miyembro",
|
||||
"editMember": "I-edit ang miyembro",
|
||||
"createNewMember": "Lumikha ng bagong miyembro",
|
||||
"firstName": "Pangalan",
|
||||
"lastName": "Apelyido",
|
||||
"street": "Kalye",
|
||||
"postalCode": "Postal code",
|
||||
"city": "Lungsod",
|
||||
"birthdate": "Petsa ng kapanganakan",
|
||||
"phones": "Mga numero ng telepono",
|
||||
"emails": "Mga email address",
|
||||
"addPhone": "Magdagdag ng numero ng telepono",
|
||||
"addEmail": "Magdagdag ng email address",
|
||||
"phoneNumber": "Numero ng telepono",
|
||||
"emailAddress": "Email address",
|
||||
"parent": "Magulang",
|
||||
"parentName": "Pangalan (hal. ina, ama)",
|
||||
"primary": "Pangunahin",
|
||||
"gender": "Kasarian",
|
||||
"genderUnknown": "Hindi alam",
|
||||
"genderMale": "Lalaki",
|
||||
"genderFemale": "Babae",
|
||||
"genderDiverse": "Iba pa",
|
||||
"picsInInternetAllowed": "Pinapayagan ang larawan sa internet",
|
||||
"testMembership": "Trial membership",
|
||||
"memberFormHandedOver": "Naibigay na ang form ng miyembro",
|
||||
"trainingGroups": "Mga grupo ng pagsasanay",
|
||||
"noGroupsAssigned": "Walang grupong nakatalaga",
|
||||
"noGroupsAvailable": "Walang available na grupo",
|
||||
"addGroup": "Magdagdag ng grupo...",
|
||||
"remove": "Alisin",
|
||||
"image": "Larawan",
|
||||
"selectFile": "Pumili ng file",
|
||||
"camera": "Camera",
|
||||
"imagePreview": "Preview ng larawan ng miyembro",
|
||||
"change": "Baguhin",
|
||||
"create": "Lumikha",
|
||||
"clearFields": "Burahin ang mga field",
|
||||
"showInactiveMembers": "Ipakita ang mga hindi aktibong miyembro",
|
||||
"ageGroup": "Pangkat ng edad",
|
||||
"adults": "Adulto (20+)",
|
||||
"j19": "J19 (19 pababa)",
|
||||
"j17": "J17 (17 pababa)",
|
||||
"j15": "J15 (15 pababa)",
|
||||
"j13": "J13 (13 pababa)",
|
||||
"j11": "J11 (11 pababa)",
|
||||
"clearFilters": "I-reset ang mga filter",
|
||||
"imageInternet": "Larawan (net?)",
|
||||
"testMember": "Trial",
|
||||
"name": "Apelyido, Pangalan",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "Address",
|
||||
"active": "Aktibo",
|
||||
"actions": "Mga aksyon",
|
||||
"phoneNumberShort": "Telepono",
|
||||
"emailAddressShort": "Email",
|
||||
"trainingParticipations": "Paglahok sa pagsasanay",
|
||||
"memberImage": "Larawan ng miyembro",
|
||||
"inactive": "hindi aktibo",
|
||||
"sixOrMoreParticipations": "6 o higit pang paglahok sa pagsasanay",
|
||||
"threeOrMoreParticipations": "3 o higit pang paglahok sa pagsasanay",
|
||||
"noTestMembership": "Hindi na trial member",
|
||||
"formHandedOver": "Naibigay na ang form ng miyembro",
|
||||
"deactivateMember": "I-deactivate ang miyembro",
|
||||
"notes": "Mga tala",
|
||||
"exercises": "Mga ehersisyo",
|
||||
"memberImages": "Mga larawan ng miyembro",
|
||||
"testMembershipRemoved": "Inalis na ang trial membership.",
|
||||
"errorRemovingTestMembership": "Error sa pag-alis ng trial membership.",
|
||||
"formMarkedAsHandedOver": "Namarkahan bilang naibigay na ang form ng miyembro.",
|
||||
"errorMarkingForm": "Error sa pagmamarka ng form.",
|
||||
"deactivateMemberTitle": "I-deactivate ang miyembro",
|
||||
"deactivateMemberConfirm": "Sigurado ka bang ide-deactivate si \"{name}\"?",
|
||||
"memberDeactivated": "Na-deactivate na ang miyembro",
|
||||
"errorDeactivatingMember": "Error sa pag-deactivate ng miyembro",
|
||||
"errorSavingMember": "Error sa pag-save ng miyembro",
|
||||
"errorAddingToGroup": "Error sa pagdagdag sa grupo",
|
||||
"errorRemovingFromGroup": "Error sa pag-alis mula sa grupo",
|
||||
"imageUpdated": "Na-update na ang larawan",
|
||||
"errorRotatingImage": "Error sa pag-ikot ng larawan",
|
||||
"imageDeleted": "Nabura na ang larawan.",
|
||||
"errorDeletingImage": "Hindi mabura ang larawan",
|
||||
"primaryImageUpdated": "Na-update na ang pangunahing larawan.",
|
||||
"errorSettingPrimaryImage": "Hindi maitakda ang pangunahing larawan",
|
||||
"errorUploadingImage": "Hindi ma-upload ang larawan",
|
||||
"errorLoadingImage": "Error sa pag-load ng larawan",
|
||||
"phoneList": "ListahanNgTelepono.pdf",
|
||||
"errorLoadingTrainingParticipations": "Error sa pag-load ng paglahok sa pagsasanay",
|
||||
"errorUpdatingRatings": "Error sa pag-update ng mga TTR/QTTR value",
|
||||
"errorTransfer": "Error sa paglipat",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -341,11 +491,17 @@
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeActiveDataIncomplete": "Aktibo + hindi kumpleto ang datos",
|
||||
"scopeDataIncomplete": "Hindi kumpleto ang datos",
|
||||
"scopeInactive": "Inactive",
|
||||
"searchAndFilter": "Paghahanap at mga filter",
|
||||
"bulkActions": "Mga bulk action",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "Mangyaring magtalaga ng kahit isang grupo ng pagsasanay.",
|
||||
"editorRecommendedEntry": "Inirerekomendang entry",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -363,7 +519,7 @@
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"status": "Katayuan",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
@@ -390,17 +546,33 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "Edad mula - hanggang",
|
||||
"ageFromPlaceholder": "mula",
|
||||
"ageToPlaceholder": "hanggang",
|
||||
"age": "Age",
|
||||
"dataQuality": "Kalidad ng datos",
|
||||
"dataQualityComplete": "Kumpleto ang datos",
|
||||
"dataIssueBirthdate": "Kulang ang petsa ng kapanganakan",
|
||||
"dataIssuePhone": "Kulang ang telepono",
|
||||
"dataIssueEmail": "Kulang ang email",
|
||||
"dataIssueAddress": "Kulang ang address",
|
||||
"dataIssueGender": "Hindi malinaw ang kasarian",
|
||||
"dataIssueTrainingGroup": "Kulang ang grupo ng pagsasanay",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "Suriin ang kalidad ng datos",
|
||||
"taskAssignTrainingGroup": "Magtalaga ng grupo ng pagsasanay",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "Buksan",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "Ipakita ang TTR history",
|
||||
"missingTtrHistoryId": "Walang naka-save na myTischtennis ID",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -422,5 +594,212 @@
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"diary": {
|
||||
"title": "Talaarawan ng pagsasanay",
|
||||
"date": "Petsa",
|
||||
"noEntries": "Walang entry",
|
||||
"deleteDate": "Burahin ang petsa",
|
||||
"createNew": "Lumikha ng bago",
|
||||
"gallery": "Gallery ng mga miyembro",
|
||||
"galleryCreating": "Ginagawa ang gallery…",
|
||||
"selectTrainingGroup": "Pumili ng grupo ng pagsasanay",
|
||||
"selectTrainingGroupPlaceholder": "Mangyaring pumili...",
|
||||
"suggestion": "Mungkahi",
|
||||
"nextAppointment": "Susunod na schedule",
|
||||
"applySuggestion": "Ilapat ang mungkahi",
|
||||
"skipSuggestion": "Magpatuloy nang walang mungkahi",
|
||||
"createNewDate": "Lumikha ng bagong petsa",
|
||||
"activeTrainingDay": "Aktibong araw ng pagsasanay",
|
||||
"trainingDaySection": "Araw ng pagsasanay",
|
||||
"trainingDayChecklist": "Checklist ng pagkumpleto",
|
||||
"trainingStart": "Simula ng pagsasanay",
|
||||
"trainingEnd": "Pagtatapos ng pagsasanay",
|
||||
"trainingWindow": "Oras ng pagsasanay",
|
||||
"trainingWindowUnset": "Hindi pa naitakda",
|
||||
"groupsLabel": "Mga grupo",
|
||||
"groupsSection": "Mga grupo",
|
||||
"createDate": "Lumikha ng petsa",
|
||||
"editTrainingTimes": "I-edit ang oras ng pagsasanay",
|
||||
"updateTimes": "I-update ang oras",
|
||||
"groupManagement": "Pamamahala ng grupo",
|
||||
"createGroups": "Lumikha ng mga grupo",
|
||||
"trainingPlan": "Plano ng pagsasanay",
|
||||
"planActivitiesCount": "Mga aktibidad sa plano",
|
||||
"timeblocksCount": "Mga time block",
|
||||
"planEmptyState": "Wala pang nakalagay sa plano ng pagsasanay.",
|
||||
"planAddHint": "Magdagdag ng bagong item sa plano gamit ang mga aksyon sa itaas.",
|
||||
"startTime": "Oras ng simula",
|
||||
"group": "Grupo...",
|
||||
"timeblock": "Time block",
|
||||
"assignParticipants": "Magtalaga ng mga kalahok",
|
||||
"addTimeblock": "Time block",
|
||||
"activities": "Mga aktibidad",
|
||||
"freeActivities": "Libreng aktibidad",
|
||||
"noFreeActivitiesYet": "Wala pang naitalang libreng aktibidad.",
|
||||
"addActivity": "Magdagdag ng aktibidad",
|
||||
"bookAccident": "Magtala ng aksidente",
|
||||
"activity": "Aktibidad",
|
||||
"duration": "Tagal",
|
||||
"activityImage": "Larawan ng aktibidad",
|
||||
"activityDrawing": "Guhit ng aktibidad",
|
||||
"today": "Ngayon",
|
||||
"existingGroups": "Mga kasalukuyang grupo",
|
||||
"leader": "Tagapanguna",
|
||||
"deleteGroup": "Burahin ang grupo",
|
||||
"numberOfGroups": "Bilang ng grupo",
|
||||
"addGroup": "Magdagdag ng grupo",
|
||||
"activityOrTimeblock": "Aktibidad / time block",
|
||||
"durationMinutes": "Tagal (min)",
|
||||
"standardActivities": "Mga karaniwang aktibidad",
|
||||
"standardDurationShort": "min",
|
||||
"standardActivityAddError": "Hindi maidagdag ang karaniwang aktibidad.",
|
||||
"addGroupActivity": "Magdagdag ng aktibidad ng grupo",
|
||||
"addGroupButton": "+ Grupo",
|
||||
"all": "Lahat",
|
||||
"selectGroup": "Pumili ng grupo...",
|
||||
"activityPlaceholder": "Aktibidad",
|
||||
"assignShort": "Italaga",
|
||||
"statusReadyShort": "Handa",
|
||||
"statusOpenShort": "Bukas",
|
||||
"openPlanItemsLabel": "Katayuan ng plano",
|
||||
"openPlanItems": "{count} bukas",
|
||||
"unassignedPlanItems": "{count} hindi nakatalaga",
|
||||
"durationExampleLong": "hal. 2x7 o 3*5",
|
||||
"durationExampleShort": "hal. 2x7",
|
||||
"showImage": "Ipakita ang larawan/guhit",
|
||||
"participants": "Mga kalahok",
|
||||
"searchParticipants": "Maghanap ng kalahok",
|
||||
"filterAll": "Lahat",
|
||||
"filterPresent": "Dumalo",
|
||||
"filterAbsent": "Liban",
|
||||
"filterExcused": "May paalam",
|
||||
"filterTest": "Trial",
|
||||
"participantStatusNone": "Walang katayuan",
|
||||
"participantStatusExcused": "May paalam",
|
||||
"participantStatusCancelled": "Kinansela",
|
||||
"quickAdd": "+ Quick add",
|
||||
"selectTags": "Pumili ng mga tag",
|
||||
"createDrawing": "Gumawa ng guhit ng ehersisyo",
|
||||
"overallActivity": "Kabuuang aktibidad",
|
||||
"editActivity": "I-edit ang aktibidad",
|
||||
"editGroupActivity": "I-edit ang aktibidad ng grupo",
|
||||
"assignParticipantsForGroupActivity": "Magtalaga ng mga kalahok para sa aktibidad ng grupo",
|
||||
"delete": "Burahin",
|
||||
"min": "Min",
|
||||
"errorLoadingPredefinedActivities": "Error sa pag-load ng paunang natukoy na mga aktibidad",
|
||||
"selectParticipantAndNote": "Mangyaring pumili ng kalahok at maglagay ng tala.",
|
||||
"selectGroupAndActivity": "Mangyaring pumili ng grupo at maglagay ng aktibidad.",
|
||||
"dateCannotBeDeleted": "Hindi mabubura ang petsa",
|
||||
"dateCannotBeDeletedDetails": "May laman pa (plano ng pagsasanay, mga kalahok, aktibidad, aksidente o mga tala).",
|
||||
"confirmDelete": "Kumpirmahin ang pagbura",
|
||||
"confirmDeleteDate": "Sigurado ka bang buburahin ang petsang ito?",
|
||||
"confirmDeleteDateDetails": "Mabubura rin ang lahat ng kaugnay na datos.",
|
||||
"noParticipants": "Walang kalahok para sa araw ng pagsasanay na ito.",
|
||||
"mustCreateAtLeastTwoGroups": "Sa unang paggawa, kailangan ng hindi bababa sa 2 grupo!",
|
||||
"oneGroupAdded": "Matagumpay na naidagdag ang 1 grupo!",
|
||||
"groupsCreated": "Matagumpay na nalikha ang {count} grupo!",
|
||||
"errorCreatingGroups": "Error sa paggawa ng mga grupo",
|
||||
"confirmDeleteGroup": "Sigurado ka bang buburahin ang grupong \"{name}\"?",
|
||||
"groupDeletedSuccessfully": "Matagumpay na nabura ang grupo!",
|
||||
"errorDeletingGroup": "Error sa pagbura ng grupo",
|
||||
"errorCreatingActivity": "Error sa paggawa ng aktibidad",
|
||||
"trainingPlanAsPDF": "Plano ng pagsasanay bilang PDF",
|
||||
"trainingPlanPdfShort": "Flow plan bilang PDF",
|
||||
"trainingDayAsPDF": "I-download ang araw ng pagsasanay bilang PDF",
|
||||
"trainingDayAsPDFShort": "Araw ng pagsasanay PDF",
|
||||
"trainingDaySummaryPdfShort": "Buod ng kalahok bilang PDF",
|
||||
"minutes": "Minuto",
|
||||
"formHandedOver": "Naibigay na ang form ng miyembro",
|
||||
"errorOccurred": "May naganap na error. Pakisubukang muli.",
|
||||
"trainingTimesUpdated": "Matagumpay na na-update ang oras ng pagsasanay.",
|
||||
"noActiveTrainingDay": "Walang napiling araw ng pagsasanay.",
|
||||
"statusReady": "Naayos na ang oras at plano ng pagsasanay.",
|
||||
"statusEmpty": "Wala pang laman ang araw ng pagsasanay na ito.",
|
||||
"statusInProgress": "Bahagyang naihanda ang araw ng pagsasanay na ito.",
|
||||
"formMarkedAsHandedOver": "Namarkahan bilang naibigay na ang form ng miyembro",
|
||||
"errorMarkingForm": "Error sa pagmamarka ng form ng miyembro",
|
||||
"dateNoLongerCurrent": "Hindi na kasalukuyan ang napiling petsa. Pakisubukan muli.",
|
||||
"activityRequired": "Mangyaring maglagay ng aktibidad.",
|
||||
"activityNotFound": "Hindi nahanap ang aktibidad. Mangyaring pumili mula sa listahan."
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "Mga istatistika ng pagsasanay",
|
||||
"activeMembers": "Mga aktibong miyembro",
|
||||
"averageParticipationCurrentMonth": "Karaniwang paglahok (kasalukuyang buwan)",
|
||||
"averageParticipationLastMonth": "Karaniwang paglahok (nakaraang buwan)",
|
||||
"averageParticipationQuarter": "Karaniwang paglahok (quarter)",
|
||||
"averageParticipationHalfYear": "Karaniwang paglahok (kalahating taon)",
|
||||
"averageParticipationYear": "Karaniwang paglahok (taon)",
|
||||
"trainingDays": "Mga araw ng pagsasanay (huling 12 buwan)",
|
||||
"memberParticipations": "Paglahok ng miyembro",
|
||||
"date": "Petsa",
|
||||
"weekday": "Araw ng linggo",
|
||||
"participants": "Mga kalahok",
|
||||
"name": "Pangalan",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "Petsa ng kapanganakan",
|
||||
"participations12Months": "Paglahok (12 buwan)",
|
||||
"participations3Months": "Paglahok (3 buwan)",
|
||||
"participationsTotal": "Paglahok (kabuuan)",
|
||||
"lastTraining": "Huling pagsasanay",
|
||||
"actions": "Mga aksyon",
|
||||
"showDetails": "Ipakita ang mga detalye"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "Guhit ng ehersisyo sa table tennis",
|
||||
"configureExercise": "I-configure ang ehersisyo",
|
||||
"stepStartPosition": "1. Panimulang posisyon",
|
||||
"stepStartPositionHint": "Saang posisyon ng serve magsisimula ang ehersisyo?",
|
||||
"stepFirstStroke": "2. Unang palo",
|
||||
"stepFirstStrokeHint": "Itakda ang side at spin para sa unang bola.",
|
||||
"stepTarget": "3. Target",
|
||||
"stepTargetHint": "Pumili ng target zone para sa unang palo.",
|
||||
"stepAdditionalStrokes": "4. Mga kasunod na palo",
|
||||
"stepAdditionalStrokesHint": "Opsyonal na magdagdag pa ng mga bola bilang listahan.",
|
||||
"noAdditionalStrokes": "Wala pang mga kasunod na palo.",
|
||||
"service": "Serve:",
|
||||
"serviceTitle": "Serve",
|
||||
"forehand": "Forehand",
|
||||
"backhand": "Backhand",
|
||||
"spin": "Spin:",
|
||||
"underspin": "Underspin",
|
||||
"topspin": "Topspin",
|
||||
"sidespin": "Sidespin",
|
||||
"sideUnderspin": "Side underspin",
|
||||
"counterSpin": "Counter spin",
|
||||
"targetPosition": "Posisyon ng target:",
|
||||
"targetPositionLabel": "Posisyon ng target",
|
||||
"strokeSide": "Side",
|
||||
"strokeTypeLabel": "Uri ng palo",
|
||||
"addStroke": "Magdagdag ng palo",
|
||||
"preview": "Preview",
|
||||
"previewHint": "Lilitaw ang graphic kapag kumpleto na ang unang palo.",
|
||||
"completeFirstStroke": "Tapusin ang unang palo",
|
||||
"completeFirstStrokeHint": "Piliin ang panimulang posisyon, side, spin at target. Pagkatapos ay lalabas ang graphic.",
|
||||
"codeLabel": "Code",
|
||||
"titleLabel": "Pamagat",
|
||||
"startLeft": "kaliwa",
|
||||
"startMiddle": "gitna",
|
||||
"startRight": "kanan",
|
||||
"strokeTypePush": "Push",
|
||||
"strokeTypeCounter": "Counter",
|
||||
"strokeTypeTopspin": "Topspin",
|
||||
"strokeTypeFlip": "Flip",
|
||||
"strokeTypeBlock": "Block",
|
||||
"strokeTypeSmash": "Smash",
|
||||
"strokeTypeChopDefense": "Chop defense",
|
||||
"strokeTypeLobDefense": "Lob defense",
|
||||
"targetForehandLong": "forehand long",
|
||||
"targetMiddleLong": "middle long",
|
||||
"targetBackhandLong": "backhand long",
|
||||
"targetForehandHalfLong": "forehand half-long",
|
||||
"targetMiddleHalfLong": "middle half-long",
|
||||
"targetBackhandHalfLong": "backhand half-long",
|
||||
"targetForehandShort": "forehand short",
|
||||
"targetMiddleShort": "middle short",
|
||||
"targetBackhandShort": "backhand short",
|
||||
"toTarget": "papunta sa"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,41 @@
|
||||
"next": "下一步",
|
||||
"previous": "上一步",
|
||||
"submit": "提交",
|
||||
"reset": "重置"
|
||||
"reset": "重置",
|
||||
"all": "全部",
|
||||
"today": "今天",
|
||||
"time": "时间",
|
||||
"new": "新建",
|
||||
"update": "更新",
|
||||
"create": "创建",
|
||||
"remove": "移除",
|
||||
"select": "选择",
|
||||
"download": "下载",
|
||||
"choose": "选择",
|
||||
"apply": "应用",
|
||||
"clear": "清除",
|
||||
"details": "详情",
|
||||
"view": "查看",
|
||||
"name": "名称",
|
||||
"date": "日期",
|
||||
"status": "状态",
|
||||
"type": "类型",
|
||||
"description": "描述",
|
||||
"active": "活跃",
|
||||
"inactive": "非活跃",
|
||||
"enabled": "已启用",
|
||||
"disabled": "已禁用",
|
||||
"required": "必填",
|
||||
"optional": "可选",
|
||||
"in": "后",
|
||||
"min": "分",
|
||||
"minutes": "分钟",
|
||||
"hours": "小时",
|
||||
"days": "天",
|
||||
"weeks": "周",
|
||||
"months": "个月",
|
||||
"years": "年",
|
||||
"ok": "确定"
|
||||
},
|
||||
"navigation": {
|
||||
"home": "首页",
|
||||
@@ -41,13 +75,16 @@
|
||||
"logs": "系统日志",
|
||||
"memberTransfer": "成员转移",
|
||||
"myTischtennisAccount": "myTischtennis账户",
|
||||
"clickTtAccount": "HTTV / click-TT 账户",
|
||||
"clickTtBrowser": "HTTV / click-TT",
|
||||
"personalSettings": "个人设置",
|
||||
"logout": "退出登录",
|
||||
"login": "登录",
|
||||
"register": "注册",
|
||||
"dailyBusiness": "日常事务",
|
||||
"competitions": "比赛",
|
||||
"settings": "设置"
|
||||
"settings": "设置",
|
||||
"backToHome": "返回首页"
|
||||
},
|
||||
"club": {
|
||||
"select": "选择俱乐部",
|
||||
@@ -56,7 +93,20 @@
|
||||
"load": "加载",
|
||||
"name": "俱乐部名称",
|
||||
"create": "创建俱乐部",
|
||||
"accessRequestPending": "Access to this club has been requested. Please be patient."
|
||||
"createTitle": "创建俱乐部",
|
||||
"members": "成员",
|
||||
"trainingDiary": "训练日记",
|
||||
"noAccess": "您尚未获得此俱乐部的访问权限。",
|
||||
"requestAccess": "申请访问权限",
|
||||
"openRequests": "待处理的访问申请",
|
||||
"title": "俱乐部",
|
||||
"openAccessRequests": "待处理的访问申请",
|
||||
"diary": "训练日记",
|
||||
"accessDenied": "无权访问此俱乐部。",
|
||||
"errorLoadingRequests": "加载待处理申请时出错",
|
||||
"accessRequested": "已提交访问申请。",
|
||||
"accessRequestPending": "已申请访问此俱乐部。请稍候。",
|
||||
"accessRequestFailed": "无法提交访问申请。"
|
||||
},
|
||||
"auth": {
|
||||
"login": "登录",
|
||||
@@ -331,6 +381,106 @@
|
||||
"stageFlowQualifiedPreviewEntry": "G{group} · Place {position} · {name}"
|
||||
},
|
||||
"members": {
|
||||
"title": "成员",
|
||||
"memberInfo": "成员信息",
|
||||
"activeMembers": "活跃成员",
|
||||
"testMembers": "试用成员",
|
||||
"inactiveMembers": "非活跃成员",
|
||||
"generatePhoneList": "生成电话列表",
|
||||
"onlyActiveMembers": "仅导出活跃成员",
|
||||
"updateRatings": "从 myTischtennis 更新 TTR/QTTR",
|
||||
"updating": "更新中...",
|
||||
"transferMembers": "转移成员",
|
||||
"newMember": "新成员",
|
||||
"editMember": "编辑成员",
|
||||
"createNewMember": "创建新成员",
|
||||
"firstName": "名",
|
||||
"lastName": "姓",
|
||||
"street": "街道",
|
||||
"postalCode": "邮政编码",
|
||||
"city": "城市",
|
||||
"birthdate": "出生日期",
|
||||
"phones": "电话号码",
|
||||
"emails": "电子邮箱地址",
|
||||
"addPhone": "添加电话号码",
|
||||
"addEmail": "添加电子邮箱地址",
|
||||
"phoneNumber": "电话号码",
|
||||
"emailAddress": "电子邮箱地址",
|
||||
"parent": "家长",
|
||||
"parentName": "姓名(例如:母亲、父亲)",
|
||||
"primary": "主要",
|
||||
"gender": "性别",
|
||||
"genderUnknown": "未知",
|
||||
"genderMale": "男",
|
||||
"genderFemale": "女",
|
||||
"genderDiverse": "其他",
|
||||
"picsInInternetAllowed": "允许在互联网上发布照片",
|
||||
"testMembership": "试用会员",
|
||||
"memberFormHandedOver": "会员表格已交付",
|
||||
"trainingGroups": "训练组",
|
||||
"noGroupsAssigned": "未分配任何分组",
|
||||
"noGroupsAvailable": "没有可用分组",
|
||||
"addGroup": "添加分组...",
|
||||
"remove": "移除",
|
||||
"image": "图片",
|
||||
"selectFile": "选择文件",
|
||||
"camera": "相机",
|
||||
"imagePreview": "成员图片预览",
|
||||
"change": "更改",
|
||||
"create": "创建",
|
||||
"clearFields": "清空字段",
|
||||
"showInactiveMembers": "显示非活跃成员",
|
||||
"ageGroup": "年龄组",
|
||||
"adults": "成人(20岁以上)",
|
||||
"j19": "J19(19岁及以下)",
|
||||
"j17": "J17(17岁及以下)",
|
||||
"j15": "J15(15岁及以下)",
|
||||
"j13": "J13(13岁及以下)",
|
||||
"j11": "J11(11岁及以下)",
|
||||
"clearFilters": "重置筛选",
|
||||
"imageInternet": "图片(网络)",
|
||||
"testMember": "试用",
|
||||
"name": "姓名",
|
||||
"ttrQttr": "TTR / QTTR",
|
||||
"address": "地址",
|
||||
"active": "活跃",
|
||||
"actions": "操作",
|
||||
"phoneNumberShort": "电话",
|
||||
"emailAddressShort": "邮箱",
|
||||
"trainingParticipations": "训练参与次数",
|
||||
"memberImage": "成员图片",
|
||||
"inactive": "非活跃",
|
||||
"sixOrMoreParticipations": "训练参与 6 次或以上",
|
||||
"threeOrMoreParticipations": "训练参与 3 次或以上",
|
||||
"noTestMembership": "不再是试用会员",
|
||||
"formHandedOver": "会员表格已交付",
|
||||
"deactivateMember": "停用成员",
|
||||
"notes": "备注",
|
||||
"exercises": "练习",
|
||||
"memberImages": "成员图片",
|
||||
"testMembershipRemoved": "试用会员资格已移除。",
|
||||
"errorRemovingTestMembership": "移除试用会员资格时出错。",
|
||||
"formMarkedAsHandedOver": "已将会员表格标记为已交付。",
|
||||
"errorMarkingForm": "标记表格时出错。",
|
||||
"deactivateMemberTitle": "停用成员",
|
||||
"deactivateMemberConfirm": "确定要停用“{name}”吗?",
|
||||
"memberDeactivated": "成员已停用",
|
||||
"errorDeactivatingMember": "停用成员时出错",
|
||||
"errorSavingMember": "保存成员时出错",
|
||||
"errorAddingToGroup": "添加到分组时出错",
|
||||
"errorRemovingFromGroup": "从分组移除时出错",
|
||||
"imageUpdated": "图片已更新",
|
||||
"errorRotatingImage": "旋转图片时出错",
|
||||
"imageDeleted": "图片已删除。",
|
||||
"errorDeletingImage": "无法删除图片",
|
||||
"primaryImageUpdated": "主图片已更新。",
|
||||
"errorSettingPrimaryImage": "无法设置主图片",
|
||||
"errorUploadingImage": "无法上传图片",
|
||||
"errorLoadingImage": "加载图片时出错",
|
||||
"phoneList": "电话列表.pdf",
|
||||
"errorLoadingTrainingParticipations": "加载训练参与记录时出错",
|
||||
"errorUpdatingRatings": "更新 TTR/QTTR 时出错",
|
||||
"errorTransfer": "转移时出错",
|
||||
"subtitle": "Search, filter and edit members directly.",
|
||||
"closeEditor": "Close editor",
|
||||
"visibleMembers": "Visible members",
|
||||
@@ -341,11 +491,17 @@
|
||||
"scopeActive": "Active",
|
||||
"scopeTest": "Trial",
|
||||
"scopeNeedsForm": "Form unverified",
|
||||
"scopeActiveDataIncomplete": "活跃 + 数据不完整",
|
||||
"scopeDataIncomplete": "数据不完整",
|
||||
"scopeInactive": "Inactive",
|
||||
"searchAndFilter": "搜索和筛选",
|
||||
"bulkActions": "批量操作",
|
||||
"resultsVisible": "members visible",
|
||||
"editHint": "Click a row to open the editor.",
|
||||
"editorCreateHint": "Create a new member and capture contact details directly.",
|
||||
"editorEditHint": "Edit the details for {name}.",
|
||||
"editorAssignTrainingGroupHint": "请至少分配一个训练组。",
|
||||
"editorRecommendedEntry": "建议填写",
|
||||
"transferSuccessTitle": "Transfer successful",
|
||||
"transferErrorTitle": "Transfer error",
|
||||
"clickTtRequestPending": "Click-TT request in progress",
|
||||
@@ -363,7 +519,7 @@
|
||||
"errorLoadingMembers": "Failed to load the member list.",
|
||||
"scopeNotTraining": "No longer training",
|
||||
"notInTrainingTooltip": "No participation for {weeks} training weeks",
|
||||
"status": "Status",
|
||||
"status": "状态",
|
||||
"contact": "Contact",
|
||||
"noPhoneShort": "No phone",
|
||||
"noEmailShort": "No email",
|
||||
@@ -390,17 +546,33 @@
|
||||
"sortFirstName": "First name",
|
||||
"sortBirthday": "Birthday",
|
||||
"sortAge": "Age",
|
||||
"ageRange": "年龄范围",
|
||||
"ageFromPlaceholder": "从",
|
||||
"ageToPlaceholder": "到",
|
||||
"age": "Age",
|
||||
"dataQuality": "数据质量",
|
||||
"dataQualityComplete": "数据完整",
|
||||
"dataIssueBirthdate": "缺少出生日期",
|
||||
"dataIssuePhone": "缺少电话号码",
|
||||
"dataIssueEmail": "缺少电子邮箱地址",
|
||||
"dataIssueAddress": "缺少地址",
|
||||
"dataIssueGender": "性别未明确",
|
||||
"dataIssueTrainingGroup": "缺少训练组",
|
||||
"openTasks": "Open tasks",
|
||||
"noOpenTasks": "No open tasks",
|
||||
"taskVerifyForm": "Verify form",
|
||||
"taskReviewTrialStatus": "Review trial status",
|
||||
"taskCheckTrainingStatus": "Review training status",
|
||||
"taskCheckDataQuality": "检查数据质量",
|
||||
"taskAssignTrainingGroup": "分配训练组",
|
||||
"taskCheckClickTt": "Review Click-TT eligibility",
|
||||
"taskActionVerify": "Verify",
|
||||
"taskActionMarkRegular": "Mark regular",
|
||||
"taskActionReview": "打开",
|
||||
"taskActionRequest": "Request",
|
||||
"toggleSortDirection": "Toggle sort direction",
|
||||
"showTtrHistory": "显示 TTR 历史",
|
||||
"missingTtrHistoryId": "未保存 myTischtennis ID",
|
||||
"sortLastTraining": "Last training",
|
||||
"sortOpenTasks": "Open tasks",
|
||||
"exportPreview": "Export preview",
|
||||
@@ -422,5 +594,212 @@
|
||||
"composeEmail": "Compose email",
|
||||
"copyContactSummary": "Copy contact summary",
|
||||
"copyContactSummarySuccess": "Contact summary copied to clipboard."
|
||||
},
|
||||
"diary": {
|
||||
"title": "训练日记",
|
||||
"date": "日期",
|
||||
"noEntries": "没有条目",
|
||||
"deleteDate": "删除日期",
|
||||
"createNew": "新建",
|
||||
"gallery": "成员图库",
|
||||
"galleryCreating": "正在生成图库…",
|
||||
"selectTrainingGroup": "选择训练组",
|
||||
"selectTrainingGroupPlaceholder": "请选择...",
|
||||
"suggestion": "建议",
|
||||
"nextAppointment": "下一个时间",
|
||||
"applySuggestion": "应用建议",
|
||||
"skipSuggestion": "不使用建议继续",
|
||||
"createNewDate": "创建新日期",
|
||||
"activeTrainingDay": "当前训练日",
|
||||
"trainingDaySection": "训练日",
|
||||
"trainingDayChecklist": "完成检查",
|
||||
"trainingStart": "训练开始",
|
||||
"trainingEnd": "训练结束",
|
||||
"trainingWindow": "训练时间段",
|
||||
"trainingWindowUnset": "尚未设置",
|
||||
"groupsLabel": "分组",
|
||||
"groupsSection": "分组",
|
||||
"createDate": "创建日期",
|
||||
"editTrainingTimes": "编辑训练时间",
|
||||
"updateTimes": "更新时间",
|
||||
"groupManagement": "分组管理",
|
||||
"createGroups": "创建分组",
|
||||
"trainingPlan": "训练计划",
|
||||
"planActivitiesCount": "计划活动",
|
||||
"timeblocksCount": "时间块",
|
||||
"planEmptyState": "训练计划中还没有任何内容。",
|
||||
"planAddHint": "可通过上方操作添加新的计划项目。",
|
||||
"startTime": "开始时间",
|
||||
"group": "分组...",
|
||||
"timeblock": "时间块",
|
||||
"assignParticipants": "分配参与者",
|
||||
"addTimeblock": "时间块",
|
||||
"activities": "活动",
|
||||
"freeActivities": "自由活动",
|
||||
"noFreeActivitiesYet": "尚未记录自由活动。",
|
||||
"addActivity": "添加活动",
|
||||
"bookAccident": "记录事故",
|
||||
"activity": "活动",
|
||||
"duration": "时长",
|
||||
"activityImage": "活动图片",
|
||||
"activityDrawing": "活动图示",
|
||||
"today": "今天",
|
||||
"existingGroups": "现有分组",
|
||||
"leader": "负责人",
|
||||
"deleteGroup": "删除分组",
|
||||
"numberOfGroups": "分组数量",
|
||||
"addGroup": "添加分组",
|
||||
"activityOrTimeblock": "活动 / 时间块",
|
||||
"durationMinutes": "时长(分)",
|
||||
"standardActivities": "标准活动",
|
||||
"standardDurationShort": "分",
|
||||
"standardActivityAddError": "无法添加标准活动。",
|
||||
"addGroupActivity": "添加分组活动",
|
||||
"addGroupButton": "+ 分组",
|
||||
"all": "全部",
|
||||
"selectGroup": "选择分组...",
|
||||
"activityPlaceholder": "活动",
|
||||
"assignShort": "分配",
|
||||
"statusReadyShort": "已就绪",
|
||||
"statusOpenShort": "未完成",
|
||||
"openPlanItemsLabel": "计划状态",
|
||||
"openPlanItems": "{count} 项未完成",
|
||||
"unassignedPlanItems": "{count} 项未分配",
|
||||
"durationExampleLong": "例如:2x7 或 3*5",
|
||||
"durationExampleShort": "例如:2x7",
|
||||
"showImage": "显示图片/图示",
|
||||
"participants": "参与者",
|
||||
"searchParticipants": "搜索参与者",
|
||||
"filterAll": "全部",
|
||||
"filterPresent": "出席",
|
||||
"filterAbsent": "缺席",
|
||||
"filterExcused": "已请假",
|
||||
"filterTest": "试用",
|
||||
"participantStatusNone": "无状态",
|
||||
"participantStatusExcused": "已请假",
|
||||
"participantStatusCancelled": "已取消",
|
||||
"quickAdd": "+ 快速添加",
|
||||
"selectTags": "选择标签",
|
||||
"createDrawing": "创建练习图",
|
||||
"overallActivity": "整体活动",
|
||||
"editActivity": "编辑活动",
|
||||
"editGroupActivity": "编辑分组活动",
|
||||
"assignParticipantsForGroupActivity": "为分组活动分配参与者",
|
||||
"delete": "删除",
|
||||
"min": "分",
|
||||
"errorLoadingPredefinedActivities": "加载预定义活动时出错",
|
||||
"selectParticipantAndNote": "请选择一位参与者并输入备注文本。",
|
||||
"selectGroupAndActivity": "请选择一个分组并输入活动。",
|
||||
"dateCannotBeDeleted": "无法删除该日期",
|
||||
"dateCannotBeDeletedDetails": "仍有内容存在(训练计划、参与者、活动、事故或备注)。",
|
||||
"confirmDelete": "确认删除",
|
||||
"confirmDeleteDate": "确定要删除此日期吗?",
|
||||
"confirmDeleteDateDetails": "所有相关数据也将一并删除。",
|
||||
"noParticipants": "该训练日没有参与者。",
|
||||
"mustCreateAtLeastTwoGroups": "首次创建时至少需要 2 个分组。",
|
||||
"oneGroupAdded": "已成功添加 1 个分组。",
|
||||
"groupsCreated": "已成功创建 {count} 个分组。",
|
||||
"errorCreatingGroups": "创建分组时出错",
|
||||
"confirmDeleteGroup": "确定要删除分组“{name}”吗?",
|
||||
"groupDeletedSuccessfully": "分组已成功删除。",
|
||||
"errorDeletingGroup": "删除分组时出错",
|
||||
"errorCreatingActivity": "创建活动时出错",
|
||||
"trainingPlanAsPDF": "将训练计划导出为 PDF",
|
||||
"trainingPlanPdfShort": "流程计划 PDF",
|
||||
"trainingDayAsPDF": "将训练日下载为 PDF",
|
||||
"trainingDayAsPDFShort": "训练日 PDF",
|
||||
"trainingDaySummaryPdfShort": "参与者概览 PDF",
|
||||
"minutes": "分钟",
|
||||
"formHandedOver": "会员表格已交付",
|
||||
"errorOccurred": "发生错误。请重试。",
|
||||
"trainingTimesUpdated": "训练时间已成功更新。",
|
||||
"noActiveTrainingDay": "未选择训练日。",
|
||||
"statusReady": "时间和训练计划已维护完成。",
|
||||
"statusEmpty": "该训练日仍为空。",
|
||||
"statusInProgress": "该训练日已部分准备。",
|
||||
"formMarkedAsHandedOver": "已将会员表格标记为已交付",
|
||||
"errorMarkingForm": "标记会员表格时出错",
|
||||
"dateNoLongerCurrent": "所选日期已不是最新状态。请重试。",
|
||||
"activityRequired": "请输入活动。",
|
||||
"activityNotFound": "未找到活动。请从列表中选择。"
|
||||
},
|
||||
"trainingStats": {
|
||||
"title": "训练统计",
|
||||
"activeMembers": "活跃成员",
|
||||
"averageParticipationCurrentMonth": "平均参与人数(本月)",
|
||||
"averageParticipationLastMonth": "平均参与人数(上月)",
|
||||
"averageParticipationQuarter": "平均参与人数(季度)",
|
||||
"averageParticipationHalfYear": "平均参与人数(半年)",
|
||||
"averageParticipationYear": "平均参与人数(全年)",
|
||||
"trainingDays": "训练日(近 12 个月)",
|
||||
"memberParticipations": "成员参与次数",
|
||||
"date": "日期",
|
||||
"weekday": "星期",
|
||||
"participants": "参与者",
|
||||
"name": "姓名",
|
||||
"ttr": "TTR",
|
||||
"qttr": "QTTR",
|
||||
"birthdate": "出生日期",
|
||||
"participations12Months": "参与次数(12 个月)",
|
||||
"participations3Months": "参与次数(3 个月)",
|
||||
"participationsTotal": "参与次数(总计)",
|
||||
"lastTraining": "最近训练",
|
||||
"actions": "操作",
|
||||
"showDetails": "显示详情"
|
||||
},
|
||||
"courtDrawingTool": {
|
||||
"title": "乒乓球练习示意图",
|
||||
"configureExercise": "配置练习",
|
||||
"stepStartPosition": "1. 起始位置",
|
||||
"stepStartPositionHint": "练习从哪个发球位置开始?",
|
||||
"stepFirstStroke": "2. 第一拍",
|
||||
"stepFirstStrokeHint": "设置第一球的击球面和旋转。",
|
||||
"stepTarget": "3. 目标",
|
||||
"stepTargetHint": "选择第一拍的目标区域。",
|
||||
"stepAdditionalStrokes": "4. 后续击球",
|
||||
"stepAdditionalStrokesHint": "可选地将后续来球添加为列表。",
|
||||
"noAdditionalStrokes": "尚未添加后续击球。",
|
||||
"service": "发球:",
|
||||
"serviceTitle": "发球",
|
||||
"forehand": "正手",
|
||||
"backhand": "反手",
|
||||
"spin": "旋转:",
|
||||
"underspin": "下旋",
|
||||
"topspin": "上旋",
|
||||
"sidespin": "侧旋",
|
||||
"sideUnderspin": "侧下旋",
|
||||
"counterSpin": "逆旋转",
|
||||
"targetPosition": "目标位置:",
|
||||
"targetPositionLabel": "目标位置",
|
||||
"strokeSide": "击球面",
|
||||
"strokeTypeLabel": "击球方式",
|
||||
"addStroke": "添加击球",
|
||||
"preview": "预览",
|
||||
"previewHint": "第一拍设置完整后将显示图示。",
|
||||
"completeFirstStroke": "完成第一拍",
|
||||
"completeFirstStrokeHint": "请选择起始位置、击球面、旋转和目标,随后会显示图示。",
|
||||
"codeLabel": "缩写",
|
||||
"titleLabel": "标题",
|
||||
"startLeft": "左",
|
||||
"startMiddle": "中",
|
||||
"startRight": "右",
|
||||
"strokeTypePush": "搓球",
|
||||
"strokeTypeCounter": "反击",
|
||||
"strokeTypeTopspin": "上旋",
|
||||
"strokeTypeFlip": "挑打",
|
||||
"strokeTypeBlock": "挡球",
|
||||
"strokeTypeSmash": "扣杀",
|
||||
"strokeTypeChopDefense": "削球防守",
|
||||
"strokeTypeLobDefense": "高吊防守",
|
||||
"targetForehandLong": "正手长",
|
||||
"targetMiddleLong": "中路长",
|
||||
"targetBackhandLong": "反手长",
|
||||
"targetForehandHalfLong": "正手半长",
|
||||
"targetMiddleHalfLong": "中路半长",
|
||||
"targetBackhandHalfLong": "反手半长",
|
||||
"targetForehandShort": "正手短",
|
||||
"targetMiddleShort": "中路短",
|
||||
"targetBackhandShort": "反手短",
|
||||
"toTarget": "到"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
<BaseDialog
|
||||
:model-value="!!selectedMemberPreview"
|
||||
title="Mitgliedsdetails"
|
||||
:title="$t('members.memberDetails')"
|
||||
size="large"
|
||||
:width="1080"
|
||||
max-width="95vw"
|
||||
@@ -382,7 +382,7 @@
|
||||
type="button"
|
||||
class="rating-button"
|
||||
:disabled="!member.myTischtennisPlayerId && !member.ttr && !member.qttr"
|
||||
:title="member.myTischtennisHistoryPlayerId || member.myTischtennisPlayerId || member.ttr || member.qttr ? 'TTR-Historie anzeigen' : 'Keine myTischtennis-ID hinterlegt'"
|
||||
:title="member.myTischtennisHistoryPlayerId || member.myTischtennisPlayerId || member.ttr || member.qttr ? $t('members.showTtrHistory') : $t('members.missingTtrHistoryId')"
|
||||
@click.stop="openTtrHistoryDialog(member)"
|
||||
>
|
||||
<span v-if="member.ttr || member.qttr">
|
||||
|
||||
Reference in New Issue
Block a user