From 78769d364c7b0261a5f124849f0de62a63d91b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kami=C5=84ski?= Date: Thu, 9 Jul 2026 11:10:35 +0200 Subject: [PATCH] Add Polish translations --- .../launch/popovers/MorePopover.tsx | 1 + src/components/video-editor/SettingsPanel.tsx | 1 + src/contexts/I18nContext.tsx | 18 ++ src/i18n/config.ts | 2 +- src/i18n/locales/pl/common.json | 26 ++ src/i18n/locales/pl/dialogs.json | 62 +++++ src/i18n/locales/pl/editor.json | 141 ++++++++++ src/i18n/locales/pl/extensions.json | 60 ++++ src/i18n/locales/pl/launch.json | 80 ++++++ src/i18n/locales/pl/settings.json | 258 ++++++++++++++++++ src/i18n/locales/pl/shortcuts.json | 16 ++ src/i18n/locales/pl/timeline.json | 41 +++ 12 files changed, 705 insertions(+), 1 deletion(-) create mode 100644 src/i18n/locales/pl/common.json create mode 100644 src/i18n/locales/pl/dialogs.json create mode 100644 src/i18n/locales/pl/editor.json create mode 100644 src/i18n/locales/pl/extensions.json create mode 100644 src/i18n/locales/pl/launch.json create mode 100644 src/i18n/locales/pl/settings.json create mode 100644 src/i18n/locales/pl/shortcuts.json create mode 100644 src/i18n/locales/pl/timeline.json diff --git a/src/components/launch/popovers/MorePopover.tsx b/src/components/launch/popovers/MorePopover.tsx index 9a5a52905..06b0ef827 100644 --- a/src/components/launch/popovers/MorePopover.tsx +++ b/src/components/launch/popovers/MorePopover.tsx @@ -28,6 +28,7 @@ const LOCALE_LABELS: Record = { it: "Italiano", nl: "Nederlands", ko: "한국어", + pl: "Polski", "pt-BR": "Português", "zh-CN": "簡體中文", "zh-TW": "繁體中文", diff --git a/src/components/video-editor/SettingsPanel.tsx b/src/components/video-editor/SettingsPanel.tsx index a90028e2b..f28c9e7ff 100644 --- a/src/components/video-editor/SettingsPanel.tsx +++ b/src/components/video-editor/SettingsPanel.tsx @@ -913,6 +913,7 @@ const APP_LANGUAGE_LABELS: Record = { it: "Italiano", nl: "Nederlands", ko: "한국어", + pl: "Polski", "pt-BR": "Português", "zh-CN": "簡體中文", "zh-TW": "繁體中文", diff --git a/src/contexts/I18nContext.tsx b/src/contexts/I18nContext.tsx index 0a167800b..edbb0f091 100644 --- a/src/contexts/I18nContext.tsx +++ b/src/contexts/I18nContext.tsx @@ -62,6 +62,14 @@ import nlLaunch from "@/i18n/locales/nl/launch.json"; import nlSettings from "@/i18n/locales/nl/settings.json"; import nlShortcuts from "@/i18n/locales/nl/shortcuts.json"; import nlTimeline from "@/i18n/locales/nl/timeline.json"; +import plCommon from "@/i18n/locales/pl/common.json"; +import plDialogs from "@/i18n/locales/pl/dialogs.json"; +import plEditor from "@/i18n/locales/pl/editor.json"; +import plExtensions from "@/i18n/locales/pl/extensions.json"; +import plLaunch from "@/i18n/locales/pl/launch.json"; +import plSettings from "@/i18n/locales/pl/settings.json"; +import plShortcuts from "@/i18n/locales/pl/shortcuts.json"; +import plTimeline from "@/i18n/locales/pl/timeline.json"; import ptBRCommon from "@/i18n/locales/pt-BR/common.json"; import ptBRDialogs from "@/i18n/locales/pt-BR/dialogs.json"; import ptBREditor from "@/i18n/locales/pt-BR/editor.json"; @@ -142,6 +150,16 @@ const messages: Record = { shortcuts: nlShortcuts, extensions: nlExtensions, }, + pl: { + common: plCommon, + launch: plLaunch, + editor: plEditor, + timeline: plTimeline, + settings: plSettings, + dialogs: plDialogs, + shortcuts: plShortcuts, + extensions: plExtensions, + }, ko: { common: koCommon, launch: koLaunch, diff --git a/src/i18n/config.ts b/src/i18n/config.ts index 2ecee76f8..890a22af3 100644 --- a/src/i18n/config.ts +++ b/src/i18n/config.ts @@ -1,6 +1,6 @@ export const DEFAULT_LOCALE = "en" as const; -export const SUPPORTED_LOCALES = ["en", "es", "fr", "it", "nl", "ko", "pt-BR", "zh-CN", "zh-TW"] as const; +export const SUPPORTED_LOCALES = ["en", "es", "fr", "it", "nl", "ko", "pl", "pt-BR", "zh-CN", "zh-TW"] as const; export const I18N_NAMESPACES = [ "common", diff --git a/src/i18n/locales/pl/common.json b/src/i18n/locales/pl/common.json new file mode 100644 index 000000000..ac34c4953 --- /dev/null +++ b/src/i18n/locales/pl/common.json @@ -0,0 +1,26 @@ +{ + "app": { + "name": "Recordly", + "editorTitle": "Edytor Recordly", + "subtitle": "Nagrywanie i edycja ekranu", + "language": "Język", + "manageRecordings": "Otwórz folder z nagraniami" + }, + "actions": { + "cancel": "Anuluj", + "close": "Zamknij", + "export": "Eksportuj", + "load": "Wczytaj", + "redo": "Ponów", + "reset": "Resetuj", + "save": "Zapisz", + "undo": "Cofnij", + "delete": "Usuń", + "done": "Gotowe" + }, + "errors": { + "invalidFileType": "Nieprawidłowy typ pliku", + "failedToUploadImage": "Nie udało się przesłać obrazu", + "fileReadError": "Wystąpił błąd podczas odczytu pliku." + } +} diff --git a/src/i18n/locales/pl/dialogs.json b/src/i18n/locales/pl/dialogs.json new file mode 100644 index 000000000..fc354bd9c --- /dev/null +++ b/src/i18n/locales/pl/dialogs.json @@ -0,0 +1,62 @@ +{ + "export": { + "pleaseTryAgain": "Spróbuj ponownie", + "compilingGifProgress": "Kompilowanie GIF... {{progress}}%", + "compilingGifWait": "Kompilowanie GIF... To może chwilę potrwać", + "takeMoment": "To może chwilę zająć...", + "exportFailed": "Eksport nie powiódł się", + "compilingGifTitle": "Kompilowanie GIF", + "exportingFormat": "Eksportowanie {{format}}", + "exportComplete": "Eksport zakończony", + "formatReady": "{{format}} jest gotowy", + "showInFolder": "Pokaż w folderze", + "compiling": "Kompilowanie", + "renderingFrames": "Renderowanie klatek", + "processing": "Przetwarzanie...", + "status": "Status", + "format": "Format", + "compilingStatus": "Kompilowanie...", + "frames": "Klatki", + "cancelExport": "Anuluj eksport", + "reopenSaveDialog": "Otwórz ponownie okno zapisu", + "savedSuccess": "{{format}} zapisano pomyślnie!" + }, + "addFont": { + "title": "Dodaj czcionkę Google", + "heading": "Dodaj czcionkę Google", + "description": "Dodaj własną czcionkę z Google Fonts do użycia w adnotacjach.", + "urlLabel": "Adres importu Google Fonts", + "urlPlaceholder": "https://fonts.googleapis.com/css2?family=Roboto&display=swap", + "urlHelp": "Pobierz z Google Fonts: wybierz czcionkę → kliknij \"Get font\" → skopiuj URL z @import", + "nameLabel": "Nazwa wyświetlana", + "namePlaceholder": "Moja własna czcionka", + "nameHelp": "Tak ta czcionka będzie widoczna na liście wyboru", + "adding": "Dodawanie...", + "addFont": "Dodaj czcionkę", + "enterUrl": "Wprowadź adres importu Google Fonts", + "invalidUrl": "Wprowadź prawidłowy adres Google Fonts", + "enterName": "Wprowadź nazwę czcionki", + "extractFailed": "Nie udało się wyodrębnić rodziny czcionki z adresu URL", + "addSuccess": "Czcionka \"{{name}}\" została pomyślnie dodana", + "addFailed": "Nie udało się dodać czcionki", + "loadTimeout": "Ładowanie czcionki trwało zbyt długo. Sprawdź adres URL i spróbuj ponownie.", + "loadFailed": "Nie udało się załadować czcionki. Sprawdź, czy adres URL Google Fonts jest poprawny." + }, + "shortcutsConfig": { + "title": "Skróty klawiszowe", + "configurable": "Konfigurowalne", + "fixed": "Stałe", + "pressEscToCancel": "Naciśnij Esc, aby anulować", + "clickToChange": "Kliknij, aby zmienić", + "pressAKey": "Naciśnij klawisz…", + "alreadyUsedBy": "Już używane przez {{action}}", + "swap": "Zamień", + "reserved": "Ten skrót jest zarezerwowany dla \"{{label}}\" i nie można go przypisać ponownie.", + "saved": "Skróty klawiszowe zapisane", + "resetNotice": "Przywrócono domyślne skróty — kliknij Zapisz, aby zastosować", + "instructions": "Kliknij skrót, a następnie naciśnij nową kombinację klawiszy. Naciśnij Esc, aby anulować.", + "resetToDefaults": "Przywróć domyślne", + "cancel": "Anuluj", + "save": "Zapisz" + } +} diff --git a/src/i18n/locales/pl/editor.json b/src/i18n/locales/pl/editor.json new file mode 100644 index 000000000..3f6fc1dc6 --- /dev/null +++ b/src/i18n/locales/pl/editor.json @@ -0,0 +1,141 @@ +{ + "playback": { + "play": "Odtwórz", + "pause": "Wstrzymaj", + "skipBack": "Przewiń do tyłu", + "skipForward": "Przewiń do przodu", + "muteUnmute": "Wycisz/Włącz dźwięk" + }, + "annotations": { + "settings": "Ustawienia adnotacji", + "active": "Aktywne", + "text": "Tekst", + "image": "Obraz", + "arrow": "Strzałka", + "blur": "Rozmycie", + "textContent": "Treść tekstu", + "textPlaceholder": "Wpisz tekst...", + "fontStyle": "Styl czcionki", + "selectStyle": "Wybierz styl", + "size": "Rozmiar", + "toggleBold": "Przełącz pogrubienie", + "toggleItalic": "Przełącz kursywę", + "toggleUnderline": "Przełącz podkreślenie", + "alignLeft": "Wyrównaj do lewej", + "alignCenter": "Wyśrodkuj", + "alignRight": "Wyrównaj do prawej", + "textColor": "Kolor tekstu", + "background": "Tło", + "none": "Brak", + "clearBackground": "Wyczyść tło", + "uploadImage": "Prześlij obraz", + "supportedFormats": "Obsługiwane formaty: JPG, PNG, GIF, WebP", + "arrowDirection": "Kierunek strzałki", + "strokeWidth": "Grubość linii: {{width}}px", + "arrowColor": "Kolor strzałki", + "deleteAnnotation": "Usuń adnotację", + "shortcutsAndTips": "Skróty i wskazówki", + "tipSelectAnnotation": "Przesuń głowicę odtwarzania do sekcji z nakładającą się adnotacją i wybierz element.", + "tipCycleForward": "Użyj Tab, aby przełączać się między nakładającymi się elementami.", + "tipCycleBackward": "Użyj Shift+Tab, aby przełączać się wstecz.", + "imageUploadSuccess": "Obraz został pomyślnie przesłany!", + "imageUploadError": "Prześlij plik obrazu JPG, PNG, GIF lub WebP.", + "blurStrength": "Siła rozmycia: {{strength}}", + "solidColor": "Jednolity kolor (cenzura)", + "borderRadius": "Promień narożników" + }, + "fontStyles": { + "classic": "Klasyczny", + "editor": "Edytorski", + "strong": "Wyrazisty", + "typewriter": "Maszynowy", + "deco": "Dekoracyjny", + "simple": "Prosty", + "modern": "Nowoczesny", + "clean": "Czysty" + }, + "format": { + "mp4Video": "Wideo MP4", + "mp4Description": "Plik wideo wysokiej jakości", + "gifAnimation": "Animacja GIF", + "gifDescription": "Animowany obraz do udostępniania" + }, + "gifOptions": { + "frameRate": "Liczba klatek", + "outputSize": "Rozmiar wyjściowy", + "outputDimensions": "Wyjście: {{width}} × {{height}}px", + "loopAnimation": "Zapętl animację", + "loopDescription": "GIF będzie odtwarzany bez przerwy" + }, + "tutorial": { + "howTrimmingWorks": "Jak działa przycinanie", + "title": "Jak działa przycinanie", + "understanding": "Dowiedz się, jak wycinać niechciane fragmenty filmu.", + "descriptionP1": "Narzędzie Przytnij działa przez zdefiniowanie segmentów, które chcesz", + "descriptionRemove": "usunąć", + "descriptionP2": "z filmu.", + "descriptionP3": "Każda część osi czasu pokryta czerwonym segmentem przycinania zostanie usunięta podczas eksportu.", + "visualExample": "Przykład wizualny", + "removed": "USUNIĘTE", + "kept": "Pozostawione", + "finalVideo": "Finalne wideo", + "part": "Część {{number}}", + "addTrimStep": "1. Dodaj przycięcie", + "addTrimDesc": "Naciśnij T lub kliknij ikonę nożyczek, aby oznaczyć sekcję do usunięcia.", + "adjustStep": "2. Dostosuj", + "adjustDesc": "Przeciągnij krawędzie czerwonego obszaru tak, aby objąć dokładnie to, co chcesz wyciąć." + }, + "feedback": { + "trigger": "Opinie", + "title": "Opinie i kontakt", + "description": "Skontaktuj się bezpośrednio lub zgłoś issue, jeśli czegoś brakuje albo coś nie działa.", + "emailLabel": "Email", + "xLabel": "X", + "reportIssue": "Zgłoś problem / wyślij opinię", + "openFailed": "Nie udało się otworzyć linku." + }, + "keyboardShortcuts": { + "trigger": "Skróty", + "title": "Skróty klawiszowe", + "description": "Szybka ściąga do osi czasu i kontrolek edytora.", + "customizeTooltip": "Dostosuj skróty", + "customize": "Dostosuj", + "panTimeline": "Przesuwanie osi czasu", + "zoomTimeline": "Powiększanie osi czasu", + "cycleAnnotations": "Przełączanie adnotacji", + "tab": "Tab" + }, + "actions": { + "saveAgain": "Zapisz ponownie", + "showInFolder": "Pokaż w folderze" + }, + "project": { + "untitled": "Bez tytułu" + }, + "nativeCaptureUnavailable": { + "title": "Nic się nie zepsuło, ale nie będziemy mogli wyrenderować animowanej nakładki kursora.", + "description": "Twoje urządzenie nie obsługuje natywnego przechwytywania. Może to wynikać z różnych przyczyn, których jeszcze nie ustaliliśmy. Nie psuje to działania Recordly, ale uniemożliwia wygładzanie kursora.", + "confirm": "OK" + }, + "exportStatus": { + "exporting": "Eksportowanie", + "renderingFile": "Renderowanie pliku.", + "preparing": "Przygotowywanie eksportu...", + "completePercent": "{{percent}}% ukończono", + "issue": "Problem z eksportem", + "complete": "Eksport zakończony", + "savedSuccessfully": "Plik został zapisany pomyślnie." + }, + "export": { + "processingAudioEdits": "Przetwarzanie dźwięku z edycjami prędkości/nakładek" + }, + "toolbar": { + "addLayer": "Dodaj warstwę", + "splitClip": "Podziel klip (C)" + }, + "timeline": { + "expand": "Rozwiń oś czasu", + "collapse": "Zwiń oś czasu" + }, + "openRecordingsFolder": "Otwórz folder z nagraniami" +} diff --git a/src/i18n/locales/pl/extensions.json b/src/i18n/locales/pl/extensions.json new file mode 100644 index 000000000..54d90da10 --- /dev/null +++ b/src/i18n/locales/pl/extensions.json @@ -0,0 +1,60 @@ +{ + "title": "Rozszerzenia", + "tabs": { + "browse": "Przeglądaj", + "installed": "Zainstalowane" + }, + "actions": { + "submit": "Prześlij rozszerzenie", + "docs": "Dokumentacja rozszerzeń", + "refresh": "Odśwież", + "openFolder": "Otwórz folder rozszerzeń", + "uninstall": "Odinstaluj", + "install": "Zainstaluj", + "installing": "Instalowanie", + "add": "Dodaj", + "retry": "Spróbuj ponownie", + "close": "Zamknij", + "folder": "Folder" + }, + "status": { + "enabled": "Włączone", + "disabled": "Wyłączone", + "installed": "Zainstalowane" + }, + "detail": { + "by": "Autor: {{author}}", + "unknownAuthor": "Nieznany autor", + "noDescription": "Brak opisu", + "downloads": "{{count}} pobrań", + "preview": "Podgląd", + "screenshotAlt": "Zrzut ekranu {{number}}", + "description": "Opis", + "tags": "Tagi", + "permissions": "Uprawnienia", + "location": "Lokalizacja", + "error": "Błąd: {{message}}" + }, + "empty": { + "title": "Brak rozszerzeń", + "description": "Zainstaluj rozszerzenia, aby dodać ramki, efekty kursora i narzędzia edytora." + }, + "search": { + "placeholder": "Szukaj rozszerzeń...", + "noResults": "Nie znaleziono rozszerzeń", + "noMarketplace": "Brak rozszerzeń marketplace", + "count": "{{count}} rozszerzenie", + "countPlural": "{{count}} rozszerzeń" + }, + "toast": { + "installedAndEnabled": "Rozszerzenie zostało zainstalowane i włączone", + "uninstalled": "Odinstalowano {{name}}", + "uninstallFailed": "Nie udało się odinstalować {{name}}", + "searchFailed": "Nie udało się przeszukać marketplace", + "refreshed": "Rozszerzenia zostały odświeżone", + "refreshFailed": "Nie udało się odświeżyć rozszerzeń", + "marketplaceInstalled": "Zainstalowano i włączono {{name}}", + "marketplaceInstallFailed": "Nie udało się zainstalować {{name}}", + "enableFailed": "Nie udało się włączyć rozszerzenia" + } +} diff --git a/src/i18n/locales/pl/launch.json b/src/i18n/locales/pl/launch.json new file mode 100644 index 000000000..e706108bc --- /dev/null +++ b/src/i18n/locales/pl/launch.json @@ -0,0 +1,80 @@ +{ + "recording": { + "disableSystemAudio": "Wyłącz dźwięk systemowy", + "enableSystemAudio": "Włącz dźwięk systemowy", + "disableMicrophone": "Wyłącz mikrofon", + "enableMicrophone": "Włącz mikrofon", + "micToggleDisabledTip": "Nie można przełączać mikrofonu podczas nagrywania", + "disableWebcam": "Wyłącz nakładkę kamery", + "enableWebcam": "Włącz nakładkę kamery", + "countdownDelay": "Opóźnienie odliczania", + "noDelay": "Brak opóźnienia", + "record": "Nagrywaj", + "recordingFolder": "Ścieżka nagrań: {{path}}", + "chooseRecordingsFolder": "Wybierz ścieżkę nagrań", + "folderPath": "Ścieżka: /{{name}}/", + "openVideoFile": "Otwórz plik wideo", + "openProject": "Otwórz projekt", + "hideHudFromVideo": "Ukryj HUD w nagraniu", + "showHudInVideo": "Pokaż HUD w nagraniu", + "hideHud": "Ukryj HUD", + "closeApp": "Zamknij aplikację", + "screens": "Ekrany", + "windows": "Okna", + "screen": "Ekran", + "window": "Okno", + "noSourcesFound": "Nie znaleziono źródeł", + "microphone": "Mikrofon", + "turnOffMicrophone": "Wyłącz mikrofon", + "selectMicToEnable": "Wybierz mikrofon do włączenia", + "noMicrophonesFound": "Nie znaleziono mikrofonów", + "webcam": "Kamera", + "turnOffWebcam": "Wyłącz kamerę", + "hideFloatingWebcamPreview": "Ukryj pływający podgląd", + "showFloatingWebcamPreview": "Pokaż pływający podgląd", + "selectWebcamToEnable": "Wybierz kamerę do włączenia", + "noWebcamsFound": "Nie znaleziono kamer", + "recordingsFolder": "Ścieżka nagrań", + "language": "Język", + "paused": "WSTRZYMANO", + "rec": "NAGR", + "resume": "Wznów", + "pause": "Wstrzymaj", + "stop": "Zatrzymaj", + "cancel": "Anuluj", + "more": "Więcej", + "update": { + "update": "Aktualizuj", + "updated": "Zaktualizowano", + "idleTitle": "Sprawdź aktualizacje.", + "checkingTitle": "Sprawdzanie aktualizacji...", + "downloadingTitle": "Pobieranie aktualizacji...", + "errorTitle": "Sprawdzanie aktualizacji nie powiodło się. Kliknij, aby spróbować ponownie.", + "upToDateTitle": "Recordly {{version}} jest aktualny.", + "availableTitle": "Dostępna jest wersja Recordly {{version}}.", + "availableGenericTitle": "Dostępna jest aktualizacja." + } + }, + "sourceSelector": { + "loadingSources": "Ładowanie źródeł...", + "screens": "Ekrany", + "windows": "Okna", + "noScreensAvailable": "Brak dostępnych ekranów", + "noWindowsAvailable": "Brak dostępnych okien", + "windowsNote": "Można nagrywać tylko widoczne (niezminimalizowane) okna.", + "windowPlaceholder": "Okno", + "cancel": "Anuluj", + "share": "Udostępnij" + }, + "permissions": { + "screenRecordingNeeded": "Recordly wymaga uprawnienia do nagrywania ekranu, zanim zaczniesz. Otworzono Ustawienia systemowe. Po jego włączeniu zamknij i ponownie uruchom Recordly.", + "screenRecordingMissing": "Uprawnienie do nagrywania ekranu nadal nie zostało nadane. Ponownie otwarto Ustawienia systemowe. Włącz je, a następnie zamknij i ponownie uruchom Recordly przed rozpoczęciem nagrywania.", + "accessibilityNeeded": "Recordly wymaga także uprawnienia Dostępność do śledzenia kursora. Otworzono Ustawienia systemowe. Po jego włączeniu zamknij i ponownie uruchom Recordly.", + "accessibilityMissing": "Uprawnienie Dostępność nadal nie zostało nadane. Ponownie otwarto Ustawienia systemowe. Włącz je, a następnie zamknij i ponownie uruchom Recordly przed rozpoczęciem nagrywania.", + "selectSource": "Wybierz źródło do nagrania", + "systemAudioUnavailable": "Dźwięk systemowy nie jest dostępny dla tego źródła. Nagrywanie będzie kontynuowane bez dźwięku systemowego.", + "microphoneDenied": "Odmówiono dostępu do mikrofonu. Nagrywanie będzie kontynuowane bez dźwięku z mikrofonu.", + "failedToStart": "Nie udało się rozpocząć nagrywania: {{error}}", + "failedToStartGeneric": "Nie udało się rozpocząć nagrywania" + } +} diff --git a/src/i18n/locales/pl/settings.json b/src/i18n/locales/pl/settings.json new file mode 100644 index 000000000..9a283ec9e --- /dev/null +++ b/src/i18n/locales/pl/settings.json @@ -0,0 +1,258 @@ +{ + "zoom": { + "level": "Poziom powiększenia", + "selectRegion": "Wybierz obszar powiększenia do dostosowania", + "deleteZoom": "Usuń powiększenie", + "modeAuto": "Automatyczny", + "modeManual": "Ręczny", + "modeManualDescription": "Ustaw stały punkt skupienia dla tego powiększenia", + "modeAutoDescription": "Kamera centruje się ponownie, gdy kursor zbliża się do krawędzi powiększonego widoku" + }, + "trim": { + "deleteRegion": "Usuń obszar przycięcia" + }, + "speed": { + "playbackSpeed": "Prędkość odtwarzania", + "selectRegion": "Wybierz obszar prędkości do dostosowania", + "deleteRegion": "Usuń obszar prędkości", + "label": "Prędkość" + }, + "clip": { + "title": "Klip", + "mute": "Wycisz", + "mutedState": "Dźwięk jest wyciszony", + "unmutedState": "Dźwięk jest odtwarzany", + "separateClipFromAudio": "Oddziel klip od dźwięku", + "delete": "Usuń klip" + }, + "effects": { + "title": "Efekty wideo", + "show": "Pokaż", + "showCursor": "Pokaż kursor", + "loopCursor": "Zapętl kursor", + "cursorStyle": "Styl kursora", + "cursorStyleOptions": { + "macos": "macOS", + "tahoe": "Tahoe", + "tahoe-inverted": "Tahoe Inverted", + "dot": "Kropka", + "figma": "Minimalny", + "lavender": "Lawenda", + "parched": "Wysuszony", + "chooper": "Chooper", + "amongus": "Among Us", + "turtle": "Żółw" + }, + "backgroundBlur": "Rozmycie tła", + "zoomMotionBlur": "Rozmycie ruchu powiększenia", + "temporalZoomMotionBlur": "Czasowe rozmycie powiększenia", + "temporalZoomMotionBlurDescription": "Kontroluj okno migawki i próbki klatek używane przez nowszy przebieg rozmycia powiększenia.", + "zoomMotionBlurSamples": "Próbki rozmycia", + "zoomMotionBlurShutter": "Migawka", + "auto": "Automatycznie", + "connectZooms": "Łącz powiększenia", + "connectZoomsDescription": "Wygładzaj kolejne obszary powiększenia do jednego ciągłego ruchu kamery.", + "autoApplyFreshRecordingZooms": "Automatycznie stosuj powiększenia nowego nagrania", + "autoApplyFreshRecordingZoomsDescription": "Automatycznie sugeruj powiększenia z ponownym wyśrodkowaniem przy krawędziach po otwarciu nowego nagrania.", + "zoomGeneralTitle": "Ogólne", + "zoomGeneralDescription": "Globalne ustawienia ruchu dla każdego przejścia powiększenia.", + "zoomInTitle": "Przybliżenie", + "zoomInDescription": "Kontroluj sposób wejścia kamery w obszar powiększenia.", + "zoomOutTitle": "Oddalenie", + "zoomOutDescription": "Kontroluj sposób wyjścia kamery z obszaru powiększenia.", + "connectedZoomTitle": "Między powiększeniami", + "connectedZoomDescription": "Dostosuj płynne przejście między kolejnymi obszarami powiększenia, gdy połączenie jest włączone.", + "motionPresetsTitle": "Presety ruchu", + "motionPresetsZoomHint": "Presety ruchu powiększenia są dostępne w Ustawieniach.", + "animationPresets": "Presety animacji", + "cursorMotionPresets": "Presety ruchu kursora", + "motionPresets": { + "focused": { + "label": "Skupiony", + "description": "Żwawszy ruch do dem, walkthroughów i codziennych nagrań." + }, + "smooth": { + "label": "Płynny", + "description": "Łagodniejszy ruch do prezentacji, filmów w stylu keynote i dopracowanych ujawnień." + } + }, + "zoomInDuration": "Czas przybliżenia", + "zoomInOverlap": "Nakładanie przybliżenia", + "zoomOutDuration": "Czas oddalenia", + "zoomInEasing": "Krzywa przybliżenia", + "zoomOutEasing": "Krzywa oddalenia", + "connectedZoomGap": "Odstęp połączonych powiększeń", + "connectedZoomDuration": "Czas połączonego powiększenia", + "connectedZoomEasing": "Krzywa połączonego przesunięcia", + "zoomEasingOptions": { + "recordly": "Recordly", + "glide": "Glide", + "smooth": "Płynna", + "snappy": "Dynamiczna", + "linear": "Liniowa" + }, + "cursorSize": "Rozmiar kursora", + "cursorSmoothing": "Wygładzanie kursora", + "cursorSpringStiffness": "Sztywność sprężyny kursora", + "cursorSpringDamping": "Tłumienie sprężyny kursora", + "cursorSpringMass": "Masa sprężyny kursora", + "off": "Wyłączone", + "cursorClickEffects": { + "title": "Efekty kliknięcia", + "advanced": "Zaawansowane", + "advancedShow": "Pokaż zaawansowane ustawienia efektów kliknięcia", + "advancedHide": "Ukryj zaawansowane ustawienia efektów kliknięcia", + "color": "Kolor efektu", + "size": "Rozmiar efektu", + "opacity": "Przezroczystość efektu", + "duration": "Czas trwania efektu", + "none": { + "label": "Wyłączone", + "description": "Brak grafiki kliknięcia. Zmienia się tylko ruch kursora przy kliknięciu." + }, + "ripple": { + "label": "Fala", + "description": "Rozszerzające się pierścienie rozchodzą się od każdego kliknięcia, dzięki czemu kliknięcia są czytelne w ruchu." + }, + "spotlight": { + "label": "Reflektor", + "description": "Miękka poświata rozbłyska wokół wskaźnika, aby podkreślić kliknięty obszar." + }, + "echo": { + "label": "Echo", + "description": "Para delikatnych pierścieni rozszerzających się na zewnątrz z czystszym pulsem." + } + }, + "cursorMotionBlur": "Rozmycie ruchu kursora", + "cursorClickBounce": "Odbicie kliknięcia kursora", + "cursorClickBounceDuration": "Szybkość odbicia", + "cursorSway": "Kołysanie kursora", + "webcam": "Nakładka kamery", + "webcamFootage": "Materiał z kamery", + "webcamFootageDescription": "Brak materiału z kamery powiązanego z tym wideo", + "uploadWebcamFootage": "Prześlij materiał", + "replaceWebcamFootage": "Zastąp materiał", + "removeWebcamFootage": "Usuń materiał", + "webcamFootageAdded": "Materiał z kamery został powiązany", + "webcamFootageRemoved": "Materiał z kamery został usunięty", + "webcamSize": "Rozmiar kamery", + "webcamWidth": "Szerokość kamery", + "webcamHeight": "Wysokość kamery", + "webcamCrop": "Przycięcie kamery", + "webcamReactToZoom": "Kamera reaguje na powiększenie", + "webcamMirror": "Odbij kamerę", + "webcamRoundness": "Zaokrąglenie kamery", + "webcamShadow": "Cień kamery", + "shadow": "Cień", + "radius": "Promień", + "roundness": "Zaokrąglenie", + "padding": "Odstęp wewnętrzny", + "paddingLinked": "Połączone (jednolite)", + "paddingUnlinked": "Rozłączone (asymetryczne)", + "paddingTop": "Góra", + "paddingBottom": "Dół", + "paddingLeft": "Lewo", + "paddingRight": "Prawo", + "removeBackground": "Usuń tło" + }, + "sections": { + "scene": "Scena", + "captions": "Napisy", + "caption": "Napis", + "zoom": "Powiększenie", + "cursor": "Kursor", + "webcam": "Kamera", + "frame": "Ramka", + "crop": "Przycięcie" + }, + "captions": { + "selectOnTimeline": "Wybierz napis na osi czasu, aby go edytować.", + "enabled": "Pokaż", + "timelineQuickAdd": "Najedź, aby szybko dodać na osi czasu", + "language": "Język", + "downloading": "Pobieranie...", + "deleteModel": "Usuń model", + "clearModel": "Wyczyść model", + "downloadModel": "Pobierz model", + "generating": "Generowanie...", + "generateFull": "Generuj napisy", + "regenerateFull": "Generuj napisy ponownie", + "clearFull": "Wyczyść napisy", + "fontSettings": "Ustawienia czcionki", + "defaultFont": "Domyślna", + "fontFamily": "Czcionka", + "fontSize": "Rozmiar czcionki", + "rowCount": "Wiersze", + "animation": "Animacja", + "animationOff": "Wyłączona", + "animationFade": "Zanikanie", + "animationRise": "Wznoszenie", + "animationPop": "Wyskok", + "bottomOffset": "Dolne przesunięcie", + "maxWidth": "Maksymalna szerokość", + "boxRadius": "Promień ramki", + "backgroundOpacity": "Przezroczystość tła", + "textColor": "Kolor tekstu", + "editor": { + "text": "Tekst", + "start": "Początek", + "end": "Koniec", + "split": "Podziel", + "merge": "Scal", + "delete": "Usuń" + } + }, + "crop": { + "title": "Przytnij wideo", + "instruction": "Przeciągnij z każdej strony, aby dostosować obszar przycięcia", + "top": "Góra", + "bottom": "Dół", + "left": "Lewo", + "right": "Prawo", + "openEditor": "Otwórz edytor przycinania" + }, + "background": { + "title": "Tło", + "image": "Obraz", + "color": "Kolor", + "gradient": "Gradient", + "wallpaperPreview": "Podgląd tapety", + "uploadCustom": "Prześlij własne", + "uploadSuccess": "Własny obraz został pomyślnie przesłany!", + "uploadError": "Prześlij plik obrazu JPG lub JPEG.", + "uploadErrorDescription": "Obsługiwane są tylko obrazy JPG i JPEG." + }, + "export": { + "title": "Eksport", + "mp4": "MP4", + "gif": "GIF", + "quality": { + "low": "Niska", + "medium": "Średnia", + "high": "Wysoka", + "original": "Oryginalna" + }, + "fpsTitle": "FPS", + "loop": "Zapętl", + "outputDimensions": "Wyjście: {{dimensions}}px", + "sizePresetOriginalShort": "Oryg", + "sizePresetMediumShort": "Śred", + "sizePresetLargeShort": "Duż", + "loadProject": "Wczytaj projekt", + "saveProject": "Zapisz projekt", + "exportVideo": "Eksportuj {{format}}", + "reportBug": "Zgłoś błąd", + "starOnGithub": "Daj gwiazdkę na GitHubie" + }, + "audio": { + "title": "Dźwięk", + "volumeTitle": "Dźwięk", + "volume": "Głośność", + "normalize": "Normalizuj", + "sourceTracksTitle": "Dźwięk źródłowy klipu", + "systemLabel": "Źródło systemowe", + "micLabel": "Źródło mikrofonu", + "mixedLabel": "Źródło", + "deleteRegion": "Usuń dźwięk" + } +} diff --git a/src/i18n/locales/pl/shortcuts.json b/src/i18n/locales/pl/shortcuts.json new file mode 100644 index 000000000..4f81ba961 --- /dev/null +++ b/src/i18n/locales/pl/shortcuts.json @@ -0,0 +1,16 @@ +{ + "actions": { + "addZoom": "Dodaj powiększenie", + "addTrim": "Dodaj przycięcie", + "addSpeed": "Dodaj prędkość", + "addAnnotation": "Dodaj adnotację", + "addKeyframe": "Dodaj klatkę kluczową", + "deleteSelected": "Usuń zaznaczone", + "playPause": "Odtwórz / Wstrzymaj", + "cycleForward": "Przełączaj adnotacje do przodu", + "cycleBackward": "Przełączaj adnotacje do tyłu", + "deleteSelectedAlt": "Usuń zaznaczone (alt)", + "panTimeline": "Przesuwaj oś czasu", + "zoomTimeline": "Powiększaj oś czasu" + } +} diff --git a/src/i18n/locales/pl/timeline.json b/src/i18n/locales/pl/timeline.json new file mode 100644 index 000000000..495eca9c4 --- /dev/null +++ b/src/i18n/locales/pl/timeline.json @@ -0,0 +1,41 @@ +{ + "zoom": { + "cannotPlace": "Nie można umieścić powiększenia tutaj", + "existsOrNoSpace": "Powiększenie już istnieje w tym miejscu albo brakuje dostępnego miejsca.", + "suggestHandlerUnavailable": "Moduł sugestii powiększeń jest niedostępny", + "noTelemetry": "Brak danych telemetrycznych kursora", + "recordFirst": "Najpierw nagraj ekran, aby wygenerować sugestie oparte na kursorze.", + "noUsableTelemetry": "Brak użytecznych danych telemetrycznych kursora", + "notEnoughMovement": "Nagranie nie zawiera wystarczającej ilości danych o ruchu kursora.", + "noInteractionMoments": "Nie znaleziono wyraźnych momentów interakcji", + "tryRecording": "Spróbuj nagrać materiał z pauzami lub kliknięciami wokół ważnych działań.", + "noAutoZoomSlots": "Brak dostępnych slotów auto-powiększenia", + "dwellPointsOverlap": "Wykryte punkty zatrzymania nakładają się na istniejące obszary powiększenia.", + "addedSuggestions": "Dodano {{count}} sugestii powiększenia opartych na interakcjach", + "label": "Powiększenie {{index}}", + "addZoom": "Dodaj powiększenie (Z)", + "suggestZooms": "Zaproponuj powiększenia z kursora" + }, + "trim": { + "cannotPlace": "Nie można umieścić przycięcia tutaj", + "existsOrNoSpace": "Przycięcie już istnieje w tym miejscu albo brakuje dostępnego miejsca.", + "label": "Przycięcie {{index}}", + "addTrim": "Dodaj przycięcie (T)" + }, + "speed": { + "cannotPlace": "Nie można umieścić zmiany prędkości tutaj", + "existsOrNoSpace": "Obszar prędkości już istnieje w tym miejscu albo brakuje dostępnego miejsca.", + "label": "Prędkość" + }, + "annotation": { + "label": "Adnotacja", + "image": "Obraz", + "addAnnotation": "Dodaj adnotację (A)" + }, + "audio": { + "label": "Dźwięk" + }, + "addSpeed": "Dodaj prędkość (S)", + "resizeLeft": "Zmień rozmiar z lewej", + "resizeRight": "Zmień rozmiar z prawej" +}