Files
TREK/shared/src/i18n/cs/admin.ts
T
Maurice 650451bdf7 feat(notifications): Web Push delivers notifications to every device, even with TREK closed
A fourth built-in channel next to email, webhook and ntfy. Browsers
register per device, the server encrypts per RFC 8291 and signs per RFC
8292 with node:crypto and sends only to known push services through the
SSRF guard. The event matrix decides per category what arrives by push;
admins switch the channel on under Notifications.

VAPID keys come from the environment or are generated once, only while
neither stored row exists, and kept encrypted. A pair that does not
decrypt or match is never overwritten and never swapped for another one:
push stays off with an error in the log and every device stays
registered until the key is fixed. The subject is VAPID_SUBJECT, then an
https APP_URL, then the project URL.

Only chat messages collapse into one notification per trip, and a
replacement still alerts. A 403 removes a device only after three
failures in a row; 404 and 410 remove it at once. Password change, reset
and an admin setting a password drop the user's devices with the other
credentials. The request log redacts subscriptions and endpoints, boot
errors print *** for every secret variable, and logout forgets the
device with a plain fetch so an expired session cannot redirect midway.

Addresses discussion #894.
2026-09-24 23:17:03 +00:00

807 lines
58 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationStrings } from '../types';
const admin: TranslationStrings = {
'admin.notifications.title': 'Oznámení',
'admin.notifications.hint': 'Vyberte kanál oznámení. Současně může být aktivní pouze jeden.',
'admin.notifications.none': 'Vypnuto',
'admin.notifications.email': 'E-mail (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.save': 'Uložit nastavení oznámení',
'admin.notifications.saved': 'Nastavení oznámení uloženo',
'admin.notifications.testWebhook': 'Odeslat testovací webhook',
'admin.notifications.testWebhookSuccess': 'Testovací webhook úspěšně odeslán',
'admin.notifications.testWebhookFailed': 'Odeslání testovacího webhooku se nezdařilo',
'admin.smtp.title': 'E-mail a oznámení',
'admin.smtp.hint': 'Konfigurace SMTP pro odesílání e-mailových oznámení.',
'admin.smtp.testButton': 'Odeslat testovací e-mail',
'admin.webhook.hint': 'Odesílat oznámení na externí webhook (Discord, Slack atd.).',
'admin.smtp.testSuccess': 'Testovací e-mail byl úspěšně odeslán',
'admin.smtp.testFailed': 'Odeslání testovacího e-mailu se nezdařilo',
'admin.title': 'Administrace',
'admin.subtitle': 'Správa uživatelů a systémová nastavení',
'admin.tabs.users': 'Uživatelé',
'admin.tabs.categories': 'Kategorie',
'admin.tabs.backup': 'Zálohování',
'admin.stats.users': 'Uživatelé',
'admin.stats.trips': 'Cesty',
'admin.stats.places': 'Místa',
'admin.stats.photos': 'Fotky',
'admin.stats.files': 'Soubory',
'admin.table.user': 'Uživatel',
'admin.table.email': 'E-mail',
'admin.table.role': 'Role',
'admin.table.created': 'Vytvořeno',
'admin.table.lastLogin': 'Poslední přihlášení',
'admin.table.actions': 'Akce',
'admin.you': '(Vy)',
'admin.editUser': 'Upravit uživatele',
'admin.newPassword': 'Nové heslo',
'admin.newPasswordHint': 'Ponechte prázdné pro zachování současného hesla',
'admin.deleteUser': 'Smazat uživatele „{name}“? Všechny jeho cesty budou trvale smazány.',
'admin.deleteUserTitle': 'Smazat uživatele',
'admin.newPasswordPlaceholder': 'Zadejte nové heslo…',
'admin.toast.loadError': 'Nepodařilo se načíst data administrace',
'admin.toast.userUpdated': 'Uživatel byl aktualizován',
'admin.toast.updateError': 'Aktualizace se nezdařila',
'admin.toast.userDeleted': 'Uživatel byl smazán',
'admin.toast.deleteError': 'Smazání se nezdařilo',
'admin.toast.cannotDeleteSelf': 'Nemůžete smazat svůj vlastní účet',
'admin.toast.userCreated': 'Uživatel byl vytvořen',
'admin.toast.createError': 'Nepodařilo se vytvořit uživatele',
'admin.toast.fieldsRequired': 'Uživatelské jméno, e-mail a heslo jsou povinné',
'admin.createUser': 'Vytvořit uživatele',
'admin.invite.title': 'Pozvánky',
'admin.invite.subtitle': 'Vytvářejte jednorázové registrační odkazy',
'admin.invite.create': 'Vytvořit odkaz',
'admin.invite.createAndCopy': 'Vytvořit a zkopírovat',
'admin.invite.empty': 'Zatím nebyly vytvořeny žádné pozvánky',
'admin.invite.maxUses': 'Max. použití',
'admin.invite.expiry': 'Vyprší za',
'admin.invite.uses': 'použito',
'admin.invite.expiresAt': 'vyprší',
'admin.invite.createdBy': 'vytvořil',
'admin.invite.active': 'Aktivní',
'admin.invite.expired': 'Expirované',
'admin.invite.usedUp': 'Využito',
'admin.invite.copied': 'Odkaz byl zkopírován do schránky',
'admin.invite.copyLink': 'Kopírovat odkaz',
'admin.invite.deleted': 'Pozvánka smazána',
'admin.invite.createError': 'Nepodařilo se vytvořit pozvánku',
'admin.invite.deleteError': 'Nepodařilo se smazat pozvánku',
'admin.tabs.settings': 'Nastavení',
'admin.allowRegistration': 'Povolit registraci',
'admin.allowRegistrationHint': 'Noví uživatelé se mohou sami registrovat',
'admin.authMethods': 'Authentication Methods',
'admin.passwordLogin': 'Password Login',
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
'admin.passwordRegistration': 'Password Registration',
'admin.passwordRegistrationHint': 'Allow new users to register with email and password',
'admin.oidcLogin': 'SSO Login',
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users',
'admin.envOverrideHint':
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
'admin.lockoutWarning': 'At least one login method must remain enabled',
'admin.requireMfa': 'Vyžadovat dvoufázové ověření (2FA)',
'admin.requireMfaHint': 'Uživatelé bez 2FA musí dokončit nastavení v Nastavení před použitím aplikace.',
'admin.apiKeys': 'API klíče',
'admin.apiKeysHint': 'Odkud pocházejí data míst. Index TREK nepotřebuje klíč; dva poskytovatelé níže jsou volitelní.',
'admin.trekApi.badgeDefault': 'Doporučený výchozí zdroj',
'admin.googleCaveat.badge': 'Nedoporučeno',
'admin.googleCaveat.body':
'TREK je otevřený software a nejsme v tom neutrální. V tomto měřítku existují hodnocení a fotografie běžných podniků jen u Googlu, a to je monopol. Pole tu je z nedostatku alternativy, ne proto, že bychom je doporučovali. Každý dotaz pak jde do Googlu.',
'admin.trekApi.tagline':
'Vlastní rejstřík míst TREKu. Hledání bez klíče od Googlu, bez kvóty a bez toho, aby někdo počítal vaše dotazy.',
'admin.trekApi.factPlaces':
'73,6 milionu míst po celém světě',
'admin.trekApi.factNoKey':
'Bez klíče, bez kvóty',
'admin.trekApi.factOffline':
'Balíčky zemí fungují offline',
'admin.trekApi.factPrivacy':
'Dotazy se nikdy nezaznamenávají',
'admin.trekApi.more':
'Co v tom je',
'admin.trekApi.fieldPhone':
'Telefon',
'admin.trekApi.fieldStableId':
'Stálý identifikátor',
'admin.trekApi.includedNote':
'Popisy pocházejí z webu samotného místa, otevírací doba z OpenStreetMap tam, kde je vyplněná.',
'admin.trekApi.notRatings':
'Hodnocení',
'admin.trekApi.notPhotos':
'Fotografie běžných podniků',
'admin.trekApi.notIncludedNote':
'Ani jedno nemá žádný otevřený zdroj, za žádnou cenu. K těmto dvěma zůstává klíč od Googlu jedinou cestou.',
'admin.trekApi.sourcesLabel':
'Zdroje',
'admin.trekApi.sourcesNote':
'Každé pole v odpovědi uvádí, ze kterého z nich pochází.',
'admin.trekApi.included':
'Obsahuje',
'admin.trekApi.notIncluded':
'Neobsahuje',
'admin.mapsKey': 'Google Maps API klíč',
'admin.mapsKeyHint': 'Povinné pro hledání míst. Získáte na console.cloud.google.com',
'admin.mapsKeyHintLong':
'Bez klíče Google API se používá doporučené API TREK. S klíčem lze navíc načíst fotografie, hodnocení a otevírací dobu. Klíč vytvoříte na console.cloud.google.com.',
'admin.recommended': 'Doporučeno',
'admin.weatherKey': 'OpenWeatherMap API klíč',
'admin.weatherKeyHint': 'Pro data o počasí. Zdarma na openweathermap.org',
'admin.unsplashKey': 'Klíč API Unsplash',
'admin.unsplashKeyHint': 'Pro vyhledávání obrázků. Zdarma na unsplash.com/developers',
'admin.amapKey': 'API klíč Amap (高德地图)',
'admin.amapKeyHint':
'Pro hledání míst v kontinentální Číně, kde Google není dostupný a OpenStreetMap má málo dat. Vyžaduje klíč typu „Web 服务" (webová služba), nikoli klíč JS API. Získáte na console.amap.com.',
'admin.keyFromEnv': 'Nastaveno přes {name}',
'admin.placesProvider.title': 'Poskytovatel hledání míst',
'admin.placesProvider.subtitle':
'Vlastní index TREKu a OpenStreetMap odpovídají na každé hledání. Zde se volí, koho se zeptat navíc, když nic nenajdou: Automaticky upřednostní Google, pokud je klíč, pak Amap.',
'admin.placesProvider.auto': 'Automaticky',
'admin.placesProvider.google': 'Google Places',
'admin.placesProvider.amap': 'Amap (高德地图)',
'admin.placesProvider.openstreetmap': 'OpenStreetMap',
'admin.placesProvider.missingKey': 'Zvolený poskytovatel nemá nastavený API klíč, na hledání míst tak odpovídá jen index TREKu a OpenStreetMap.',
'admin.placesProvider.saved': 'Poskytovatel hledání míst uložen',
'admin.validateKey': 'Testovat',
'admin.keyValid': 'Připojeno',
'admin.keyInvalid': 'Neplatný',
'admin.keySaved': 'API klíče byly uloženy',
'admin.oidcTitle': 'Jednotné přihlášení (OIDC)',
'admin.oidcSubtitle': 'Povolit přihlášení přes externí poskytovatele (Google, Apple, Authentik, Keycloak).',
'admin.oidcDisplayName': 'Zobrazované jméno',
'admin.oidcIssuer': 'URL vydavatele (Issuer)',
'admin.oidcIssuerHint': 'OpenID Connect Issuer URL, např. https://accounts.google.com',
'admin.oidcSaved': 'Konfigurace OIDC uložena',
'admin.oidcOnlyMode': 'Zakázat ověřování heslem',
'admin.oidcOnlyModeHint':
'Pokud je zapnuto, je povolen pouze SSO login. Registrace i přihlášení heslem budou zablokovány.',
'admin.fileTypes': 'Povolené typy souborů',
'admin.fileTypesHint': 'Nastavte, které typy souborů mohou uživatelé nahrávat.',
'admin.fileTypesFormat': 'Přípony oddělené čárkou (např. jpg,png,pdf,doc). Použijte * pro všechny typy.',
'admin.fileTypesSaved': 'Nastavení souborů uloženo',
'admin.googleOptions': 'K čemu se klíč používá',
'admin.googleOptionsSummary': '{on} ze {total} zapnuto',
'admin.placesPhotos.title': 'Fotografie míst',
'admin.placesPhotos.subtitle':
'Načítání fotografií z Google Places API. Zakázáním ušetříte kvótu API. Fotografie z Wikimedia nejsou ovlivněny.',
'admin.placesAutocomplete.title': 'Automatické doplňování míst',
'admin.placesAutocomplete.subtitle':
'Použití Google Places API pro návrhy vyhledávání. Zakázáním ušetříte kvótu API.',
'admin.placesDetails.title': 'Podrobnosti o místě',
'admin.placesDetails.subtitle':
'Načítání podrobných informací o místě (hodiny, hodnocení, web) z Google Places API. Zakázáním ušetříte kvótu API.',
'admin.placesEnrich.title': 'Obohacení míst',
'admin.placesEnrich.subtitle':
'Zobrazí obrázky a popis při přidávání místa. Wikipedie a OpenStreetMap se používají vždy; Google se přidá, když jsou zapnuté Fotky míst nebo Detaily míst.',
'admin.placesGoogleOnly.title': 'Hledat pouze přes Google',
'admin.placesGoogleOnly.subtitle': 'Každé hledání a každý návrh jde do Google Places. Vypnuto: nejprve odpovídá index TREK a OpenStreetMap, Google se ptáme jen tehdy, když nic nenajdou.',
'admin.placesGoogleOnly.missingKey': 'Vyžaduje klíč Google Maps API. Bez něj hledání běží přes index TREK a OpenStreetMap bez ohledu na tento přepínač.',
'admin.placesGoogleOnly.otherProvider': 'Vyžaduje Google jako poskytovatele míst. Při zvoleném Amapu nebo OpenStreetMap nejde na Google žádné hledání, ať je tento přepínač nastaven jakkoli.',
'admin.transitProvider.title': 'Poskytovatel veřejné dopravy',
'admin.transitProvider.subtitle': 'Která služba odpovídá na vyhledávání veřejné dopravy.',
'admin.transitProvider.transitous': 'Transitous (zdarma)',
'admin.transitProvider.google': 'Google',
'admin.transitProvider.transitousHint': 'Komunitní GTFS zdroje. Zdarma a bez klíče, s nejlepším pokrytím v Evropě.',
'admin.transitProvider.googleHint': 'Použije výše uvedený klíč Google pro regiony, pro které Transitous nemá data. Účtuje se za každé hledání – dokud není klíč nastaven, používá se Transitous.',
'admin.transitProvider.noKeyWarning': 'Je vybrán Google, ale není nastaven žádný klíč Google – vyhledávání dopravy stále používá Transitous. Přidejte klíč v sekci API klíče výše.',
'admin.transitProvider.personalKeyWarning': 'Je nastaven jen váš vlastní klíč Google, takže ostatním členům se vyhledávání stále vrací k Transitous. Uložte klíč výše jako správce, aby platil pro celou instanci.',
'admin.placeShadow.title': 'Záznam vyhledávání míst',
'admin.placeShadow.subtitle':
'Zaznamenávat, který výsledek vyhledávání byl vybrán, aby bylo možné později porovnat jiný index míst na skutečných dotazech. Nic neopouští tuto instanci a správce může záznam kdykoli exportovat nebo smazat.',
'admin.bagTracking.title': 'Sledování zavazadel',
'admin.bagTracking.subtitle': 'Povolit váhu a přiřazení k zavazadlům u položek balení',
'admin.collab.chat.title': 'Chat',
'admin.collab.chat.subtitle': 'Zasílání zpráv v reálném čase',
'admin.collab.notes.title': 'Poznámky',
'admin.collab.notes.subtitle': 'Sdílené poznámky a dokumenty',
'admin.collab.polls.title': 'Ankety',
'admin.collab.polls.subtitle': 'Skupinové ankety a hlasování',
'admin.collab.whatsnext.title': 'Co dál',
'admin.collab.whatsnext.subtitle': 'Návrhy aktivit a další kroky',
'admin.tabs.config': 'Personalizace',
'admin.tabs.defaults': 'Výchozí nastavení uživatele',
'admin.defaultSettings.title': 'Výchozí nastavení uživatele',
'admin.defaultSettings.description':
'Nastavte výchozí hodnoty pro celou instanci. Uživatelé, kteří nezměnili nastavení, uvidí tyto hodnoty. Jejich vlastní změny mají vždy přednost.',
'admin.defaultSettings.saved': 'Výchozí nastavení uloženo',
'admin.defaultSettings.reset': 'Obnovit na vestavěnou výchozí hodnotu',
'admin.defaultSettings.resetToBuiltIn': 'obnovit',
'admin.tabs.templates': 'Šablony seznamů',
'admin.packingTemplates.title': 'Šablony pro balení',
'admin.packingTemplates.subtitle': 'Vytvářejte opakovaně použitelné seznamy pro své cesty',
'admin.packingTemplates.create': 'Nová šablona',
'admin.packingTemplates.namePlaceholder': 'Název šablony (např. Dovolená u moře)',
'admin.packingTemplates.empty': 'Zatím nejsou vytvořeny žádné šablony',
'admin.packingTemplates.items': 'položek',
'admin.packingTemplates.categories': 'kategorií',
'admin.packingTemplates.itemName': 'Název položky',
'admin.packingTemplates.itemCategory': 'Kategorie',
'admin.packingTemplates.categoryName': 'Název kategorie (např. Oblečení)',
'admin.packingTemplates.addCategory': 'Přidat kategorii',
'admin.packingTemplates.created': 'Šablona vytvořena',
'admin.packingTemplates.deleted': 'Šablona smazána',
'admin.packingTemplates.loadError': 'Nepodařilo se načíst šablony',
'admin.packingTemplates.createError': 'Nepodařilo se vytvořit šablonu',
'admin.packingTemplates.deleteError': 'Nepodařilo se smazat šablonu',
'admin.packingTemplates.deleteCategoryError': 'Nepodařilo se smazat kategorii',
'admin.packingTemplates.deleteItemError': 'Nepodařilo se smazat položku',
'admin.packingTemplates.saveError': 'Uložení se nezdařilo',
'admin.tabs.addons': 'Doplňky',
'admin.tabs.plugins': 'Pluginy',
'admin.tabs.storage': 'Úložiště',
'admin.plugins.rescan': 'Znovu prohledat',
'admin.plugins.rescanned': 'Složka pluginů byla znovu prohledána',
'admin.plugins.upload': 'Nahrát plugin',
'admin.plugins.dropToUpload': 'Přetáhněte sem .zip pluginu pro instalaci',
'admin.plugins.uploaded': 'Plugin “{name}” nahrán — aktivujte jej pro spuštění',
'admin.plugins.sideloaded': 'Načteno ručně',
'admin.plugins.devLinkBadge': 'Dev-Link',
'admin.plugins.devLinkHint':
'Načteno z místního adresáře sestavení a za běhu znovu načítáno s reálnými daty — jen pro vývoj',
'admin.plugins.devLinkTitle': 'Připojit místní plugin',
'admin.plugins.devLinkPathPlaceholder': '/absolute/path/to/your/plugin',
'admin.plugins.devLinkButton': 'Připojit',
'admin.plugins.devLinkLinked': '{id} připojen — aktivujte jej pro spuštění',
'admin.plugins.sideloadedHint': 'Nahráno ručně — není z registru, nepodepsané a nezkontrolované',
'admin.plugins.browse': 'Procházet pluginy',
'admin.plugins.installed': 'Nainstalováno',
'admin.plugins.install': 'Instalovat',
'admin.plugins.registryEmpty': 'V registru zatím nejsou k dispozici žádné pluginy.',
'admin.plugins.actionError': 'Akce se nezdařila',
'admin.plugins.activate': 'Aktivovat',
'admin.plugins.activated': 'Plugin aktivován',
'admin.plugins.deactivate': 'Deaktivovat',
'admin.plugins.deactivated': 'Plugin deaktivován',
'admin.plugins.viewErrors': 'Zobrazit protokol chyb',
'admin.plugins.errorLog': 'Protokol chyb',
'admin.plugins.allowedHosts': 'Povolení hostitelé',
'admin.plugins.allowedHosts.hint':
'Tento plugin komunikuje se službou, kterou umíš pojmenovat jen ty (self-hosted server). Přidej hostitele, na které smí — na jiné se nedostane.',
'admin.plugins.allowedHosts.none': 'Zatím nebyli přidáni žádní hostitelé.',
'admin.plugins.allowedHosts.unsupported':
'Tento plugin nepoužívá hostitele zadané provozovatelem. Povolení hostitelé jsou pevně dáni v manifestu.',
'admin.plugins.allowedHosts.restartNote': 'Uložení restartuje plugin, aby načetl nový seznam.',
'admin.plugins.allowedHosts.add': 'Přidat povoleného hostitele',
'admin.plugins.allowedHosts.count': '{n} povolených hostitelů',
'admin.plugins.operatorEgressPill': '+ hostitelé, které přidáš',
'admin.plugins.operatorEgressHint':
'Tento plugin komunikuje se službou, kterou umíš pojmenovat jen ty (self-hosted server). Po instalaci přidej hostitele v ⋯ → Povolení hostitelé. Na jiné se nedostane.',
'admin.plugins.noErrors': 'Žádné zaznamenané chyby.',
'admin.plugins.uninstalled': 'Plugin odinstalován',
'admin.plugins.uninstallTitle': 'Odinstalovat plugin?',
'admin.plugins.uninstallBody':
'Tím se plugin zastaví, odstraní se jeho kód a smažou se všechna jeho data. Tuto akci nelze vrátit zpět.',
'admin.plugins.status.starting': 'Spouští se…',
'admin.plugins.type.widget': 'Widget',
'admin.plugins.type.page': 'Stránka',
'admin.plugins.type.integration': 'Integrace',
'admin.plugins.type.trip-page': 'Stránka cesty',
'admin.plugins.reviewed': 'Zkontrolováno',
'admin.plugins.unreviewed': 'Nezkontrolováno',
'admin.plugins.updated': 'Plugin aktualizován',
'admin.plugins.updateTo': 'Update → v{version}',
'admin.plugins.enabledToggle': 'Povolit plugin',
'plugins.notFound': 'Plugin nenalezen',
'plugins.frameLoadFailed': 'This plugin could not be loaded.',
'admin.plugins.title': 'Pluginy',
'admin.plugins.subtitle': 'Instalujte a spravujte pluginy třetích stran na své instanci.',
'admin.plugins.disabledTitle': 'Pluginy jsou zakázány',
'admin.plugins.disabledBody':
'Běhové prostředí pluginů je vypnuté (TREK_PLUGINS_ENABLED). Dokud jej administrátor nepovolí v konfiguraci serveru, nemůže běžet žádný plugin.',
'admin.plugins.empty': 'Zatím nejsou nainstalovány žádné pluginy.',
'admin.plugins.loadError': 'Nepodařilo se načíst pluginy.',
'admin.plugins.scaffoldNote':
'Instalace a aktivace pluginů přijdou v pozdější aktualizaci. Tento panel zatím pouze zobrazuje nainstalované pluginy.',
'admin.plugins.status.active': 'Aktivní',
'admin.plugins.status.inactive': 'Neaktivní',
'admin.plugins.status.disabled': 'Zakázán',
'admin.plugins.status.error': 'Chyba',
'admin.plugins.status.incompatible': 'Nekompatibilní',
'admin.plugins.details': 'Podrobnosti',
'admin.plugins.detailError': 'Nepodařilo se načíst podrobnosti pluginu.',
'admin.plugins.permissionsTitle': 'Oprávnění',
'admin.plugins.noPermissions': 'Tento plugin nevyžaduje žádná zvláštní oprávnění.',
'admin.plugins.egressNote': 'Může se připojovat k: {hosts}',
'admin.plugins.setupTitle': 'Nastavení',
'admin.plugins.noSetup': 'Funguje ihned po instalaci — není potřeba nic nastavovat.',
'admin.plugins.scope.instance': 'Pro celou instanci',
'admin.plugins.scope.user': 'Pro jednotlivé uživatele',
'admin.plugins.fieldRequired': 'Povinné',
'admin.plugins.sourceRepo': 'Zdrojový repozitář',
'admin.plugins.reportIssue': 'Nahlásit problém',
'admin.plugins.homepage': 'Domovská stránka',
'admin.plugins.requiresTrek': 'Vyžaduje TREK {version}+',
'admin.plugins.reviewedOn': 'Zkontrolováno {date}',
'admin.plugins.perm.db:own': 'Ukládat vlastní data v izolované databázi',
'admin.plugins.perm.db:read:trips': 'Číst cesty, ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.db:read:users': 'Číst základní údaje profilu (jméno, avatar — nikdy přihlašovací údaje)',
'admin.plugins.perm.db:read:costs': 'Číst výdaje (položky rozpočtu), ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.db:read:packing': 'Číst seznamy věcí k zabalení u cest, ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.db:write:packing':
'Vytvářet, upravovat a mazat položky seznamu balení na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.weather:read': 'Číst hostitelem uloženou předpověď počasí (podle souřadnic)',
'admin.plugins.perm.db:read:categories': 'Číst globální seznam kategorií míst',
'admin.plugins.perm.db:read:tags': 'Číst štítky aktuálního uživatele',
'admin.plugins.perm.db:write:tags': 'Vytvářet, upravovat a mazat štítky aktuálního uživatele',
'admin.plugins.perm.db:read:todos': 'Číst úkoly cest, ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.db:write:todos':
'Vytvářet, upravovat a mazat úkoly na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:write:atlas':
'Označovat země a regiony jako navštívené a spravovat bucket list aktuálního uživatele (vyžaduje doplněk Atlas)',
'admin.plugins.perm.db:write:vacay':
'Přepínat dny dovolené a firemní svátky v aktivním plánu aktuálního uživatele (vyžaduje doplněk Vacay)',
'admin.plugins.perm.db:write:journal':
'Vytvářet, upravovat a mazat záznamy v denících, které může aktuální uživatel upravovat (vyžaduje doplněk Journey)',
'admin.plugins.perm.db:write:collections':
'Vytvářet a upravovat sbírky a ukládat do nich místa, s rolí aktuálního uživatele ve sbírce (vyžaduje doplněk Collections)',
'admin.plugins.perm.db:write:files':
'Přikládat soubory k cestám, které může aktuální uživatel upravovat (limit 10 MB, blokované přípony odmítnuty), a spravovat jejich propojení',
'admin.plugins.perm.db:write:collab':
'Publikovat poznámky, ankety a zprávy chatu na cestách, které může aktuální uživatel upravovat (vyžaduje doplněk Collab)',
'admin.plugins.perm.db:write:members':
'Přidávat uživatele do cest — uděluje přístup k cestě; chráněno právem správy členů aktuálního uživatele',
'admin.plugins.perm.notify:send':
'Odeslat oznámení (schránka zvonku + e-mail/ntfy) aktuálnímu uživateli nebo jeho cestě — nikdy libovolnému příjemci',
'admin.plugins.perm.ai:invoke':
'Použít poskytovatele AI nakonfigurovaného správcem (dokončení textu + extrakce z dokumentů) jménem aktuálního uživatele — doplněk nikdy nedrží klíč',
'admin.plugins.perm.oauth:client':
'Připojit se k službě třetí strany tvým jménem přes OAuth zprostředkované hostitelem (hostitel drží tokeny, doplněk je nikdy nevidí)',
'admin.plugins.perm.db:read:files': 'Číst soubory cest, ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.db:write:reservations':
'Vytvářet, upravovat a mazat rezervace na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:write:accommodations':
'Vytvářet, upravovat a mazat ubytování na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:read:journal': 'Číst cestovní deníky aktuálního uživatele (vyžaduje doplněk Journey)',
'admin.plugins.perm.db:read:atlas': 'Číst navštívené země a regiony aktuálního uživatele (vyžaduje doplněk Atlas)',
'admin.plugins.perm.db:read:vacay': 'Číst plán dovolené aktuálního uživatele (vyžaduje doplněk Vacay)',
'admin.plugins.perm.db:read:daynotes': 'Číst denní poznámky cest, ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.db:read:collections':
'Číst sbírky uložených míst aktuálního uživatele (vyžaduje doplněk Collections)',
'admin.plugins.perm.db:write:daynotes':
'Vytvářet, upravovat a mazat denní poznámky na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.jobs:run':
'Spouštět deklarované úlohy na pozadí podle plánu (bez kontextu uživatele — nemůže číst uživatelská data)',
'admin.plugins.perm.db:write:costs':
'Vytvářet výdaje (položky rozpočtu) na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:write:places':
'Přidávat, upravovat a odebírat místa na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:write:days':
'Přidávat, upravovat a odebírat dny na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:write:itinerary':
'Přiřazovat a odebírat místa ke dnům cest, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:write:trips':
'Upravovat podrobnosti cesty (název, data, měnu…) na cestách, které může aktuální uživatel upravovat',
'admin.plugins.perm.db:meta':
'Připojovat vlastní soukromá data k cestám, místům a dnům, ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.ws:broadcast:trip': 'Odesílat aktualizace v reálném čase členům cesty',
'admin.plugins.perm.ws:broadcast:user': 'Odesílat aktualizace v reálném čase jednotlivým uživatelům',
'admin.plugins.perm.hook:photo-provider': 'Poskytovat fotky do sekce Fotky',
'admin.plugins.perm.hook:calendar-source': 'Poskytovat události do kalendáře',
'admin.plugins.perm.hook:place-detail-provider': 'Přidávat další podrobnosti (recenze, hodnocení, odkazy) k místu',
'admin.plugins.perm.hook:search-provider': 'Odpovídat na vyhledávání míst z vlastního indexu, vedle výsledků TREK',
'admin.plugins.perm.hook:trip-warning-provider': 'Vyvolávat ověřovací upozornění u cesty (zobrazená v plánovači)',
'admin.plugins.perm.hook:table-contributor': 'Přidávat sloupce a akce do zobrazení cesty (rezervace, místa, dny)',
'admin.plugins.perm.hook:map-marker-provider': 'Přidávat značky na mapu cesty (např. zobrazit rezervace nebo POI)',
'admin.plugins.perm.hook:map-layer-provider': 'Zakreslovat trasy, koridory a zóny do mapy cesty',
'admin.plugins.perm.hook:route-provider':
'Nabízet trasovací profily, podle kterých plánovač počítá trasy dnů (např. trasování pro elektromobily se zastávkami na nabíjení)',
'admin.plugins.perm.hook:day-schedule-provider':
'Připojovat časové položky k dennímu plánu (zastávky na nabíjení, časové rezervy)',
'admin.plugins.perm.hook:day-tint-provider':
'Barevně odlišovat dny v denním plánu (například ke které části cesty den patří)',
'admin.plugins.cap.mcpTools': 'Zveřejňuje AI nástroje',
'admin.plugins.mcpToolsTitle': 'Zveřejněné AI nástroje',
'admin.plugins.mcpToolsHint': 'Asistent je může spustit jménem uživatele. Každý jedná s oprávněními udělenými výše.',
'admin.plugins.perm.mcp:tools':
'Zveřejňovat nástroje, které může AI asistent spustit vaším jménem (jedná s oprávněními, která zde pluginu udělíte, ne se svými)',
'admin.plugins.perm.geolocation:read':
'Zjišťovat vaši aktuální polohu, dokud je otevřené některé z jeho zobrazení (TREK ji čte pod oprávněním k poloze pro tento web, ne pod vlastním oprávněním doplňku)',
'admin.plugins.perm.hook:pdf-section-provider': 'Připojovat textové sekce k PDF exportu cesty',
'admin.plugins.perm.hook:atlas-layer-provider':
'Zvýrazňovat země na mapě světa v Atlasu (např. seznamy přání nebo cestovní upozornění)',
'admin.plugins.perm.hook:journal-entry-provider': 'Přidávat další řádky (odkazy, statistiky) k záznamům deníku',
'admin.plugins.perm.hook:user-data':
'Vymazat nebo exportovat data, která o uživateli uchovává (GDPR: smazání účtu a žádosti o data)',
'admin.plugins.perm.hook:trip-card-provider': 'Přidávat malé odznaky (stav, počty) na karty cest na nástěnce',
'admin.plugins.perm.hook:notification-channel': 'Doručovat vaše oznámení dalším kanálem',
'admin.plugins.perm.events:subscribe':
'Reagovat na základní události aktivity (pouze název události a cesta, nikdy obsah)',
'admin.plugins.perm.http:outbound': 'Odesílat odchozí požadavky na deklarované hostitele',
'admin.plugins.perm.db:read:collab':
'Číst poznámky, ankety a zprávy chatu cest, ke kterým má aktuální uživatel přístup (vyžaduje doplněk Collab)',
'admin.plugins.perm.db:read:files:content': 'Číst obsah (bajty) souborů cest, ke kterým má aktuální uživatel přístup',
'admin.plugins.perm.db:create:trips': 'Vytvářet nové cesty vlastněné aktuálním uživatelem',
'admin.plugins.perm.rates:read': 'Číst hostitelem uložené směnné kurzy měn',
'admin.plugins.updateConsentTitle': 'Tato aktualizace vyžaduje nová oprávnění',
'admin.plugins.updateConsentBody':
'{name} v{version} žádá o oprávnění, která jste zatím neudělili. Nová verze je nainstalována, ale zůstane vypnutá, dokud ji neschválíte.',
'admin.plugins.updateNewPermissions': 'Nově požadovaná oprávnění',
'admin.plugins.updateNewEgress': 'Nová odchozí připojení',
'admin.plugins.updateApprove': 'Schválit a zapnout',
'admin.plugins.updateLater': 'Zatím ponechat vypnuté',
'admin.plugins.updateKeptOff': 'Aktualizace nainstalována — zůstává vypnutá, dokud neschválíte nová oprávnění',
'admin.plugins.reviewedMeaning':
'„Zkontrolováno“ znamená, že správce TREK prověřil tento plugin na škodlivý kód u každé verze — nikoli jeho kvalitu ani to, zda funguje. Není to záruka, že je plugin neškodný.',
'admin.plugins.security.title': 'Jak jsou pluginy izolovány — a kde jsou hranice',
'admin.plugins.security.isolationTitle': 'Každý plugin běží v izolaci',
'admin.plugins.security.isolationBody':
'Plugin běží jako vlastní uzamčený proces, který může číst pouze své vlastní soubory. Nemůže číst vaši databázi, váš přihlašovací tajný klíč ani váš šifrovací klíč, nemůže spouštět jiné programy a nemůže nikam zapisovat soubory. Jeho rozhraní běží v uzavřeném rámci prohlížeče, který nemůže číst vaši session cookie ani zasahovat do okolní stránky TREK.',
'admin.plugins.security.permsTitle': 'Co oprávnění znamenají',
'admin.plugins.security.permsBody':
'Oprávnění zobrazená před instalací jsou pevný limit, který TREK vynucuje po celou dobu běhu pluginu — plugin doslova nemůže udělat nic, co není na seznamu. Říkají vám ale, co plugin může dělat, nikoli co skutečně dělá. Plugin, který smí číst vaše cesty a spojit se se serverem, může vaše cesty tomuto serveru odeslat, proto si přečtěte oprávnění i odchozí hostitele, nejen popis.',
'admin.plugins.security.limitsTitle': 'Co nemůžeme slíbit',
'admin.plugins.security.limitsBody':
'Izolace je silná softwarová hranice, nikoli absolutní. Plugin jedná přesně s těmi právy, která schválíte, takže v jejich rámci se může chovat jinak, než naznačuje jeho popis, a může odeslat data, která oprávněně drží, hostitelům, které deklaroval. TREK nečte ani neposuzuje, co kód pluginu ve skutečnosti dělá.',
'admin.plugins.security.worstTitle': 'Nejhorší případ',
'admin.plugins.security.worstBody':
'Škodlivý plugin, který zapnete, může zneužít data a připojení, jež jste mu udělili — například vynést cesty, které smí číst. Nemůže krást hesla, padělat přihlášení administrátora, spouštět příkazy na vašem serveru ani se dostat k datům, která jste neudělili. Škoda zůstává v rámci toho, co jste schválili, a vypnutí pluginu ji zastaví.',
'admin.plugins.security.reviewedTitle': 'Co znamená „Zkontrolováno“',
'admin.plugins.security.reviewedBody':
'Zkontrolovaný plugin ručně prověřil správce TREK na škodlivý kód u každé verze — kontroloval nepřátelský kód, nikoli to, zda dobře funguje. Není to slib, že je plugin neškodný.',
'admin.plugins.security.signedTitle': 'Co znamená „Podepsáno“',
'admin.plugins.security.signedBody':
'Kontrolní součet, který TREK ověřuje při každé instalaci, dokazuje, že soubory jsou přesně tím, za co se registr zaručuje. Podpis dokazuje něco jiného: že pocházejí od autora a jsou podepsané klíčem, který drží jen on. Podepsaný plugin má obojí. Nepodepsaný není nebezpečný — nese jen o jednu záruku méně a většina pluginů v registru dnes podepsaná není.',
'admin.plugins.signed': 'Podepsáno',
'admin.plugins.signedHint': 'Při instalaci ověřeno proti podpisovému klíči autora',
'admin.plugins.unsigned': 'Nepodepsáno',
'admin.plugins.unsignedHint':
'Soubory odpovídají tomu, za co se registr zaručuje, ale nic je nespojuje s autorem. O jednu záruku méně — nikoli nebezpečné.',
'admin.plugins.updateBlocked': 'Aktualizace zablokována — {reason}',
'admin.plugins.reviewBlock': 'Zkontrolovat',
'admin.plugins.retrusted': 'Nový podpisový klíč je důvěryhodný — plugin je aktualizován',
'admin.plugins.sig.title': 'Podpis pluginu {name} se nepodařilo ověřit',
'admin.plugins.sig.keyChangedBody':
'Podpisový klíč autora není ten, se kterým byl tento plugin nainstalován. Autoři klíče skutečně mění — ale útočník, který plugin převzal, by vypadal přesně takhle.',
'admin.plugins.sig.invalidBody':
'Soubory neodpovídají podpisu autora. Nejsou tím, co autor podepsal — buď se poškodily, nebo do nich někdo zasáhl. Toto nelze obejít.',
'admin.plugins.sig.missingBody':
'Tento plugin byl při instalaci podepsaný, ale nová verze žádný podpis nepřináší. TREK takové zhoršení tiše nepřijme. Toto nelze obejít.',
'admin.plugins.sig.incompleteBody':
'Záznam v registru je podepsaný jen napůl: uvádí klíč autora, ale verze nenese žádný podpis (nebo naopak). To je chyba na straně pluginu. Toto nelze obejít.',
'admin.plugins.sig.pinnedKey': 'Klíč, se kterým byl nainstalován',
'admin.plugins.sig.newKey': 'Klíč, který nabízí nyní',
'admin.plugins.sig.confirmOutOfBand':
'TREK nedokáže odlišit legitimní výměnu klíče od převzetí pluginu — odsud vypadají obě stejně. Než nový klíč přijmete, ověřte si ho u autora kanálem, kterému už důvěřujete. Jakmile to uděláte, plugin se aktualizuje a nový klíč si TREK zapamatuje.',
'admin.plugins.sig.retrustConfirm': 'Důvěřovat novému klíči a aktualizovat',
'admin.plugins.sig.cancel': 'Nedůvěřovat',
'admin.plugins.sig.consentUnsigned':
'Tuto verzi nic nespojuje s jejím autorem — soubory odpovídají registru, ale nenesou podpis autora.',
'admin.plugins.security.trustTitle': 'Závěrem',
'admin.plugins.security.trustBody':
'Instalace pluginu je jako instalace jakékoli aplikace třetí strany: přidávejte pouze kód od autorů, kterým důvěřujete, a v případě pochybností si jej nejprve sami prohlédněte. TREK nenese žádnou odpovědnost za pluginy třetích stran.',
'admin.plugins.runtimeOn': 'Běhové prostředí běží',
'admin.plugins.tabDiscover': 'Objevit',
'admin.plugins.searchPlaceholder': 'Hledat pluginy…',
'admin.plugins.filterType': 'Typ',
'admin.plugins.filterStatus': 'Stav',
'admin.plugins.sortBy': 'Řadit',
'admin.plugins.allTypes': 'Všechny typy',
'admin.plugins.allStatuses': 'Vše',
'admin.plugins.stateOff': 'Vypnuto',
'admin.plugins.filterUpdate': 'Dostupná aktualizace',
'admin.plugins.sortName': 'Název',
'admin.plugins.sortRecent': 'Naposledy aktualizované',
'admin.plugins.sortUpdates': 'Nejdřív aktualizace',
'admin.plugins.sortDownloads': 'Nejstahovanější',
'admin.plugins.updatesAvailable': 'Pro vaše pluginy je k dispozici {count} aktualizací.',
'admin.plugins.newerNeedsTrek': 'v{version} k dispozici — vyžaduje TREK {range}',
'admin.plugins.versionsTitle': 'Verze',
'admin.plugins.versionPickerTitle': 'Změnit verzi — {name}',
'admin.plugins.versionSwitch': 'Přepnout na {version}',
'admin.plugins.versionNeedsTrek': 'vyžaduje TREK {range}',
'admin.plugins.changeVersion': 'Změnit verzi…',
'admin.plugins.noVersions': 'V registru nebyly nalezeny žádné publikované verze.',
'admin.plugins.downgradeTitle': 'Vrátit tento plugin na starší verzi?',
'admin.plugins.downgradeBody': 'Přechod z v{from} na v{to}: data zapsaná novější verzí zůstanou na místě a starší verze jim nemusí rozumět.',
'admin.plugins.downgradeConfirm': 'Vrátit zpět',
'admin.plugins.updatesHeld': 'Aktualizace pozastaveny na v{version}',
'admin.plugins.resumeUpdates': 'Obnovit aktualizace',
'admin.plugins.updatesResumed': 'Aktualizace obnoveny',
'admin.plugins.updateAll': 'Aktualizovat vše',
'admin.plugins.noMatchInstalled': 'Žádné nainstalované pluginy neodpovídají vašemu hledání.',
'admin.plugins.noMatchRegistry': 'Žádné pluginy v registru neodpovídají vašemu hledání.',
'admin.plugins.restart': 'Restartovat',
'admin.plugins.restarted': 'Plugin restartován',
'admin.plugins.instanceSettings': 'Nastavení instance',
'admin.plugins.settingsSaved': 'Nastavení uloženo',
'admin.plugins.settingsSavedRestarted': 'Nastavení uloženo — plugin restartován',
'admin.plugins.actions': 'Akce',
'admin.plugins.actions.confirm': 'Spustit tuto akci?',
'admin.plugins.actions.inactive': 'Aktivujte plugin, abyste mohli spouštět jeho akce',
'admin.plugins.requiredMissing': '„{field}" je povinné',
'admin.plugins.cap.readsTrips': 'Čte vaše cesty',
'admin.plugins.cap.readsUsers': 'Čte základní profily',
'admin.plugins.cap.readsCosts': 'Čte vaše výdaje',
'admin.plugins.cap.readsPacking': 'Čte seznamy věcí k zabalení',
'admin.plugins.cap.readsFiles': 'Čte soubory cest',
'admin.plugins.cap.writesCosts': 'Přidává výdaje',
'admin.plugins.cap.writesPlaces': 'Upravuje místa',
'admin.plugins.cap.writesDays': 'Upravuje dny',
'admin.plugins.cap.writesItinerary': 'Upravuje itinerář',
'admin.plugins.cap.writesTrips': 'Upravuje cesty',
'admin.plugins.cap.metadata': 'Přidává metadata',
'admin.plugins.cap.widget': 'Widget na nástěnce',
'admin.plugins.cap.heroWidget': 'Widget palubní vstupenky',
'admin.plugins.cap.placeSlot': 'Detail místa',
'admin.plugins.cap.daySlot': 'Detail dne',
'admin.plugins.cap.reservationSlot': 'Detail rezervace',
'admin.plugins.cap.replacesTabs': 'Nahrazuje karty plánovače',
'admin.plugins.cap.realtime': 'Aktualizace v reálném čase',
'admin.plugins.cap.notificationChannel': 'Kanál oznámení',
'admin.plugins.cap.photos': 'Poskytuje fotky',
'admin.plugins.cap.calendar': 'Poskytuje události kalendáře',
'admin.plugins.cap.placeDetails': 'Obohacuje místa',
'admin.plugins.cap.search': 'Odpovídá na vyhledávání',
'admin.plugins.cap.warnings': 'Označuje problémy',
'admin.plugins.cap.mapLayers': 'Kreslí na mapě',
'admin.plugins.cap.routing': 'Nabízí trasování',
'admin.plugins.cap.daySchedule': 'Doplňuje časy plánu',
'admin.plugins.cap.dayTint': 'Barví dny',
'admin.plugins.cap.geolocation': 'Čte vaši polohu',
'admin.plugins.cap.events': 'Reaguje na aktivitu',
'admin.plugins.cap.requiresAddon': 'Vyžaduje {addon}',
'admin.plugins.cap.dependsOn': 'Vyžaduje {id} {version}',
'admin.plugins.dep.addonDisabledToast': 'Nejprve povolte potřebné doplňky: {addons}',
'admin.plugins.dep.autoEnabled': 'Nejprve povoleny potřebné pluginy: {plugins}',
'admin.plugins.dep.downloaded': 'Staženo {id}',
'admin.plugins.dep.resolveTitle': 'Chybějící závislosti',
'admin.plugins.dep.resolveBody': '„{name}“ před povolením potřebuje nainstalovat tyto pluginy.',
'admin.plugins.dep.requires': 'Vyžaduje {version}',
'admin.plugins.dep.mismatch': 'Vyžaduje {wanted} — nainstalováno je {installed}',
'admin.plugins.dep.download': 'Stáhnout',
'admin.plugins.dep.update': 'Aktualizovat',
'admin.plugins.dep.resolveHint': 'Stáhne nejnovější kompatibilní verzi včetně jejích vlastních závislostí.',
'admin.plugins.dep.trekIncompatible': 'Vyžaduje TREK {range} — tento server běží na {host}',
'admin.plugins.dep.trekUnknown': 'Neuvádí, které verze TREK podporuje',
'admin.plugins.installCompatible': 'Nainstalovat {version}',
'admin.plugins.installAnyway': 'Přesto nainstalovat',
'admin.plugins.rangeBypass.pill': 'Kontroly verzí vypnuty',
'admin.plugins.rangeBypass.pillHint':
'Je nastaveno TREK_PLUGINS_IGNORE_TREK_RANGE — pluginy se mohou instalovat a spouštět mimo verze TREKu, které jejich autoři deklarovali',
'admin.plugins.rangeBypass.title': 'Mimo podporované verze TREKu',
'admin.plugins.rangeBypass.noticeTitle': 'Nainstalováno mimo podporované verze TREKu',
'admin.plugins.rangeBypass.body':
'„{name}“ deklaruje podporu TREKu {range} a tento server běží na {host}. TREK ho propouští jen proto, že je nastaveno TREK_PLUGINS_IGNORE_TREK_RANGE. Autor neaktualizoval rozsah verzí pluginu pro tento TREK, takže není zaručeno, že bude fungovat — a ve vzácných případech může nekompatibilní plugin poškodit data TREKu. Pokračujte jen tehdy, pokud toto riziko přijímáte.',
'admin.plugins.rangeBypass.bodyUnknown':
'„{name}“ neuvádí, které verze TREKu podporuje; tento server běží na {host}. TREK ho propouští jen proto, že je nastaveno TREK_PLUGINS_IGNORE_TREK_RANGE. Nic nenasvědčuje tomu, že ho autor na tomto TREKu testoval, takže není zaručeno, že bude fungovat — a ve vzácných případech může nekompatibilní plugin poškodit data TREKu. Pokračujte jen tehdy, pokud toto riziko přijímáte.',
'admin.plugins.dep.trekBypassed': 'Mimo svůj rozsah TREKu ({range}) — kontroly verzí vypnuty',
'admin.plugins.dep.trekBypassedUnknown': 'Neuvádí žádný rozsah TREKu — kontroly verzí vypnuty',
'admin.plugins.incompatible': 'Nekompatibilní',
'admin.plugins.accessTitle': 'K čemu má přístup',
'admin.plugins.connectsTitle': 'Připojuje se k',
'admin.plugins.detailsTitle': 'Podrobnosti',
'admin.plugins.noAccess': 'Nevyžaduje žádný zvláštní přístup.',
'admin.plugins.metaVersion': 'Verze',
'admin.plugins.metaSize': 'Velikost',
'admin.plugins.metaRequires': 'Vyžaduje',
'admin.plugins.metaReviewed': 'Zkontrolováno',
'admin.plugins.downloads': 'Stažení',
'admin.addons.title': 'Doplňky',
'admin.addons.subtitle': 'Zapněte nebo vypněte funkce a přizpůsobte si TREK.',
'admin.addons.catalog.memories.name': 'Fotky (Immich)',
'admin.addons.catalog.memories.description': 'Sdílejte cestovní fotky přes vaši instanci Immich',
'admin.addons.catalog.packing.name': 'Seznamy',
'admin.addons.catalog.packing.description': 'Balicí seznamy a úkoly pro vaše výlety',
'admin.addons.catalog.budget.name': 'Náklady',
'admin.addons.catalog.budget.description': 'Sledujte výdaje na cestu a rozdělte je mezi cestující',
'admin.addons.catalog.documents.name': 'Dokumenty',
'admin.addons.catalog.documents.description': 'Ukládání a správa cestovních dokladů',
'admin.addons.catalog.vacay.name': 'Dovolená (Vacay)',
'admin.addons.catalog.vacay.description': 'Osobní plánovač dovolené s kalendářem',
'admin.addons.catalog.atlas.name': 'Atlas',
'admin.addons.catalog.atlas.description': 'Mapa světa s navštívenými zeměmi a statistikami',
'admin.addons.catalog.collab.name': 'Spolupráce',
'admin.addons.catalog.collab.description': 'Poznámky, ankety, chat a návrhy pro společné plánování',
'admin.addons.catalog.naver_list_import.name': 'Naver List Import',
'admin.addons.catalog.naver_list_import.description': 'Importujte místa ze sdíleného seznamu Naver Maps',
'admin.addons.catalog.airtrail.name': 'AirTrail',
'admin.addons.catalog.airtrail.description': 'Synchronizujte lety ze své instance AirTrail',
'admin.addons.catalog.dawarich.name': 'Dawarich',
'admin.addons.catalog.dawarich.description':
'Načtěte návštěvy a zaznamenané trasy z instance Dawarich, kterou si každý čtenář připojí sám',
'admin.addons.catalog.llm_parsing.name': 'Analýza pomocí AI',
'admin.addons.catalog.llm_parsing.description': 'Přečte rezervace, které vestavěný analyzátor nezvládne, pomocí zvoleného modelu AI',
'admin.addons.catalog.roadtrip.name': 'Cesta autem',
'admin.addons.catalog.roadtrip.description': 'Plánujte jízdy se zastávkami – doby jízdy a časy příjezdu se přepočítají samy',
'admin.addons.enabled': 'Povoleno',
'admin.addons.disabled': 'Zakázáno',
'admin.addons.type.trip': 'Cesta',
'admin.addons.type.global': 'Globální',
'admin.addons.type.integration': 'Integrace',
'admin.addons.tripHint': 'Dostupné jako karta v rámci každé cesty',
'admin.addons.globalHint': 'Dostupné jako samostatná sekce v hlavní navigaci',
'admin.addons.integrationHint': 'Backendové služby a API integrace bez vlastní stránky',
'admin.addons.toast.updated': 'Doplněk byl aktualizován',
'admin.addons.toast.error': 'Aktualizace doplňku se nezdařila',
'admin.addons.group.count': '{enabled} z {total} zapnuto',
'admin.addons.noAddons': 'Žádné doplňky nejsou k dispozici',
'admin.addons.catalog.mcp.name': 'MCP',
'admin.addons.catalog.mcp.description': 'Model Context Protocol pro integraci AI asistentů',
'admin.addons.subtitleBefore': 'Zapněte nebo vypněte funkce a přizpůsobte si ',
'admin.addons.subtitleAfter': '.',
'admin.tabs.audit': 'Audit',
'admin.audit.subtitle': 'Bezpečnostní a administrátorské události (zálohy, uživatelé, 2FA, nastavení).',
'admin.audit.empty': 'Zatím žádné záznamy auditu.',
'admin.audit.refresh': 'Obnovit',
'admin.audit.loadMore': 'Načíst další',
'admin.audit.showing': '{count} načteno · {total} celkem',
'admin.audit.col.time': 'Čas',
'admin.audit.col.user': 'Uživatel',
'admin.audit.col.action': 'Akce',
'admin.audit.col.resource': 'Zdroj',
'admin.audit.col.ip': 'IP',
'admin.audit.col.details': 'Detaily',
'admin.tabs.mcpTokens': 'MCP přístup',
'admin.mcpTokens.title': 'MCP přístup',
'admin.mcpTokens.subtitle': 'Správa OAuth relací a API tokenů všech uživatelů',
'admin.mcpTokens.sectionTitle': 'API tokeny',
'admin.mcpTokens.owner': 'Vlastník',
'admin.mcpTokens.tokenName': 'Název tokenu',
'admin.mcpTokens.created': 'Vytvořen',
'admin.mcpTokens.lastUsed': 'Naposledy použit',
'admin.mcpTokens.never': 'Nikdy',
'admin.mcpTokens.empty': 'Zatím nebyly vytvořeny žádné MCP tokeny',
'admin.mcpTokens.deleteTitle': 'Smazat token',
'admin.mcpTokens.deleteMessage':
'Tento token bude okamžitě zneplatněn. Uživatel ztratí MCP přístup přes tento token.',
'admin.mcpTokens.deleteSuccess': 'Token smazán',
'admin.mcpTokens.deleteError': 'Nepodařilo se smazat token',
'admin.mcpTokens.loadError': 'Nepodařilo se načíst tokeny',
'admin.oauthSessions.sectionTitle': 'OAuth relace',
'admin.oauthSessions.clientName': 'Klient',
'admin.oauthSessions.owner': 'Vlastník',
'admin.oauthSessions.scopes': 'Oprávnění',
'admin.oauthSessions.created': 'Vytvořeno',
'admin.oauthSessions.empty': 'Žádné aktivní OAuth relace',
'admin.oauthSessions.revokeTitle': 'Zrušit relaci',
'admin.oauthSessions.revokeMessage': 'Tato OAuth relace bude okamžitě zrušena. Klient ztratí přístup k MCP.',
'admin.oauthSessions.revokeSuccess': 'Relace zrušena',
'admin.oauthSessions.revokeError': 'Nepodařilo se zrušit relaci',
'admin.oauthSessions.loadError': 'Nepodařilo se načíst OAuth relace',
'admin.tabs.github': 'GitHub',
'admin.github.title': 'Historie verzí',
'admin.github.subtitle': 'Nejnovější aktualizace z {repo}',
'admin.github.latest': 'Nejnovější',
'admin.github.prerelease': 'Předběžná verze',
'admin.github.showDetails': 'Zobrazit podrobnosti',
'admin.github.hideDetails': 'Skrýt podrobnosti',
'admin.github.loadMore': 'Načíst další',
'admin.github.loading': 'Načítání...',
'admin.github.error': 'Nepodařilo se načíst verze',
'admin.github.by': 'od',
'admin.github.support': 'Pomáhá udržovat vývoj TREK',
'admin.weather.title': 'Data o počasí',
'admin.weather.badge': 'Od 24. března 2026',
'admin.weather.description':
'TREK používá Open-Meteo jako zdroj dat. Je to bezplatná open-source služba – není vyžadován API klíč.',
'admin.weather.forecast': 'Předpověď na 16 dní',
'admin.weather.forecastDesc': 'Dříve 5 dní (OpenWeatherMap)',
'admin.weather.climate': 'Historická klimatická data',
'admin.weather.climateDesc': 'Průměry za posledních 85 let pro dny mimo 16denní předpověď',
'admin.weather.requests': '10 000 požadavků denně',
'admin.weather.requestsDesc': 'Zdarma, bez nutnosti klíče',
'admin.weather.locationHint': 'Počasí se určuje podle prvního místa se souřadnicemi v daném dni.',
'admin.update.available': 'Dostupná aktualizace',
'admin.update.text': 'TREK {version} je k dispozici. Aktuálně používáte verzi {current}.',
'admin.update.button': 'Zobrazit na GitHubu',
'admin.update.install': 'Instalovat aktualizaci',
'admin.update.confirmTitle': 'Instalovat aktualizaci?',
'admin.update.confirmText':
'TREK bude aktualizován z verze {current} na {version}. Server se poté automaticky restartuje.',
'admin.update.dataInfo': 'Všechna vaše data (cesty, uživatelé, API klíče, soubory) budou zachována.',
'admin.update.warning': 'Aplikace bude během restartu krátce nedostupná.',
'admin.update.confirm': 'Aktualizovat nyní',
'admin.update.installing': 'Aktualizace probíhá…',
'admin.update.success': 'Aktualizace byla nainstalována! Server se restartuje…',
'admin.update.failed': 'Aktualizace se nezdařila',
'admin.update.backupHint': 'Před aktualizací doporučujeme vytvořit zálohu.',
'admin.update.backupLink': 'Přejít na zálohování',
'admin.update.howTo': 'Jak aktualizovat',
'admin.update.dockerText':
'Váš TREK běží v Dockeru. Pro aktualizaci na verzi {version} spusťte na svém serveru tyto příkazy:',
'admin.update.nonDockerText':
'Tato instance TREK neběží v Dockeru. Pro aktualizaci na verzi {version} znovu spusťte instalační nebo aktualizační metodu, kterou jste použili — například u Proxmox Community Scripts spusťte aktualizaci z konzole LXC:',
'admin.update.wikiLink': 'Otevřít průvodce aktualizací',
'admin.update.reloadHint': 'Prosím obnovte stránku za několik sekund.',
'admin.tabs.permissions': 'Oprávnění',
'admin.notifications.emailPanel.title': 'Email (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.webPushPanel.title': 'Web Push',
'admin.notifications.webPushPanel.hint':
'Umožňuje uživatelům přijímat oznámení na telefonech a počítačích přes prohlížeč, i když je TREK zavřený. Vyžaduje HTTPS; na iPhonu a iPadu musí být TREK přidán na plochu.',
'admin.notifications.inappPanel.title': 'In-App',
'admin.notifications.inappPanel.hint': 'In-app oznámení jsou vždy aktivní a nelze je globálně vypnout.',
'admin.notifications.adminWebhookPanel.title': 'Admin webhook',
'admin.notifications.adminWebhookPanel.hint':
'Tento webhook se používá výhradně pro admin oznámení (např. upozornění na verze). Je nezávislý na uživatelských webhooků a odesílá automaticky, pokud je nastavena URL.',
'admin.notifications.adminWebhookPanel.saved': 'URL admin webhooku uložena',
'admin.notifications.adminWebhookPanel.testSuccess': 'Testovací webhook byl úspěšně odeslán',
'admin.notifications.adminWebhookPanel.testFailed': 'Testovací webhook selhal',
'admin.notifications.adminWebhookPanel.alwaysOnHint': 'Admin webhook odesílá automaticky, pokud je nastavena URL',
'admin.notifications.ntfy': 'Ntfy',
'admin.ntfy.hint':
'Umožňuje uživatelům nakonfigurovat vlastní témata ntfy pro přijímání push notifikací. Níže nastavte výchozí server pro předvyplnění nastavení uživatelů.',
'admin.notifications.testNtfy': 'Odeslat testovací Ntfy',
'admin.notifications.testNtfySuccess': 'Testovací Ntfy bylo úspěšně odesláno',
'admin.notifications.testNtfyFailed': 'Testovací Ntfy selhalo',
'admin.notifications.adminNtfyPanel.title': 'Admin Ntfy',
'admin.notifications.adminNtfyPanel.hint':
'Toto téma Ntfy se používá výhradně pro admin oznámení (např. upozornění na verze). Je nezávislé na tématech uživatelů a odesílá vždy, když je nakonfigurováno.',
'admin.notifications.adminNtfyPanel.serverLabel': 'URL serveru Ntfy',
'admin.notifications.adminNtfyPanel.serverHint':
'Slouží také jako výchozí server pro ntfy notifikace uživatelů. Ponechte prázdné pro použití ntfy.sh. Uživatelé si to mohou změnit ve vlastním nastavení.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Admin téma',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
'admin.notifications.adminNtfyPanel.tokenLabel': 'Přístupový token (volitelné)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Přístupový token admina byl vymazán',
'admin.notifications.adminNtfyPanel.saved': 'Nastavení admin Ntfy uloženo',
'admin.notifications.adminNtfyPanel.test': 'Odeslat testovací Ntfy',
'admin.notifications.adminNtfyPanel.testSuccess': 'Testovací Ntfy bylo úspěšně odesláno',
'admin.notifications.adminNtfyPanel.testFailed': 'Testovací Ntfy selhalo',
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Admin Ntfy odesílá vždy, když je nakonfigurováno téma',
'admin.notifications.adminNotificationsHint':
'Nastavte, které kanály doručují admin oznámení (např. upozornění na verze). Webhook odesílá automaticky, pokud je nastavena URL admin webhooku.',
'admin.notifications.tripReminders.title': 'Připomínky výletů',
'admin.notifications.tripReminders.hint':
'Odešle upozornění před začátkem výletu (vyžaduje nastavené dny připomínky na výletu).',
'admin.notifications.tripReminders.enabled': 'Připomínky výletů aktivovány',
'admin.notifications.tripReminders.disabled': 'Připomínky výletů deaktivovány',
'admin.tabs.notifications': 'Oznámení',
'admin.addons.catalog.journey.name': 'Cestovní deník',
'admin.addons.catalog.journey.description': 'Sledování cest a cestovní deník s odbaveními, fotkami a denními příběhy',
'admin.addons.catalog.collections.name': 'Sbírky',
'admin.addons.catalog.collections.description': 'Sbírejte místa ze všech cest do pojmenovaných seznamů a znovu je používejte',
'admin.passkey.title': 'Přihlášení přístupovým klíčem',
'admin.passkey.cardHint':
'Umožněte uživatelům přihlašovat se pomocí přístupových klíčů (WebAuthn). Ve výchozím nastavení vypnuto.',
'admin.passkey.login': 'Povolit přihlášení přístupovým klíčem',
'admin.passkey.loginHint':
'Zobrazí možnost „Přihlásit se pomocí přístupového klíče“ a umožní uživatelům zaregistrovat přístupové klíče v nastavení.',
'admin.passkey.notConfigured':
'Pro toto nasazení zatím nelze určit žádnou doménu WebAuthn. Nastavte níže APP_URL nebo Relying Party ID — do té doby zůstanou přístupové klíče skryté.',
'admin.passkey.rpId': 'Relying Party ID (doména)',
'admin.passkey.rpIdHint':
'Holá doména, ke které jsou přístupové klíče vázány, např. trek.example.org. Ponechte prázdné, aby se odvodila z APP_URL. Pozdější změna zneplatní stávající přístupové klíče.',
'admin.passkey.origins': 'Povolené origins',
'admin.passkey.originsHint':
'Úplné origins oddělené čárkou, např. https://trek.example.org. Ponechte prázdné pro použití APP_URL.',
'admin.passkey.reset': 'Resetovat přístupové klíče',
'admin.passkey.resetHint':
'Odebere všechny přístupové klíče tohoto uživatele (např. při ztrátě zařízení). Stále se může přihlásit svým heslem.',
'admin.passkey.resetConfirm': 'Odebrat všechny přístupové klíče uživatele {name}?',
'admin.passkey.resetDone': 'Odebráno {count} přístupových klíčů',
'admin.defaultSettings.mapProvider': 'Mapový engine',
'admin.defaultSettings.mapProviderHint':
'Výchozí mapa pro všechny uživatele na této instanci. Každý uživatel ji může i nadále změnit ve svém vlastním nastavení.',
'admin.defaultSettings.providerLeaflet': 'Standardní (zdarma)',
'admin.defaultSettings.providerMapbox': 'Mapbox (3D)',
'admin.defaultSettings.providerMapLibre': 'MapLibre (OpenFreeMap)',
'admin.defaultSettings.mapboxToken': 'Sdílený token Mapbox',
'admin.defaultSettings.mapboxTokenHint':
'Použije se pro každého uživatele, který nezadal vlastní token — takže celá instance získá Mapbox, aniž byste klíč sdíleli s každým zvlášť. Ukládá se šifrovaně.',
'admin.defaultSettings.mapboxStyle': 'Styl mapy',
'admin.defaultSettings.mapboxStylePlaceholder': 'Vyberte styl…',
'admin.defaultSettings.mapbox3d': '3D budovy & terén',
'admin.defaultSettings.mapboxQuality': 'Režim vysoké kvality',
'admin.defaultSettings.cartoKey': 'Sdílený klíč CARTO',
'admin.defaultSettings.cartoKeyHint':
'Použije se pro každého uživatele, který nezadal vlastní klíč, takže celá instance získá dlaždice CARTO bez vodoznaku. Ukládá se šifrovaně.',
'admin.group.users': 'Users',
'admin.group.config': 'Configuration',
'admin.group.integration': 'Integrations',
'admin.group.maintenance': 'Maintenance',
'admin.invite.tripLabel': 'Přidat k cestě (volitelné)',
'admin.invite.tripNone': 'Žádná cesta',
'admin.invite.tripHint': 'Nový uživatel bude po registraci přes odkaz automaticky přidán k této cestě.',
'admin.invite.boundTo': 'přidá k {trip}',
'admin.placesUsageTitle': 'K čemu se klíč používá',
'admin.mapsKeyHintShort': 'Přidá fotky, hodnocení a otevírací dobu. Každý dotaz pak jde na Google.',
'admin.amapKeyHintShort': 'Pro vyhledávání míst v pevninské Číně. Potřebuje klíč webové služby, ne klíč JS API.',
'admin.collab.links.subtitle': 'Sdílené odkazy a záložky',
};
export default admin;