From ed66546e5b579434885d2eaa65f35997177ba0c0 Mon Sep 17 00:00:00 2001 From: Adam Pavlat Date: Tue, 8 Sep 2026 22:01:59 +0200 Subject: [PATCH 1/5] feat: add Czech (cs) locale --- src/i18n/config.ts | 1 + src/i18n/locales/cs/common.json | 74 ++++++ src/i18n/locales/cs/dialogs.json | 92 +++++++ src/i18n/locales/cs/editor.json | 404 +++++++++++++++++++++++++++++ src/i18n/locales/cs/launch.json | 99 +++++++ src/i18n/locales/cs/settings.json | 355 +++++++++++++++++++++++++ src/i18n/locales/cs/shortcuts.json | 43 +++ src/i18n/locales/cs/timeline.json | 108 ++++++++ 8 files changed, 1176 insertions(+) create mode 100644 src/i18n/locales/cs/common.json create mode 100644 src/i18n/locales/cs/dialogs.json create mode 100644 src/i18n/locales/cs/editor.json create mode 100644 src/i18n/locales/cs/launch.json create mode 100644 src/i18n/locales/cs/settings.json create mode 100644 src/i18n/locales/cs/shortcuts.json create mode 100644 src/i18n/locales/cs/timeline.json diff --git a/src/i18n/config.ts b/src/i18n/config.ts index 107ff840f..c621c4379 100644 --- a/src/i18n/config.ts +++ b/src/i18n/config.ts @@ -2,6 +2,7 @@ export const DEFAULT_LOCALE = "en" as const; export const SUPPORTED_LOCALES = [ "en", "ar", + "cs", "es", "fr", "it", diff --git a/src/i18n/locales/cs/common.json b/src/i18n/locales/cs/common.json new file mode 100644 index 000000000..c5daf2527 --- /dev/null +++ b/src/i18n/locales/cs/common.json @@ -0,0 +1,74 @@ +{ + "actions": { + "cancel": "Zrušit", + "save": "Uložit", + "delete": "Smazat", + "close": "Zavřít", + "share": "Sdílet", + "done": "Hotovo", + "open": "Otevřít", + "checkForUpdates": "Zkontrolovat aktualizace", + "updateSettings": "Nastavení aktualizací", + "updateModeNotify": "Upozornit na dostupnou aktualizaci", + "updateModeDownload": "Stahovat aktualizace automaticky", + "updateModeDownloadAndInstall": "Stahovat a instalovat aktualizace automaticky", + "viewRelease": "Zobrazit vydání", + "downloadUpdate": "Stáhnout aktualizaci", + "restartNow": "Restartovat nyní", + "upload": "Nahrát", + "export": "Exportovat", + "showInFolder": "Zobrazit ve složce", + "file": "Soubor", + "edit": "Upravit", + "view": "Zobrazit", + "window": "Okno", + "help": "Nápověda", + "quit": "Ukončit", + "stopRecording": "Zastavit nahrávání", + "undo": "Zpět", + "redo": "Znovu", + "cut": "Vyjmout", + "copy": "Kopírovat", + "paste": "Vložit", + "selectAll": "Vybrat vše", + "minimize": "Minimalizovat", + "reload": "Znovu načíst", + "forceReload": "Vynutit znovu načtení", + "toggleDevTools": "Přepnout nástroje pro vývojáře", + "actualSize": "Skutečná velikost", + "zoomIn": "Přiblížit", + "zoomOut": "Oddálit", + "toggleFullScreen": "Přepnout celou obrazovku", + "recordingStatus": "Nahrávání: {{source}}", + "about": "O aplikaci OpenScreen", + "services": "Služby", + "hide": "Skrýt OpenScreen", + "hideOthers": "Skrýt ostatní", + "unhide": "Zobrazit vše", + "saveDiagnostics": "Uložit diagnostiku" + }, + "updates": { + "available": "OpenScreen {{latestVersion}} je k dispozici. Používáte verzi {{currentVersion}}.", + "current": "OpenScreen je aktuální ({{currentVersion}}).", + "readyToInstall": "OpenScreen {{latestVersion}} byl stažen. Restartujte aplikaci pro dokončení instalace.", + "downloaded": "OpenScreen {{latestVersion}} byl stažen.", + "blockedRecording": "Před instalací aktualizace dokončete nahrávání.", + "blockedLocation": "Před aktualizací přesuňte OpenScreen do složky Aplikace.", + "failed": "Nepodařilo se zkontrolovat aktualizace.", + "downloadFailed": "Nepodařilo se stáhnout aktualizaci." + }, + "units": { + "pixelsPerSecond": "{{value}} px/s", + "pixels": "{{value}} px" + }, + "locale": { + "name": "Čeština", + "short": "CS" + }, + "recordingSource": { + "window": "Okno", + "screen": "Obrazovka", + "virtual": "Virtuální displej", + "unknown": "Záznam obrazovky" + } +} diff --git a/src/i18n/locales/cs/dialogs.json b/src/i18n/locales/cs/dialogs.json new file mode 100644 index 000000000..1a0da0742 --- /dev/null +++ b/src/i18n/locales/cs/dialogs.json @@ -0,0 +1,92 @@ +{ + "export": { + "complete": "Export dokončen", + "yourFormatReady": "Váš {{format}} je připraven", + "showInFolder": "Zobrazit ve složce", + "finalizingVideo": "Dokončování exportu videa...", + "compilingGifProgress": "Sestavování GIF... {{progress}}%", + "compilingGifWait": "Sestavování GIF... Může to chvíli trvat", + "takeMoment": "Může to chvíli trvat...", + "failed": "Export selhal", + "tryAgain": "Zkuste to znovu", + "finalizingVideoTitle": "Dokončování videa", + "compilingGif": "Sestavování GIF", + "exportingFormat": "Exportování {{format}}", + "compiling": "Sestavování", + "renderingFrames": "Renderování snímků", + "processing": "Zpracovávání...", + "finalizing": "Dokončování...", + "compilingStatus": "Sestavování...", + "status": "Stav", + "format": "Formát", + "frames": "Snímky", + "cancelExport": "Zrušit export", + "savedSuccessfully": "{{format}} úspěšně uložen!" + }, + "tutorial": { + "triggerLabel": "Jak funguje oříznutí", + "title": "Jak funguje oříznutí", + "description": "Pochopte, jak vystřihnout nežádoucí části videa.", + "explanationBefore": "Nástroj Oříznutí funguje tak, že definujete segmenty, které chcete", + "remove": "odstranit", + "explanationMiddle": " — vše", + "covered": "pokryté", + "explanationAfter": "červeným segmentem oříznutí bude při exportu vystřiženo.", + "visualExample": "Vizuální příklad", + "removed": "ODSTRANĚNO", + "kept": "Ponecháno", + "part1": "Část 1", + "part2": "Část 2", + "part3": "Část 3", + "finalVideo": "Výsledné video", + "step1Title": "1. Přidat oříznutí", + "step1DescriptionBefore": "Stiskněte ", + "step1DescriptionAfter": " nebo klikněte na ikonu nůžek pro označení sekce k odstranění.", + "step2Title": "2. Upravit", + "step2Description": "Přetáhněte okraje červené oblasti tak, aby pokrývaly přesně to, co chcete vystřihnout." + }, + "unsavedChanges": { + "title": "Neuložené změny", + "message": "Máte neuložené změny.", + "detail": "Chcete uložit projekt před zavřením?", + "saveAndClose": "Uložit a zavřít", + "discardAndClose": "Zahodit a zavřít", + "detailNewProject": "Chcete uložit projekt před vytvořením nového?", + "saveAndNewProject": "Uložit a nový projekt", + "discardAndNewProject": "Zahodit a nový projekt", + "detailLoadProject": "Chcete uložit projekt před načtením jiného?", + "saveAndLoadProject": "Uložit a načíst projekt", + "discardAndLoadProject": "Zahodit a načíst projekt", + "newProject": "Nový projekt", + "importVideo": "Importovat video soubor…", + "loadProject": "Načíst projekt…", + "saveProject": "Uložit projekt…", + "saveProjectAs": "Uložit projekt jako…", + "modal": { + "closeTitle": "Uložit změny před zavřením?", + "closeBody": "Váš projekt má neuložené změny. Uložte je, zahoďte je nebo zůstaňte v editoru.", + "newTitle": "Uložit změny před vytvořením nového projektu?", + "openTitle": "Uložit změny před otevřením jiného projektu?", + "recordTitle": "Uložit změny před zahájením nového nahrávání?", + "sharedBody": "Aktuální projekt má neuložené změny. Nejprve je uložte, zahoďte nebo zrušte.", + "notSavedYet": "Aktuální projekt ještě nebyl uložen na disk.", + "discard": "Zahodit", + "saveAndContinue": "Uložit a pokračovat", + "saving": "Ukládání…" + } + }, + "fileDialogs": { + "saveGif": "Uložit exportovaný GIF", + "saveVideo": "Uložit exportované video", + "selectVideo": "Vybrat video soubor", + "selectAudio": "Vybrat zvukový soubor", + "saveProject": "Uložit projekt OpenScreen", + "openProject": "Otevřít projekt OpenScreen", + "gifImage": "GIF obrázek", + "mp4Video": "MP4 video", + "videoFiles": "Video soubory", + "audioFiles": "Zvukové soubory", + "openscreenProject": "Projekt OpenScreen", + "allFiles": "Všechny soubory" + } +} diff --git a/src/i18n/locales/cs/editor.json b/src/i18n/locales/cs/editor.json new file mode 100644 index 000000000..981ed6aab --- /dev/null +++ b/src/i18n/locales/cs/editor.json @@ -0,0 +1,404 @@ +{ + "newRecording": { + "title": "Vrátit se na nahrávání", + "description": "Vaše aktuální relace byla uložena.", + "cancel": "Zrušit", + "confirm": "Potvrdit" + }, + "loadingVideo": "Načítání videa...", + "loadingEditor": "Načítání editoru...", + "errors": { + "exportBackgroundLoadFailed": "Export selhal: nepodařilo se načíst obrázek pozadí ({{url}})", + "exportFailed": "Export selhal", + "exportFailedWithError": "Export selhal: {{error}}", + "failedToRevealInFolder": "Chyba při otevírání ve složce: {{error}}", + "failedToSaveExport": "Nepodařilo se uložit export", + "failedToSaveExportedVideo": "Nepodařilo se uložit exportované video", + "failedToSaveGif": "Nepodařilo se uložit GIF", + "failedToSaveVideo": "Nepodařilo se uložit video", + "gifExportFailed": "Export GIF selhal", + "noVideoLoaded": "Žádné video nenačteno", + "previewCompositorUnavailable": "Náhled na tomto počítači není dostupný", + "trimNoFilm": "Tam není co vystřihnout — pod těmito slovy není žádný film.", + "unableToDetermineSourcePath": "Nelze určit cestu ke zdrojovému videu", + "videoNotReady": "Video není připraveno", + "wordEditFailed": "Nepodařilo se změnit toto slovo", + "wordInsertFailed": "Nepodařilo se přidat toto slovo", + "wordRemoveFailed": "Nepodařilo se smazat toto slovo" + }, + "export": { + "canceled": "Export zrušen", + "exportedSuccessfully": "{{format}} úspěšně exportován" + }, + "project": { + "saveCanceled": "Ukládání projektu zrušeno", + "failedToSave": "Nepodařilo se uložit projekt", + "savedTo": "Projekt uložen do {{path}}", + "failedToLoad": "Nepodařilo se načíst projekt", + "invalidFormat": "Neplatný formát souboru projektu", + "loadedFrom": "Projekt načten z {{path}}" + }, + "recording": { + "failedCameraAccess": "Nepodařilo se požádat o přístup ke kameře.", + "cameraBlocked": "Přístup ke kameře je zablokován. Povolte ho v nastavení systému pro použití webkamery.", + "systemAudioUnavailable": "Systémový zvuk není dostupný. Nahrávání probíhá bez systémového zvuku.", + "microphoneDenied": "Přístup k mikrofonu odepřen. Nahrávání bude pokračovat bez zvuku.", + "cameraDenied": "Přístup ke kameře odepřen. Nahrávání bude pokračovat bez webkamery.", + "cameraDisconnected": "Webkamera odpojena.", + "cameraNotFound": "Kamera nenalezena.", + "cameraCaptureUnavailable": "Kameru se nepodařilo otevřít. Nahrávání probíhá bez ní.", + "microphoneDefaulted": "Vybraný mikrofon se nepodařilo identifikovat. Nahrávání výchozího vstupu.", + "permissionDenied": "Oprávnění k nahrávání odepřeno. Povolte prosím záznam obrazovky.", + "accessibilityAllowAndRetry": "Povolte přístup k usnadnění pro OpenScreen a poté znovu stiskněte tlačítko nahrávání pro zahájení odpočítávání.", + "selectSource": "Vyberte prosím zdroj pro nahrávání" + }, + "emptyState": { + "title": "Žádný projekt není otevřen", + "description": "Vytvořte nový projekt nebo otevřete existující.", + "titleHasAsset": "Přidejte video pro začátek", + "descriptionHasAsset": "Importujte nahrávku pro zahájení úprav.", + "newProjectButton": "Nový projekt + importovat video", + "importVideoButton": "Importovat video", + "loadProjectButton": "Otevřít projekt", + "supportedFormats": "Podporované formáty: MP4, MOV, WebM, MKV, AVI, M4V, WMV", + "dragDropHint": "nebo přetáhněte soubor projektu .openscreen sem", + "dropOverlay": "Přetáhněte soubor projektu pro otevření", + "dropErrors": { + "unsupportedFormatTitle": "Nepodporovaný formát", + "unsupportedFormatMessage": "Sem lze přetáhnout pouze soubory projektů .openscreen. Pro import video souboru použijte tlačítko „Importovat video soubor…\" na této obrazovce.", + "couldNotOpenTitle": "Soubor nelze otevřít", + "couldNotOpenMessage": "Soubor projektu nelze otevřít. Video, na které odkazuje, mohlo být přesunuto nebo smazáno." + } + }, + "regionClipboard": { + "copied": "Atributy {{region}} zkopírovány", + "pasted": "Atributy {{region}} vloženy", + "nothingToCopy": "Vyberte oblast pro zkopírování jejích atributů", + "nothingToPaste": "Zatím nebyly zkopírovány žádné atributy", + "pasteAssetMissing": "Soubor tohoto zvukového stopy není v tomto projektu", + "kinds": { + "zoom": "Přiblížení", + "speed": "Rychlost", + "annotation": "Text" + } + }, + "topbar": { + "toggleChatPanel": "Přepnout panel chatu", + "openProject": "Otevřít projekt", + "newProject": "Nový projekt", + "saveProject": "Uložit projekt", + "unsaved": "Neuloženo", + "saved": "Uloženo", + "switchToLightTheme": "Přepnout na světlý motiv", + "switchToDarkTheme": "Přepnout na tmavý motiv", + "toggleTheme": "Přepnout motiv", + "export": "Exportovat", + "renameProject": "Přejmenovat projekt", + "noProject": "Žádný projekt", + "changeLanguage": "Změnit jazyk", + "editorMode": "Režim editoru", + "modes": { + "media": "Média", + "edit": "Upravit", + "rec": "Nahrávání" + } + }, + "rec": { + "source": "Zdroj", + "systemPicker": "Systém se zeptá, co sdílet", + "systemAudio": "Systémový zvuk", + "microphone": "Mikrofon", + "camera": "Kamera", + "cursorHighlight": "Zvýraznění kurzoru", + "on": "Zapnuto", + "off": "Vypnuto", + "loading": "Načítání…", + "noCameraFound": "Kamera nenalezena", + "cameraAccessError": "K této kameře nelze získat přístup", + "startingCamera": "Spouštění kamery…", + "turnOnCameraHint": "Zapněte kameru pro živý náhled", + "entireScreen": "Celá obrazovka", + "cancel": "Zrušit", + "startRecording": "Spustit nahrávání", + "startRecordingHint": "Otevře widget pro nahrávání a zavře toto okno editoru.", + "sourceModal": { + "screens": "Obrazovky ({{count}})", + "windows": "Okna ({{count}})", + "loadingSources": "Načítání zdrojů…", + "noScreensFound": "Žádné obrazovky nenalezeny", + "noWindowsFound": "Žádná okna nenalezena", + "cancel": "Zrušit" + } + }, + "mediaStage": { + "openProjectFirst": "Nejprve otevřete projekt", + "couldNotAddAsset": "Nepodařilo se přidat asset", + "searchPlaceholder": "Hledat média…", + "dragHint": "Přetáhněte klip na níže uvedenou časovou osu pro přidání", + "emptyHint": "Zatím žádná média — importujte nahrávku pro začátek.", + "importMedia": "Importovat média", + "added": "Přidáno {{label}}", + "addToTimeline": "Přidat na časovou osu", + "addedToTimeline": "{{label}} přidán na časovou osu", + "sourceTranscript": "Zdrojový přepis", + "close": "Zavřít", + "transcriptReady": "Přepis připraven", + "transcribing": "Přepisování", + "downloadingModel": "Stahování modelu řeči", + "initializingModel": "Spouštění modelu řeči", + "pendingTranscription": "Přepis čeká", + "transcriptionFailed": "Přepis selhal", + "cpuBackendHint": "Běží na CPU — přibližně 2× pomalejší než na GPU", + "noTranscript": "Žádný přepis", + "regenerateAs": "Znovu generovat jako", + "auto": "Automaticky", + "regenerate": "Znovu generovat", + "transcriptEmpty": "Přepis je prázdný.", + "notGeneratedHint": "Ještě nevygenerováno — vyberte jazyk a klikněte na znovu generovat.", + "generationFailedHint": "Generování selhalo — vyberte jazyk a znovu generujte.", + "detectedLanguage": "Zjištěný jazyk: {{language}}", + "noAudioTrack": "Žádná zvuková stopa", + "noAudioTrackHint": "Toto médium nemá zvukovou stopu — není co přepisovat.", + "noSpeechDetected": "Žádná řeč nezjištěna" + }, + "exportDialog": { + "title": "Exportovat", + "subtitle": "Renderovat časovou osu do souboru", + "addVideoBeforeExporting": "Před exportem přidejte video.", + "quality": "Kvalita", + "qualityMatchRecording": "Odpovídat nahrávce", + "frameRate": "Snímkový kmitočet", + "codec": "Kodek", + "codecBestCompatibility": "Nejlepší kompatibilita", + "codecMaySupportVary": "Nemusí být podporováno každým systémovým enkodérem", + "size": "Velikost", + "loopGif": "Opakovat GIF", + "loopOn": "Opakování zapnuto", + "loopOff": "Opakování vypnuto", + "pickFormatAndExport": "Vyberte formát a stiskněte Exportovat pro zahájení.", + "savedTo": "Uloženo do", + "exportFailedGeneric": "Export selhal.", + "writingFile": "Zapisování souboru…", + "renderingFrames": "Renderování snímků", + "framesEta": "{{current}} / {{total}} snímků · Zbývá {{eta}}s", + "preparingEncoder": "Příprava enkodéru…", + "close": "Zavřít", + "cancel": "Zrušit", + "rendering": "Renderování…", + "saving": "Ukládání…", + "starting": "Spouštění…", + "exportGif": "Exportovat GIF", + "exportMp4": "Exportovat MP4", + "exportedGif": "GIF exportován", + "exportedVideo": "Video exportováno", + "exportedVideoOf": "z videa exportováno za", + "showInFolder": "Zobrazit ve složce", + "exportFailed": "Export selhal", + "failedToWriteFile": "Nepodařilo se zapsat soubor", + "qualityUpscaleWarning": "Zvýšení rozlišení", + "nothingToExport": "Není co exportovat — časová osa je prázdná." + }, + "inspector": { + "resetFocusPoint": "Obnovit bod zaostření", + "setColor": "Nastavit barvu {{color}}", + "trimHiddenDuration": "{{duration}}s zdrojového média skryto z upravené časové osy.", + "restoreDeleteTrim": "Obnovit (smazat oříznutí)", + "collapseInspector": "Sbalit inspektor", + "captionsDescription": "Generujte titulky synchronizované se slovy z přepisu a přetáhněte je na časovou osu.", + "generateCaptions": "Generovat titulky", + "cropDescription": "Přeformátujte nahrávku — vyberte poměr stran a přibližte oblast, kterou chcete zachovat.", + "openCrop": "Otevřít oříznutí…", + "cameraFullscreenDescription": "Během přehrávání této oblasti kamera zabírá celý snímek — bez okraje, bez zaoblení, bez pozadí — a na konci se vrátí. Přetáhněte okraje oblasti na časové ose pro změnu začátku a délky trvání.", + "deleteRegion": "Smazat oblast", + "freehandRendersAsBox": "Při exportu je volně kreslený tvar pokryt svým ohraničujícím rámečkem — vždy překrytý, nikdy nepokrytý." + }, + "chat": { + "changeProvider": "Změnit poskytovatele", + "back": "Zpět", + "currentModel": "Aktuální model:", + "notSelected": "Nevybráno", + "loadingModels": "Načítání modelů…", + "searchModels": "Hledat modely…", + "fetchModelsFailed": "Nepodařilo se načíst živé modely ({{error}}); otevřete nastavení poskytovatele pro ruční zadání ID modelu.", + "noModelsAvailable": "Žádné modely od tohoto poskytovatele nejsou dostupné.", + "noModelsMatch": "Žádné modely neodpovídají tomuto hledání.", + "noProvidersConnected": "Zatím nejsou připojeni žádní poskytovatelé.", + "selectModelFailed": "Nepodařilo se vybrat model", + "providerSettings": "Nastavení poskytovatele…", + "applyEditsFailed": "Nepodařilo se použít úpravy agenta", + "agentEditConflict": "Úpravy agenta nebyly použity, protože projekt se změnil během jeho práce.", + "applyAnyway": "Přesto použít", + "chatFailed": "Chat selhal", + "rewindFailed": "Přetočení selhalo", + "rewoundSuccess": "Přetočeno na začátek této zprávy", + "notEnoughHistory": "Zatím není dostatek historie pro komprimaci.", + "compactedSuccess": "Dřívější kontext byl komprimován", + "compactFailed": "Komprimace selhala", + "createSessionFailed": "Nepodařilo se vytvořit konverzaci", + "deleteSessionFailed": "Nepodařilo se smazat konverzaci", + "renameSessionFailed": "Nepodařilo se přejmenovat konverzaci", + "reasoningEffortUpdateFailed": "Nepodařilo se aktualizovat úsilí uvažování", + "contextTooltip": "{{usedTokens}} / {{budgetTokens}} odhadovaných tokenů", + "contextPercent": "{{percent}}% kontextu", + "compactContext": "Komprimovat kontext", + "aiSettings": "Nastavení AI", + "history": "Historie", + "newConversation": "Nová konverzace", + "untitledConversation": "Konverzace", + "clickToRename": "Klikněte pro přejmenování", + "renameConversation": "Přejmenovat konverzaci", + "deleteConversation": "Smazat konverzaci", + "confirmDeleteConversation": "Smazat „{{title}}\"?", + "emptyState": "Zatím žádné zprávy. Požádejte agenta o vystřižení ticha, zkrácení pauz nebo přidání titulků.", + "welcome": { + "title": "Přineste si vlastní AI", + "subtitle": "Chat upravuje vaše video prostřednictvím komunikace s jazykovým modelem. Vyberte poskytovatele, kterému důvěřujete, a připojte API klíč pro začátek.", + "feature1": "Vystřihnout ticho, zkrátit pauzy, odstranit výplňová slova", + "feature2": "Přidat titulky, přiblížit kameru, generovat název", + "feature3": "Přepsat sekci, přeformulovat nebo rozdělit klip na žádost", + "cta": "Nastavit poskytovatele", + "disclaimer": "Přepis vašeho videa bude odeslán vámi zvolenému poskytovateli. Nic není sdíleno, dokud ho nepřipojíte." + }, + "authorUser": "Vy", + "authorAssistant": "OpenScreen", + "rewindToMessage": "Přetočit na tuto zprávu", + "copyMessage": "Kopírovat zprávu", + "copiedToClipboard": "Zkopírováno do schránky", + "copyFailed": "Kopírování selhalo", + "appliedPrefix": "použito:", + "thinking": "Přemýšlení…", + "composerPlaceholder": "Popište úpravu, kterou chcete provést.", + "composerDisabledNoProvider": "Nastavte poskytovatele pro zahájení chatu.", + "modelLabel": "Model", + "reasoningEffortLabel": "Úsilí uvažování", + "sendTitle": "Odeslat (Enter)", + "send": "Odeslat", + "rewindConfirmTitle": "Přetočit sem?", + "rewindConfirmBody": "Úpravy agenta a navazující otočení po tomto bodu budou vráceny. Projekt, konverzace a stav agenta budou obnoveny. Jakékoli úpravy, které jste od té doby provedli, budou také nahrazeny.", + "rewindConfirm": "Přetočit", + "configureModel": "Konfigurovat AI model", + "historyDialog": { + "title": "Historie konverzace", + "subtitle": "Přepínání nebo vytváření relací", + "empty": "Zatím žádné konverzace.", + "msgsCount": "{{count}} zpráv · {{date}}" + } + }, + "newProjectDialog": { + "title": "Nový projekt", + "subtitle": "Vyberte výchozí bod a pojmenujte ho", + "nameLabel": "Název projektu", + "startingPointLabel": "Výchozí bod", + "create": "Vytvořit projekt", + "defaultTitle": "Projekt bez názvu", + "templates": { + "screenRecordingTitle": "Záznam obrazovky", + "screenRecordingDesc": "Spustit systémový záznam", + "importMediaDesc": "Video, zvuk, obrázky z disku" + } + }, + "openProjectDialog": { + "title": "Otevřít projekt", + "subtitle": "Pokračujte v existujícím projektu nebo procházejte soubory", + "searchPlaceholder": "Hledat projekty…", + "noMatches": "Žádné projekty neodpovídají „{{query}}\".", + "navigateHint": "pro navigaci ·", + "openHint": "pro otevření", + "browseFiles": "Procházet soubory…", + "deleteProject": "Smazat projekt", + "confirmDelete": "Smazat tento projekt? Vaše nahrávky budou zachovány." + }, + "editClipDialog": { + "title": "Upravit klip", + "adjustStart": "Upravit začátek klipu", + "adjustEnd": "Upravit konec klipu", + "start": "Začátek", + "end": "Konec", + "duration": "Délka", + "reset": "Obnovit", + "apply": "Použít", + "pickClipTitle": "Vyberte klip k úpravě", + "clipLabel": "Klip {{index}}" + }, + "insertSourceDialog": { + "title": "Vložit zdroj", + "subtitle": "Kam umístit „{{assetLabel}}\" na časové ose?", + "addBefore": "Přidat před", + "addBeforeDesc": "Vložit celý zdroj před cílový klip.", + "addAfter": "Přidat za", + "addAfterDesc": "Vložit celý zdroj za cílový klip.", + "split": "Rozdělit zde a vložit", + "splitDesc": "Rozdělit cílový klip v místě přetažení a vložit zdroj mezi ně." + }, + "cropDialog": { + "subtitle": "Přetáhněte oblast nebo její úchyty pro úpravu plochy oříznutí", + "fieldX": "X", + "fieldY": "Y", + "fieldW": "Š", + "fieldH": "V" + }, + "transport": { + "playbackControls": "Ovládání přehrávání", + "playPause": "Přehrát / Pozastavit", + "playPauseTitle": "Přehrát / Pozastavit (mezerník)", + "previousClip": "Předchozí klip", + "nextClip": "Další klip", + "loop": "Opakovat", + "seekVideo": "Vyhledat v videu" + }, + "shell": { + "aiEditor": "AI editor", + "resizeChatPanel": "Změnit velikost panelu chatu", + "previewStage": "Plocha náhledu", + "resizeTimeline": "Změnit velikost časové osy" + }, + "preview": { + "videoPreview": "Náhled videa", + "webcamPreview": "Náhled webkamery (přetáhněte pro přemístění)", + "mediaError": { + "title": "Náhled zastaven", + "description": "Video nelze dekódovat. Soubor může být poškozen, stále se zapisuje nebo již není tam, kde ho projekt očekává — váš projekt je v pořádku.", + "retry": "Zkusit znovu", + "detail": "Podrobnosti: {{detail}}" + } + }, + "annotationOverlay": { + "imageAlt": "Anotace", + "noImage": "Žádný obrázek", + "noArrowData": "Žádná data šipky" + }, + "providerSettings": { + "title": "Nastavení AI", + "subtitle": "Vyberte poskytovatele. Přihlašovací údaje jsou uloženy v klíčence OS (safeStorage).", + "loadFailed": "Nepodařilo se načíst nastavení AI", + "saved": "{{provider}} uložen", + "connected": "{{provider}} připojen", + "disconnected": "{{provider}} odpojen", + "pillConnected": "Připojeno", + "pillApiKey": "API klíč", + "notConnected": "Nepřipojeno", + "back": "Zpět", + "modelLabel": "Model", + "modelHintLive": "Modely z vašeho účtu, načítané živě.", + "modelHintError": "Nepodařilo se načíst živé modely ({{error}}); zadejte ID modelu ručně.", + "modelHintLoading": "Načítání živých modelů…", + "modelSavedOption": "{{model}} (uloženo)", + "loadingModels": "Načítání modelů…", + "baseUrlLabel": "Základní URL", + "baseUrlHint": "Ponechte prázdné pro použití výchozí hodnoty poskytovatele.", + "reasoningEffortLabel": "Úsilí uvažování", + "apiKeyLabel": "API klíč", + "apiKeyHintStored": "Uloženo v safeStorage. Ponechte prázdné pro zachování stávajícího záznamu.", + "projectEditsLabel": "Úpravy projektu", + "projectEditsHint": "Pokud je vypnuto, agent musí požádat před změnou časové osy. Úpravy jsou vždy vrácení zpět.", + "allowAgentEdits": "Povolit agentovi úpravy projektu", + "disconnect": "Odpojit", + "cancel": "Zrušit", + "save": "Uložit", + "saveAndUse": "Uložit a použít" + }, + "cpuCompositor": { + "notice": "Běží bez kompatibilního GPU — renderování na CPU, takže přehrávání je pomalejší.", + "exportWarning": "Žádné kompatibilní GPU: tento export běží na CPU a bude trvat mnohem déle než obvykle." + } +} diff --git a/src/i18n/locales/cs/launch.json b/src/i18n/locales/cs/launch.json new file mode 100644 index 000000000..87dbef6c3 --- /dev/null +++ b/src/i18n/locales/cs/launch.json @@ -0,0 +1,99 @@ +{ + "tooltips": { + "hideHUD": "Skrýt HUD", + "closeApp": "Zavřít aplikaci", + "restartRecording": "Restartovat nahrávání", + "cancelRecording": "Zrušit nahrávání", + "pauseRecording": "Pozastavit nahrávání", + "resumeRecording": "Obnovit nahrávání", + "useVerticalTray": "Použít svislý panel", + "useHorizontalTray": "Použít vodorovný panel", + "openStudio": "Otevřít Studio", + "openNotes": "Otevřít poznámky", + "openNotesPlaceholder": "Pište poznámky zde...", + "notesToolbar": { + "bold": "Tučně", + "italic": "Kurzíva", + "strikethrough": "Přeškrtnutí", + "bulletList": "Odrážkový seznam", + "numberedList": "Číslovaný seznam", + "blockquote": "Bloková citace", + "codeBlock": "Blok kódu", + "play": "Spustit automatické posouvání", + "pause": "Pozastavit automatické posouvání", + "speed": "Rychlost posouvání", + "decreaseSpeed": "Snížit rychlost posouvání", + "increaseSpeed": "Zvýšit rychlost posouvání", + "fontSize": "Velikost písma", + "decreaseFontSize": "Zmenšit písmo", + "increaseFontSize": "Zvětšit písmo", + "mirror": "Zrcadlit vodorovně" + } + }, + "audio": { + "enableSystemAudio": "Povolit systémový zvuk", + "disableSystemAudio": "Zakázat systémový zvuk", + "enableMicrophone": "Povolit mikrofon", + "disableMicrophone": "Zakázat mikrofon", + "defaultMicrophone": "Výchozí mikrofon", + "systemAudio": "Systémový zvuk", + "microphone": "Mikrofon", + "on": "Zapnuto", + "off": "Vypnuto", + "inputDevice": "Vstupní zařízení" + }, + "webcam": { + "enableWebcam": "Povolit webkameru", + "disableWebcam": "Zakázat webkameru", + "defaultCamera": "Výchozí kamera", + "searching": "Hledání...", + "noneFound": "Kamera nenalezena", + "unavailable": "Kamera nedostupná", + "camera": "Kamera", + "cameraDevice": "Zařízení kamery" + }, + "cursor": { + "useEditableCursor": "Použít upravitelný kurzor", + "useSystemCursor": "Použít systémový kurzor" + }, + "sourceSelector": { + "loading": "Načítání zdrojů...", + "screens": "Obrazovky ({{count}})", + "windows": "Okna ({{count}})", + "emptyTitle": "Žádné obrazovky ani okna nenalezena", + "emptyDescription": "Pokud jste právě udělili oprávnění pro záznam obrazovky, znovu načtěte tento výběr. Na macOS může být nutné znovu otevřít OpenScreen.", + "loadFailedDescription": "OpenScreen nemohl načíst zdroje záznamu. Znovu načtěte tento výběr a zkuste to znovu.", + "defaultSourceName": "Obrazovka" + }, + "recording": { + "selectSource": "Vyberte prosím zdroj pro nahrávání", + "systemPicker": "Systém se zeptá, co sdílet", + "inProgress": "Nahrávání", + "saving": "Ukládání..." + }, + "language": "Jazyk", + "systemLanguagePrompt": { + "title": "Použít jazyk systému?", + "description": "Detekovali jsme {{language}} jako jazyk vašeho systému. Chcete přepnout OpenScreen na {{language}}?", + "switch": "Přepnout na {{language}}", + "keepDefault": "Ponechat aktuální jazyk" + }, + "softwareEncoderFallback": { + "title": "Přepnuto na softwarové kódování", + "description": "Výchozí GPU enkodér se nepodařilo spustit, takže OpenScreen přepnul na softwarové kódování H.264. Nahrávání by mělo pokračovat normálně, ale využití CPU může být vyšší.", + "dismiss": "Rozumím", + "dontShowAgain": "Již nezobrazovat" + }, + "deviceSettings": { + "title": "Nastavení zařízení", + "done": "Hotovo", + "micLevel": "Úroveň vstupu", + "micHint": "Mluvte pro kontrolu mikrofonu", + "noMicrophones": "Mikrofon nenalezen", + "preview": "Náhled", + "previewUnavailable": "Náhled nedostupný", + "about": "O aplikaci", + "version": "Verze {{version}}", + "checkingForUpdates": "Kontrola…" + } +} diff --git a/src/i18n/locales/cs/settings.json b/src/i18n/locales/cs/settings.json new file mode 100644 index 000000000..46e305fe8 --- /dev/null +++ b/src/i18n/locales/cs/settings.json @@ -0,0 +1,355 @@ +{ + "background": { + "gradientLabel": "Přechod {{index}}", + "uploadCustom": "Nahrát vlastní", + "unsupportedImage": "Nepodporovaný obrázek. Použijte soubor JPG nebo PNG.", + "title": "Pozadí", + "imageLabel": "Pozadí {{index}}", + "custom": "Vlastní", + "help": "Vyberte, co se zobrazí za nahrávkou: přibalený obrázek pozadí, plná barva, přechod nebo vlastní obrázek z disku.", + "gradient": "Přechod", + "colorLabel": "Barva {{color}}", + "customWallpaper": "Vlastní tapeta", + "colorPalette": "Paleta barev", + "imageReadFailed": "Nepodařilo se přečíst tento soubor obrázku.", + "image": "Obrázek", + "presets": "Předvolby", + "color": "Barva", + "colorWheel": "Barevné kolo" + }, + "customFont": { + "namePlaceholder": "Moje vlastní písmo", + "failedToAdd": "Nepodařilo se přidat písmo", + "addingButton": "Přidávání...", + "errorInvalidUrl": "Zadejte prosím platnou URL adresu Google Fonts", + "urlHelp": "Získejte tuto adresu z Google Fonts: Vyberte písmo → Klikněte na „Get font\" → Zkopírujte URL @import", + "urlLabel": "URL pro import z Google Fonts", + "successMessage": "Písmo „{{fontName}}\" bylo úspěšně přidáno", + "nameLabel": "Zobrazovaný název", + "errorEmptyName": "Zadejte prosím název písma", + "nameHelp": "Takto se písmo zobrazí ve výběru písem", + "errorEmptyUrl": "Zadejte prosím URL pro import z Google Fonts", + "errorExtractFailed": "Nepodařilo se extrahovat rodinu písem z URL", + "urlPlaceholder": "https://fonts.googleapis.com/css2?family=Roboto&display=swap", + "dialogTitle": "Přidat písmo Google", + "errorTimeout": "Načítání písma trvalo příliš dlouho. Zkontrolujte prosím URL a zkuste to znovu.", + "errorLoadFailed": "Písmo se nepodařilo načíst. Ověřte prosím, zda je URL Google Fonts správná.", + "addButton": "Přidat písmo" + }, + "imageUpload": { + "invalidFileType": "Neplatný typ souboru", + "failedToUpload": "Nepodařilo se nahrát obrázek", + "jpgOnly": "Nahrajte prosím soubor obrázku JPG, JPEG nebo PNG.", + "uploadSuccess": "Vlastní obrázek byl úspěšně nahrán!", + "errorReading": "Při čtení souboru došlo k chybě." + }, + "annotation": { + "supportedFormats": "Podporované formáty: JPG, PNG, GIF, WebP", + "blurShapeRectangle": "Obdélník", + "size": "Velikost", + "tipShiftTabCycle": "Použijte Shift+Tab pro cyklování dozadu.", + "clearBackground": "Vymazat pozadí", + "colorPalette": "Paleta barev", + "invalidImageType": "Neplatný typ souboru", + "background": "Pozadí", + "typeText": "Text", + "active": "Aktivní", + "color": "Barva", + "blurShapeFreehand": "Volný tvar", + "arrowDirection": "Směr šipky", + "blurTypeMosaic": "Mozaika", + "colorWheel": "Barevné kolo", + "textColor": "Barva textu", + "title": "Nastavení anotace", + "blurType": "Typ rozmazání", + "typeBlur": "Rozmazání", + "blurIntensity": "Intenzita rozmazání", + "selectStyle": "Vybrat styl", + "textContent": "Obsah textu", + "typeArrow": "Šipka", + "none": "Žádný", + "blurColor": "Barva rozmazání", + "customFonts": "Vlastní písma", + "imageUploadSuccess": "Obrázek byl úspěšně nahrán!", + "type": "Typ", + "arrowColor": "Barva šipky", + "textPlaceholder": "Zadejte váš text...", + "imageFormatsOnly": "Nahrajte prosím soubor obrázku JPG, PNG, GIF nebo WebP.", + "blurShape": "Tvar rozmazání", + "uploadImage": "Nahrát obrázek", + "blurTypeBlur": "Gaussovské", + "tipTabCycle": "Použijte Tab pro cyklování přes překrývající se položky.", + "shortcutsAndTips": "Zkratky a tipy", + "deleteAnnotation": "Smazat anotaci", + "fontStyle": "Styl písma", + "defaultText": "Ahoj", + "mosaicBlockSize": "Velikost bloku mozaiky", + "blurColorBlack": "Černá", + "strokeWidth": "Šířka tahu: {{width}}px", + "blurShapeOval": "Elipsa", + "blurColorWhite": "Bílá", + "tipMovePlayhead": "Přesuňte přehrávací hlavici na překrývající se sekci anotace a vyberte položku.", + "typeImage": "Obrázek" + }, + "effects": { + "fitClipFew": "{{count}} klipy", + "title": "Kompozice", + "shadow": "Stín", + "off": "vypnuto", + "on": "zapnuto", + "blurBg": "Rozmazat pozadí", + "help": "Stylizace rámce pro nahrávku: rozmazání pozadí, vrhaný stín, pohybové rozmazání, zaoblení rohů a odsazení kolem videa.", + "fitClipOne": "{{count}} klip", + "formatOriginal": "Původní", + "fitClipMany": "{{count}} klipů", + "frame": "Rám", + "motion": "Pohyb", + "padding": "Odsazení", + "format": "Formát", + "fitClip": "Přizpůsobit", + "motionBlur": "Pohybové rozmazání", + "roundness": "Zaoblení" + }, + "transcript": { + "laneRecording": "Nahrávka", + "noTranscript": "Zatím žádný přepis", + "title": "Přepis", + "restoreWord": "Obnovit „{{word}}\"", + "revertWord": "Obnovit „{{original}}\"", + "editingHint": "Dvojklikem slovo opravte, Backspace ho vystřihne z filmu.", + "restoreSilence": "Obnovit ticho ({{duration}}s)", + "help": "Agregovaný přepis každého klipu na časové ose. Backspace / Delete slovo nebo výběr pro vystřižení z filmu (červeně). Dvojklikem slovo opravte. Najeďte myší na označené slovo pro vrácení změny.", + "editWord": "Upravit „{{word}}\"", + "laneFeedsCaptions": "Titulky jsou generovány z této stopy.", + "insertedWord": "Přidáno vámi — za ním není žádný zvuk", + "whisperHint": "Přepis používá lokální Whisper — běží na vašem počítači, žádná data neopouštějí zařízení.", + "insertAria": "Nové slovo", + "editorAria": "Přepis pro {{filename}}", + "transcribeNow": "Přepsat nyní", + "transcribing": "Přepisování…", + "trimSilence": "Oříznutí ticha ({{duration}}s)", + "removeInserted": "Smazat „{{word}}\"", + "laneLabel": "Číst přepis z", + "noClips": "Zatím žádné klipy", + "laneVoiceover": "Komentář", + "silence": "[ticho {{duration}}s]", + "clipLabel": "Klip {{index}}", + "correctedWord": "Opraveno — přepisovač slyšel „{{original}}\"", + "noClipTranscript": "Pro tento klip není přepis — otevřete kartu assetu a znovu generujte.", + "editingHintDev": "Dvojklikem slovo opravte, Backspace ho vystřihne z filmu, psaním mezi dvěma slovy přidáte nové.", + "noAudio": "Toto médium nemá zvukovou stopu", + "blankedWord": "vynecháno" + }, + "exportFormat": { + "mp4": "MP4", + "mp4Description": "Video soubor vysoké kvality", + "gifAnimation": "GIF animace", + "mp4Video": "MP4 video", + "gifDescription": "Animovaný obrázek pro sdílení", + "gif": "GIF" + }, + "captions": { + "showBackground": "Zobrazit pozadí", + "deleteTranslation": "Smazat tento překlad", + "legacyAnnotations": "Tento projekt stále obsahuje anotace titulků ze staré funkce titulků ({{count}}). Renderují se na vrstvě titulků.", + "backgroundOpacity": "Průhlednost", + "backgroundColor": "Barva pozadí", + "alignCenter": "Na střed", + "translationIsNonDestructive": "Překlady jsou uloženy vedle přepisu, nikdy v něm — původní text a jeho časování zůstávají nedotčeny.", + "distanceFromRight": "Vzdálenost zprava", + "language": "Jazyk", + "text": "Text", + "anchorHintBottom": "Dlouhé titulky rostou nahoru — spodní okraj zůstává na místě.", + "distanceFromTop": "Vzdálenost shora", + "translateFailed": "Překlad selhal.", + "alignLeft": "Vlevo", + "distanceFromBottom": "Vzdálenost zdola", + "derivedFromTranscript": "{{count}} řádků titulků, odvozených živě z přepisu.", + "translate": "Přeložit", + "position": "Pozice", + "fontSize": "Velikost", + "hiddenHint": "Titulky pocházejí z přepisu tohoto média. Zapněte je pro zobrazení v náhledu a při exportu.", + "noTranscript": "Titulky jsou čteny z přepisu média. Přepište toto video pro jejich zapnutí.", + "distanceFromLeft": "Vzdálenost zleva", + "anchorBottom": "Dolní", + "transcribe": "Přepsat video", + "bold": "Tučně", + "alignRight": "Vpravo", + "anchorTop": "Horní", + "minWords": "Min. slov na řádek", + "translateHint": "Přeložit přepis pomocí nakonfigurovaného poskytovatele AI", + "anchorHintTop": "Dlouhé titulky rostou dolů — horní okraj zůstává na místě.", + "displayLanguage": "Zobrazení", + "removeLegacyAnnotations": "Odebrat staré anotace titulků", + "background": "Pozadí", + "lineLength": "Délka řádku", + "original": "Původní (přepis)", + "maxWords": "Max. slov na řádek", + "font": "Písmo", + "translating": "Překladání…", + "show": "Zobrazit titulky", + "textColor": "Barva textu" + }, + "panes": { + "help": "Nápověda" + }, + "speed": { + "deleteRegion": "Smazat oblast rychlosti", + "maxSpeedError": "Rychlost nemůže být vyšší než {{max}}×", + "selectRegion": "Vyberte oblast rychlosti pro úpravu", + "playbackSpeed": "Rychlost přehrávání", + "customPlaybackSpeed": "Vlastní rychlost přehrávání", + "previewFrameSteppingHint": "Nad {{native}}× náhled postupuje po snímcích a je bez zvuku. Export není ovlivněn." + }, + "gifSettings": { + "frameRate": "Snímkový kmitočet GIF", + "loop": "Opakovat GIF", + "size": "Velikost GIF" + }, + "exportQuality": { + "title": "Rozlišení exportu", + "low": "720p", + "high": "Zdroj", + "medium": "1080p" + }, + "audioTrack": { + "defaultLabel": "Zvuková stopa", + "importFailed": "Nepodařilo se přidat zvuk", + "fadeOut": "Zeslabení", + "fadeIn": "Zesílení", + "remove": "Smazat stopu", + "loop": "Opakovat", + "slipHint": "Alt-přetažením posuňte zvuk uvnitř", + "help": "Hlasitost, přechody a opakování pro tuto zvukovou stopu. Mixuje se s nahrávkou v náhledu i při exportu. Přetáhněte stopu na časové ose pro přesunutí nebo změnu velikosti, nebo podržte Alt a přetáhněte pro posun zvuku uvnitř.", + "add": "Přidat zvukovou stopu", + "mute": "Ztlumit" + }, + "layout": { + "help": "Jak je webkamera složena s obrazovkou: obraz v obrazu, svislé skládání, dvojitý rám, tvar masky, velikost a zrcadlení.", + "mirrorWebcam": "Zrcadlit webkameru", + "webcamFraming": "Oříznutí kamery", + "shapes": { + "rectangle": "Obdélník", + "rounded": "Zaoblený", + "circle": "Kruh", + "square": "Čtverec" + }, + "selectPreset": "Vybrat předvolbu", + "bgModes": { + "custom": "Vlastní", + "none": "Původní", + "blur": "Rozmazání", + "transparent": "Výřez" + }, + "reactiveWebcamDescription": "Kamera se plynule zmenšuje, když je video přiblíženo, aby nepřekážela.", + "webcamBlurIntensity": "Intenzita rozmazání", + "preset": "Předvolba", + "webcamCropZoom": "Přiblížení", + "webcamSize": "Velikost webkamery", + "dualFrame": "Dvojitý rám", + "webcamCropY": "Svislé posouvání", + "verticalStack": "Svislé skládání", + "pictureInPicture": "Obraz v obrazu", + "webcamShape": "Tvar kamery", + "webcamCropX": "Vodorovné posouvání", + "reactiveWebcam": "Zmenšit při přiblížení", + "webcamBackground": "Pozadí kamery", + "helpNoWebcam": "Tento projekt nemá kameru, takže ovládání rozvržení je vypnuto a předvolba zobrazuje „Bez webkamery\". Vaše uložené rozvržení je zachováno pro případ přidání kamery.", + "title": "Rozvržení kamery", + "noWebcam": "Bez webkamery" + }, + "textAnimation": { + "slideLeft": "Posun doleva", + "pulse": "Pulzování", + "typewriter": "Psací stroj", + "selectAnimation": "Vybrat animaci", + "fade": "Prolínání", + "title": "Animace textu", + "none": "Žádná", + "pop": "Vyskočení", + "rise": "Vynoření" + }, + "facets": { + "transcript": "Přepis", + "captions": "Titulky" + }, + "crop": { + "title": "Oříznutí", + "free": "Volné", + "unlockAspectRatio": "Odemknout poměr stran", + "dragInstruction": "Přetáhněte každou stranu pro úpravu plochy oříznutí", + "done": "Hotovo", + "ratio": "Poměr", + "cropVideo": "Oříznout video", + "lockAspectRatio": "Zamknout poměr stran" + }, + "zoom": { + "position": { + "y": "Y (%)", + "hint": "0 = nejvíce vlevo / nahoře, 100 = nejvíce vpravo / dole", + "title": "Pozice zaostření", + "x": "X (%)" + }, + "deleteZoom": "Smazat přiblížení", + "focusMode": { + "lockedDisclaimer": "Řízeno globálním přepínačem Automatického zaostření na časové ose. Vypněte ho pro nastavení režimu zaostření pro každé přiblížení.", + "auto": "Automatický", + "manual": "Ruční", + "autoDescription": "Kamera sleduje zaznamenanou pozici kurzoru", + "title": "Režim zaostření" + }, + "threeD": { + "preset": { + "left": "Vlevo", + "right": "Vpravo", + "iso": "Iso" + }, + "none": "Žádné", + "title": "3D rotace" + }, + "level": "Úroveň přiblížení", + "previewHold": "Podržte pro náhled efektu přiblížení", + "customScale": "Vlastní přiblížení", + "selectRegion": "Vyberte oblast přiblížení pro úpravu" + }, + "audio": { + "outputGain": "Výstupní úroveň", + "help": "Upravte výstupní úroveň zvuku. Aplikuje se stejně v náhledu i při exportu.", + "reset": "Obnovit zvuk", + "title": "Zvuk" + }, + "language": { + "title": "Jazyk" + }, + "project": { + "new": "Nový projekt", + "load": "Načíst projekt", + "save": "Uložit projekt" + }, + "support": { + "starOnGithub": "Ohodnotit na GitHubu", + "saveDiagnostics": "Uložit diagnostiku", + "reportBug": "Nahlásit chybu" + }, + "cursor": { + "smoothing": "Vyhlazení", + "clickBounce": "Odraz při kliknutí", + "help": "Renderování kurzoru ze zaznamenané telemetrie: motiv, velikost, vyhlazení, pohybové rozmazání a zdůraznění odrazu při kliknutí.", + "clipToBoundsDescription": "Udržuje kurzor uvnitř rámce videa. Vypněte pro povolení kurzoru přesahovat okraje — užitečné při přiblížení nebo posunu.", + "size": "Velikost", + "title": "Kurzor", + "show": "Zobrazit kurzor", + "themeDefault": "Výchozí", + "clipToBounds": "Oříznout na plátno", + "motionBlur": "Pohybové rozmazání", + "theme": "Styl kurzoru" + }, + "export": { + "gifButton": "Exportovat GIF", + "chooseSaveLocation": "Vybrat umístění pro uložení", + "videoButton": "Exportovat video" + }, + "trim": { + "deleteRegion": "Smazat oblast oříznutí" + } +} diff --git a/src/i18n/locales/cs/shortcuts.json b/src/i18n/locales/cs/shortcuts.json new file mode 100644 index 000000000..602ea8834 --- /dev/null +++ b/src/i18n/locales/cs/shortcuts.json @@ -0,0 +1,43 @@ +{ + "title": "Klávesové zkratky", + "customize": "Přizpůsobit", + "configurable": "Konfigurovatelné", + "fixed": "Pevné", + "pressKey": "Stiskněte klávesu…", + "clickToChange": "Klikněte pro změnu", + "pressEscToCancel": "Stiskněte Esc pro zrušení", + "helpText": "Klikněte na zkratku a stiskněte novou kombinaci kláves. Stiskněte Esc pro zrušení.", + "resetToDefaults": "Obnovit výchozí nastavení", + "alreadyUsedBy": "Již používáno pro {{action}}", + "swap": "Prohodit", + "reservedShortcut": "Tato zkratka je vyhrazena pro „{{label}}\" a nelze ji přiřadit.", + "savedToast": "Klávesové zkratky uloženy", + "resetToast": "Obnoveny výchozí zkratky — klikněte Uložit pro použití", + "registrationFailed": "Nepodařilo se zaregistrovat zkratku. Může být používána jinou aplikací. Zkuste jinou klávesu.", + "actions": { + "openApp": "Otevřít aplikaci", + "addZoom": "Přidat přiblížení", + "addTrim": "Přidat oříznutí", + "addSpeed": "Přidat rychlost", + "addAnnotation": "Přidat anotaci", + "addAudio": "Přidat zvuk", + "addVoiceover": "Nahrát komentář", + "addKeyframe": "Přidat klíčový snímek", + "addCameraFullscreen": "Přidat celou kameru", + "deleteSelected": "Smazat vybrané", + "playPause": "Přehrát / Pozastavit", + "copySelected": "Kopírovat vybrané", + "paste": "Vložit" + }, + "fixedActions": { + "undo": "Zpět", + "redo": "Znovu", + "cycleAnnotationsForward": "Cyklovat anotace dopředu", + "cycleAnnotationsBackward": "Cyklovat anotace dozadu", + "deleteSelectedAlt": "Smazat vybrané (alternativa)", + "panTimeline": "Posunout časovou osu", + "zoomTimeline": "Přiblížit časovou osu", + "frameBack": "Snímek zpět", + "frameForward": "Snímek dopředu" + } +} diff --git a/src/i18n/locales/cs/timeline.json b/src/i18n/locales/cs/timeline.json new file mode 100644 index 000000000..ad648000c --- /dev/null +++ b/src/i18n/locales/cs/timeline.json @@ -0,0 +1,108 @@ +{ + "buttons": { + "addZoom": "Přidat přiblížení (Z)", + "suggestZooms": "Navrhnout přiblížení podle kurzoru", + "autoZoomOn": "Automatické návrhy přiblížení zapnuty — klikněte pro odstranění navržených přiblížení", + "autoZoomOff": "Automatické návrhy přiblížení vypnuty — klikněte pro návrh přiblížení podle kurzoru", + "autoFocusAllOn": "Automatické zaostření zapnuto pro všechna přiblížení — klikněte pro přepnutí všech na ruční", + "autoFocusAllOff": "Automaticky zaostřit všechna přiblížení (kamera sleduje kurzor)", + "addTrim": "Přidat oříznutí (T)", + "addAnnotation": "Přidat anotaci (A)", + "addSpeed": "Přidat rychlost (S)", + "addCameraFullscreen": "Přidat celou kameru (C)" + }, + "hints": { + "pressZoom": "Stiskněte Z pro přidání přiblížení", + "pressTrim": "Stiskněte T pro přidání oříznutí", + "pressAnnotation": "Stiskněte A pro přidání anotace", + "pressAudio": "Stiskněte M pro přidání zvuku, V pro nahrání komentáře", + "pressSpeed": "Stiskněte S pro přidání rychlosti", + "pressCameraFullscreen": "Stiskněte C pro přidání segmentu celé kamery" + }, + "labels": { + "pan": "Posun", + "zoom": "Přiblížení", + "trim": "Oříznutí", + "speed": "Rychlost", + "zoomItem": "Přiblížení {{index}}", + "trimItem": "Oříznutí {{index}}", + "speedItem": "Rychlost {{index}}", + "annotationItem": "Anotace", + "imageItem": "Obrázek", + "emptyText": "Prázdný text", + "cameraFullscreen": "Celá kamera", + "cameraFullscreenItem": "Celá kamera {{index}}" + }, + "emptyState": { + "noVideo": "Žádné video nenačteno", + "dragAndDrop": "Přetáhněte video pro zahájení úprav" + }, + "errors": { + "cannotPlaceZoom": "Přiblížení zde nelze umístit", + "zoomExistsAtLocation": "Přiblížení na tomto místě již existuje nebo není dostatek místa.", + "zoomSuggestionUnavailable": "Obslužná rutina návrhů přiblížení není dostupná", + "noCursorTelemetry": "Nejsou dostupná žádná data kurzoru", + "noCursorTelemetryDescription": "Nejprve nahrajte screenscast pro generování návrhů na základě kurzoru.", + "noUsableTelemetry": "Žádná použitelná data kurzoru", + "noUsableTelemetryDescription": "Nahrávka neobsahuje dostatek dat o pohybu kurzoru.", + "noDwellMoments": "Nenalezeny žádné výrazné momenty zastavení kurzoru", + "noDwellMomentsDescription": "Zkuste nahrávku s pomalejšími pauzami kurzoru na důležitých akcích.", + "noAutoZoomSlots": "Nejsou dostupné žádné sloty pro automatické přiblížení", + "noAutoZoomSlotsDescription": "Detekované body zastavení se překrývají s existujícími oblastmi přiblížení.", + "cannotPlaceTrim": "Oříznutí zde nelze umístit", + "trimExistsAtLocation": "Oříznutí na tomto místě již existuje nebo není dostatek místa.", + "cannotPlaceSpeed": "Rychlost zde nelze umístit", + "speedExistsAtLocation": "Oblast rychlosti na tomto místě již existuje nebo není dostatek místa.", + "cannotPlaceCameraFullscreen": "Celou kameru zde nelze umístit", + "cameraFullscreenExistsAtLocation": "Segment celé kamery na tomto místě již existuje nebo není dostatek místa." + }, + "success": { + "addedZoomSuggestions": "Přidán {{count}} návrh přiblížení na základě kurzoru", + "addedZoomSuggestionsPlural": "Přidáno {{count}} návrhů přiblížení na základě kurzoru" + }, + "toolbar": { + "autoEnhance": "Automatické vylepšení", + "automaticZooms": "Automatická přiblížení", + "automaticZoomsHint": "Z zaznamenaného pohybu kurzoru", + "smartZoomsAndCuts": "Chytré střihy", + "smartZoomsAndCutsHint": "S AI", + "comment": "Komentář", + "timelineTools": "Nástroje časové osy", + "arrangeClips": "Uspořádat klipy", + "arrangeClipsHint": "Přetáhněte klipy níže pro změnu pořadí nebo přidejte nové", + "newAnnotation": "Anotace", + "dragToReorderHint": "Přetáhněte pro změnu pořadí · dvojklik pro úpravu vstupních/výstupních bodů", + "editInOutPoints": "Upravit vstupní/výstupní body", + "deleteClip": "Smazat klip", + "dropToAdd": "Přetáhněte pro přidání na časovou osu", + "importRecordingFirst": "Nejprve importujte nahrávku", + "noAutoZoomMoments": "Žádné momenty pro automatické přiblížení nenalezeny", + "noAutoZoomMomentsDescription": "Tato nahrávka nemá data o pohybu kurzoru nebo existující přiblížení již pokrývají aktivní momenty.", + "addedAutoZoom": "Přidáno {{count}} automatické přiblížení", + "addedAutoZoomPlural": "Přidáno {{count}} automatických přiblížení", + "autoZoomFailed": "Automatické přiblížení selhalo", + "aiEnhanceRequested": "AI agent byl požádán o vystřižení mrtvého času", + "smartCutsWaiting": "Přepisování… připraveno za okamžik", + "smartCutsNeedsTranscript": "Vyžaduje přepis", + "smartCutsNoAudio": "Toto médium nemá zvuk", + "smartCutsNoSpeech": "Řeč nebyla detekována", + "smartCutsFailed": "Přepisování selhalo — zkuste to znovu z Média", + "addAudioTooltip": "Přidat zvuk", + "addedWord": "Přidáno slovo: „{{word}}\" — za ním není žádný zvuk" + }, + "audio": { + "addVoiceover": "Přidat komentář", + "addVoiceoverHint": "Nahrajte komentář k videu", + "subtitle": "Umístěte komentář nebo vrstvu hudby na pozadí na časovou osu", + "record": "Nahrát komentář", + "importFile": "Importovat zvukový soubor", + "importFileHint": "Přineste hudbu nebo zvukový soubor", + "recording": "Nahrávání", + "recordingHint": "Komentujte spolu s videem — přehrává se při nahrávání", + "stop": "Zastavit", + "micDenied": "Přístup k mikrofonu byl odepřen", + "recordingUnavailable": "Nahrávání zde není dostupné", + "saveFailed": "Nepodařilo se uložit nahrávku", + "importFailed": "Nepodařilo se importovat zvukový soubor" + } +} From 4d47feb84cff23feb39c93b8f3d2f6d277ea607a Mon Sep 17 00:00:00 2001 From: Adam Pavlat Date: Tue, 8 Sep 2026 22:05:22 +0200 Subject: [PATCH 2/5] fix(cs): correct Czech grammar, terminology and typos in locale files --- src/i18n/locales/cs/common.json | 4 ++-- src/i18n/locales/cs/dialogs.json | 2 +- src/i18n/locales/cs/editor.json | 14 +++++++------- src/i18n/locales/cs/settings.json | 4 ++-- src/i18n/locales/cs/timeline.json | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/i18n/locales/cs/common.json b/src/i18n/locales/cs/common.json index c5daf2527..c68a3e456 100644 --- a/src/i18n/locales/cs/common.json +++ b/src/i18n/locales/cs/common.json @@ -19,8 +19,8 @@ "export": "Exportovat", "showInFolder": "Zobrazit ve složce", "file": "Soubor", - "edit": "Upravit", - "view": "Zobrazit", + "edit": "Úpravy", + "view": "Zobrazení", "window": "Okno", "help": "Nápověda", "quit": "Ukončit", diff --git a/src/i18n/locales/cs/dialogs.json b/src/i18n/locales/cs/dialogs.json index 1a0da0742..a47e8d047 100644 --- a/src/i18n/locales/cs/dialogs.json +++ b/src/i18n/locales/cs/dialogs.json @@ -26,7 +26,7 @@ "tutorial": { "triggerLabel": "Jak funguje oříznutí", "title": "Jak funguje oříznutí", - "description": "Pochopte, jak vystřihnout nežádoucí části videa.", + "description": "Jak vystřihnout nežádoucí části videa.", "explanationBefore": "Nástroj Oříznutí funguje tak, že definujete segmenty, které chcete", "remove": "odstranit", "explanationMiddle": " — vše", diff --git a/src/i18n/locales/cs/editor.json b/src/i18n/locales/cs/editor.json index 981ed6aab..6126a1e21 100644 --- a/src/i18n/locales/cs/editor.json +++ b/src/i18n/locales/cs/editor.json @@ -1,6 +1,6 @@ { "newRecording": { - "title": "Vrátit se na nahrávání", + "title": "Vrátit se k nahrávání", "description": "Vaše aktuální relace byla uložena.", "cancel": "Zrušit", "confirm": "Potvrdit" @@ -132,7 +132,7 @@ }, "mediaStage": { "openProjectFirst": "Nejprve otevřete projekt", - "couldNotAddAsset": "Nepodařilo se přidat asset", + "couldNotAddAsset": "Nepodařilo se přidat médium", "searchPlaceholder": "Hledat média…", "dragHint": "Přetáhněte klip na níže uvedenou časovou osu pro přidání", "emptyHint": "Zatím žádná média — importujte nahrávku pro začátek.", @@ -162,8 +162,8 @@ "noSpeechDetected": "Žádná řeč nezjištěna" }, "exportDialog": { - "title": "Exportovat", - "subtitle": "Renderovat časovou osu do souboru", + "title": "Export", + "subtitle": "Vykreslení časové osy do souboru", "addVideoBeforeExporting": "Před exportem přidejte video.", "quality": "Kvalita", "qualityMatchRecording": "Odpovídat nahrávce", @@ -274,7 +274,7 @@ "sendTitle": "Odeslat (Enter)", "send": "Odeslat", "rewindConfirmTitle": "Přetočit sem?", - "rewindConfirmBody": "Úpravy agenta a navazující otočení po tomto bodu budou vráceny. Projekt, konverzace a stav agenta budou obnoveny. Jakékoli úpravy, které jste od té doby provedli, budou také nahrazeny.", + "rewindConfirmBody": "Úpravy agenta a navazující zprávy po tomto bodu budou vráceny. Projekt, konverzace a stav agenta budou obnoveny. Jakékoli úpravy, které jste od té doby provedli, budou také nahrazeny.", "rewindConfirm": "Přetočit", "configureModel": "Konfigurovat AI model", "historyDialog": { @@ -344,7 +344,7 @@ "previousClip": "Předchozí klip", "nextClip": "Další klip", "loop": "Opakovat", - "seekVideo": "Vyhledat v videu" + "seekVideo": "Vyhledat ve videu" }, "shell": { "aiEditor": "AI editor", @@ -390,7 +390,7 @@ "apiKeyLabel": "API klíč", "apiKeyHintStored": "Uloženo v safeStorage. Ponechte prázdné pro zachování stávajícího záznamu.", "projectEditsLabel": "Úpravy projektu", - "projectEditsHint": "Pokud je vypnuto, agent musí požádat před změnou časové osy. Úpravy jsou vždy vrácení zpět.", + "projectEditsHint": "Pokud je vypnuto, agent musí požádat před změnou časové osy. Úpravy lze vždy vrátit zpět.", "allowAgentEdits": "Povolit agentovi úpravy projektu", "disconnect": "Odpojit", "cancel": "Zrušit", diff --git a/src/i18n/locales/cs/settings.json b/src/i18n/locales/cs/settings.json index 46e305fe8..e5b00763f 100644 --- a/src/i18n/locales/cs/settings.json +++ b/src/i18n/locales/cs/settings.json @@ -186,7 +186,7 @@ "original": "Původní (přepis)", "maxWords": "Max. slov na řádek", "font": "Písmo", - "translating": "Překladání…", + "translating": "Překládání…", "show": "Zobrazit titulky", "textColor": "Barva textu" }, @@ -327,7 +327,7 @@ "save": "Uložit projekt" }, "support": { - "starOnGithub": "Ohodnotit na GitHubu", + "starOnGithub": "Přidat hvězdičku na GitHubu", "saveDiagnostics": "Uložit diagnostiku", "reportBug": "Nahlásit chybu" }, diff --git a/src/i18n/locales/cs/timeline.json b/src/i18n/locales/cs/timeline.json index ad648000c..76c6a2bc0 100644 --- a/src/i18n/locales/cs/timeline.json +++ b/src/i18n/locales/cs/timeline.json @@ -42,7 +42,7 @@ "zoomExistsAtLocation": "Přiblížení na tomto místě již existuje nebo není dostatek místa.", "zoomSuggestionUnavailable": "Obslužná rutina návrhů přiblížení není dostupná", "noCursorTelemetry": "Nejsou dostupná žádná data kurzoru", - "noCursorTelemetryDescription": "Nejprve nahrajte screenscast pro generování návrhů na základě kurzoru.", + "noCursorTelemetryDescription": "Nejprve nahrajte screencast pro generování návrhů na základě kurzoru.", "noUsableTelemetry": "Žádná použitelná data kurzoru", "noUsableTelemetryDescription": "Nahrávka neobsahuje dostatek dat o pohybu kurzoru.", "noDwellMoments": "Nenalezeny žádné výrazné momenty zastavení kurzoru", From 676428d3b365bb9f502504ad349e6d034dc475cf Mon Sep 17 00:00:00 2001 From: Adam Pavlat Date: Tue, 8 Sep 2026 22:08:31 +0200 Subject: [PATCH 3/5] fix(cs): replace em dashes with natural Czech punctuation throughout --- src/i18n/locales/cs/dialogs.json | 2 +- src/i18n/locales/cs/editor.json | 24 ++++++++++++------------ src/i18n/locales/cs/settings.json | 16 ++++++++-------- src/i18n/locales/cs/shortcuts.json | 2 +- src/i18n/locales/cs/timeline.json | 12 ++++++------ 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/i18n/locales/cs/dialogs.json b/src/i18n/locales/cs/dialogs.json index a47e8d047..22a8a474d 100644 --- a/src/i18n/locales/cs/dialogs.json +++ b/src/i18n/locales/cs/dialogs.json @@ -29,7 +29,7 @@ "description": "Jak vystřihnout nežádoucí části videa.", "explanationBefore": "Nástroj Oříznutí funguje tak, že definujete segmenty, které chcete", "remove": "odstranit", - "explanationMiddle": " — vše", + "explanationMiddle": ", vše", "covered": "pokryté", "explanationAfter": "červeným segmentem oříznutí bude při exportu vystřiženo.", "visualExample": "Vizuální příklad", diff --git a/src/i18n/locales/cs/editor.json b/src/i18n/locales/cs/editor.json index 6126a1e21..296f5ec0a 100644 --- a/src/i18n/locales/cs/editor.json +++ b/src/i18n/locales/cs/editor.json @@ -19,7 +19,7 @@ "gifExportFailed": "Export GIF selhal", "noVideoLoaded": "Žádné video nenačteno", "previewCompositorUnavailable": "Náhled na tomto počítači není dostupný", - "trimNoFilm": "Tam není co vystřihnout — pod těmito slovy není žádný film.", + "trimNoFilm": "Tam není co vystřihnout. Pod těmito slovy není žádný film.", "unableToDetermineSourcePath": "Nelze určit cestu ke zdrojovému videu", "videoNotReady": "Video není připraveno", "wordEditFailed": "Nepodařilo se změnit toto slovo", @@ -135,7 +135,7 @@ "couldNotAddAsset": "Nepodařilo se přidat médium", "searchPlaceholder": "Hledat média…", "dragHint": "Přetáhněte klip na níže uvedenou časovou osu pro přidání", - "emptyHint": "Zatím žádná média — importujte nahrávku pro začátek.", + "emptyHint": "Zatím žádná média. Importujte nahrávku pro začátek.", "importMedia": "Importovat média", "added": "Přidáno {{label}}", "addToTimeline": "Přidat na časovou osu", @@ -148,17 +148,17 @@ "initializingModel": "Spouštění modelu řeči", "pendingTranscription": "Přepis čeká", "transcriptionFailed": "Přepis selhal", - "cpuBackendHint": "Běží na CPU — přibližně 2× pomalejší než na GPU", + "cpuBackendHint": "Běží na CPU (přibližně 2× pomalejší než na GPU)", "noTranscript": "Žádný přepis", "regenerateAs": "Znovu generovat jako", "auto": "Automaticky", "regenerate": "Znovu generovat", "transcriptEmpty": "Přepis je prázdný.", - "notGeneratedHint": "Ještě nevygenerováno — vyberte jazyk a klikněte na znovu generovat.", - "generationFailedHint": "Generování selhalo — vyberte jazyk a znovu generujte.", + "notGeneratedHint": "Ještě nevygenerováno. Vyberte jazyk a klikněte na Znovu generovat.", + "generationFailedHint": "Generování selhalo. Vyberte jazyk a znovu generujte.", "detectedLanguage": "Zjištěný jazyk: {{language}}", "noAudioTrack": "Žádná zvuková stopa", - "noAudioTrackHint": "Toto médium nemá zvukovou stopu — není co přepisovat.", + "noAudioTrackHint": "Toto médium nemá zvukovou stopu, takže není co přepisovat.", "noSpeechDetected": "Žádná řeč nezjištěna" }, "exportDialog": { @@ -196,7 +196,7 @@ "exportFailed": "Export selhal", "failedToWriteFile": "Nepodařilo se zapsat soubor", "qualityUpscaleWarning": "Zvýšení rozlišení", - "nothingToExport": "Není co exportovat — časová osa je prázdná." + "nothingToExport": "Není co exportovat, časová osa je prázdná." }, "inspector": { "resetFocusPoint": "Obnovit bod zaostření", @@ -206,11 +206,11 @@ "collapseInspector": "Sbalit inspektor", "captionsDescription": "Generujte titulky synchronizované se slovy z přepisu a přetáhněte je na časovou osu.", "generateCaptions": "Generovat titulky", - "cropDescription": "Přeformátujte nahrávku — vyberte poměr stran a přibližte oblast, kterou chcete zachovat.", + "cropDescription": "Přeformátujte nahrávku: vyberte poměr stran a přibližte oblast, kterou chcete zachovat.", "openCrop": "Otevřít oříznutí…", - "cameraFullscreenDescription": "Během přehrávání této oblasti kamera zabírá celý snímek — bez okraje, bez zaoblení, bez pozadí — a na konci se vrátí. Přetáhněte okraje oblasti na časové ose pro změnu začátku a délky trvání.", + "cameraFullscreenDescription": "Během přehrávání této oblasti kamera zabírá celý snímek (bez okraje, bez zaoblení, bez pozadí) a na konci se vrátí. Přetáhněte okraje oblasti na časové ose pro změnu začátku a délky trvání.", "deleteRegion": "Smazat oblast", - "freehandRendersAsBox": "Při exportu je volně kreslený tvar pokryt svým ohraničujícím rámečkem — vždy překrytý, nikdy nepokrytý." + "freehandRendersAsBox": "Při exportu je volně kreslený tvar pokryt svým ohraničujícím rámečkem: vždy překrytý, nikdy nepokrytý." }, "chat": { "changeProvider": "Změnit poskytovatele", @@ -357,7 +357,7 @@ "webcamPreview": "Náhled webkamery (přetáhněte pro přemístění)", "mediaError": { "title": "Náhled zastaven", - "description": "Video nelze dekódovat. Soubor může být poškozen, stále se zapisuje nebo již není tam, kde ho projekt očekává — váš projekt je v pořádku.", + "description": "Video nelze dekódovat. Soubor může být poškozen, stále se zapisuje nebo již není tam, kde ho projekt očekává. Váš projekt je v pořádku.", "retry": "Zkusit znovu", "detail": "Podrobnosti: {{detail}}" } @@ -398,7 +398,7 @@ "saveAndUse": "Uložit a použít" }, "cpuCompositor": { - "notice": "Běží bez kompatibilního GPU — renderování na CPU, takže přehrávání je pomalejší.", + "notice": "Běží bez kompatibilního GPU, takže renderování probíhá na CPU a přehrávání je pomalejší.", "exportWarning": "Žádné kompatibilní GPU: tento export běží na CPU a bude trvat mnohem déle než obvykle." } } diff --git a/src/i18n/locales/cs/settings.json b/src/i18n/locales/cs/settings.json index e5b00763f..ad7a16be8 100644 --- a/src/i18n/locales/cs/settings.json +++ b/src/i18n/locales/cs/settings.json @@ -121,8 +121,8 @@ "help": "Agregovaný přepis každého klipu na časové ose. Backspace / Delete slovo nebo výběr pro vystřižení z filmu (červeně). Dvojklikem slovo opravte. Najeďte myší na označené slovo pro vrácení změny.", "editWord": "Upravit „{{word}}\"", "laneFeedsCaptions": "Titulky jsou generovány z této stopy.", - "insertedWord": "Přidáno vámi — za ním není žádný zvuk", - "whisperHint": "Přepis používá lokální Whisper — běží na vašem počítači, žádná data neopouštějí zařízení.", + "insertedWord": "Přidáno vámi (za slovem není žádný zvuk)", + "whisperHint": "Přepis používá lokální Whisper: běží na vašem počítači a žádná data neopouštějí zařízení.", "insertAria": "Nové slovo", "editorAria": "Přepis pro {{filename}}", "transcribeNow": "Přepsat nyní", @@ -134,8 +134,8 @@ "laneVoiceover": "Komentář", "silence": "[ticho {{duration}}s]", "clipLabel": "Klip {{index}}", - "correctedWord": "Opraveno — přepisovač slyšel „{{original}}\"", - "noClipTranscript": "Pro tento klip není přepis — otevřete kartu assetu a znovu generujte.", + "correctedWord": "Opraveno, přepisovač slyšel „{{original}}\"", + "noClipTranscript": "Pro tento klip není přepis. Otevřete kartu média a znovu generujte.", "editingHintDev": "Dvojklikem slovo opravte, Backspace ho vystřihne z filmu, psaním mezi dvěma slovy přidáte nové.", "noAudio": "Toto médium nemá zvukovou stopu", "blankedWord": "vynecháno" @@ -155,11 +155,11 @@ "backgroundOpacity": "Průhlednost", "backgroundColor": "Barva pozadí", "alignCenter": "Na střed", - "translationIsNonDestructive": "Překlady jsou uloženy vedle přepisu, nikdy v něm — původní text a jeho časování zůstávají nedotčeny.", + "translationIsNonDestructive": "Překlady jsou uloženy vedle přepisu, nikdy v něm. Původní text a jeho časování zůstávají nedotčeny.", "distanceFromRight": "Vzdálenost zprava", "language": "Jazyk", "text": "Text", - "anchorHintBottom": "Dlouhé titulky rostou nahoru — spodní okraj zůstává na místě.", + "anchorHintBottom": "Dlouhé titulky rostou nahoru, spodní okraj zůstává na místě.", "distanceFromTop": "Vzdálenost shora", "translateFailed": "Překlad selhal.", "alignLeft": "Vlevo", @@ -178,7 +178,7 @@ "anchorTop": "Horní", "minWords": "Min. slov na řádek", "translateHint": "Přeložit přepis pomocí nakonfigurovaného poskytovatele AI", - "anchorHintTop": "Dlouhé titulky rostou dolů — horní okraj zůstává na místě.", + "anchorHintTop": "Dlouhé titulky rostou dolů, horní okraj zůstává na místě.", "displayLanguage": "Zobrazení", "removeLegacyAnnotations": "Odebrat staré anotace titulků", "background": "Pozadí", @@ -335,7 +335,7 @@ "smoothing": "Vyhlazení", "clickBounce": "Odraz při kliknutí", "help": "Renderování kurzoru ze zaznamenané telemetrie: motiv, velikost, vyhlazení, pohybové rozmazání a zdůraznění odrazu při kliknutí.", - "clipToBoundsDescription": "Udržuje kurzor uvnitř rámce videa. Vypněte pro povolení kurzoru přesahovat okraje — užitečné při přiblížení nebo posunu.", + "clipToBoundsDescription": "Udržuje kurzor uvnitř rámce videa. Vypněte, pokud chcete, aby kurzor přesahoval okraje, což se hodí při přiblížení nebo posunu.", "size": "Velikost", "title": "Kurzor", "show": "Zobrazit kurzor", diff --git a/src/i18n/locales/cs/shortcuts.json b/src/i18n/locales/cs/shortcuts.json index 602ea8834..a2c487361 100644 --- a/src/i18n/locales/cs/shortcuts.json +++ b/src/i18n/locales/cs/shortcuts.json @@ -12,7 +12,7 @@ "swap": "Prohodit", "reservedShortcut": "Tato zkratka je vyhrazena pro „{{label}}\" a nelze ji přiřadit.", "savedToast": "Klávesové zkratky uloženy", - "resetToast": "Obnoveny výchozí zkratky — klikněte Uložit pro použití", + "resetToast": "Výchozí zkratky obnoveny. Klikněte Uložit pro jejich použití.", "registrationFailed": "Nepodařilo se zaregistrovat zkratku. Může být používána jinou aplikací. Zkuste jinou klávesu.", "actions": { "openApp": "Otevřít aplikaci", diff --git a/src/i18n/locales/cs/timeline.json b/src/i18n/locales/cs/timeline.json index 76c6a2bc0..b3fc4fc5a 100644 --- a/src/i18n/locales/cs/timeline.json +++ b/src/i18n/locales/cs/timeline.json @@ -2,9 +2,9 @@ "buttons": { "addZoom": "Přidat přiblížení (Z)", "suggestZooms": "Navrhnout přiblížení podle kurzoru", - "autoZoomOn": "Automatické návrhy přiblížení zapnuty — klikněte pro odstranění navržených přiblížení", - "autoZoomOff": "Automatické návrhy přiblížení vypnuty — klikněte pro návrh přiblížení podle kurzoru", - "autoFocusAllOn": "Automatické zaostření zapnuto pro všechna přiblížení — klikněte pro přepnutí všech na ruční", + "autoZoomOn": "Automatické návrhy přiblížení zapnuty, klikněte pro odstranění navržených přiblížení", + "autoZoomOff": "Automatické návrhy přiblížení vypnuty, klikněte pro návrh přiblížení podle kurzoru", + "autoFocusAllOn": "Automatické zaostření zapnuto pro všechna přiblížení, klikněte pro přepnutí všech na ruční", "autoFocusAllOff": "Automaticky zaostřit všechna přiblížení (kamera sleduje kurzor)", "addTrim": "Přidat oříznutí (T)", "addAnnotation": "Přidat anotaci (A)", @@ -86,9 +86,9 @@ "smartCutsNeedsTranscript": "Vyžaduje přepis", "smartCutsNoAudio": "Toto médium nemá zvuk", "smartCutsNoSpeech": "Řeč nebyla detekována", - "smartCutsFailed": "Přepisování selhalo — zkuste to znovu z Média", + "smartCutsFailed": "Přepisování selhalo, zkuste to znovu z Média", "addAudioTooltip": "Přidat zvuk", - "addedWord": "Přidáno slovo: „{{word}}\" — za ním není žádný zvuk" + "addedWord": "Přidáno slovo: „{{word}}\", za ním není žádný zvuk" }, "audio": { "addVoiceover": "Přidat komentář", @@ -98,7 +98,7 @@ "importFile": "Importovat zvukový soubor", "importFileHint": "Přineste hudbu nebo zvukový soubor", "recording": "Nahrávání", - "recordingHint": "Komentujte spolu s videem — přehrává se při nahrávání", + "recordingHint": "Komentujte spolu s videem, které se přehrává při nahrávání", "stop": "Zastavit", "micDenied": "Přístup k mikrofonu byl odepřen", "recordingUnavailable": "Nahrávání zde není dostupné", From f9620e58893f1c2ea628daa9c5456b6c44a60758 Mon Sep 17 00:00:00 2001 From: Adam Pavlat Date: Tue, 8 Sep 2026 22:09:43 +0200 Subject: [PATCH 4/5] fix(cs): replace escaped inner quotes with proper Czech closing quotation mark --- src/i18n/locales/cs/editor.json | 8 ++++---- src/i18n/locales/cs/settings.json | 16 ++++++++-------- src/i18n/locales/cs/shortcuts.json | 2 +- src/i18n/locales/cs/timeline.json | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/i18n/locales/cs/editor.json b/src/i18n/locales/cs/editor.json index 296f5ec0a..5f3b8858c 100644 --- a/src/i18n/locales/cs/editor.json +++ b/src/i18n/locales/cs/editor.json @@ -65,7 +65,7 @@ "dropOverlay": "Přetáhněte soubor projektu pro otevření", "dropErrors": { "unsupportedFormatTitle": "Nepodporovaný formát", - "unsupportedFormatMessage": "Sem lze přetáhnout pouze soubory projektů .openscreen. Pro import video souboru použijte tlačítko „Importovat video soubor…\" na této obrazovce.", + "unsupportedFormatMessage": "Sem lze přetáhnout pouze soubory projektů .openscreen. Pro import video souboru použijte tlačítko „Importovat video soubor…” na této obrazovce.", "couldNotOpenTitle": "Soubor nelze otevřít", "couldNotOpenMessage": "Soubor projektu nelze otevřít. Video, na které odkazuje, mohlo být přesunuto nebo smazáno." } @@ -248,7 +248,7 @@ "clickToRename": "Klikněte pro přejmenování", "renameConversation": "Přejmenovat konverzaci", "deleteConversation": "Smazat konverzaci", - "confirmDeleteConversation": "Smazat „{{title}}\"?", + "confirmDeleteConversation": "Smazat „{{title}}”?", "emptyState": "Zatím žádné zprávy. Požádejte agenta o vystřižení ticha, zkrácení pauz nebo přidání titulků.", "welcome": { "title": "Přineste si vlastní AI", @@ -301,7 +301,7 @@ "title": "Otevřít projekt", "subtitle": "Pokračujte v existujícím projektu nebo procházejte soubory", "searchPlaceholder": "Hledat projekty…", - "noMatches": "Žádné projekty neodpovídají „{{query}}\".", + "noMatches": "Žádné projekty neodpovídají „{{query}}”.", "navigateHint": "pro navigaci ·", "openHint": "pro otevření", "browseFiles": "Procházet soubory…", @@ -322,7 +322,7 @@ }, "insertSourceDialog": { "title": "Vložit zdroj", - "subtitle": "Kam umístit „{{assetLabel}}\" na časové ose?", + "subtitle": "Kam umístit „{{assetLabel}}” na časové ose?", "addBefore": "Přidat před", "addBeforeDesc": "Vložit celý zdroj před cílový klip.", "addAfter": "Přidat za", diff --git a/src/i18n/locales/cs/settings.json b/src/i18n/locales/cs/settings.json index ad7a16be8..83e434e78 100644 --- a/src/i18n/locales/cs/settings.json +++ b/src/i18n/locales/cs/settings.json @@ -22,9 +22,9 @@ "failedToAdd": "Nepodařilo se přidat písmo", "addingButton": "Přidávání...", "errorInvalidUrl": "Zadejte prosím platnou URL adresu Google Fonts", - "urlHelp": "Získejte tuto adresu z Google Fonts: Vyberte písmo → Klikněte na „Get font\" → Zkopírujte URL @import", + "urlHelp": "Získejte tuto adresu z Google Fonts: Vyberte písmo → Klikněte na „Get font” → Zkopírujte URL @import", "urlLabel": "URL pro import z Google Fonts", - "successMessage": "Písmo „{{fontName}}\" bylo úspěšně přidáno", + "successMessage": "Písmo „{{fontName}}” bylo úspěšně přidáno", "nameLabel": "Zobrazovaný název", "errorEmptyName": "Zadejte prosím název písma", "nameHelp": "Takto se písmo zobrazí ve výběru písem", @@ -114,12 +114,12 @@ "laneRecording": "Nahrávka", "noTranscript": "Zatím žádný přepis", "title": "Přepis", - "restoreWord": "Obnovit „{{word}}\"", - "revertWord": "Obnovit „{{original}}\"", + "restoreWord": "Obnovit „{{word}}”", + "revertWord": "Obnovit „{{original}}”", "editingHint": "Dvojklikem slovo opravte, Backspace ho vystřihne z filmu.", "restoreSilence": "Obnovit ticho ({{duration}}s)", "help": "Agregovaný přepis každého klipu na časové ose. Backspace / Delete slovo nebo výběr pro vystřižení z filmu (červeně). Dvojklikem slovo opravte. Najeďte myší na označené slovo pro vrácení změny.", - "editWord": "Upravit „{{word}}\"", + "editWord": "Upravit „{{word}}”", "laneFeedsCaptions": "Titulky jsou generovány z této stopy.", "insertedWord": "Přidáno vámi (za slovem není žádný zvuk)", "whisperHint": "Přepis používá lokální Whisper: běží na vašem počítači a žádná data neopouštějí zařízení.", @@ -128,13 +128,13 @@ "transcribeNow": "Přepsat nyní", "transcribing": "Přepisování…", "trimSilence": "Oříznutí ticha ({{duration}}s)", - "removeInserted": "Smazat „{{word}}\"", + "removeInserted": "Smazat „{{word}}”", "laneLabel": "Číst přepis z", "noClips": "Zatím žádné klipy", "laneVoiceover": "Komentář", "silence": "[ticho {{duration}}s]", "clipLabel": "Klip {{index}}", - "correctedWord": "Opraveno, přepisovač slyšel „{{original}}\"", + "correctedWord": "Opraveno, přepisovač slyšel „{{original}}”", "noClipTranscript": "Pro tento klip není přepis. Otevřete kartu média a znovu generujte.", "editingHintDev": "Dvojklikem slovo opravte, Backspace ho vystřihne z filmu, psaním mezi dvěma slovy přidáte nové.", "noAudio": "Toto médium nemá zvukovou stopu", @@ -254,7 +254,7 @@ "webcamCropX": "Vodorovné posouvání", "reactiveWebcam": "Zmenšit při přiblížení", "webcamBackground": "Pozadí kamery", - "helpNoWebcam": "Tento projekt nemá kameru, takže ovládání rozvržení je vypnuto a předvolba zobrazuje „Bez webkamery\". Vaše uložené rozvržení je zachováno pro případ přidání kamery.", + "helpNoWebcam": "Tento projekt nemá kameru, takže ovládání rozvržení je vypnuto a předvolba zobrazuje „Bez webkamery”. Vaše uložené rozvržení je zachováno pro případ přidání kamery.", "title": "Rozvržení kamery", "noWebcam": "Bez webkamery" }, diff --git a/src/i18n/locales/cs/shortcuts.json b/src/i18n/locales/cs/shortcuts.json index a2c487361..5332308e2 100644 --- a/src/i18n/locales/cs/shortcuts.json +++ b/src/i18n/locales/cs/shortcuts.json @@ -10,7 +10,7 @@ "resetToDefaults": "Obnovit výchozí nastavení", "alreadyUsedBy": "Již používáno pro {{action}}", "swap": "Prohodit", - "reservedShortcut": "Tato zkratka je vyhrazena pro „{{label}}\" a nelze ji přiřadit.", + "reservedShortcut": "Tato zkratka je vyhrazena pro „{{label}}” a nelze ji přiřadit.", "savedToast": "Klávesové zkratky uloženy", "resetToast": "Výchozí zkratky obnoveny. Klikněte Uložit pro jejich použití.", "registrationFailed": "Nepodařilo se zaregistrovat zkratku. Může být používána jinou aplikací. Zkuste jinou klávesu.", diff --git a/src/i18n/locales/cs/timeline.json b/src/i18n/locales/cs/timeline.json index b3fc4fc5a..0c3457467 100644 --- a/src/i18n/locales/cs/timeline.json +++ b/src/i18n/locales/cs/timeline.json @@ -88,7 +88,7 @@ "smartCutsNoSpeech": "Řeč nebyla detekována", "smartCutsFailed": "Přepisování selhalo, zkuste to znovu z Média", "addAudioTooltip": "Přidat zvuk", - "addedWord": "Přidáno slovo: „{{word}}\", za ním není žádný zvuk" + "addedWord": "Přidáno slovo: „{{word}}”, za ním není žádný zvuk" }, "audio": { "addVoiceover": "Přidat komentář", From bbff2d93c22b0781be404340a1e5e92cddeeb2e4 Mon Sep 17 00:00:00 2001 From: Adam Pavlat Date: Tue, 8 Sep 2026 22:29:33 +0200 Subject: [PATCH 5/5] fix(cs): address CodeRabbit review: grammar, gender agreement and missing preposition --- src/i18n/locales/cs/dialogs.json | 4 ++-- src/i18n/locales/cs/editor.json | 4 ++-- src/i18n/locales/cs/shortcuts.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/i18n/locales/cs/dialogs.json b/src/i18n/locales/cs/dialogs.json index 22a8a474d..850e673c7 100644 --- a/src/i18n/locales/cs/dialogs.json +++ b/src/i18n/locales/cs/dialogs.json @@ -52,8 +52,8 @@ "saveAndClose": "Uložit a zavřít", "discardAndClose": "Zahodit a zavřít", "detailNewProject": "Chcete uložit projekt před vytvořením nového?", - "saveAndNewProject": "Uložit a nový projekt", - "discardAndNewProject": "Zahodit a nový projekt", + "saveAndNewProject": "Uložit a vytvořit nový projekt", + "discardAndNewProject": "Zahodit a vytvořit nový projekt", "detailLoadProject": "Chcete uložit projekt před načtením jiného?", "saveAndLoadProject": "Uložit a načíst projekt", "discardAndLoadProject": "Zahodit a načíst projekt", diff --git a/src/i18n/locales/cs/editor.json b/src/i18n/locales/cs/editor.json index 5f3b8858c..77ebafa32 100644 --- a/src/i18n/locales/cs/editor.json +++ b/src/i18n/locales/cs/editor.json @@ -47,7 +47,7 @@ "cameraDisconnected": "Webkamera odpojena.", "cameraNotFound": "Kamera nenalezena.", "cameraCaptureUnavailable": "Kameru se nepodařilo otevřít. Nahrávání probíhá bez ní.", - "microphoneDefaulted": "Vybraný mikrofon se nepodařilo identifikovat. Nahrávání výchozího vstupu.", + "microphoneDefaulted": "Vybraný mikrofon se nepodařilo identifikovat. Nahrávání bude pokračovat s výchozím vstupem.", "permissionDenied": "Oprávnění k nahrávání odepřeno. Povolte prosím záznam obrazovky.", "accessibilityAllowAndRetry": "Povolte přístup k usnadnění pro OpenScreen a poté znovu stiskněte tlačítko nahrávání pro zahájení odpočítávání.", "selectSource": "Vyberte prosím zdroj pro nahrávání" @@ -75,7 +75,7 @@ "pasted": "Atributy {{region}} vloženy", "nothingToCopy": "Vyberte oblast pro zkopírování jejích atributů", "nothingToPaste": "Zatím nebyly zkopírovány žádné atributy", - "pasteAssetMissing": "Soubor tohoto zvukového stopy není v tomto projektu", + "pasteAssetMissing": "Soubor této zvukové stopy není v tomto projektu", "kinds": { "zoom": "Přiblížení", "speed": "Rychlost", diff --git a/src/i18n/locales/cs/shortcuts.json b/src/i18n/locales/cs/shortcuts.json index 5332308e2..47d6c77a6 100644 --- a/src/i18n/locales/cs/shortcuts.json +++ b/src/i18n/locales/cs/shortcuts.json @@ -12,7 +12,7 @@ "swap": "Prohodit", "reservedShortcut": "Tato zkratka je vyhrazena pro „{{label}}” a nelze ji přiřadit.", "savedToast": "Klávesové zkratky uloženy", - "resetToast": "Výchozí zkratky obnoveny. Klikněte Uložit pro jejich použití.", + "resetToast": "Výchozí zkratky obnoveny. Klikněte na Uložit pro jejich použití.", "registrationFailed": "Nepodařilo se zaregistrovat zkratku. Může být používána jinou aplikací. Zkuste jinou klávesu.", "actions": { "openApp": "Otevřít aplikaci",