Published source
Download source ZIP
CH-J Server Manager
Browse directories and files for a specific application release.
Source is provided under the CH-J Proprietary Software License 1.14. Its availability does not change the license terms or grant additional rights.
1
"use strict";3
(function exposeI18n(root, factory) {4
const api = factory();5
if (typeof module === "object" && module.exports) module.exports = api;6
else {7
root.CHJ_I18N = api;8
root.chjI18n = api.createI18n("cs");9
}10
})(typeof globalThis !== "undefined" ? globalThis : this, () => {11
const catalogs = {12
cs: {13
"nav.diagnostics": "Diagnostika serverů",14
"nav.hash": "Hash a kontrolní součty",15
"nav.overview": "Přehled", "nav.terminal": "Terminál", "nav.servers": "Servery", "nav.updates": "Aktualizace", "nav.plugins": "Pluginy", "nav.settings": "Nastavení", "nav.aria": "Hlavní navigace",16
"vault.storage": "ŠIFROVANÉ LOKÁLNÍ ÚLOŽIŠTĚ", "vault.unlockTitle": "Odemknout Server Manager", "vault.unlockIntro": "Zadejte hlavní heslo. Heslo se neukládá na disk.", "vault.password": "Hlavní heslo", "vault.confirmPassword": "Potvrzení hesla", "vault.unlock": "Odemknout", "vault.forgot": "Zapomenuté heslo / obnovit vault", "vault.resetIrreversible": "Obnovení nelze vrátit zpět", "vault.resetDescription": "Smažou se všechny serverové profily, uložené host fingerprinty a další šifrovaná data. Instalované pluginy a nastavení aktualizací zůstanou zachované.", "vault.resetInstruction": "Pro potvrzení napište SMAZAT", "vault.cancel": "Zrušit", "vault.resetAction": "Smazat data a obnovit heslo",17
"app.newArchitecture": "NOVÁ ARCHITEKTURA", "app.initializing": "Inicializace…", "app.lock": "Zamknout", "app.coreRunning": "Core běží",18
"overview.cleanTitle": "Čistý základ nové aplikace", "overview.cleanDescription": "Oddělené služby, omezené IPC, plugin runtime a bezpečný aktualizační kanál.", "overview.coreApi": "Core API", "overview.coreApiDescription": "Stabilní aplikační kontrakt", "overview.dataSchema": "Datové schéma", "overview.dataSchemaDescription": "Verzované uživatelské úložiště", "overview.installedPlugins": "Nainstalované pluginy", "overview.noToolsNeeded": "Core funguje i bez Tools", "overview.currentSlice": "AKTUÁLNÍ ŘEZ", "overview.sliceTitle": "Vault + profily + SSH terminál", "overview.sliceDescription": "Funkční připojení s povinnou kontrolou host klíče a odděleným SessionManagerem.",19
"terminal.ping": "Ping",20
"terminal.sshRtt": "SSH odezva",21
"terminal.latencyUnavailable": "Nedostupné",22
"terminal.latencyMeaning": "Ping: ICMP echo. SSH odezva: čas SSH požadavku a odpovědi včetně zpracování na serveru.",23
"terminal.eyebrow": "SSH SESSION MANAGER", "terminal.title": "Interaktivní terminál", "terminal.disconnected": "Odpojeno", "terminal.connecting": "Připojování…", "terminal.connected": "Připojeno", "terminal.connectionError": "Chyba připojení", "terminal.error": "Chyba", "terminal.server": "Server", "terminal.selectServer": "Vyberte server…", "terminal.password": "Heslo", "terminal.sshPassword": "SSH heslo", "terminal.passphrase": "Passphrase (volitelná)", "terminal.keyPassphrase": "Passphrase klíče", "terminal.connect": "Připojit", "terminal.disconnect": "Odpojit", "terminal.noProfile": "Nejprve vytvořte profil serveru.", "terminal.aria": "SSH terminál", "terminal.libraryMissing": "Knihovna terminálu není dostupná.", "terminal.welcome": "Vyberte server a spusťte SSH připojení.", "terminal.connectingTo": "Připojuji {target}…", "terminal.passwordAuth": "ověření heslem", "terminal.vaultLocked": "Vault byl zamknut.",24
"profiles.eyebrow": "ŠIFROVANÉ PROFILY", "profiles.title": "Správa serverů", "profiles.new": "Nový server", "profiles.none": "Zatím není uložen žádný server.", "profiles.name": "Název", "profiles.namePlaceholder": "Produkční server", "profiles.host": "Host / IP", "profiles.port": "Port", "profiles.user": "Uživatel", "profiles.auth": "Ověření", "profiles.authPassword": "Heslo při připojení", "profiles.authKey": "Soukromý klíč", "profiles.privateKey": "Soukromý klíč", "profiles.selectFile": "Vyberte soubor…", "profiles.select": "Vybrat", "profiles.save": "Uložit profil", "profiles.delete": "Smazat", "profiles.key": "klíč", "profiles.password": "heslo", "profiles.saved": "Profil byl uložen.", "profiles.deleteConfirm": "Opravdu smazat tento profil serveru?",25
"updates.eyebrow": "REPOZITÁŘ AKTUALIZACÍ", "updates.title": "Aktualizace Core", "updates.installed": "Nainstalovaná verze", "updates.channel": "kanál {channel}", "updates.ready": "Připraveno ke kontrole", "updates.integrityIntro": "Core ověří platformu, architekturu, velikost, SHA-512 a OpenPGP podpis.", "updates.check": "Zkontrolovat", "updates.download": "Stáhnout a ověřit", "updates.reveal": "Zobrazit soubor", "updates.alphaSecurity": "Alfa bezpečnostní režim", "updates.alphaDescription": "SHA-512 a povinný OpenPGP podpis chrání stažený instalátor. Instalace se nespouští automaticky a zdroj je omezený na povolenou HTTPS doménu.", "updates.downloaded": "Vydání v{version} bylo staženo a ověřeno", "updates.available": "Je dostupná verze {version}", "updates.availableFallback": "Aktualizace je připravena ke stažení a ověření.", "updates.current": "Používáte aktuální verzi", "updates.noNewer": "Na zvoleném kanálu není novější vydání.", "updates.checking": "Kontroluji…", "updates.checkingServer": "Kontrola repozitáře aktualizací", "updates.tryingEndpoints": "Zkouším povolený HTTPS endpoint…", "updates.checkFailed": "Kontrola se nezdařila", "updates.downloading": "Stahuji…", "updates.downloadRejected": "Aktualizace byla zablokována",26
"plugins.eyebrow": "PLUGIN API 1.2.0", "plugins.title": "Instalované Tools", "plugins.install": "Instalovat z katalogu", "plugins.plugin": "Plugin", "plugins.version": "Verze", "plugins.permissions": "Oprávnění", "plugins.none": "Zatím žádné pluginy", "plugins.first": "První bude System Monitor.", "plugins.noPermissions": "bez oprávnění", "plugins.bundled": "Součást aplikace",27
"settings.eyebrow": "LOKÁLNÍ KONFIGURACE", "settings.title": "Nastavení Core", "settings.language": "Jazyk", "settings.czech": "Čeština", "settings.german": "Deutsch", "settings.english": "English", "settings.updateChannel": "Kanál aktualizací", "settings.autoCheck": "Automaticky kontrolovat při startu", "settings.allowedServers": "Povolené update servery", "settings.save": "Uložit nastavení", "settings.saved": "Uloženo",28
"vault.damagedMode": "OBNOVA ŠIFROVANÉHO ÚLOŽIŠTĚ", "vault.damagedTitle": "Vault je neúplný", "vault.damagedDescription": "Chybí jeden ze souborů vaultu. Data nebudou automaticky přepsána.", "vault.setupMode": "PRVNÍ NASTAVENÍ VAULTU", "vault.lockedMode": "VAULT JE ZAMČENÝ", "vault.setupTitle": "Vytvořit hlavní heslo", "vault.setupDescription": "Zvolte hlavní heslo o délce 4 až 64 znaků. Bez hesla nelze šifrovaná data obnovit.", "vault.lockedDescription": "Vault už existuje. Zadejte jeho hlavní heslo pro přístup k uloženým serverům.", "vault.create": "Vytvořit vault", "vault.passwordLength": "Hlavní heslo musí mít 4 až 64 znaků.", "vault.passwordMismatch": "Hesla se neshodují.", "vault.creating": "Vytvářím…", "vault.unlocking": "Odemykám…", "vault.typeDelete": "Pro potvrzení napište přesně SMAZAT.", "vault.finalResetConfirm": "Poslední potvrzení: opravdu smazat všechna šifrovaná uživatelská data?", "vault.deleting": "Mažu…", "vault.resetDone": "Vault byl obnoven. Vytvořte nové hlavní heslo.",29
"ssh.unknownHost": "Server {host}:{port} zatím není důvěryhodný.\n\nSHA-256 otisk:\n{fingerprint}\n\nOvěřte otisk jiným kanálem. Chcete jej uložit a pokračovat?", "ssh.trustFailed": "Host klíč se nepodařilo uložit.", "ssh.keyChanged": "VAROVÁNÍ: SSH host klíč se změnil. Připojení bylo zablokováno.", "ssh.knownKey": "Známý", "ssh.newKey": "Nový", "ssh.failed": "Připojení selhalo.",30
"errors.unknown": "Neznámá chyba", "errors.initialization": "Chyba inicializace"31
},32
de: {33
"nav.diagnostics": "Serverdiagnose",34
"nav.hash": "Hash und Prüfsummen",35
"nav.overview": "Übersicht", "nav.terminal": "Terminal", "nav.servers": "Server", "nav.updates": "Updates", "nav.plugins": "Plugins", "nav.settings": "Einstellungen", "nav.aria": "Hauptnavigation",36
"vault.storage": "VERSCHLÜSSELTER LOKALER SPEICHER", "vault.unlockTitle": "Server Manager entsperren", "vault.unlockIntro": "Geben Sie das Hauptpasswort ein. Das Passwort wird nicht gespeichert.", "vault.password": "Hauptpasswort", "vault.confirmPassword": "Passwort bestätigen", "vault.unlock": "Entsperren", "vault.forgot": "Passwort vergessen / Vault zurücksetzen", "vault.resetIrreversible": "Das Zurücksetzen kann nicht rückgängig gemacht werden", "vault.resetDescription": "Alle Serverprofile, gespeicherten Host-Fingerprints und weiteren verschlüsselten Daten werden gelöscht. Installierte Plugins und Update-Einstellungen bleiben erhalten.", "vault.resetInstruction": "Geben Sie zur Bestätigung SMAZAT ein", "vault.cancel": "Abbrechen", "vault.resetAction": "Daten löschen und Passwort zurücksetzen",37
"app.newArchitecture": "NEUE ARCHITEKTUR", "app.initializing": "Initialisierung…", "app.lock": "Sperren", "app.coreRunning": "Core läuft",38
"overview.cleanTitle": "Saubere Basis der neuen Anwendung", "overview.cleanDescription": "Getrennte Dienste, eingeschränktes IPC, Plugin-Runtime und sicherer Update-Kanal.", "overview.coreApi": "Core API", "overview.coreApiDescription": "Stabiler Anwendungsvertrag", "overview.dataSchema": "Datenschema", "overview.dataSchemaDescription": "Versionierter Benutzerspeicher", "overview.installedPlugins": "Installierte Plugins", "overview.noToolsNeeded": "Core funktioniert auch ohne Tools", "overview.currentSlice": "AKTUELLER UMFANG", "overview.sliceTitle": "Vault + Profile + SSH-Terminal", "overview.sliceDescription": "Funktionierende Verbindung mit obligatorischer Host-Key-Prüfung und getrenntem SessionManager.",39
"terminal.ping": "Ping",40
"terminal.sshRtt": "SSH-Antwortzeit",41
"terminal.latencyUnavailable": "Nicht verfügbar",42
"terminal.latencyMeaning": "Ping: ICMP-Echo. SSH-Antwortzeit: SSH-Anfrage und Antwort einschließlich Verarbeitung auf dem Server.",43
"terminal.eyebrow": "SSH SESSION MANAGER", "terminal.title": "Interaktives Terminal", "terminal.disconnected": "Getrennt", "terminal.connecting": "Verbindung…", "terminal.connected": "Verbunden", "terminal.connectionError": "Verbindungsfehler", "terminal.error": "Fehler", "terminal.server": "Server", "terminal.selectServer": "Server auswählen…", "terminal.password": "Passwort", "terminal.sshPassword": "SSH-Passwort", "terminal.passphrase": "Passphrase (optional)", "terminal.keyPassphrase": "Schlüssel-Passphrase", "terminal.connect": "Verbinden", "terminal.disconnect": "Trennen", "terminal.noProfile": "Erstellen Sie zuerst ein Serverprofil.", "terminal.aria": "SSH-Terminal", "terminal.libraryMissing": "Terminalbibliothek ist nicht verfügbar.", "terminal.welcome": "Wählen Sie einen Server und starten Sie die SSH-Verbindung.", "terminal.connectingTo": "Verbinde mit {target}…", "terminal.passwordAuth": "Passwortauthentifizierung", "terminal.vaultLocked": "Vault wurde gesperrt.",44
"profiles.eyebrow": "VERSCHLÜSSELTE PROFILE", "profiles.title": "Serververwaltung", "profiles.new": "Neuer Server", "profiles.none": "Es ist noch kein Server gespeichert.", "profiles.name": "Name", "profiles.namePlaceholder": "Produktionsserver", "profiles.host": "Host / IP", "profiles.port": "Port", "profiles.user": "Benutzer", "profiles.auth": "Authentifizierung", "profiles.authPassword": "Passwort beim Verbinden", "profiles.authKey": "Privater Schlüssel", "profiles.privateKey": "Privater Schlüssel", "profiles.selectFile": "Datei auswählen…", "profiles.select": "Auswählen", "profiles.save": "Profil speichern", "profiles.delete": "Löschen", "profiles.key": "Schlüssel", "profiles.password": "Passwort", "profiles.saved": "Profil wurde gespeichert.", "profiles.deleteConfirm": "Dieses Serverprofil wirklich löschen?",45
"updates.eyebrow": "UPDATE-REPOSITORY", "updates.title": "Core-Updates", "updates.installed": "Installierte Version", "updates.channel": "Kanal {channel}", "updates.ready": "Bereit zur Prüfung", "updates.integrityIntro": "Core prüft Plattform, Architektur, Größe, SHA-512 und OpenPGP-Signatur.", "updates.check": "Prüfen", "updates.download": "Herunterladen und prüfen", "updates.reveal": "Datei anzeigen", "updates.alphaSecurity": "Alpha-Sicherheitsmodus", "updates.alphaDescription": "SHA-512 und die obligatorische OpenPGP-Signatur schützen den Installer. Die Installation startet nicht automatisch und die Quelle ist auf die erlaubte HTTPS-Domain begrenzt.", "updates.downloaded": "Release v{version} wurde heruntergeladen und geprüft", "updates.available": "Version {version} ist verfügbar", "updates.availableFallback": "Das Update kann heruntergeladen und geprüft werden.", "updates.current": "Sie verwenden die aktuelle Version", "updates.noNewer": "Im gewählten Kanal ist kein neueres Release verfügbar.", "updates.checking": "Prüfung…", "updates.checkingServer": "Update-Repository wird geprüft", "updates.tryingEndpoints": "Der erlaubte HTTPS-Endpunkt wird geprüft…", "updates.checkFailed": "Prüfung fehlgeschlagen", "updates.downloading": "Download…", "updates.downloadRejected": "Update wurde blockiert",46
"plugins.eyebrow": "PLUGIN API 1.2.0", "plugins.title": "Installierte Tools", "plugins.install": "Aus Katalog installieren", "plugins.plugin": "Plugin", "plugins.version": "Version", "plugins.permissions": "Berechtigungen", "plugins.none": "Noch keine Plugins", "plugins.first": "Als Erstes folgt System Monitor.", "plugins.noPermissions": "keine Berechtigungen", "plugins.bundled": "Integriert",47
"settings.eyebrow": "LOKALE KONFIGURATION", "settings.title": "Core-Einstellungen", "settings.language": "Sprache", "settings.czech": "Čeština", "settings.german": "Deutsch", "settings.english": "English", "settings.updateChannel": "Update-Kanal", "settings.autoCheck": "Beim Start automatisch prüfen", "settings.allowedServers": "Erlaubte Update-Server", "settings.save": "Einstellungen speichern", "settings.saved": "Gespeichert",48
"vault.damagedMode": "VERSCHLÜSSELTEN SPEICHER WIEDERHERSTELLEN", "vault.damagedTitle": "Vault ist unvollständig", "vault.damagedDescription": "Eine Vault-Datei fehlt. Die Daten werden nicht automatisch überschrieben.", "vault.setupMode": "ERSTEINRICHTUNG DES VAULTS", "vault.lockedMode": "VAULT IST GESPERRT", "vault.setupTitle": "Hauptpasswort erstellen", "vault.setupDescription": "Wählen Sie ein Hauptpasswort mit 4 bis 64 Zeichen. Ohne Passwort können verschlüsselte Daten nicht wiederhergestellt werden.", "vault.lockedDescription": "Der Vault existiert bereits. Geben Sie das Hauptpasswort ein, um auf gespeicherte Server zuzugreifen.", "vault.create": "Vault erstellen", "vault.passwordLength": "Das Hauptpasswort muss 4 bis 64 Zeichen lang sein.", "vault.passwordMismatch": "Die Passwörter stimmen nicht überein.", "vault.creating": "Wird erstellt…", "vault.unlocking": "Wird entsperrt…", "vault.typeDelete": "Geben Sie zur Bestätigung genau SMAZAT ein.", "vault.finalResetConfirm": "Letzte Bestätigung: Wirklich alle verschlüsselten Benutzerdaten löschen?", "vault.deleting": "Löschen…", "vault.resetDone": "Vault wurde zurückgesetzt. Erstellen Sie ein neues Hauptpasswort.",49
"ssh.unknownHost": "Server {host}:{port} ist noch nicht vertrauenswürdig.\n\nSHA-256-Fingerprint:\n{fingerprint}\n\nPrüfen Sie den Fingerprint über einen anderen Kanal. Speichern und fortfahren?", "ssh.trustFailed": "Host-Key konnte nicht gespeichert werden.", "ssh.keyChanged": "WARNUNG: Der SSH-Host-Key hat sich geändert. Die Verbindung wurde blockiert.", "ssh.knownKey": "Bekannt", "ssh.newKey": "Neu", "ssh.failed": "Verbindung fehlgeschlagen.",50
"errors.unknown": "Unbekannter Fehler", "errors.initialization": "Initialisierungsfehler"51
},52
en: {53
"nav.diagnostics": "Server Diagnostics",54
"nav.hash": "Hash & Checksum",55
"nav.overview": "Overview", "nav.terminal": "Terminal", "nav.servers": "Servers", "nav.updates": "Updates", "nav.plugins": "Plugins", "nav.settings": "Settings", "nav.aria": "Main navigation",56
"vault.storage": "ENCRYPTED LOCAL STORAGE", "vault.unlockTitle": "Unlock Server Manager", "vault.unlockIntro": "Enter the master password. The password is not stored.", "vault.password": "Master password", "vault.confirmPassword": "Confirm password", "vault.unlock": "Unlock", "vault.forgot": "Forgot password / reset vault", "vault.resetIrreversible": "Reset cannot be undone", "vault.resetDescription": "All server profiles, saved host fingerprints, and other encrypted data will be deleted. Installed plugins and update settings will remain.", "vault.resetInstruction": "Type SMAZAT to confirm", "vault.cancel": "Cancel", "vault.resetAction": "Delete data and reset password",57
"app.newArchitecture": "NEW ARCHITECTURE", "app.initializing": "Initializing…", "app.lock": "Lock", "app.coreRunning": "Core is running",58
"overview.cleanTitle": "A clean foundation for the new application", "overview.cleanDescription": "Separated services, restricted IPC, plugin runtime, and a secure update channel.", "overview.coreApi": "Core API", "overview.coreApiDescription": "Stable application contract", "overview.dataSchema": "Data schema", "overview.dataSchemaDescription": "Versioned user storage", "overview.installedPlugins": "Installed plugins", "overview.noToolsNeeded": "Core works without Tools", "overview.currentSlice": "CURRENT SLICE", "overview.sliceTitle": "Vault + profiles + SSH terminal", "overview.sliceDescription": "Working connection with mandatory host-key verification and a separate SessionManager.",59
"terminal.ping": "Ping",60
"terminal.sshRtt": "SSH RTT",61
"terminal.latencyUnavailable": "Unavailable",62
"terminal.latencyMeaning": "Ping: ICMP echo. SSH RTT: SSH request/response duration including server processing.",63
"terminal.eyebrow": "SSH SESSION MANAGER", "terminal.title": "Interactive terminal", "terminal.disconnected": "Disconnected", "terminal.connecting": "Connecting…", "terminal.connected": "Connected", "terminal.connectionError": "Connection error", "terminal.error": "Error", "terminal.server": "Server", "terminal.selectServer": "Select a server…", "terminal.password": "Password", "terminal.sshPassword": "SSH password", "terminal.passphrase": "Passphrase (optional)", "terminal.keyPassphrase": "Key passphrase", "terminal.connect": "Connect", "terminal.disconnect": "Disconnect", "terminal.noProfile": "Create a server profile first.", "terminal.aria": "SSH terminal", "terminal.libraryMissing": "Terminal library is unavailable.", "terminal.welcome": "Select a server and start the SSH connection.", "terminal.connectingTo": "Connecting to {target}…", "terminal.passwordAuth": "password authentication", "terminal.vaultLocked": "Vault was locked.",64
"profiles.eyebrow": "ENCRYPTED PROFILES", "profiles.title": "Server management", "profiles.new": "New server", "profiles.none": "No server has been saved yet.", "profiles.name": "Name", "profiles.namePlaceholder": "Production server", "profiles.host": "Host / IP", "profiles.port": "Port", "profiles.user": "User", "profiles.auth": "Authentication", "profiles.authPassword": "Password when connecting", "profiles.authKey": "Private key", "profiles.privateKey": "Private key", "profiles.selectFile": "Select a file…", "profiles.select": "Select", "profiles.save": "Save profile", "profiles.delete": "Delete", "profiles.key": "key", "profiles.password": "password", "profiles.saved": "Profile was saved.", "profiles.deleteConfirm": "Delete this server profile?",65
"updates.eyebrow": "UPDATE REPOSITORY", "updates.title": "Core updates", "updates.installed": "Installed version", "updates.channel": "channel {channel}", "updates.ready": "Ready to check", "updates.integrityIntro": "Core verifies platform, architecture, size, SHA-512, and the OpenPGP signature.", "updates.check": "Check", "updates.download": "Download and verify", "updates.reveal": "Show file", "updates.alphaSecurity": "Alpha security mode", "updates.alphaDescription": "SHA-512 and the mandatory OpenPGP signature protect the installer. Installation does not start automatically, and the source is restricted to the allowed HTTPS domain.", "updates.downloaded": "Release v{version} was downloaded and verified", "updates.available": "Version {version} is available", "updates.availableFallback": "The update is ready to download and verify.", "updates.current": "You are using the current version", "updates.noNewer": "No newer release is available on the selected channel.", "updates.checking": "Checking…", "updates.checkingServer": "Checking update repository", "updates.tryingEndpoints": "Trying the allowed HTTPS endpoint…", "updates.checkFailed": "Update check failed", "updates.downloading": "Downloading…", "updates.downloadRejected": "Update was blocked",66
"plugins.eyebrow": "PLUGIN API 1.2.0", "plugins.title": "Installed Tools", "plugins.install": "Install from catalog", "plugins.plugin": "Plugin", "plugins.version": "Version", "plugins.permissions": "Permissions", "plugins.none": "No plugins yet", "plugins.first": "System Monitor will be first.", "plugins.noPermissions": "no permissions", "plugins.bundled": "Built in",67
"settings.eyebrow": "LOCAL CONFIGURATION", "settings.title": "Core settings", "settings.language": "Language", "settings.czech": "Čeština", "settings.german": "Deutsch", "settings.english": "English", "settings.updateChannel": "Update channel", "settings.autoCheck": "Check automatically at startup", "settings.allowedServers": "Allowed update servers", "settings.save": "Save settings", "settings.saved": "Saved",68
"vault.damagedMode": "RECOVER ENCRYPTED STORAGE", "vault.damagedTitle": "Vault is incomplete", "vault.damagedDescription": "One of the vault files is missing. Data will not be overwritten automatically.", "vault.setupMode": "INITIAL VAULT SETUP", "vault.lockedMode": "VAULT IS LOCKED", "vault.setupTitle": "Create master password", "vault.setupDescription": "Choose a master password between 4 and 64 characters. Encrypted data cannot be recovered without it.", "vault.lockedDescription": "The vault already exists. Enter its master password to access saved servers.", "vault.create": "Create vault", "vault.passwordLength": "The master password must contain 4 to 64 characters.", "vault.passwordMismatch": "Passwords do not match.", "vault.creating": "Creating…", "vault.unlocking": "Unlocking…", "vault.typeDelete": "Type SMAZAT exactly to confirm.", "vault.finalResetConfirm": "Final confirmation: delete all encrypted user data?", "vault.deleting": "Deleting…", "vault.resetDone": "Vault was reset. Create a new master password.",69
"ssh.unknownHost": "Server {host}:{port} is not trusted yet.\n\nSHA-256 fingerprint:\n{fingerprint}\n\nVerify the fingerprint through another channel. Save it and continue?", "ssh.trustFailed": "The host key could not be saved.", "ssh.keyChanged": "WARNING: The SSH host key changed. The connection was blocked.", "ssh.knownKey": "Known", "ssh.newKey": "New", "ssh.failed": "Connection failed.",70
"errors.unknown": "Unknown error", "errors.initialization": "Initialization error"71
}72
};74
Object.assign(catalogs.cs, {75
"profiles.storePassword": "Uložit heslo do šifrovaného vaultu",76
"profiles.storedPassword": "SSH heslo",77
"profiles.storePasswordPlaceholder": "Zadejte heslo k uložení",78
"profiles.passwordStoredPlaceholder": "Heslo je uložené – prázdné pole jej nezmění",79
"profiles.passwordSecurity": "Heslo se ukládá pouze uvnitř šifrovaného vaultu.",80
"terminal.savedPasswordHint": "Volitelné – použije se heslo z vaultu",81
"ssh.changedHostConfirm": "VAROVÁNÍ: SSH host klíč serveru {host}:{port} se změnil. Může jít o přeinstalaci serveru, ale také o útok.\n\nZnámý otisk:\n{knownFingerprint}\n\nNový otisk:\n{fingerprint}\n\nOvěřte nový otisk jiným důvěryhodným kanálem. Chcete známý otisk nahradit a znovu se připojit?",82
"channels.all": "Vše",83
"updates.channelFilter": "Kanál",84
"updates.install": "Spustit instalátor",85
"updates.catalogEyebrow": "KATALOG VYDÁNÍ",86
"updates.catalogTitle": "Dostupná vydání",87
"updates.catalogBeforeCheck": "Po kontrole se zde zobrazí všechna kompatibilní vydání.",88
"updates.catalogEmpty": "V tomto kanálu nejsou žádná kompatibilní vydání.",89
"updates.selectedLabel": "Vybráno",90
"updates.selectLabel": "Vybrat",91
"updates.newerVersion": "Je dostupná novější verze v{version}",92
"updates.sameVersionNewerRelease": "Je dostupné novější vydání stejné verze v{version}",93
"updates.sameVersionCurrentRelease": "Používáte aktuální vydání v{version}",94
"updates.sameVersionOlderRelease": "Je vybráno starší vydání stejné verze v{version}",95
"updates.olderVersion": "Vybrána starší verze v{version}",96
"updates.selected": "Vybráno vydání v{version}",97
"updates.publishedAt": "Vydáno {date}",98
"updates.noneAvailable": "Žádné dostupné vydání",99
"updates.noCompatible": "Repozitář neobsahuje kompatibilní vydání pro tuto platformu, architekturu a kanál.",100
"updates.installConfirm": "Spustit ověřený instalátor vydání v{version} zveřejněného {date}?",101
"updates.installFailed": "Instalátor se nepodařilo spustit",102
"updates.installFailure": "Instalaci se nepodařilo spustit nebo dokončit. Aktualizace nebyla nainstalována.",103
"updates.downloadingAndVerifying": "Stahuji a ověřuji…",104
"updates.verifyingSignature": "Ověřování digitálního podpisu…",105
"updates.signatureVerified": "Digitální podpis ověřen",106
"updates.signatureFailure": "Aktualizaci nelze bezpečně ověřit a nebude nainstalována.",107
"plugins.checkCatalog": "Načíst webový katalog",108
"plugins.checking": "Načítám katalog…",109
"plugins.webCatalog": "WEBOVÝ KATALOG",110
"plugins.available": "Dostupné pluginy",111
"plugins.catalogBeforeCheck": "Nejprve načtěte katalog z povoleného update serveru.",112
"plugins.catalogEmpty": "Ve zvoleném kanálu nejsou dostupné žádné kompatibilní pluginy.",113
"plugins.open": "Otevřít",114
"plugins.channelFilter": "Kanál katalogu",115
"plugins.remove": "Odstranit",116
"plugins.removeConfirm": "Opravdu odstranit plugin {name}? Nastavení Core a vault zůstanou zachované.",117
"plugins.installed": "Nainstalováno",118
"plugins.update": "Aktualizovat",119
"plugins.installing": "Instaluji…",120
"plugins.installConfirm": "Nainstalovat {name} v{version}?\n\nPožadovaná oprávnění: {permissions}",121
"plugins.minimized": "Minimalizované pluginy",122
"plugins.restore": "Obnovit plugin {name}",123
"plugins.restoreAction": "Kliknutím obnovit",124
"settings.pluginChannel": "Kanál pluginů",125
"legal.eyebrow": "PRÁVNÍ INFORMACE", "legal.title": "Licence a dokumentace", "legal.documentation": "Dokumentace", "legal.safetyCzech": "Bezpečnost a zálohování (CS)", "legal.safetyEnglish": "Bezpečnost a zálohování (EN)", "legal.safetyGerman": "Bezpečnost a zálohování (DE)", "legal.description": "CH-J Server Manager je poskytován pod CH-J Proprietary Software License 1.14. Licence komponent třetích stran zůstávají zachované.", "legal.application": "Licence aplikace", "legal.notice": "Autorské oznámení", "legal.thirdParty": "Licence třetích stran", "legal.thirdPartyBundle": "Kompletní licenční balík", "legal.electron": "Licence Electronu", "legal.chromium": "Licence Chromia"126
});127
Object.assign(catalogs.de, {128
"profiles.storePassword": "Passwort im verschlüsselten Vault speichern",129
"profiles.storedPassword": "SSH-Passwort",130
"profiles.storePasswordPlaceholder": "Zu speicherndes Passwort eingeben",131
"profiles.passwordStoredPlaceholder": "Passwort gespeichert – leer lassen, um es beizubehalten",132
"profiles.passwordSecurity": "Das Passwort wird ausschließlich im verschlüsselten Vault gespeichert.",133
"terminal.savedPasswordHint": "Optional – das Passwort aus dem Vault wird verwendet",134
"ssh.changedHostConfirm": "WARNUNG: Der SSH-Host-Key von {host}:{port} hat sich geändert. Dies kann durch eine Neuinstallation verursacht werden, aber auch auf einen Angriff hinweisen.\n\nBekannter Fingerprint:\n{knownFingerprint}\n\nNeuer Fingerprint:\n{fingerprint}\n\nPrüfen Sie den neuen Fingerprint über einen anderen vertrauenswürdigen Kanal. Bekannten Fingerprint ersetzen und erneut verbinden?",135
"channels.all": "Alle",136
"updates.channelFilter": "Kanal",137
"updates.install": "Installer starten",138
"updates.catalogEyebrow": "RELEASE-KATALOG",139
"updates.catalogTitle": "Verfügbare Releases",140
"updates.catalogBeforeCheck": "Nach der Prüfung werden hier alle kompatiblen Releases angezeigt.",141
"updates.catalogEmpty": "In diesem Kanal sind keine kompatiblen Releases verfügbar.",142
"updates.selectedLabel": "Ausgewählt",143
"updates.selectLabel": "Auswählen",144
"updates.newerVersion": "Eine neuere Version v{version} ist verfügbar",145
"updates.sameVersionNewerRelease": "Ein neueres Release derselben Version v{version} ist verfügbar",146
"updates.sameVersionCurrentRelease": "Sie verwenden das aktuelle Release v{version}",147
"updates.sameVersionOlderRelease": "Ein älteres Release derselben Version v{version} ist ausgewählt",148
"updates.olderVersion": "Ältere Version v{version} ausgewählt",149
"updates.selected": "Release v{version} ausgewählt",150
"updates.publishedAt": "Veröffentlicht am {date}",151
"updates.noneAvailable": "Kein Release verfügbar",152
"updates.noCompatible": "Das Repository enthält keinen kompatiblen Release für diese Plattform, Architektur und diesen Kanal.",153
"updates.installConfirm": "Geprüften Installer der Version v{version}, veröffentlicht am {date}, starten?",154
"updates.installFailed": "Der Installer konnte nicht gestartet werden",155
"updates.installFailure": "Die Installation konnte nicht gestartet oder abgeschlossen werden. Das Update wurde nicht installiert.",156
"updates.downloadingAndVerifying": "Download und Prüfung…",157
"updates.verifyingSignature": "Digitale Signatur wird geprüft…",158
"updates.signatureVerified": "Digitale Signatur geprüft",159
"updates.signatureFailure": "Das Update kann nicht sicher verifiziert werden und wird nicht installiert.",160
"plugins.checkCatalog": "Webkatalog laden",161
"plugins.checking": "Katalog wird geladen…",162
"plugins.webCatalog": "WEBKATALOG",163
"plugins.available": "Verfügbare Plugins",164
"plugins.catalogBeforeCheck": "Laden Sie zuerst den Katalog vom erlaubten Update-Server.",165
"plugins.catalogEmpty": "Im gewählten Kanal sind keine kompatiblen Plugins verfügbar.",166
"plugins.open": "Öffnen",167
"plugins.channelFilter": "Katalogkanal",168
"plugins.remove": "Entfernen",169
"plugins.removeConfirm": "Plugin {name} wirklich entfernen? Core-Einstellungen und Vault bleiben erhalten.",170
"plugins.installed": "Installiert",171
"plugins.update": "Aktualisieren",172
"plugins.installing": "Installation…",173
"plugins.installConfirm": "{name} v{version} installieren?\n\nErforderliche Berechtigungen: {permissions}",174
"plugins.minimized": "Minimierte Plugins",175
"plugins.restore": "Plugin {name} wiederherstellen",176
"plugins.restoreAction": "Zum Wiederherstellen klicken",177
"settings.pluginChannel": "Plugin-Kanal",178
"legal.eyebrow": "RECHTLICHE INFORMATIONEN", "legal.title": "Lizenzen und Dokumentation", "legal.documentation": "Dokumentation", "legal.safetyCzech": "Betriebssicherheit und Backups (CS)", "legal.safetyEnglish": "Betriebssicherheit und Backups (EN)", "legal.safetyGerman": "Betriebssicherheit und Backups (DE)", "legal.description": "CH-J Server Manager wird unter der CH-J Proprietary Software License 1.14 bereitgestellt. Die Lizenzen der Drittanbieterkomponenten bleiben bestehen.", "legal.application": "Anwendungslizenz", "legal.notice": "Urheberrechtshinweis", "legal.thirdParty": "Drittanbieterlizenzen", "legal.thirdPartyBundle": "Vollständiges Lizenzpaket", "legal.electron": "Electron-Lizenz", "legal.chromium": "Chromium-Lizenzen"179
});180
Object.assign(catalogs.en, {181
"profiles.storePassword": "Store password in the encrypted vault",182
"profiles.storedPassword": "SSH password",183
"profiles.storePasswordPlaceholder": "Enter the password to store",184
"profiles.passwordStoredPlaceholder": "Password stored – leave empty to keep it",185
"profiles.passwordSecurity": "The password is stored only inside the encrypted vault.",186
"terminal.savedPasswordHint": "Optional – the password from the vault will be used",187
"ssh.changedHostConfirm": "WARNING: The SSH host key for {host}:{port} changed. This may be caused by a server reinstall, but it can also indicate an attack.\n\nKnown fingerprint:\n{knownFingerprint}\n\nNew fingerprint:\n{fingerprint}\n\nVerify the new fingerprint through another trusted channel. Replace the known fingerprint and reconnect?",188
"channels.all": "All",189
"updates.channelFilter": "Channel",190
"updates.install": "Launch installer",191
"updates.catalogEyebrow": "RELEASE CATALOG",192
"updates.catalogTitle": "Available releases",193
"updates.catalogBeforeCheck": "All compatible releases will appear here after checking.",194
"updates.catalogEmpty": "No compatible releases are available in this channel.",195
"updates.selectedLabel": "Selected",196
"updates.selectLabel": "Select",197
"updates.newerVersion": "A newer version v{version} is available",198
"updates.sameVersionNewerRelease": "A newer release of the same version v{version} is available",199
"updates.sameVersionCurrentRelease": "You are using the current release v{version}",200
"updates.sameVersionOlderRelease": "An older release of the same version v{version} is selected",201
"updates.olderVersion": "Older version v{version} selected",202
"updates.selected": "Release v{version} selected",203
"updates.publishedAt": "Published {date}",204
"updates.noneAvailable": "No release available",205
"updates.noCompatible": "The repository has no compatible release for this platform, architecture, and channel.",206
"updates.installConfirm": "Launch the verified installer for v{version}, published {date}?",207
"updates.installFailed": "The installer could not be launched",208
"updates.installFailure": "The installation could not be started or completed. The update was not installed.",209
"updates.downloadingAndVerifying": "Downloading and verifying…",210
"updates.verifyingSignature": "Verifying digital signature…",211
"updates.signatureVerified": "Digital signature verified",212
"updates.signatureFailure": "The update cannot be verified safely and will not be installed.",213
"plugins.checkCatalog": "Load web catalog",214
"plugins.checking": "Loading catalog…",215
"plugins.webCatalog": "WEB CATALOG",216
"plugins.available": "Available plugins",217
"plugins.catalogBeforeCheck": "Load the catalog from an allowed update server first.",218
"plugins.catalogEmpty": "No compatible plugins are available in the selected channel.",219
"plugins.open": "Open",220
"plugins.channelFilter": "Catalog channel",221
"plugins.remove": "Remove",222
"plugins.removeConfirm": "Remove the {name} plugin? Core settings and the vault will remain intact.",223
"plugins.installed": "Installed",224
"plugins.update": "Update",225
"plugins.installing": "Installing…",226
"plugins.installConfirm": "Install {name} v{version}?\n\nRequired permissions: {permissions}",227
"plugins.minimized": "Minimized plugins",228
"plugins.restore": "Restore the {name} plugin",229
"plugins.restoreAction": "Click to restore",230
"settings.pluginChannel": "Plugin channel",231
"legal.eyebrow": "LEGAL INFORMATION", "legal.title": "Licenses and documentation", "legal.documentation": "Documentation", "legal.safetyCzech": "Operational safety and backups (CS)", "legal.safetyEnglish": "Operational safety and backups (EN)", "legal.safetyGerman": "Operational safety and backups (DE)", "legal.description": "CH-J Server Manager is provided under the CH-J Proprietary Software License 1.14. Third-party component licenses remain in effect.", "legal.application": "Application license", "legal.notice": "Copyright notice", "legal.thirdParty": "Third-party licenses", "legal.thirdPartyBundle": "Complete license package", "legal.electron": "Electron license", "legal.chromium": "Chromium licenses"232
});234
Object.assign(catalogs.cs, {235
"security.title": "Zabezpečení",236
"security.enable": "Zapnout biometrické odemykání",237
"security.remove": "Vypnout a odstranit registraci",238
"security.test": "Otestovat systémové ověření",239
"security.autoLock": "Automaticky zamknout při nečinnosti",240
"security.timeout": "Doba nečinnosti",241
"security.never": "Nikdy",242
"security.blur": "Zamknout při ztrátě zaměření aplikace",243
"security.sensitive": "Vyžadovat systémové ověření citlivých operací",244
"security.scope": "Ověření chrání odstranění profilu, instalaci/odstranění pluginu, spuštění instalátoru a reset odemčeného Vaultu. Příkazy vzdáleného terminálu tímto ověřením chráněny nejsou.",245
"security.lockEffect": "Zamknutí ukončí aktivní SSH relace, zavře pluginy a zastaví diagnostiku.",246
"security.confirmPassword": "Hlavní heslo pro změnu pravidel zamykání",247
"security.strong": "Klíč ve svazku klíčů chrání aktuální otisky Touch ID. Změna otisků registraci zneplatní.",248
"security.convenience": "Pohodlné odemykání: aplikace vyžaduje systémové ověření, ale úložiště klíče není kryptograficky vázáno na biometrii.",249
"security.enabled": "Biometrické odemykání zapnuto",250
"security.disabled": "Biometrické odemykání vypnuto",251
"security.testPassed": "Systémové ověření úspěšné",252
"biometrics.touch-id": "Odemknout pomocí Touch ID",253
"biometrics.windows-hello": "Odemknout pomocí Windows Hello",254
"biometrics.fprintd": "Odemknout otiskem prstu",255
"biometrics.BIOMETRIC_AVAILABLE": "Systémové ověření je dostupné",256
"biometrics.BIOMETRIC_UNAVAILABLE": "Systémové ověření není dostupné",257
"biometrics.BIOMETRIC_NO_ENROLLMENT": "V systému není zaregistrovaný otisk nebo Windows Hello",258
"biometrics.BIOMETRIC_CANCELLED": "Ověření bylo zrušeno",259
"biometrics.BIOMETRIC_FAILED": "Ověření selhalo",260
"biometrics.BIOMETRIC_DEVICE_UNAVAILABLE": "Zařízení je dočasně nedostupné",261
"biometrics.BIOMETRIC_ENROLLMENT_INVALIDATED": "Registrace již není platná. Použijte hlavní heslo a zapněte odemykání znovu.",262
"biometrics.BIOMETRIC_MASTER_PASSWORD_REQUIRED": "Je vyžadováno hlavní heslo",263
"biometrics.BIOMETRIC_TIMEOUT": "Čas ověření vypršel",264
"biometrics.BIOMETRIC_KEYRING_UNAVAILABLE": "Bezpečný systémový svazek klíčů není dostupný",265
"biometrics.BIOMETRIC_CREDENTIAL_FAILED": "Systémové úložiště klíčů selhalo. Použijte hlavní heslo.",266
"biometrics.BIOMETRIC_INVALID_KEY": "Uložený klíč není platný. Použijte hlavní heslo.",267
"biometrics.BIOMETRIC_BUSY": "Probíhá jiné systémové ověření",268
"ssh.SSH_LOCAL_NETWORK_DENIED": "macOS nepovolil přístup k síti. V Nastavení systému → Soukromí a zabezpečení → Místní síť povolte CH-J Server Manager a restartujte aplikaci.",269
"ssh.SSH_MAC_NETWORK_UNREACHABLE": "Server není z macOS dosažitelný. Pokud stejné SSH funguje z terminálu, zkontrolujte Nastavení systému → Soukromí a zabezpečení → Místní síť → CH-J Server Manager. Poté aplikaci restartujte. Zkontrolujte také připojení a VPN."270
});271
Object.assign(catalogs.de, {272
"security.title": "Sicherheit",273
"security.enable": "Biometrisches Entsperren aktivieren",274
"security.remove": "Deaktivieren und Registrierung entfernen",275
"security.test": "Systemauthentifizierung testen",276
"security.autoLock": "Bei Inaktivität automatisch sperren",277
"security.timeout": "Inaktivitätsdauer",278
"security.never": "Nie",279
"security.blur": "Beim Verlassen der Anwendung sperren",280
"security.sensitive": "Systemauthentifizierung für sensible Vorgänge verlangen",281
"security.scope": "Geschützt sind Profillöschung, Plugininstallation/-entfernung, Installerstart und Zurücksetzen des entsperrten Vaults. Remote-Terminalbefehle werden nicht zusätzlich geprüft.",282
"security.lockEffect": "Sperren beendet aktive SSH-Sitzungen, schließt Plugins und stoppt die Diagnose.",283
"security.confirmPassword": "Master-Passwort zum Ändern der Sperrregeln",284
"security.strong": "Der Schlüsselbund schützt den Schlüssel mit den aktuellen Touch-ID-Fingerabdrücken. Änderungen machen die Registrierung ungültig.",285
"security.convenience": "Komfortentsperrung: Die App verlangt Systemauthentifizierung, aber der gespeicherte Schlüssel ist kryptografisch nicht an Biometrie gebunden.",286
"security.enabled": "Biometrisches Entsperren aktiviert",287
"security.disabled": "Biometrisches Entsperren deaktiviert",288
"security.testPassed": "Systemauthentifizierung erfolgreich",289
"biometrics.touch-id": "Mit Touch ID entsperren",290
"biometrics.windows-hello": "Mit Windows Hello entsperren",291
"biometrics.fprintd": "Mit Fingerabdruck entsperren",292
"biometrics.BIOMETRIC_AVAILABLE": "Systemauthentifizierung verfügbar",293
"biometrics.BIOMETRIC_UNAVAILABLE": "Systemauthentifizierung nicht verfügbar",294
"biometrics.BIOMETRIC_NO_ENROLLMENT": "Kein Fingerabdruck bzw. Windows Hello eingerichtet",295
"biometrics.BIOMETRIC_CANCELLED": "Authentifizierung abgebrochen",296
"biometrics.BIOMETRIC_FAILED": "Authentifizierung fehlgeschlagen",297
"biometrics.BIOMETRIC_DEVICE_UNAVAILABLE": "Gerät vorübergehend nicht verfügbar",298
"biometrics.BIOMETRIC_ENROLLMENT_INVALIDATED": "Registrierung ungültig. Master-Passwort verwenden und Entsperren erneut aktivieren.",299
"biometrics.BIOMETRIC_MASTER_PASSWORD_REQUIRED": "Master-Passwort erforderlich",300
"biometrics.BIOMETRIC_TIMEOUT": "Zeit für Authentifizierung abgelaufen",301
"biometrics.BIOMETRIC_KEYRING_UNAVAILABLE": "Sicherer Systemschlüsselbund nicht verfügbar",302
"biometrics.BIOMETRIC_CREDENTIAL_FAILED": "Systemschlüsselspeicher fehlgeschlagen. Master-Passwort verwenden.",303
"biometrics.BIOMETRIC_INVALID_KEY": "Gespeicherter Schlüssel ungültig. Master-Passwort verwenden.",304
"biometrics.BIOMETRIC_BUSY": "Andere Systemauthentifizierung läuft",305
"ssh.SSH_LOCAL_NETWORK_DENIED": "macOS hat den Netzwerkzugriff verweigert. CH-J Server Manager unter Systemeinstellungen → Datenschutz & Sicherheit → Lokales Netzwerk erlauben und neu starten.",306
"ssh.SSH_MAC_NETWORK_UNREACHABLE": "Server unter macOS nicht erreichbar. Falls SSH im Terminal funktioniert, Systemeinstellungen → Datenschutz & Sicherheit → Lokales Netzwerk → CH-J Server Manager prüfen und die App neu starten. Auch Verbindung und VPN prüfen."307
});308
Object.assign(catalogs.en, {309
"security.title": "Security",310
"security.enable": "Enable biometric unlock",311
"security.remove": "Disable and remove enrollment",312
"security.test": "Test system authentication",313
"security.autoLock": "Automatically lock after inactivity",314
"security.timeout": "Inactivity timeout",315
"security.never": "Never",316
"security.blur": "Lock when the application loses focus",317
"security.sensitive": "Require system authentication for sensitive operations",318
"security.scope": "Authentication protects profile deletion, plugin installation/removal, launching installers and resetting an unlocked Vault. Remote terminal commands do not require this additional authentication.",319
"security.lockEffect": "Locking disconnects active SSH sessions, closes plugins and stops diagnostics.",320
"security.confirmPassword": "Master password to change locking rules",321
"security.strong": "Keychain protects the key with the current Touch ID fingerprints. Changing fingerprints invalidates enrollment.",322
"security.convenience": "Convenience unlock: the app requires system authentication, but credential storage is not cryptographically bound to biometrics.",323
"security.enabled": "Biometric unlock enabled",324
"security.disabled": "Biometric unlock disabled",325
"security.testPassed": "System authentication succeeded",326
"biometrics.touch-id": "Unlock with Touch ID",327
"biometrics.windows-hello": "Unlock with Windows Hello",328
"biometrics.fprintd": "Unlock with fingerprint",329
"biometrics.BIOMETRIC_AVAILABLE": "System authentication available",330
"biometrics.BIOMETRIC_UNAVAILABLE": "System authentication unavailable",331
"biometrics.BIOMETRIC_NO_ENROLLMENT": "No fingerprint or Windows Hello enrolled",332
"biometrics.BIOMETRIC_CANCELLED": "Authentication cancelled",333
"biometrics.BIOMETRIC_FAILED": "Authentication failed",334
"biometrics.BIOMETRIC_DEVICE_UNAVAILABLE": "Device temporarily unavailable",335
"biometrics.BIOMETRIC_ENROLLMENT_INVALIDATED": "Enrollment invalidated. Use the master password and enable biometric unlock again.",336
"biometrics.BIOMETRIC_MASTER_PASSWORD_REQUIRED": "Master password required",337
"biometrics.BIOMETRIC_TIMEOUT": "Authentication timed out",338
"biometrics.BIOMETRIC_KEYRING_UNAVAILABLE": "Secure desktop keyring unavailable",339
"biometrics.BIOMETRIC_CREDENTIAL_FAILED": "OS credential storage failed. Use the master password.",340
"biometrics.BIOMETRIC_INVALID_KEY": "Stored key is invalid. Use the master password.",341
"biometrics.BIOMETRIC_BUSY": "Another system authentication is in progress",342
"ssh.SSH_LOCAL_NETWORK_DENIED": "macOS denied network access. Allow CH-J Server Manager in System Settings → Privacy & Security → Local Network, then restart the app.",343
"ssh.SSH_MAC_NETWORK_UNREACHABLE": "Server unreachable from macOS. If SSH works in Terminal, check System Settings → Privacy & Security → Local Network → CH-J Server Manager, then restart the app. Also check connectivity and VPN."344
});346
const localeByLanguage = Object.freeze({ cs: "cs-CZ", de: "de-DE", en: "en-US" });347
const supportedLanguages = Object.freeze(Object.keys(catalogs));349
function normalizeLanguage(value) {350
const language = String(value || "").toLowerCase().split("-")[0];351
return supportedLanguages.includes(language) ? language : "cs";352
}354
function interpolate(template, values = {}) {355
return String(template).replace(/\{([A-Za-z0-9_]+)\}/g, (match, key) => (356
Object.prototype.hasOwnProperty.call(values, key) ? String(values[key]) : match357
));358
}360
function createI18n(initialLanguage = "cs") {361
let language = normalizeLanguage(initialLanguage);362
return Object.freeze({363
apply(rootNode = document) {364
rootNode.querySelectorAll("[data-i18n]").forEach((element) => { element.textContent = this.t(element.dataset.i18n); });365
rootNode.querySelectorAll("[data-i18n-placeholder]").forEach((element) => { element.placeholder = this.t(element.dataset.i18nPlaceholder); });366
rootNode.querySelectorAll("[data-i18n-aria-label]").forEach((element) => { element.setAttribute("aria-label", this.t(element.dataset.i18nAriaLabel)); });367
},368
formatNumber(value, options) { return Number(value).toLocaleString(localeByLanguage[language], options); },369
getLanguage() { return language; },370
getLocale() { return localeByLanguage[language]; },371
setLanguage(value) { language = normalizeLanguage(value); return language; },372
t(key, values) {373
const template = catalogs[language][key] ?? catalogs.cs[key] ?? key;374
return interpolate(template, values);375
}376
});377
}379
return Object.freeze({ catalogs, createI18n, interpolate, normalizeLanguage, supportedLanguages });380
});SHA-256: 56c7603634a80d21763c60ba4ce225e7aeef1ee9db57c4c19405ea08ed6f4133
Archive SHA-256: 5ac91caf4fa32a6fdb114f2430deed486fbe7489d5eea343d1f034169fafb5e0