Files
TREK/shared/src/i18n/cs/common.ts
T
Maurice f00c354d0d fix(i18n): add the two keys the client named without en having them
BudgetPanel titled its add button with budget.addCategory (since April)
and the trip form labelled its cover remove button with common.remove
(since August). Neither key was ever in en, and t() returns an unknown
key unchanged, so both rendered as the raw key in every language. Both
are added to all 27 locales.

Locale parity compares the locales with en, never en with the code, so
nothing could catch this. client/scripts/i18n-keys.mjs (npm run
lint:i18n-keys) now resolves every literal key src/ names against en:
the first argument of t(), tHtml() and tr() (both sides of a conditional
included), <TransHtml html>, the fallback of translateApiError and any
*Key property or prop. A template key, a prefix with the rest appended
and the help registry's key builders pass when their fixed parts match
an en key; the one template with no fixed part is on an allow-list that
names the keys it resolves to, and an entry nothing uses fails. With
--unused it lists the en keys nothing reaches, as information only.

en is read with shared/scripts/i18n-catalog.mjs, a reader for the
locale tables as text that the parity tooling will share. It refuses a
value that is not one string literal instead of skipping the key.
2026-10-08 13:04:41 +02:00

82 lines
3.3 KiB
TypeScript

import type { TranslationStrings } from '../types';
const common: TranslationStrings = {
'common.save': 'Uložit',
'common.showMore': 'Zobrazit více',
'common.showLess': 'Zobrazit méně',
'common.cancel': 'Zrušit',
'common.clear': 'Vymazat',
'common.delete': 'Smazat',
'common.remove': 'Odstranit',
'common.preview': 'Náhled',
'common.edit': 'Upravit',
'common.add': 'Přidat',
'common.loading': 'Načítání...',
'common.import': 'Importovat',
'common.select': 'Vybrat',
'common.selectAll': 'Vybrat vše',
'common.deselectAll': 'Zrušit výběr všeho',
'common.error': 'Chyba',
'common.success': 'Úspěch',
'common.unknownError': 'Neznámá chyba',
'common.tooManyAttempts': 'Příliš mnoho pokusů. Zkuste to prosím znovu.',
'common.back': 'Zpět',
'common.all': 'Vše',
'common.close': 'Zavřít',
'common.open': 'Otevřít',
'common.upload': 'Nahrát',
'common.search': 'Hledat',
'common.confirm': 'Potvrdit',
'common.ok': 'OK',
'common.yes': 'Ano',
'common.no': 'Ne',
'common.or': 'nebo',
'common.none': 'Žádné',
'common.date': 'Datum',
'common.rename': 'Přejmenovat',
'common.discardChanges': 'Zahodit změny',
'common.discard': 'Zahodit',
'common.unsavedTitle': 'Zahodit změny?',
'common.unsavedMessage': 'To, co jste zde zadali, ještě není uložené.',
'common.keepEditing': 'Pokračovat v úpravách',
'common.name': 'Jméno',
'common.email': 'E-mail',
'common.password': 'Heslo',
'common.saving': 'Ukládání...',
'common.expand': 'Rozbalit',
'common.collapse': 'Sbalit',
'common.saved': 'Uloženo',
'common.update': 'Aktualizovat',
'common.change': 'Změnit',
'common.uploading': 'Nahrávání…',
'common.backToPlanning': 'Zpět k plánování',
'common.reset': 'Resetovat',
'common.copy': 'Kopírovat',
'common.copied': 'Zkopírováno',
'common.justNow': 'právě teď',
'common.hoursAgo': 'před {count} h',
'common.daysAgo': 'před {count} d',
'common.datepicker.prevMonth': 'Previous month', // en-fallback
'common.datepicker.nextMonth': 'Next month', // en-fallback
'common.datepicker.prevYear': 'Previous year', // en-fallback
'common.datepicker.nextYear': 'Next year', // en-fallback
'common.datepicker.prevYears': 'Previous years', // en-fallback
'common.datepicker.nextYears': 'Next years', // en-fallback
'common.datepicker.selectMonth': 'Select month', // en-fallback
'common.datepicker.selectYear': 'Select year', // en-fallback
'common.datepicker.enterManually': 'Enter date manually', // en-fallback
'common.datepicker.typeDate': 'Type a date', // en-fallback
'common.datepicker.dialog': 'Date picker', // en-fallback
'common.datepicker.clearDate': 'Clear date', // en-fallback
'common.errorTitle': 'Něco se pokazilo',
'common.errorBody': 'Tato část aplikace přestala fungovat. Vaše data jsou v bezpečí.',
'common.errorPanelTitle': 'Tuto sekci se nepodařilo zobrazit',
'common.errorPanelBody': 'Zbytek stránky funguje dál.',
'common.errorRetry': 'Zkusit znovu',
'common.errorReload': 'Načíst stránku znovu',
'common.errorUpdateTitle': 'Je dostupná nová verze',
'common.errorUpdateBody': 'TREK byl aktualizován, zatímco byla tato karta otevřená. Načtěte znovu pro novou verzi.',
'common.errorPluginTitle': 'Tento plugin se nepodařilo zobrazit',
};
export default common;