From 8d710f75eed2924a6c87c68ef9c8ca966a2c157a Mon Sep 17 00:00:00 2001 From: MarioJack123 Date: Mon, 27 Jul 2026 21:17:06 +0200 Subject: [PATCH] Add Polish (pl_PL) translation Complete pl_PL translation matching the current Msty Studio app structure (4975 keys). Validated: key parity, placeholders, @: alias tokens, ICU plural form counts, JSON/UTF-8 validity, no duplicate keys. --- i18n/locales/pl_PL.json | 7389 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 7389 insertions(+) create mode 100644 i18n/locales/pl_PL.json diff --git a/i18n/locales/pl_PL.json b/i18n/locales/pl_PL.json new file mode 100644 index 0000000..e87e934 --- /dev/null +++ b/i18n/locales/pl_PL.json @@ -0,0 +1,7389 @@ +{ + "you": "Ty", + "select": "Wybierz", + "selectAll": "Zaznacz wszystko", + "selected": "Wybrane", + "conversations": "Rozmowy", + "copyToClipboard": "Skopiuj do schowka", + "copyJsonToClipboard": "Skopiuj JSON do schowka", + "toCopyMarkdownDirectly": "aby bezpośrednio skopiować Markdown", + "clickToCopyMarkdownDirectly": "Kliknij, aby bezpośrednio skopiować Markdown", + "toShowMoreOptions": ", aby wyświetlić więcej opcji", + "longPressOrAltClickForMoreOptions": "Naciśnij długo lub {key} i kliknij, aby uzyskać więcej opcji", + "rightClickForMoreOptions": "Kliknij prawym przyciskiem myszy, aby uzyskać więcej opcji", + "onMessage": "na wiadomość", + "selectModel": "@:select model | @:select modele", + "manageModels": "@:manage modelami", + "required": "Wymagane", + "optional": "Opcjonalne", + "systemPrompt": "Prompt systemowy", + "systemPromptAttachMode": "Tryb dołączania promptu systemowego", + "userPrompt": "Prompt użytkownika", + "delete": "Usuń {item}", + "deleteWithConfirm": "Usuń...", + "removeWithConfirm": "Usuń...", + "deleteAll": "Usuń wszystko", + "deleteItems": "Usuń elementy", + "create": "Utwórz", + "edit": "Edytuj", + "editNote": "Edytuj notatkę...", + "addNote": "Dodaj notatkę...", + "viewDetails": "Zobacz szczegóły...", + "expandTextarea": "Rozwiń edytor", + "collapseTextarea": "Zwiń edytor", + "enable": "Włącz", + "disable": "Wyłącz", + "save": "Zapisz", + "saved": "Zapisano", + "cancel": "Anuluj", + "close": "Zamknij", + "bookmarked": "Dodane do zakładek", + "pinned": "Przypięte", + "update": "Aktualizacja", + "apply": "Zastosuj", + "reset": "Zresetuj", + "icon": "Ikona", + "clear": "Jasne", + "apiKey": "Klucz API", + "models": "Modele", + "available": "Dostępne {itemType}", + "unavailable": "Niedostępne", + "detected": "Wykryto", + "continue": "Kontynuuj", + "undetected": "Niewykryty", + "welcome": "Witamy!", + "plan": "Planuj", + "allChangesSaved": "Wszystkie zmiany zostały zapisane", + "toolbar": "Pasek narzędzi", + "bookmark": "Zakładka | Zakładki", + "later": "Później", + "waitingMessage": { + "waiting": "Oczekiwanie :: Trzymaj się :: Jeszcze chwila :: Jedna sekunda :: Cierpliwość jest cnotą :: Już prawie :: Ładowanie wspaniałości", + "fetchingWebResults": "Przeszukiwanie sieci :: Przeglądanie Internetu :: Szukanie online :: Przeszukiwanie sieci :: Konsultowanie się z wyrocznią :: Ładnie pytaj w Internecie :: Nurkowanie w cyberprzestrzeni :: Eksplorowanie sieci", + "queryingKnowledgeStack": "Zapytanie @:knowledgeStack.title :: Przeszukiwanie wiedzy :: Przeglądanie dokumentów :: Eksplorowanie bazy wiedzy :: Przeglądanie swojej mądrości :: Sprawdzanie biblioteki cyfrowej :: Skanowanie archiwów :: Przeglądanie notatek", + "preparingTools": "Przygotowanie narzędzi :: Przygotowanie narzędzi :: Przygotowanie narzędzi :: Ładowanie narzędzi :: Ostrzenie instrumentów :: Montaż zestawu narzędzi :: Rozgrzewanie silników :: Przygotowanie miejsca pracy", + "connectingToModel": "Model robi swoją magię ✨ :: Sztuczna inteligencja myśli :: Przetwarza Twoją prośbę :: Pracuje nad nią :: Obliczanie liczb :: Odpalanie neuronów :: Głębokie zastanawianie się :: Doskonałość obliczeń :: Angażujący tryb mózgu :: Przywoływanie inteligencji", + "processingContext": "Przetwarzanie Kontekstu :: Zrozumienie kontekstu :: Analizowanie kontekstu :: Czytanie sytuacji :: Łączenie kropek :: Uchwycenie całościowego obrazu :: Składanie go w całość :: Nadawanie sensu rzeczom", + "streaming": "Przesyłanie strumieniowe :: Wysyłanie odpowiedzi :: Dostarczanie odpowiedzi :: Przesyłanie :: Przesyłanie wyników :: Płynę w Twoją stronę :: W drodze do Ciebie :: Nadchodzi gorąco", + "scrubbingPIIData": "Czyszczenie danych PII :: Ochrona Twojej prywatności :: Usuwanie danych osobowych :: Anonimizacja danych :: Ochrona tajemnic :: Włączony tryb prywatności :: Redagowanie wrażliwych fragmentów :: Przejście do trybu incognito", + "synthesizingQuery": "Syntetyzowanie zapytania w celu uzyskania lepszych wyników :: Optymalizacja pytania :: Udoskonalanie zapytania :: Udoskonalanie wyszukiwanych haseł :: Dopracowywanie zapytania :: Dopracowywanie pytania :: Tworzenie idealnego zapytania :: Nadanie blasku Twoim słowom", + "fetchingLiveContexts": "Pobieranie kontekstów na żywo :: Zbieranie danych w czasie rzeczywistym :: Wyciąganie świeżych spostrzeżeń :: Synchronizacja ze źródłami na żywo :: Podłączanie strumienia danych :: Zbieranie bieżących informacji :: Odświeżanie kanałów kontekstowych :: Zbieranie aktualizacji na żywo :: Łączenie się z pulsem" + }, + "progress": { + "initializing": "Inicjowanie..." + }, + "add": "Dodaj", + "easyAccess": { + "title": "Łatwy dostęp", + "quickActions": "Szybkie działania", + "shortcuts": "Szybki dostęp", + "addToEasyAccess": "Dodaj do szybkiego dostępu", + "removeFromEasyAccess": "Usuń z szybkiego dostępu", + "resetToDefaults": "Przywróć ustawienia domyślne", + "noItems": "Nie ma jeszcze skrótów" + }, + "actionBar": { + "expandGroup": "Rozwiń {group}", + "collapseGroup": "Zwiń {group}", + "pinActionsHint": "Kliknij dwukrotnie, aby przypiąć", + "unpinActionsHint": "Kliknij dwukrotnie, aby odpiąć", + "toggleActions": "Przełącz działania", + "showExtraAddOns": "Pokaż dodatkowe dodatki", + "hideExtraAddOns": "Ukryj dodatkowe dodatki", + "activeInThisSplit": "Aktywny w tym splicie", + "groups": { + "model": "Model i prompty", + "data": "Dane i wiedza", + "tools": "Narzędzia i osoby" + } + }, + "unauthorized": "Nieautoryzowane", + "valid": "Ważne", + "invalid": "Nieprawidłowe", + "done": "Gotowe!", + "confirm": "Potwierdź", + "shareWithSyncedSplits": "Udostępnij za pomocą zsynchronizowanych podziałów", + "source": "Źródło | Źródła", + "groundingSources": "Źródła uziemienia", + "manage": "Zarządzaj", + "chat": "Rozmowa | Czaty", + "advancedOptions": "Opcje zaawansowane", + "duplicate": "Duplikat", + "manageItem": "@:manage {item}", + "success": "Sukces!", + "notes": "Notatki", + "viewNotes": "Zobacz notatki", + "error": "Błąd!", + "warning": "Ostrzeżenie", + "authorized": "Autoryzowane", + "notAuthorized": "Nieautoryzowany", + "authorize": "Autoryzuj", + "reauthorize": "Autoryzuj ponownie", + "deauthorize": "Usuń autoryzację", + "failedToDelete": "Nie udało się usunąć", + "failedToSave": "Nie udało się zapisać", + "failedToUpdate": "Nie udało się zaktualizować", + "updatedSuccess": "zaktualizowano.", + "applyAndShareWithSyncedSplits": "Zastosuj i udostępnij dzięki zsynchronizowanym podziałom", + "clickToEdit": "Kliknij, aby edytować", + "clickToAddSystemPrompt": "Kliknij, aby dodać @:systemPrompt", + "pause": "Pauza", + "resume": "Wznów", + "retry": "Spróbuj ponownie", + "stop": "Zatrzymaj się", + "run": "Biegnij | Biegnie", + "rerun": "Uruchom ponownie", + "remove": "Usuń", + "skip": "Pomiń", + "unskip": "Anuluj pominięcie", + "startImporting": "Rozpocznij importowanie", + "new": "Nowy", + "entry": "Wpis | Wpisy", + "import": "Importuj", + "connect": "Połącz", + "disconnect": "Rozłącz", + "reconnect": "Połącz ponownie", + "selectTargetFolder": "Wybierz Folder docelowy", + "createNewFolderForImport": "Utwórz nowy folder dla zaimportowanych elementów", + "newFolderName": "Nowa nazwa folderu", + "remote": "Zdalny", + "local": "Lokalny", + "strength": "siła | Mocne strony", + "provider": "Dostawca", + "capability": "{count} Możliwość | Możliwości {count}", + "preset": "Ustawienie wstępne | Ustawienia wstępne", + "saveAsPreset": "Zapisz jako @:preset", + "append": "Dołącz", + "prepend": "Przygotuj", + "replace": "Wymień", + "description": "Opis", + "mode": "Tryb", + "addOns": "Dodatki", + "user": "Użytkownik", + "assistant": "Asystent", + "assistantMessage": "@:assistant @:message.title", + "connectionInfo": "Informacje o połączeniu", + "export": "Eksportuj", + "exportOptions": "Opcje eksportu", + "chooseFile": "Wybierz Plik", + "purpose": "Cel", + "download": "Pobierz", + "downloads": "Pliki do pobrania", + "downloadAsJson": "Pobierz jako JSON", + "install": "Zainstaluj", + "installed": "Zainstalowany", + "modified": "Zmodyfikowany", + "created": "Utworzono", + "minimize": "Minimalizuj", + "status": "Stan", + "type": "Wpisz", + "yes": "Tak", + "fileSize": "Rozmiar pliku", + "size": "Rozmiar", + "likes": "Jak | Lubi", + "cancelled": "Anulowano", + "parameterSize": "@:size parametru", + "quantization": "Kwantyzacja", + "quantizationLevel": "Poziom kwantyzacji", + "contextSize": "Rozmiar kontekstu", + "defaultToModelMax": "Domyślnie model max", + "llamaCppContextSizeDescription": "Maksymalna liczba tokenów, które model przetwarza jednocześnie. Ustaw na 0, aby użyć maksimum modelu. Większe wartości zwiększają użycie pamięci. Ta wartość jest zapisywana globalnie dla każdego modelu za pomocą pliku LLaMa.cpp. Kontekst jest współdzielony równo w liczbie jednoczesnych żądań ustawionych w ustawieniach usługi LLaMa.cpp.", + "truncationStrategy": { + "truncateMiddle": "Obetnij środek", + "truncateOld": "Obetnij stary", + "none": "Żadne" + }, + "truncationStrategyDescription": "Jak obsługiwać komunikaty, gdy zbliża się limit kontekstu.", + "storage": "Przechowywanie", + "params": "Parametry", + "arch": "Łuk", + "filter": "Filtruj", + "treeControls": { + "title": "Sortuj i wyświetlaj", + "searchPlaceholder": "Szukaj...", + "clear": "Zresetuj", + "foldersFirst": "Najpierw foldery", + "itemsFirst": "Najpierw przedmioty", + "sort": { + "none": "Żadne", + "name": "Imię", + "title": "Tytuł", + "created": "Utworzono", + "updated": "Zaktualizowano", + "lastUsed": "Ostatnio używany", + "ascending": "Rosnąco", + "descending": "Malejąco" + }, + "visibility": { + "label": "Widoczność", + "empty": { + "show": "Pokaż puste foldery", + "hide": "Ukryj puste foldery" + }, + "counts": { + "show": "Pokaż liczbę elementów", + "hide": "Ukryj liczbę przedmiotów" + }, + "recents": { + "show": "Pokaż najnowsze", + "hide": "Ukryj najnowsze" + }, + "archive": { + "show": "Pokaż zarchiwizowane", + "hide": "Ukryj zarchiwizowane" + } + } + }, + "noSearchResults": "Dla tego wyszukiwania nie znaleziono {item}", + "loading": "Ładowanie", + "invite": "Zaproś", + "refresh": "Odśwież", + "email": "E-mail", + "role": "Rola", + "admin": "Administrator", + "owner": "Właściciel", + "inActive": "Nieaktywny", + "argument": "Argument|Argumenty", + "abort": "Przerwij", + "send": "Wyślij", + "remindMeLater": "Przypomnij mi później", + "text": "Tekst", + "folders": "Foldery", + "folder": "Folder | @:folders", + "title": "Tytuł", + "search": { + "label": "Szukaj", + "scope": { + "active": "Aktywny", + "archived": "Zarchiwizowane", + "all": "Wszystko" + } + }, + "fuzzySearch": { + "enabled": "Włączono wyszukiwanie rozmyte", + "disabled": "Wyszukiwanie rozmyte wyłączone", + "enabledHint": "Wyszukiwanie rozmyte włączone. Kliknij, aby przełączyć", + "disabledHint": "Wyszukiwanie rozmyte wyłączone. Kliknij, aby przełączyć" + }, + "none": "Żadne", + "change": "Zmień", + "expandAllProjects": "Rozwiń Wszystkie projekty", + "collapseAllProjects": "Zwiń wszystkie projekty", + "expandAllFolders": "Rozwiń wszystkie foldery", + "collapseAllFolders": "Zwiń wszystkie foldery", + "expand": "Rozwiń", + "collapse": "Zwiń", + "clone": { + "title": "Klonuj {item}", + "successMessage": { + "detail": "Sklonowano {item}" + }, + "errorMessage": { + "detail": "Nie udało się sklonować {item}" + } + }, + "notesPurposePlaceholder": "Dodaj notatki, które pomogą Ci zapamiętać cel tego {item}; będzie to również widoczne dla modeli, które mogą dostarczyć im więcej szczegółów na temat korzystania z tego {item} (@:optional)", + "endpointTestResults": "Wyniki testu punktu końcowego", + "testConnection": "Połączenie testowe", + "emptyPlaceholder": "Nie znaleziono {item}", + "selectItem": "@:select {item}", + "selectedItemLabel": "{count} {title}", + "feature": "Funkcja|Cechy", + "raw": "Surowy", + "rawOutput": "Surowe wyjście", + "property": "Własność|Właściwości", + "configure": "Skonfiguruj", + "customInstructions": "Instrukcje niestandardowe", + "context": "Kontekst | Konteksty", + "path": "Ścieżka | Ścieżki", + "project": { + "title": "Projekt | Projekty", + "createRootProject": "Nowy projekt w root", + "projectName": "Nazwa projektu", + "projectDescription": "Opis projektu", + "defaultModel": "Domyślny model", + "customInstructions": "Instrukcje niestandardowe", + "addChildProject": "Dodaj projekt podrzędny", + "promoteToRoot": { + "title": "Przenieś folder do katalogu głównego", + "errorMessage": { + "detail": "Nie udało się przenieść projektu do katalogu głównego." + }, + "successMessage": { + "detail": "Projekt został pomyślnie przeniesiony do katalogu głównego." + } + }, + "deleteProject": "Usuń projekt", + "setDefaultForNewConversations": "Ustaw jako projekt domyślny", + "unsetDefaultForNewConversations": "Usuń ustawienie domyślnego projektu", + "orphanageProjectName": "Różne", + "includeProjectContext": "Uwzględnij kontekst projektu", + "deleteConfirmation": { + "header": "Usuń projekt", + "message": "Czy na pewno chcesz usunąć {projectName} i wszystkie jego rozmowy?", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete", + "successMessage": { + "detail": "Projekt usunięty" + } + }, + "deleteAllConversations": { + "title": "Usuń wszystkie rozmowy", + "description": "Czy na pewno chcesz usunąć wszystkie rozmowy w {projectName}? Tej akcji nie można cofnąć.", + "successMessage": { + "detail": "Usunięto rozmowę {count} | Usunięto rozmowy {count}", + "empty": "Brak rozmów do usunięcia" + }, + "errorMessage": { + "detail": "Nie udało się usunąć rozmów" + } + }, + "archiveAllConversations": { + "title": "Archiwizuj wszystkie rozmowy", + "description": "Zarchiwizować wszystkie rozmowy w {projectName}? Zostaną przeniesione do Archiwum i będzie można je później przywrócić.", + "confirmLabel": "Archiwizuj wszystko", + "successMessage": { + "detail": "Zarchiwizowano {count} rozmowę | Zarchiwizowano {count} rozmowy" + }, + "errorMessage": { + "detail": "Nie udało się zarchiwizować rozmów" + } + }, + "projectForm": { + "addFiles": "Dodaj pliki", + "editProject": "Edytuj projekt", + "createNewProject": "Nowy projekt", + "dragAndDropFiles": "Przeciągnij i upuść pliki, które zostaną dołączone do każdej rozmowy w tym projekcie.", + "successMessage": { + "createDetail": "Projekt stworzony", + "createDetailHidden": "Projekt stworzony! Obecnie jest ukryty, ponieważ jest pusty. Kliknij przycisk poniżej, aby wyświetlić go teraz lub pojawi się on automatycznie po dodaniu pierwszej rozmowy.", + "updateDetail": "Projekt zaktualizowany" + }, + "errorMessage": { + "createDetail": "Nie udało się utworzyć projektu", + "updateDetail": "Nie udało się zaktualizować projektu" + } + }, + "emptyProjectVisibilityToast": { + "showButton": "Pokaż puste projekty", + "enabled": "Puste projekty są teraz widoczne" + }, + "startNewToGetStarted": "Aby rozpocząć, rozpocznij nową rozmowę", + "importConversation": { + "pointsToConsider": { + "title": "Punkty do rozważenia", + "importFormats": "Importuj pliki, korzystając z prawidłowych wyeksportowanych rozmów w formacie JSON lub spakowanych plików .mstyconv.", + "jsonAttachments": "Podczas korzystania z formatu JSON załączniki nie zostaną zaimportowane, jeśli jeszcze nie istnieją.", + "zipAttachments": "W przypadku korzystania z formatu ZIP załączniki zawarte w ZIP zostaną zaimportowane i połączone z rozmową." + }, + "title": "Importuj Rozmowę", + "invalidConversationFile": "Nieprawidłowy plik rozmowy. Wybierz prawidłowy plik JSON lub ZIP.", + "description": "Wybierz plik rozmowy, który chcesz zaimportować do {projectName}. Obsługiwane formaty: JSON, ZIP.", + "successMessage": { + "detail": "Pomyślnie zaimportowano rozmowę" + }, + "errorMessage": { + "detail": "Nie udało się zaimportować rozmowy" + } + } + }, + "selectedModel": "Wybrany model", + "endpoint": "Punkt końcowy", + "authToken": "Token uwierzytelniający", + "before": "Przed", + "after": "po", + "method": "Metoda", + "httpMethod": "HTTP @:method", + "get": "Zdobądź", + "post": "Opublikuj", + "presetAlreadyExistsMessage": "@:preset o tej samej nazwie już istnieje.", + "duplicatePresetOverwriteMessage": "@:presetAlreadyExistsMessage Jeśli zapiszesz, zastąpi to istniejące ustawienie wstępne.", + "noPropsAvailable": "Brak dostępnego {propsName}. Dodaj niestandardowy.", + "localAI": "@:local AI", + "branch": { + "clickToLabel": "Kliknij, aby dodać etykietę", + "labelPlaceholder": "Etykieta oddziału (maks. 30 znaków)", + "labelBranch": "Oddział Etykiety...", + "labelDialogTitle": "Oddział Etykiety", + "noLabel": "Brak etykiety", + "clickForOptions": "Kliknij, aby uzyskać więcej opcji", + "timeline": { + "title": "Eksplorator oddziałów", + "viewAll": "Eksplorator oddziałów...", + "branchNumber": "Oddział {n}", + "current": "Aktualny", + "branches": "Gałęzie", + "compare": "Porównaj" + }, + "diff": { + "title": "Porównaj oddziały", + "compare": "Porównaj gałęzie", + "exitCompare": "Wyjdź z trybu porównania", + "selectFirst": "Wybierz pierwszą gałąź do porównania", + "selectSecond": "Wybierz drugą gałąź do porównania", + "selected": "Wybrane", + "identical": "Treść jest identyczna", + "leftBranch": "Pierwsza gałąź", + "rightBranch": "Druga gałąź", + "selectBranch": "Wybierz oddział", + "selectBranchesToCompare": "Wybierz dwie gałęzie powyżej, aby porównać ich zawartość", + "switchToBranch": "Przełącz na {name}", + "viewDiff": "Różnica", + "viewSideBySide": "Obok siebie" + } + }, + "conversation": { + "title": "Rozmowa | Rozmowy", + "conversationTitle": "@:conversation.title Tytuł", + "contextShieldErrorMessage": { + "summary": "Nie udało się wygenerować podsumowania kontekstu.", + "detail": "Aby uzyskać więcej informacji, sprawdź Ustawienia > Powiadomienia." + }, + "sendErrorMessage": { + "summary": "Nie udało się wysłać wiadomości.", + "detail": "Aby uzyskać więcej informacji, sprawdź Ustawienia > Powiadomienia." + }, + "contextSizeError": { + "summary": "Wiadomość przekracza limit kontekstu", + "detail": "Twoja wiadomość zawierająca wyniki wyszukiwania i kontekst jest za duża dla tego modelu. Try: increasing context size from model parameters, reducing search results, clearing conversation history, using a model with larger context (16k+), or shortening your system instructions." + }, + "deleteConversation": "Usuń Rozmowę", + "addNewConversation": "Dodaj nową rozmowę", + "newConversation": "Nowa @:conversation.title", + "treeControls": { + "title": "Sortuj i wyświetlaj", + "projectSort": { + "none": "Żadne", + "name": "Imię", + "created": "Utworzono", + "ascending": "Rosnąco", + "descending": "Malejąco", + "projectsFirst": "Najpierw projekty" + }, + "conversationSort": { + "none": "Żadne", + "title": "Tytuł", + "created": "Utworzono", + "lastActivity": "Ostatnia aktywność", + "ascending": "Rosnąco", + "descending": "Malejąco" + }, + "priority": { + "none": "Bez priorytetu", + "pinned": "Najpierw @:pinned", + "bookmarked": "Najpierw @:bookmarked" + }, + "visibility": { + "label": "Widoczność", + "recents": { + "show": "Pokaż ostatnie i @:pinned", + "hide": "Ukryj ostatnie i @:pinned" + }, + "archive": { + "show": "Pokaż archiwum", + "hide": "Ukryj archiwum" + }, + "empty": { + "show": "Pokaż puste projekty", + "hide": "Ukryj puste projekty" + }, + "counts": { + "show": "Pokaż licznik rozmów", + "hide": "Ukryj liczbę rozmów" + } + }, + "clear": "Zresetuj" + }, + "promptPlaceHolder": { + "normal": { + "focused": "Naciśnij {trigger}, aby uzyskać szybkie polecenia LUB zacznij pisać...", + "unfocused": "Naciśnij / , aby skupić się na tym miejscu i zacząć pisać" + } + }, + "deleteConfirmation": { + "header": "Usuń Rozmowę", + "message": "Czy na pewno chcesz usunąć wybraną rozmowę i wszystkie jej podziały? | Czy na pewno chcesz usunąć wybrane rozmowy i wszystkie ich podziały?", + "rejectLabel": "Anuluj", + "acceptLabel": "Usuń", + "successMessage": { + "detail": "@:conversation.title usunięta" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:conversation.title" + } + }, + "convertToChat": { + "title": "Konwertuj na czat", + "successMessage": { + "detail": "@:conversation.title przekonwertowana na czat" + }, + "errorMessage": { + "detail": "Nie udało się przekonwertować rozmowy na czat" + } + }, + "convertToForgeCanvas": { + "title": "Konwertuj na @:forge.forgeCanvas", + "successMessage": { + "detail": "@:conversation.title przekonwertowano na @:forge.forgeCanvas" + }, + "errorMessage": { + "detail": "Nie udało się przekonwertować rozmowy na @:forge.forgeCanvas" + } + }, + "cloneAncestorsSuccess": { + "detail": "Wiadomości sklonowano do nowego podziału" + }, + "cloneAncestorsError": { + "detail": "Nie udało się sklonować wiadomości do nowego podziału" + }, + "cloneAncestorsToNewConversationSuccess": { + "detail": "Wiadomości sklonowano do nowej rozmowy" + }, + "cloneAncestorsToNewConversationError": { + "detail": "Nie udało się sklonować wiadomości do nowej rozmowy" + }, + "archive": { + "groupLabel": "Archiwum", + "orphanProject": "Osierocona rozmowa", + "bannerMessage": "Ta rozmowa jest zarchiwizowana. Przywróć archiwum, aby kontynuować dyskusję.", + "bannerHint": "Wysłanie nowej wiadomości spowoduje automatyczne przywrócenie archiwizacji.", + "unarchiveAction": "Cofnij archiwizację", + "autoUnarchivedToast": "Wątek został automatycznie zarchiwizowany.", + "archivedToast": "{count} rozmowa zarchiwizowana | Rozmowy {count} zarchiwizowane", + "unarchivedToast": "Przywrócono rozmowę {count} | Przywrócono rozmowy {count}", + "archiveSingle": "Archiwum", + "unarchiveSingle": "Cofnij archiwizację", + "unload": "Wyładuj zarchiwizowane elementy", + "unloaded": "Zarchiwizowane elementy zostały wyładowane", + "error": "Nie można zaktualizować statusu archiwum. Spróbuj ponownie.", + "archiveMultiple": "Archiwum {item}", + "success": "{count} rozmowa zarchiwizowana | Rozmowy {count} zarchiwizowane" + }, + "conversationNotFound": "Nie znaleziono rozmowy", + "conversationStreaming": { + "title": "Transmisja strumieniowa", + "detail": "Rozmowa jest obecnie transmitowana strumieniowo. Przed klonowaniem poczekaj na zakończenie." + } + }, + "conversationActions": { + "exportConversation": { + "title": "Eksportuj Rozmowę", + "json": { + "title": "Jako JSON", + "errorMessage": "Nie udało się wyeksportować rozmowy jako JSON", + "successMessage": "Pomyślnie wyeksportowano rozmowę jako JSON", + "warningMessage": "Eksport JSON obejmuje {size} osadzonych danych załącznika. Plik .mstyconv jest zalecany w przypadku rozmów wymagających dużej ilości multimediów." + }, + "zip": { + "title": "Jako ZIP", + "errorMessage": "Nie udało się wyeksportować rozmowy jako ZIP", + "successMessage": "Pomyślnie wyeksportowano rozmowę w formacie ZIP" + } + }, + "trackInTree": "Śledź w drzewie rozmowy", + "showAllSplits": "Pokaż wszystkie podziały", + "saveSplitsAs": "Zapisz podziały jako", + "newSingleSplitChat": "Nowy pojedynczy, podzielony rozmowa", + "splitPreset": "Podziel ustawienie wstępne | Podziel ustawienia wstępne", + "splitPresetForm": { + "saveTitle": "Zapisz podziały jako @:preset", + "editTitle": "Edytuj podział @:preset {presetName}", + "presetName": "@:preset Nazwa", + "presetOptions": "Opcje @:preset", + "presetOptionsPlaceholder": "@:select @:preset Opcje", + "savePreset": "Zapisz @:preset", + "successMessage": { + "saveDetail": "Dodano podział @:preset", + "editDetail": "Zaktualizowano podział @:preset" + }, + "errorMessage": { + "saveDetail": "Nie udało się zapisać podziału @:preset" + } + }, + "deleteSplitPresetConfirmation": { + "header": "Usuń podział @:preset", + "message": "Czy na pewno chcesz usunąć {splitPresetName}?", + "successMessage": { + "detail": "Usunięto podział @:preset" + } + }, + "compactMode": "Tryb kompaktowy", + "enableCompactMode": "@:enable @:conversationActions.compactMode", + "disableCompactMode": "@:disable @:conversationActions.compactMode", + "modernLayout": "Nowoczesny układ", + "enableModernLayout": "@:enable @:conversationActions.modernLayout", + "disableModernLayout": "@:disable @:conversationActions.modernLayout", + "toggleAlwaysOnTop": "Zawsze na topie", + "splitWidths": { + "title": "Podzielone szerokości", + "slim": "Szczupły", + "balanced": "Zrównoważony", + "roomy": "Przestronny", + "spacious": "Przestronny", + "full": "Pełny" + } + }, + "responseConfiguration": { + "title": "Konfiguracja odpowiedzi", + "selectPresetPlaceholder": "Wybierz ustawienie wstępne...", + "saveAsPreset": "Zapisz jako ustawienie wstępne", + "commonSettings": { + "title": "Wspólne ustawienia" + }, + "advancedParameters": { + "title": "Zaawansowane parametry", + "description": "Obiekt JSON dla zaawansowanych parametrów modelu", + "placeholder": "" + }, + "providerOptions": { + "title": "Opcje dostawcy", + "description": "Konfiguracja specyficzna dla dostawcy", + "placeholder": "" + }, + "thinkingConfig": { + "title": "Konfiguracja myśląca", + "description": "Rozszerzona konfiguracja myślenia", + "notice": "Dostawca może zignorować lub częściowo honorować ustawienia myślenia" + }, + "promptCaching": { + "label": "Natychmiastowe buforowanie", + "helper": "Buforuj powtarzający się kontekst, aby zmniejszyć koszty i opóźnienia. Aby działanie było skuteczne, wymagana jest minimalna liczba tokenów.", + "ttl": { + "default": "Domyślny (5 minut)", + "5m": "5 minut", + "1h": "1 godzina" + } + }, + "customParameters": { + "title": "Parametry niestandardowe", + "helper": "Dostawca może je zignorować lub częściowo honorować", + "keyPlaceholder": "parametr_niestandardowy", + "valuePlaceholder": "wartość", + "deleteConfirm": { + "title": "Usuń parametr", + "message": "Usunąć parametr niestandardowy „{param}”?" + }, + "errors": { + "missingKey": "Wymagany jest klucz parametru.", + "reserved": "Ten klucz jest zarezerwowany dla parametrów wbudowanych.", + "duplicate": "Parametr z tym kluczem już istnieje." + } + }, + "json": { + "invalid": "Nieprawidłowy JSON" + }, + "tooltips": { + "constraintMode": "Tryb ograniczeń jest włączony", + "freeformMode": "Tryb dowolny jest włączony — brak limitów min./maks" + }, + "expandOtherOptions": "Rozwiń, aby zobaczyć inne opcje", + "collapseOtherOptions": "Zwiń inne opcje", + "parameters": { + "temperature": { + "label": "Temperatura", + "helper": "Kontroluje losowość (0=skoncentrowany, 2=twórczy)" + }, + "topP": { + "label": "Góra P", + "helper": "Prawdopodobieństwo masy, którą należy zachować podczas pobierania próbek jądra" + }, + "topK": { + "label": "Góra K", + "helper": "Ogranicz wybór tokenów do górnych K tokenów" + }, + "maxOutputTokens": { + "label": "Maksymalna liczba tokenów wyjściowych", + "helper": "Maksymalna liczba tokenów dla odpowiedzi", + "helperWithLimit": "Maksymalna liczba tokenów na odpowiedzi (limit {0})" + }, + "contextMessageLimit": { + "label": "Limit ostatnich wiadomości", + "helper": "Jako kontekst wysyłane są do modelu tylko najnowsze wiadomości do tego limitu. Starsze wiadomości są pomijane." + }, + "numCtx": { + "label": "Rozmiar okna kontekstowego", + "helper": "Maksymalna liczba tokenów akceptowanych w monicie", + "helperWithLimit": "Maksymalna liczba tokenów akceptowanych w monicie (limit {0})", + "llamaCppHint": "Ustaw na 0, aby użyć maksymalnego rozmiaru kontekstu modelu" + }, + "presencePenalty": { + "label": "Kara za obecność", + "helper": "Nakładaj kary na nowe tokeny w zależności od tego, czy pojawiają się one dotychczas w tekście" + }, + "frequencyPenalty": { + "label": "Kara za częstotliwość", + "helper": "Nakładaj kary na żetony na podstawie częstotliwości występowania w tekście" + }, + "repeatPenalty": { + "label": "Powtórzenie kary", + "helper": "Zniechęcaj do powtarzania wyrażeń" + }, + "repeatLastN": { + "label": "Powtórz ostatnie N", + "helper": "Okno kontekstowe do stosowania kary za powtarzanie" + }, + "minP": { + "label": "Min P", + "helper": "Minimalne skumulowane prawdopodobieństwo wyboru tokenu" + }, + "mirostat": { + "label": "Mirostat", + "helper": "Stabilizuj dynamicznie zakłopotanie", + "options": { + "off": "Wyłączone", + "v1": "Mirostat 1.0", + "v2": "Mirostat 2.0" + } + }, + "mirostatTau": { + "label": "Mirostata Tau", + "helper": "Docelowy poziom zaskoczenia (niższy = bezpieczniejszy)" + }, + "mirostatEta": { + "label": "Mirostat Eta", + "helper": "Szybkość uczenia się dla regulacji Mirostatu" + }, + "numGpu": { + "label": "GPU Warstwy", + "helper": "Liczba warstw do przeniesienia do GPU" + }, + "numThread": { + "label": "Wątki", + "helper": "Wątki CPU do wykorzystania przy generacji" + } + } + }, + "modelParams": { + "params": "Parametry", + "title": "Parametry modelu", + "advancedParams": "Zaawansowane parametry", + "providerOptions": "Opcje dostawcy", + "maxTokens": "Maksymalna liczba tokenów wyjściowych (starsza wersja)", + "maxOutputTokens": "Maksymalna liczba tokenów wyjściowych", + "temperature": "Temperatura", + "topP": "Góra P", + "presencePenalty": "Kara za obecność", + "frequencyPenalty": "Kara za częstotliwość", + "numCtx": "Okno kontekstowe @:size", + "numGpu": "Liczba warstw GPU", + "selectPlaceholder": "@:select lub wstaw parametr", + "selectPresetPlaceholder": "@:select @:preset", + "saveAsPreset": "Zapisz jako @:preset", + "addParameter": "Dodaj nowy parametr", + "extraParams": "Dodatkowe @:params", + "applyAndSaveAsDefault": "Zastosuj i zapisz jako domyślny model", + "savePresetForm": { + "title": "Zapisz @:modelParams.params jako ustawienie wstępne", + "errorMessage": { + "detail": "Nie udało się zapisać ustawionych parametrów." + }, + "successMessage": { + "detail": "Zapisano ustawienie wstępne @:modelParams.params" + } + }, + "deletePresetConfirm": { + "title": "Usuń @:preset", + "message": "Czy na pewno chcesz usunąć {presetName}?", + "errorMessage": { + "detail": "Nie udało się usunąć ustawionych parametrów." + }, + "successMessage": { + "detail": "Usunięto ustawienie wstępne @:modelParams.params" + } + }, + "thinkingEffort": { + "label": "Wysiłek myślenia", + "minimal": "Myśl minimalnie", + "light": "Myśl lekko", + "moderate": "Myśl umiarkowanie", + "deep": "Pomyśl głęboko", + "veryDeep": "Pomyśl bardzo głęboko", + "max": "Pomyśl o Maxie", + "default": "Domyślne", + "none": "Żadne", + "dynamic": "Dynamiczny", + "exclude": "Wyklucz" + }, + "thinkingDisplay": { + "label": "Pokaz myślenia", + "notice": "Kontroluje, czy w odpowiedzi zwracana jest treść rozumowania", + "default": "Domyślne", + "summarized": "Podsumowanie", + "omitted": "Pominięte" + } + }, + "chatSplitActions": { + "title": "Opcje podziału", + "addSplitChat": "Dodaj podzielony rozmowa", + "hideSplit": "Ukryj podział", + "copySplitToNewConversation": "Skopiuj Podziel do nowej rozmowy", + "moveSplitToNewConversation": "Przenieś podział do nowej rozmowy", + "deleteSplit": "Usuń podział", + "removeSplit": "Usuń podział", + "copySessionId": "Skopiuj identyfikator sesji", + "sessionIdCopied": "Identyfikator sesji skopiowany do schowka", + "reloadFromAgent": "Załaduj ponownie z agenta", + "reloadConfirmation": { + "header": "Załaduj ponownie z agenta", + "message": "Czy na pewno chcesz ponownie załadować ten podział z agenta? Spowoduje to odrzucenie bieżącego stanu i pobranie najnowszych danych.", + "acceptLabel": "Załaduj ponownie" + }, + "splitRemoved": "Podział usunięty", + "splitReset": "Reset podziału", + "copySplitToNewConversationSuccess": { + "detail": "Podział skopiowany do nowej rozmowy" + }, + "moveSplitToNewConversationSuccess": { + "detail": "Split został przeniesiony do nowej rozmowy" + }, + "copySplitToNewConversationError": { + "detail": "Nie udało się skopiować podziału do nowej rozmowy" + }, + "moveSplitToNewConversationError": { + "detail": "Nie udało się przenieść podziału do nowej rozmowy" + }, + "exportOrCopyChat": { + "exportChat": "Eksportuj czat", + "copyChat": "Kopiuj rozmowa", + "activeBranchAsJson": "Aktywny oddział jako JSON", + "activeBranchAsMarkdown": "Aktywna gałąź jako Markdown", + "allBranchesAsJson": "Wszystkie oddziały jako JSON", + "successMessage": "Pomyślnie {action} rozmawiał jako {format}", + "action": { + "export": "eksportowane", + "copy": "skopiowane" + } + }, + "showAllHiddenMessages": { + "title": "Pokaż wszystkie ukryte wiadomości", + "successMessage": { + "detail": "Wszystkie ukryte wiadomości są teraz widoczne" + } + }, + "deleteConfirmation": { + "header": "Usuń podział", + "message": "Czy na pewno chcesz usunąć ten podział?", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete" + } + }, + "message": { + "title": "Wiadomość|Wiadomości", + "currentMessageAndDescendants": "Wiadomość i potomkowie", + "sendOnEnter": "Wyślij po Enter", + "sendModifier": { + "label": "Wyślij modyfikator", + "none": "Tylko wprowadź", + "shift": "Przesunięcie", + "alt": "Alt", + "ctrl": "Ctrl", + "meta": "Meta" + }, + "resendUserMessage": "Wyślij ponownie wiadomość do użytkownika", + "sendAsAssistantMessage": "Wyślij jako wiadomość @:assistant", + "sendAsAssistantMessageHelp": "Wysłanie wiadomości jako „Asystent” pozwala kształtować rozmowę poprzez samodzielne dodawanie odpowiedzi AI. Sztuczna inteligencja będzie kontynuować tak, jakby napisała tę wiadomość. Przydatne do zapewnienia kontekstu lub wskazówek dotyczących odpowiedzi.", + "sentAsAssistantBadge": "Wysłano jako wiadomość Asystenta", + "manuallyEdited": "Ręcznie edytowane", + "stopGeneration": "Zatrzymaj się", + "renderingActions": { + "bookmark": "@:bookmark Wiadomość | Wiadomości @:bookmark", + "removeBookmark": "Usuń @:bookmark | Usuń zakładki", + "deleteMessage": "Usuń wiadomość | Usuń wiadomości", + "removeMessage": "Usuń wiadomość", + "regenerateAssistantMessage": "Wygeneruj ponownie wiadomość asystenta jako nową gałąź", + "continueGeneration": "Generacja @:continue", + "useAsPromptInNewSplit": "Użyj jako prompty w nowym podziale", + "foldUp": "Złóż wiadomości powyżej", + "unfold": "Rozwiń Wiadomości powyżej", + "addToUserPersonaMemory": "Dodaj do pamięci użytkownika", + "cloneAncestorsToNewSplit": "Klonuj z przodkami do Nowego Splitu", + "cloneAncestorsToNewConversation": "Klonuj z przodkami do nowej rozmowy", + "extraActions": "Dodatkowe akcje" + }, + "noModelSelectedErrorMessage": { + "detail": "Nie wybrano modelu. Proszę wybrać model aby wysłać wiadomość" + }, + "currentMessageDeleteConfirmation": { + "header": "Usuń wiadomość", + "message": "Czy na pewno chcesz usunąć tę wiadomość?" + }, + "currentMessageAndDescendantsDeleteConfirmation": { + "header": "Usuń wiadomość i jej elementy potomne", + "message": "Czy na pewno chcesz usunąć tę wiadomość i wszystkie jej potomki?" + } + }, + "slashCommands": { + "title": "Szybkie polecenia", + "noMatches": "Brak pasujących poleceń", + "hint": "Wpisz \\, a następnie polecenie lub alias", + "executed": { + "regenerate": "Regenerująca wiadomość...", + "shield": "Zastosowano osłonę kontekstu", + "compress": "Kompresja z tarczą...", + "bookmark": "Wiadomość @:bookmarked", + "copy": "Skopiowano do schowka", + "continue": "Kontynuacja pokolenia...", + "resend": "Ponowne wysyłanie wiadomości..." + } + }, + "urlEndpoint": "URL Punkt końcowy", + "giveUniqueNamePlaceholder": "Nadaj mu unikalną nazwę", + "duplicateName": "Zduplikowana lub nieprawidłowa nazwa {item}. Proszę wprowadzić unikalną nazwę.", + "manageData": { + "firstBackupReminder": "Nie wykonałeś kopii zapasowej swoich danych. Czy chcesz wyeksportować dane w celu wykonania kopii zapasowej?", + "scheduledBackupReminder": "Minęły 24 godziny od utworzenia ostatniej kopii zapasowej. Czy chcesz wyeksportować swoje dane w celu utworzenia kopii zapasowej?", + "nonPersistentStorage": "Pamięć może zostać wyczyszczona przez przeglądarkę pod presją przechowywania. Zalecamy regularne tworzenie kopii zapasowych danych.", + "exportData": "Eksportuj @:data", + "clearData": "Wyczyść @:data", + "restoreData": "Przywróć @:data", + "dragAndDropExportedData": "Przeciągnij i upuść kopię zapasową danych, z której chcesz ją przywrócić.", + "restoreDataWarning": "Przywrócenie z pliku kopii zapasowej zastąpi wszystkie istniejące dane. Zalecamy najpierw wyeksportować kopię zapasową.", + "exportErrorMessage": { + "detail": "Nie udało się wyeksportować danych" + }, + "backupData": "Kopia zapasowa @:data", + "exportSuccessMessage": { + "detail": "@:data wyeksportowano" + }, + "clearErrorMessage": { + "detail": "Nie udało się wyczyścić danych" + }, + "clearSuccessMessage": { + "detail": "@:data został wyczyszczony" + }, + "confirmationActionPlaceholder": "Wpisz tutaj „{string}”.", + "proceedWithConfirmationAction": "Aby kontynuować, wpisz poniżej „{string}”.", + "invalidConfirmationString": { + "summary": "@:warning", + "detail": "Nieprawidłowe potwierdzenie. Aby kontynuować, wpisz „{string}”." + }, + "clearDataConfirmation": { + "header": "Wyczyść @:data", + "message": "Czy na pewno chcesz wyczyścić wszystkie dane? Tej akcji nie można cofnąć.", + "rejectLabel": "Anuluj", + "acceptLabel": "Jasne" + }, + "restoreDataConfirmation": { + "fileNotSelectedWarning": { + "summary": "@:warning", + "message": "Wybierz plik, z którego chcesz przywrócić" + }, + "header": "Przywróć @:data", + "message": "Czy na pewno chcesz przywrócić wszystkie dane? Ta czynność zastąpi wszystkie istniejące dane i nie będzie można jej cofnąć. Zalecamy najpierw wyeksportować kopię zapasową.", + "rejectLabel": "Anuluj", + "acceptLabel": "Przywróć" + }, + "importDataSuccessMessage": { + "detail": "Zaimportowano @:data" + }, + "importDataErrorMessage": { + "detail": "Nie udało się zaimportować @:data" + } + }, + "setupItem": { + "label": "Skonfiguruj {item}", + "success": "Konfiguracja {item} została ukończona", + "failure": "Nie można skonfigurować {item}" + }, + "onboard": { + "greeting": "Witamy w Msty Studio!", + "getStarted": "Aby rozpocząć, potrzebujemy co najmniej jednego dostawcy modeli.", + "intentTitle": "Co sprowadza Cię do Msty Studio?", + "intentSubtitle": "Skonfigurujemy wszystko na podstawie Twojego przepływu pracy.", + "noAccountNeeded": "Nie potrzeba konta.", + "learnMoreAboutStudio": "Witryna Msty AI", + "readTheDocs": "Dokumentacja", + "backgroundSetupToast": { + "summary": "Instalacja będzie kontynuowana w tle", + "detail": "Pobieranie Twojego silnika i modelu znajduje się w kolejce. Możesz śledzić postęp w Model Hub lub Ustawieniach." + }, + "recommendedAIModelTitle": "Zalecana sztuczna inteligencja", + "recommendedAIModelSubtitle": "Domyślnie w pierwszej kolejności lokalnie, z opcjonalnymi dostawcami usług w chmurze, jeśli ich połączysz.", + "localAIBadge": "@:localAI · Działa na twoim komputerze", + "cloudAIAPIKeyBadge": "Lub podłącz dostawcę AI", + "cloudAIAPIKeyPrefix": "Lub podłącz", + "cloudAIAPIKeyProvider": "Dostawca sztucznej inteligencji", + "onlineProvidersDocsLink": "Nie znasz jeszcze kluczy API? Wyświetl dokumentację konfiguracji dostawcy.", + "startChattingWithPersona": "Zacznij rozmawiać z tą osobą", + "startChattingWithAnyPersona": "Zacznij rozmawiać z wybraną osobą", + "skipPersonasForNow": "Pomiń na razie", + "desktop": { + "greeting": "Witamy w Msty!", + "getStarted": "Jak chcesz zacząć?", + "customLocation": { + "title": "Masz modele Ollama/Msty?", + "titleMLX": "Masz modele MLX?", + "titleLlamaCpp": "Masz modele LLaMA.cpp?", + "description": "Możesz bezpośrednio użyć istniejących modeli Ollama lub Msty, jeśli takie istnieją, lub określić niestandardową lokalizację. Uwaga: nadal będziemy korzystać z naszych własnych usług do uruchamiania tych modeli.", + "descriptionMLX": "Jeśli nie masz jeszcze żadnych modeli MLX, możesz określić niestandardową lokalizację, w której chcesz je przechowywać.", + "descriptionMLXWithSwama": "Znaleźliśmy modele MLX w pamięci podręcznej Hugging Face Hub! Możesz z nich skorzystać bezpośrednio lub określić niestandardową lokalizację.", + "descriptionLlamaCpp": "Określ niestandardową lokalizację, w której chcesz przechowywać modele GGUF dla LLaMA.cpp.", + "noLocationSet": "Nie ustawiono lokalizacji", + "setYourOwn": "Ustaw własne", + "notAvailableForMLX": "Niestandardowe lokalizacje modeli nie są dostępne dla MLX", + "placeholder": "Wprowadź ścieżkę modeli niestandardowych" + }, + "setupLocalAI": { + "description": "Na początek zostanie pobrany plik {modelName}. Możesz wybrać inny model.", + "pros": { + "item1": "Używaj modeli takich jak DeepSeek R1, Meta Llama4, Microsoft Phi4, IBM Granite, Google Gemma itp.", + "item2": "Korzystaj w trybie offline i zachowaj prywatność swojego @:data", + "item3": "Modele można pobrać i używać bezpłatnie", + "item4": "Instaluj i używaj wyspecjalizowanych modeli" + }, + "cons": { + "item1": "Potrzebuje dodatkowej przestrzeni dyskowej i pamięci" + }, + "successMessage": { + "summary": "To wszystko!", + "detail": "Możesz teraz zacząć rozmawiać ze swoimi modelami prywatnie i bezpiecznie." + }, + "errorMessage": { + "summary": "Błąd podczas konfigurowania @:localAIService", + "detail": "Nie mogliśmy skonfigurować @:localAIService{'.'} Aby uzyskać więcej informacji, sprawdź dzienniki. {errorMessage}", + "epermDetail": "Wystąpił problem z uprawnieniami podczas konfigurowania lokalnego AI. Możesz ponownie uruchomić aplikację jako administrator (niezalecane) lub rozważyć zainstalowanie aplikacji tylko dla jednego użytkownika (zalecane).", + "abortDetail": "{errorMessage} Rozważ zainstalowanie lokalnego AI z plików archiwalnych, jeśli ten błąd będzie się nadal pojawiał. Zapraszamy do odwiedzenia https://docs.msty.studio/getting-started/onboarding" + } + }, + "setupMLX": { + "errorMessage": { + "summary": "Błąd podczas konfigurowania usługi MLX", + "detail": "Nie można skonfigurować usługi MLX. Aby uzyskać więcej szczegółów, sprawdź logi. {errorMessage}" + }, + "description": "Na początek zostanie pobrany plik {modelName}. MLX to zoptymalizowana platforma Apple dla Apple Silicon.", + "experimentalInfo": "MLX jest obecnie w trybie eksperymentalnym. Może mieć pewne ograniczenia i ostre krawędzie. Wszelkie problemy prosimy zgłaszać zespołowi.", + "pros": { + "item1": "Zoptymalizowany dla krzemu Apple (M1, M2, M3, M4)", + "item2": "Efektywne wykorzystanie pamięci dzięki ujednoliconej architekturze pamięci", + "item3": "Obsługuje modele MLX, SafeTensors i GGUF", + "item4": "Natywna wydajność na macOS" + }, + "cons": { + "item1": "Dostępne tylko na silikonowych komputerach Mac Apple", + "item2": "Mniejszy wybór modeli w porównaniu do Ollama" + }, + "successMessage": { + "summary": "Konfiguracja MLX zakończona!", + "detail": "Możesz teraz używać modeli MLX z optymalną wydajnością na komputerze Mac." + }, + "progress": { + "checkingCompatibility": "Sprawdzanie kompatybilności systemu...", + "downloadingBinary": "Pobieranie serwera MLX...", + "startingService": "Uruchamiam usługę MLX...", + "settingUp": "Konfigurowanie MLX...", + "downloadProgress": "Pobieranie modelu: {progress}%" + } + }, + "setupLlamaCpp": { + "experimentalInfo": "Obsługa LLaMA.cpp jest eksperymentalna i aktywnie rozwijana", + "errorMessage": { + "summary": "Błąd podczas konfigurowania usługi LLaMA.cpp", + "detail": "Nie można skonfigurować usługi LLaMA.cpp. Aby uzyskać więcej szczegółów, sprawdź logi. {errorMessage}" + }, + "description": "Na początek zostanie pobrany plik {modelName}. LLaMA.cpp zapewnia wydajne wnioskowanie AI na wielu platformach.", + "pros": { + "item1": "Działa na Windows, macOS i Linux", + "item2": "Obsługuje akcelerację CPU i GPU", + "item3": "Efektywne wykorzystanie pamięci i szybkie wnioskowanie", + "item4": "Kompatybilny z formatem modelu GGUF" + }, + "cons": { + "item1": "Wymaga aplikacji komputerowej", + "item2": "Wydajność zależy od konfiguracji sprzętowej" + }, + "successMessage": { + "summary": "Konfiguracja LLaMA.cpp zakończona!", + "detail": "Możesz teraz używać modeli LLaMA.cpp, zapewniając wydajną wydajność w swoim systemie." + }, + "progress": { + "checkingCompatibility": "Sprawdzanie kompatybilności systemu...", + "downloadingBinary": "Pobieranie serwera LLaMA.cpp...", + "startingService": "Uruchamiam usługę LLaMA.cpp...", + "settingUp": "Konfigurowanie LLaMA.cpp...", + "downloadProgress": "Pobieranie: {progress}%" + } + }, + "addRemoteModelsProvider": { + "description": "W przypadku większości dostawców usług internetowych konieczne będzie uzyskanie klucza API ze strony internetowej dostawcy. {findYourKey}", + "findYourKey": "Znajdź swój klucz API", + "pros": { + "item1": "Użyj OpenAI, Azure, Claude Sonnet, Google Gemini, Perplexity, Remote Ollama, Remote Msty itp.", + "item2": "Rozpocznij bez pobierania modeli", + "item3": "Niektórzy dostawcy zapewniają dodatkowe funkcje, takie jak generowanie obrazów, wyszukiwanie w Internecie itp" + }, + "cons": { + "item1": "Do czatowania wymagane jest połączenie internetowe", + "item2": "Mogą obowiązywać opłaty dostawcy" + } + } + }, + "modelsAvailableCount": "Dostępny model {count} | Dostępne modele {count}", + "modelsAddedCount": "Dodano model {count} | Dodano modele {count}", + "forgetThisProvider": "Zapomnij o tym dostawcy", + "submitAndContinue": "Chodźmy!", + "getSidecar": "Nie ma @:localAI? Pobierz @:remoteToolsConnector.title i skonfiguruj jednym kliknięciem", + "completedWithProvider": { + "summary": "To wszystko!", + "detail": "Możesz teraz porozmawiać z jednym z modeli z {providerName}." + }, + "continueSetup": "Kontynuuj konfigurację {service}" + }, + "login": { + "enterEmail": "Wpisz swój adres e-mail", + "errorMessage": "Nieprawidłowy adres e-mail lub coś poszło nie tak. Spróbuj ponownie.", + "successMessage": "Link do logowania wysłany do { email }", + "ssoButton": "Zaloguj się za pomocą identyfikatora Entra Microsoft" + }, + "modelHub": { + "title": "Hub modelowy", + "activeDownloads": "{count} Aktywne pobieranie | {count} Aktywne pobieranie", + "languageModelsProviders": { + "title": "Dostawcy modeli", + "subtitle": "Dostęp do modeli z chmury lub serwerów zdalnych.", + "autoFetchModels": "Lista modeli jest pobierana automatycznie", + "addLanguageModelsProvider": "Dodaj dostawcę", + "prosAndCons": { + "pros": [ + "Użyj OpenAI GPT, Azure, Claude Sonnet, Google Gemini, Perplexity, Remote Msty, Remote Ollama itp.", + "Zacznij szybko", + "Nie wymaga pobierania" + ], + "cons": [ + "Do czatowania wymagane jest połączenie internetowe", + "Mogą obowiązywać opłaty dostawcy" + ] + }, + "deleteConfirmation": { + "header": "Usuń dostawcę", + "message": "Czy na pewno chcesz usunąć {providerName}?", + "successMessage": { + "detail": "Dostawca usunięty" + }, + "errorMessage": { + "summary": "Błąd", + "detail": "Nie udało się usunąć dostawcy" + } + }, + "syncProviderWithWorkspaceForm": { + "titleNew": "Skopiuj do innego obszaru roboczego", + "titleUpdate": "Kopiuj/synchronizuj z innymi obszarami roboczymi", + "descriptionNew": "Skopiuj tego dostawcę do co najmniej jednego obszaru roboczego.", + "descriptionUpdate": "Zsynchronizuj tego dostawcę z co najmniej jednym obszarem roboczym. Jeśli ten dostawca został wcześniej skopiowany, zostanie zaktualizowany. Jeśli nie, zostanie dodany.", + "selectWorkspaces": "@:select Obszary robocze", + "availableWorkspaces": "Dostępne obszary robocze" + }, + "providerForm": { + "addTitle": "Dodaj dostawcę", + "updateTitle": "Aktualizuj dostawcę", + "newHeader": "Nowy dostawca modeli", + "editHeader": "Edytuj dostawcę modelu", + "modelsProvider": "Dostawca", + "modelId": "Identyfikator modelu", + "modelName": "Nazwa modelu", + "providerName": "Nazwa dostawcy", + "providerUrl": "Dostawca URL", + "providerToken": "Token dostawcy", + "saveProvider": "Zapisz dostawcę", + "selectProvider": "@:select dostawcę", + "namePlaceholder": "Nadaj mu nazwę (opcjonalnie)", + "selectModels": "@:select modele", + "availableModels": "Dostępne modele", + "addCustomModel": "Dodaj model niestandardowy", + "inferenceEndpoint": "Punkt końcowy wnioskowania (musi zaczynać się od http:// lub https://)", + "baseURL": "Baza URL", + "resourceName": "Nazwa zasobu (będzie ignorowana, jeśli ustawiono podstawę URL)", + "apiVersion": "API @:version", + "region": "Regionu AWS", + "accessKeyId": "Identyfikator klucza dostępu", + "secretAccessKey": "Tajny klucz dostępu", + "sessionToken": "Token sesji (opcjonalnie)", + "notAllModelsCompatible": "Nie wszystkie modele zostały przetestowane z Msty i może nie obsługiwać wszystkich modeli dostępnych u dostawcy.", + "enterAndManuallyFetchModels": "Kliknij „Pobierz modele”, aby pobrać dostępne modele od dostawcy (może być wymagany klucz API) lub ręcznie dodaj model poniżej.", + "enterAzureCustomDeploymentModel": "Msty Studio nie może pobrać nazw wdrożeń platformy Azure OpenAI. Dodaj model niestandardowy, używając nazwy wdrożenia platformy Azure.", + "enterAndFetchModelsEndpoint": "Wprowadź punkt końcowy dostawcy, aby spróbować pobrać wszystkie dostępne modele z {providerName} lub ręcznie dodaj model niestandardowy.", + "enterAndFetchModelsLmStudio": "Wprowadź punkt końcowy LM Studio, zwykle http://localhost:1234/v1, aby pobrać dostępne modele, lub ręcznie dodaj model niestandardowy.", + "enterAndFetchModels": "Wprowadź swój klucz API, aby spróbować pobrać wszystkie dostępne modele z {providerName} lub ręcznie dodaj model niestandardowy.", + "fetchModels": "Pobierz modele", + "modelsFilter": { + "all": "Wszystkie modele", + "selected": "Wybrane", + "unselected": "Niewybrane" + }, + "purposeFilter": { + "all": "Wszystkie cele" + }, + "searchInModels": "Wyszukaj modele...", + "lmsCorsNote": "Aby pracować z Msty, musisz mieć włączony CORS w LM Studio", + "lmsAuthNote": "Jeśli włączone jest uwierzytelnianie LM Studio API, musisz podać zarówno punkt końcowy, jak i klucz API, aby pobrać modele. Jeśli uwierzytelnianie jest wyłączone, wymagany jest tylko punkt końcowy.", + "openAICompatibleNote": "Większość punktów końcowych dostawców zgodnych z OpenAI wymaga ścieżki /v1, np. https://example.com/v1. Jeśli napotkasz problemy, spróbuj dodać /v1 do punktu końcowego.", + "successMessage": { + "addDetail": "Dodano dostawcę modeli {providerName}", + "updateDetail": "Zaktualizowano dostawcę modeli {providerName}" + }, + "errorMessage": { + "addDetail": "Nie udało się dodać dostawcy", + "updateDetail": "Nie udało się zaktualizować dostawcy" + }, + "bedrockLongTermCredsWarning": "Nie zaleca się używania długoterminowych danych uwierzytelniających dla Amazon Bedrock.", + "awsRegionExample": "np. us-wschód-1" + }, + "toggleVisibility": { + "errorMessage": { + "detail": "Nie udało się zaktualizować widoczności dostawcy" + }, + "successMessage": { + "detail": "{provider} to teraz {visibility}" + } + }, + "modelsCount": "Liczba modeli", + "showInSelector": "Pokaż w Selektorze modeli", + "availableModels": "Dostępne modele", + "noModels": "Brak dostępnych modeli tego dostawcy", + "modelUpdated": "Model został pomyślnie zaktualizowany", + "modelUpdateError": "Nie udało się zaktualizować modelu", + "manageProviders": "Zarządzaj", + "addNewProvider": "Dodaj nowy", + "columns": { + "name": "Imię", + "provider": "Dostawca", + "key": "Klucz" + }, + "readOnly": "[Tylko do odczytu]", + "logo": { + "readOnlyHint": "Edycja logo jest wyłączona w przypadku dostawców tylko do odczytu.", + "changeModelLogoHint": "Kliknij, aby zmienić logo modelu.", + "readFileFailed": "Nie udało się odczytać pliku", + "providerImageOnly": "W przypadku logo dostawców obsługiwane są wyłącznie pliki obrazów.", + "providerImageTooLarge": "Logo dostawcy musi mieć 1 MB lub mniej.", + "providerUpdated": "Zaktualizowano logo dostawcy.", + "providerUpdateFailed": "Nie udało się zaktualizować logo dostawcy. Spróbuj ponownie.", + "providerReset": "Logo dostawcy zostało przywrócone do wartości domyślnych.", + "providerResetFailed": "Nie udało się zresetować logo dostawcy. Spróbuj ponownie.", + "modelImageOnly": "W przypadku logo modeli obsługiwane są wyłącznie pliki obrazów.", + "modelImageTooLarge": "Logo modeli musi mieć rozmiar 1 MB lub mniejszy.", + "modelUpdated": "Zaktualizowano logo modelu.", + "modelUpdateFailed": "Nie udało się zaktualizować logo modelu. Spróbuj ponownie.", + "modelReset": "Logo modelu przywrócone do wartości domyślnych.", + "modelResetFailed": "Nie udało się zresetować logo modelu. Spróbuj ponownie.", + "resetToProviderLogo": "Zresetuj do logo dostawcy", + "resetToDefaultLogo": "Przywróć domyślne logo", + "changeProviderLogo": "Zmień logo dostawcy", + "click": "Kliknij", + "altClick": "Kliknij Alt", + "applyToProviderAndModels": "dotyczy dostawców + modeli", + "applyToProviderOnly": "dotyczy wyłącznie dostawcy" + }, + "cloudCatalog": { + "enterpriseOnly": "Tylko funkcja korporacyjna", + "shared": "Udostępnione w Cloud Catalog", + "shareFailed": "Nie udało się udostępnić w chmurze", + "sharedFromCloudCatalog": "Udostępnione z Cloud Catalog", + "cloneAndShare": "Klonuj i udostępniaj w chmurze" + } + }, + "sidecarLocalAIProxyEndpoint": { + "title": "@:remoteToolsConnector.title Serwer proxy @:localAI Punkt końcowy", + "description": "Upewnij się, że @:remoteToolsConnector.title działa i jest dostępny w dostarczonym URL poprzez tunelowanie. Skopiuj i wklej pełne informacje o połączeniu tunelu z tokenem i URL." + }, + "mstyRemoteEndpoint": { + "description": "Upewnij się, że Msty Desktop działa z włączonymi połączeniami zdalnymi.", + "learnMore": "Dowiedz się, jak włączyć połączenia zdalne" + }, + "mstyLocalEndpoint": { + "description": "Ta usługa jest uruchamiana zawsze, gdy sama aplikacja jest uruchomiona. Być może będziesz musiał zaktualizować numer portu, jeśli zmieniono lokalny port AI. W przeciwnym razie najlepiej zostawić to tak, jak jest." + }, + "ollamaRemoteEndpoint": { + "description": "W przypadku korzystania z samodzielnego hosta Ollama upewnij się, że Ollama działa i jest dostępny w dostarczonym URL. Musisz dodać https://msty.studio do dozwolonych źródeł podczas uruchamiania usługi Ollama.", + "placeholder": "np. http://localhost:11434 lub https://ollama.com" + }, + "mlxEndpoint": { + "description": "Ten dostawca służy do uruchamiania modeli MLX na krzemowych komputerach Mac Apple. Punkt końcowy jest automatycznie korygowany, aby upewnić się, że pasuje do lokalnej konfiguracji MLX. W razie potrzeby możesz to zmienić tymczasowo." + }, + "llamacppEndpoint": { + "description": "Ten dostawca służy do uruchamiania modeli LLaMA.cpp. Najprawdopodobniej nie będziesz musiał zmieniać domyślnego punktu końcowego. Jeśli tak, upewnij się, że usługa LLaMA.cpp jest uruchomiona i dostępna w dostarczonym pliku URL." + }, + "installProgress": { + "phases": { + "queued": "W kolejce", + "settingUpService": "Konfigurowanie usługi", + "installingService": "Usługa instalacyjna", + "resolving": "Rozwiązywanie", + "resolvingFiles": "Rozwiązywanie plików", + "preparing": "Przygotowanie", + "downloading": "Pobieranie", + "verifying": "Weryfikacja", + "importing": "Importowanie", + "activating": "Aktywacja", + "startingService": "Uruchomienie usługi", + "cancelling": "Anulowanie", + "cancelled": "Anulowano", + "failed": "Nie udało się", + "done": "Gotowe", + "ready": "Gotowy", + "error": "Błąd", + "finalizing": "Finalizowanie" + }, + "phasesEllipsis": { + "queued": "W kolejce…", + "settingUp": "Konfiguruję…", + "resolving": "Rozwiązywanie…", + "preparing": "Przygotowanie…", + "downloading": "Pobieram…", + "verifying": "Weryfikuję…", + "importing": "Importuję…", + "activating": "Aktywuję…", + "starting": "Zaczynam…", + "cancelling": "Anuluję…", + "installing": "Instaluję…" + }, + "eta": { + "seconds": "Pozostało {count}", + "minutes": "{count}m w lewo", + "hours": "{count}h wyszedł" + }, + "fileProgress": "Plik {current}/{total}", + "bytesProgress": "{downloaded} z {total}", + "downloadingFile": "Pobieranie: {file}", + "settingUp": "Konfigurowanie {engine}", + "preparingEngineSetup": "Przygotowuję konfigurację silnika…", + "installingEngine": "Instaluję silnik… {progress}%" + }, + "localModels": { + "title": "Modele lokalne", + "noCompatibleProviders": "Nie ma dostępnych kompatybilnych dostawców do zarządzania modelami lokalnymi. Aby móc korzystać z modeli lokalnych, dodaj co najmniej jednego dostawcę typu Msty Remote lub Ollama Remote.", + "noEngineInstalled": "Nie jest zainstalowany żaden lokalny silnik AI. Otwórz ustawienia, aby skonfigurować lokalną sztuczną inteligencję, LLaMA.cpp lub MLX.", + "activeDownloads": "{count} Aktywne pobieranie | {count} Aktywne pobieranie", + "engines": { + "ollama": "Ollama", + "llamaCpp": "LLaMA.cpp", + "llamacpp": "LLaMA.cpp", + "mlx": "MLX" + }, + "filters": { + "all": "Wszystko", + "recommended": "Zalecane", + "recommendedHint": "Zalecane: {engine}", + "ollama": "Ollama", + "llamaCpp": "LLaMA.cpp", + "mlx": "MLX", + "gguf": "GGUF", + "mlxSafetensors": "MLX" + }, + "setupNotice": { + "single": "{engine} instaluje się przy pierwszym użyciu", + "multiple": "Wymagana instalacja silników przy pierwszym użyciu" + }, + "engineSetup": { + "installed": "Silnik zainstalowany", + "downloadingModel": "Rozpoczęcie pobierania modelu…", + "downloadPending": "Instalacja silnika została ukończona, wkrótce rozpocznie się pobieranie modelu" + }, + "modelInstalled": { + "summary": "Zainstalowany model", + "detail": "{modelLabel} został zainstalowany w {engine}" + }, + "featured": { + "title": "Polecane" + }, + "installed": { + "title": "Zainstalowany", + "empty": "Nie zainstalowano jeszcze żadnych modeli. Przeglądaj polecane modele lub Szukaj modeli w bibliotece.", + "emptyFiltered": "Żaden zainstalowany model nie pasuje do Twojego wyszukiwania ani filtrów.", + "clearFilters": "Wyczyść filtry", + "selectModel": "Wybierz model, aby zobaczyć szczegóły" + }, + "modelDetail": { + "purpose": { + "label": "Cel modelu" + }, + "chatTemplate": { + "label": "Szablon czatu", + "description": "Szablon czatu Jinja2 używany do formatowania wiadomości. Pozostaw puste, aby użyć wbudowanego szablonu modelu.", + "placeholder": "Wklej lub wpisz szablon czatu Jinja2..." + } + }, + "customOllamaModelPlaceholder": "Lub Zainstaluj model według tagu, np. {example}", + "alreadyInstalledErrorMessage": { + "summary": "Już zainstalowano", + "detail": "Model {modelName} jest już zainstalowany" + }, + "abortInstalling": { + "title": "Przerwij instalację {modelName}", + "successMessage": { + "detail": "Instalacja {modelName} została przerwana" + } + }, + "deleteConfirmation": { + "header": "Usuń model", + "message": "Czy na pewno chcesz usunąć {modelName}?", + "successMessage": { + "detail": "Model usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć modelu" + } + }, + "modelInstall": { + "successMessage": { + "detail": "Model {modelName} jest gotowy do użycia" + }, + "errorMessage": { + "detail": "Nie udało się zainstalować modelu {modelName}", + "newerVersion": "{modelName} wymaga nowszej wersji lokalnego AI. Zaktualizuj do najnowszej wersji, wybierając Ustawienia > Lokalna sztuczna inteligencja > Wersja usługi > ... > Wymuś aktualizację lokalnej usługi AI" + } + }, + "serviceStartError": { + "summary": "Nie udało się uruchomić lokalnej AI" + }, + "browseModels": "Przeglądaj modele", + "ollamaModels": { + "title": "Biblioteka Ollama" + }, + "modelSearch": { + "title": "Szukaj", + "searchPlaceholder": "Wyszukaj według nazwy, autora lub wklej URL repozytorium Hugging Face", + "searchPlaceholderAlt": "Znajdź modele według nazwy, autora lub URL. Możesz też zacząć od jednej z poniższych rodzin modeli.", + "searching": "Wyszukiwanie modeli...", + "customTagInstallHint": "Wygląda jak etykieta modelu — możesz ją zainstalować bezpośrednio za pomocą Ollama.", + "noInstallableFiles": "Nie znaleziono plików modelu do zainstalowania", + "downloadOptions": "Opcje pobierania", + "selectTag": "Wybierz tag do zainstalowania", + "installWithOllama": "Zainstaluj za pomocą Ollama", + "viewOnHuggingFace": "Zobacz na Hugging Face", + "readme": "PRZECZYTAJ", + "loadingReadme": "Ładowanie..." + }, + "ggufImport": { + "tabTitle": "Importuj", + "noEngineTitle": "Importuj model", + "noEngineDescription": "Wybierz plik GGUF lub katalog sejfów, aby zaimportować model.", + "selectFile": "Wybierz Plik lub Katalog", + "modelFiles": "Pliki modeli", + "selectDialogTitle": "Wybierz plik lub katalog modelu", + "selectFailed": "Nie udało się otworzyć selektora plików", + "importFailed": "Nie udało się zaimportować modelu", + "importSuccess": "Model zaimportowany", + "engineDetectedGguf": "Konfiguruję silnik do importowania tego modelu.", + "engineDetectedMlx": "Konfigurowanie silnika MLX do importowania tego modelu.", + "engineDetectedSafetensors": "Konfiguruję silnik do importowania tego modelu.", + "title": "Importuj model GGUF", + "description": "Wybierz plik modelu GGUF ze swojego systemu plików, aby zaimportować go do {providerLabel}.", + "activeImports": "Aktywny import", + "noFileSelected": "Nie wybrano pliku", + "selectGgufFilePrompt": "Kliknij przycisk poniżej, aby wybrać plik GGUF", + "dragDropOrClick": "Przeciągnij i upuść tutaj plik GGUF lub kliknij przycisk poniżej", + "dropFileHere": "Upuść plik tutaj", + "releaseToUpload": "Zwolnij, aby wybrać plik", + "selectGgufFile": "Wybierz plik GGUF", + "chooseDifferentFile": "Wybierz inny plik", + "importModel": "Importuj model", + "modelName": "Nazwa modelu", + "modelNamePlaceholder": "np. mój-niestandardowy-model", + "modelNameDescription": "Będzie to nazwa, której będziesz używać do odwoływania się do modelu w rozmowach.", + "removeFile": "Usuń plik", + "dismissJob": "Odrzuć", + "useSymlink": "Użyj dowiązania symbolicznego (oszczędza miejsce na dysku)", + "symlinkDescription": "Tworzy dowiązanie symboliczne zamiast kopiować plik. Dostępne tylko dla serwerów lokalnych.", + "process": { + "calculatingDigest": "Obliczanie podsumowania pliku", + "uploadingFile": "Przesyłanie pliku", + "creatingSymlink": "Tworzenie dowiązania symbolicznego", + "creatingModel": "Tworzenie modelu" + }, + "success": "Model {modelName} zaimportowano pomyślnie", + "labels": { + "name": "Imię", + "file": "Plik", + "status": "Stan", + "error": "Błąd" + }, + "status": { + "uploading": "Przesyłanie", + "creating": "Tworzenie modelu", + "completed": "Ukończono", + "error": "Błąd", + "cancelled": "Anulowano" + }, + "errors": { + "invalidFile": "Wybierz prawidłowy plik GGUF" + } + }, + "safetensorsImport": { + "tabTitle": "Importuj bezpiecznetensory", + "title": "Importuj model bezpieczników", + "description": "Wybierz katalog zawierający masy modeli bezpieczników do zaimportowania do {providerLabel}. Obsługiwane architektury obejmują Gemma, Llama, Mistral i Phi.", + "activeImports": "Aktywny import", + "noDirectorySelected": "Nie wybrano katalogu", + "selectDirectoryHint": "Katalog powinien zawierać pliki Safetensors oraz plik config.json", + "selectDirectoryTitle": "Wybierz katalog Safetensors", + "selectDirectory": "Wybierz Katalog", + "chooseDifferentDirectory": "Wybierz inny katalog", + "importModel": "Importuj model", + "modelName": "Nazwa modelu", + "modelNamePlaceholder": "np. mój-niestandardowy-model", + "modelNameDescription": "Będzie to nazwa, której będziesz używać do odwoływania się do modelu w rozmowach.", + "removeDirectory": "Usuń katalog", + "process": { + "scanningDirectory": "Skanowanie katalogu", + "processingFile": "Przetwarzanie pliku {current} z {total}", + "creatingModel": "Tworzenie modelu z bezpieczników" + }, + "success": "Model {modelName} zaimportowano pomyślnie", + "labels": { + "name": "Imię", + "directory": "Katalog", + "status": "Stan", + "error": "Błąd" + }, + "status": { + "uploading": "Przesyłanie plików", + "creating": "Tworzenie modelu", + "completed": "Ukończono", + "error": "Błąd", + "cancelled": "Anulowano" + }, + "filesSelected": "wybrane pliki", + "importSuccess": "Model zaimportowany", + "errors": { + "desktopOnly": "Import Safetensorów jest dostępny tylko w aplikacji komputerowej", + "selectFailed": "Nie udało się wybrać katalogu", + "noValidFiles": "W wybranym katalogu nie znaleziono prawidłowych plików sejfów", + "importFailed": "Nie udało się zaimportować modelu" + } + } + }, + "ollamaRegistry": { + "title": "Modele zdalne", + "open": "Zarządzaj zdalnymi modelami", + "searchPlaceholder": "Wyszukaj modele...", + "activePulls": "Aktywne pobieranie", + "cancelPull": "Anuluj pobieranie", + "pulls": "Pobieranie {count}", + "noModelsFound": "Nie znaleziono żadnych modeli", + "customTagPlaceholder": "lub wprowadź niestandardowy tag (np. mymodel:latest)", + "alreadyDownloading": "Już pobieram", + "pullStarted": "Pobieranie rozpoczęte", + "pullFailed": "Pobieranie nie powiodło się: {message}", + "pullSuccess": "Model został pomyślnie zainstalowany", + "cancelFailed": "Anulowanie nie powiodło się: {message}", + "pullCancelled": "Pobieranie anulowane", + "deleteRemoteTag": { + "title": "Usuń zdalny tag", + "message": "Usunąć {model} z {provider}?", + "failed": "Nie udało się usunąć {model}: {message}", + "success": "Usunięto {model} z {provider}." + } + }, + "llamacppModels": { + "title": "Modele LLaMA.cpp", + "activeDownloads": "{count} Aktywny LLaMA.cpp Pobierz | {count} Aktywne pobieranie LLaMA.cpp", + "alreadyInstalledErrorMessage": { + "summary": "Już zainstalowano", + "detail": "LLaMA.cpp model {modelName} jest już zainstalowany" + }, + "installSuccessMessage": { + "summary": "Model gotowy", + "detail": "LLaMA.cpp model {modelName} jest gotowy do użycia" + }, + "installErrorMessage": { + "summary": "Instalacja nie powiodła się", + "detail": "Nie udało się zainstalować LLaMA.cpp model {modelName}" + }, + "modelInstall": { + "successMessage": { + "detail": "Zainstalowano LLaMA.cpp model {modelName}" + }, + "errorMessage": { + "detail": "Nie udało się zainstalować LLaMA.cpp model {modelName}" + }, + "abortedMessage": { + "detail": "Pobieranie modelu LLaMA.cpp {modelName} zostało przerwane" + } + }, + "abortInstallErrorMessage": { + "detail": "Nie udało się anulować pobierania modelu LLaMA.cpp" + }, + "abortInstallSuccessMessage": { + "detail": "Anulowano pobieranie LLaMA.cpp model {modelName}" + }, + "uninstallErrorMessage": { + "summary": "Odinstalowanie nie powiodło się", + "detail": "Nie udało się odinstalować LLaMA.cpp model {modelName}" + }, + "uninstallSuccessMessage": { + "summary": "Model usunięty", + "detail": "Odinstalowano model LLaMA.cpp {modelName}" + }, + "uninstallConfirmationMessage": { + "summary": "Odinstaluj model LLaMA.cpp", + "detail": "Czy na pewno chcesz odinstalować {modelName}?" + }, + "llamacppFeaturedModels": { + "title": "Polecane modele LLaMA.cpp" + }, + "llamacppInstalledModels": { + "title": "Zainstalowano modele LLaMA.cpp" + }, + "llamacppCommunityModels": { + "title": "Modele społeczności LLaMA.cpp", + "description": "Przeglądaj, wyszukuj i instaluj modele GGUF bezpośrednio z aplikacji Hugging Face do lokalnego folderu modeli LLaMA.cpp.", + "searchTitle": "Wyszukaj modele społeczności LLaMA.cpp", + "searchPlaceholder": "Wyszukaj modele LLaMA.cpp z Hugging Face", + "searchPlaceholderAlt": "Znajdź modele LLaMA.cpp kompatybilne z GGUF lub wybierz jedną z poniższych rodzin modeli.", + "searching": "Wyszukiwanie modeli LLaMA.cpp..." + } + }, + "mlxModels": { + "title": "Modele MLX", + "notAppleSilicon": "Modele MLX są obsługiwane tylko na komputerach Mac Apple Silicon (M1, M2, M3, M4 itp.). Twoje obecne urządzenie nie jest kompatybilne.", + "noCompatibleProviders": "Nie ma dostępnych kompatybilnych dostawców MLX. Aby korzystać z modeli MLX, dodaj co najmniej jednego dostawcę MLX.", + "activeDownloads": "{count} Aktywny MLX Pobieranie | {count} Aktywne pobieranie MLX", + "learnMore": "Dowiedz się więcej o MLX", + "featured": { + "title": "Polecane modele MLX" + }, + "installed": { + "title": "Zainstalowane modele MLX" + }, + "alreadyInstalledErrorMessage": { + "summary": "Już zainstalowano", + "detail": "MLX Model {modelName} jest już zainstalowany" + }, + "deleteConfirmation": { + "header": "Odinstaluj model MLX", + "message": "Czy na pewno chcesz odinstalować {modelName}?", + "successMessage": { + "detail": "MLX Usunięto model" + }, + "errorMessage": { + "detail": "Nie udało się odinstalować modelu MLX" + } + }, + "modelInstall": { + "successMessage": { + "detail": "MLX Model {modelName} jest gotowy do użycia" + }, + "errorMessage": { + "detail": "Nie udało się zainstalować MLX modelu {modelName}" + }, + "abortedMessage": { + "detail": "Pobieranie modelu MLX {modelName} zostało przerwane" + } + }, + "mlxCommunityModels": { + "title": "Modele społeczności MLX", + "searchTitle": "Wyszukaj modele społeczności MLX", + "searchPlaceholder": "Wyszukaj modele MLX w serwisie HuggingFace mlx-community", + "searchPlaceholderAlt": "Znajdź zoptymalizowane modele MLX w HuggingFace. Możesz też zacząć od jednej z poniższych rodzin modeli.", + "searching": "Wyszukiwanie modeli MLX..." + } + } + }, + "stickyPrompt": { + "title": "Przyklejony prompt", + "disableStickyPrompt": "Wyłącz przyklejony prompt", + "editDialog": { + "title": "Edytuj przyklejony prompt", + "description": "Po przypięciu „przyklejonego” promptu jest on dodawany na początku każdej nowej wiadomości, ignorując poprzednie. To skutecznie sprawia, że ​​rozmowa skupia się na jednym aktywnym kontekście. Prompt systemowa jest zawsze zawarta w kontekście." + } + }, + "contextShield": { + "title": "Tarcza kontekstu", + "enableContextShield": "Włącz @:contextShield.title", + "enableContextShieldWithSplitsSync": "Włącz opcję @:contextShield.title{'.'} Hold/Alt dla @:contextShield.title dla wszystkich zsynchronizowanych podziałów.", + "removeContextShield": "Usuń @:contextShield.title", + "removeContextShieldWithSplitsSync": "Wyłącz @:contextShield.title{'.'} Przytrzymaj opcję/Alt, aby usunąć @:contextShield.title ze wszystkich zsynchronizowanych podziałów.", + "breakContext": "Przerwij @:context", + "customContext": "Niestandardowy @:context", + "generateContextSummary": "Wygeneruj @:context @:summary", + "contextSummary": "@:context @:summary", + "editContextSummary": "Edytuj @:context @:summary", + "regenerateContextSummary": "Zregeneruj @:context @:summary", + "clearContextSummary": "Wyczyść @:context @:summary", + "summaryDescriptionInfoHeader": "To podsumowanie jest generowane na podstawie kontekstu powyższych rozmów i jest uwzględniane w kontekście podczas generowania nowych wiadomości poniżej tej tarczy.", + "contextShieldWithSummary": "@:contextShield.title z @:summary" + }, + "data": "Dane", + "advancedConfigurations": "Zaawansowane konfiguracje", + "applicationInfo": { + "title": "Informacje o aplikacji", + "appVersion": { + "title": "Wersja aplikacji", + "description": "Najnowsze aktualizacje są sprawdzane okresowo i otrzymasz powiadomienie, gdy będzie dostępna nowa aktualizacja. Możesz także ręcznie sprawdzić dostępność aktualizacji i zdecydować się na ich zainstalowanie.", + "checkForUpdates": "Sprawdź aktualizacje", + "enableAutoUpdates": "Włącz automatyczne aktualizacje", + "disableAutoUpdates": "Wyłącz automatyczne aktualizacje", + "updateTrackTitle": "Zaktualizuj kanał", + "updateTrackDescription": "Wybierz, czy ta instalacja pozostanie w wersji 2.x, czy też otrzyma aktualizacje Msty 3.0 z wcześniejszym dostępem. Kanał 3.0 po zwolnieniu automatycznie otrzyma wersję stabilną 3.0.", + "updateTrackLegacy2": "2.x stabilne aktualizacje", + "updateTrackV3": "Wczesny dostęp 3.0 (beta)", + "viewChangelog": "Zobacz dziennik zmian", + "checkingForUpdates": "Sprawdzam dostępność aktualizacji...", + "errorCheckingUpdates": "Nie można sprawdzić dostępności aktualizacji. Spróbuj ponownie.", + "packagedBuildsOnly": "Sprawdzanie aktualizacji jest dostępne tylko w przypadku kompilacji aplikacji w pakiecie.", + "autoUpdatesEnabled": "Włączono automatyczne aktualizacje", + "autoUpdatesDisabled": "Automatyczne aktualizacje wyłączone", + "updateAvailable": "Dostępna jest nowa aktualizacja.", + "updateAvailableMessage": "Dostępna jest nowa wersja {version}. Czy chcesz go teraz pobrać i zainstalować?", + "downloadAndInstall": "Pobierz i zainstaluj", + "updateAlreadyDownloading": "Aktualizacja jest już pobierana.", + "updateDownloaded": "Aktualizacja pobrana.", + "updateReadyToInstall": "Aktualizacja do wersji {version} została pobrana i jest gotowa do instalacji.", + "restartNow": "Uruchom ponownie teraz", + "updateDownloading": "Pobieram aktualizację...", + "noUpdatesAvailable": "Twoja aplikacja jest już aktualna." + }, + "modelsInfo": { + "title": "Informacje o modelach", + "description": "Zaktualizuj metadane modelu lokalnego. Informacje te obejmują szczegółowe informacje o każdym modelu, ale nie same pliki modelu. Dotyczy to zarówno modeli przechowywanych lokalnie, jak i modeli online.", + "fetchLatest": "Pobierz najnowsze informacje o modelach", + "updated": "Informacje o modelach zostały pomyślnie zaktualizowane", + "errorUpdating": "Nie udało się zaktualizować informacji o modelach" + }, + "appSettings": { + "title": "Ustawienia aplikacji", + "description": "Zresetowanie ustawień aplikacji do wartości domyślnych może pomóc w rozwiązaniu potencjalnych problemów. Spowoduje to przywrócenie domyślnych preferencji użytkownika, takich jak wygląd i ścieżka modeli, ale nie spowoduje usunięcia żadnych danych, w tym czatów ani pobranych/importowanych modeli.", + "resetApp": "Zresetuj ustawienia aplikacji", + "resetConfirm": { + "header": "Zresetuj ustawienia aplikacji", + "message": "Czy na pewno chcesz zresetować wszystkie ustawienia aplikacji do wartości domyślnych? Spowoduje to przywrócenie domyślnych preferencji, ale nie spowoduje usunięcia danych." + }, + "resetSuccess": "Ustawienia aplikacji zostały pomyślnie zresetowane", + "resetError": "Nie udało się zresetować ustawień aplikacji" + }, + "dataPaths": { + "title": "Ścieżki danych", + "description": "Wszystkie dane, w tym modele, rozmowy, ustawienia i logi, są przechowywane lokalnie na Twoim urządzeniu. Modyfikuj zawartość tych katalogów tylko wtedy, gdy znasz strukturę plików aplikacji.", + "appData": "Dane aplikacji", + "appLogs": "Dzienniki aplikacji", + "openInFinder": "Otwórz w Finderze" + }, + "helpAndDiscussions": { + "title": "Pomoc i dyskusje", + "description": "Połącz się z naszą społecznością na Discordzie, aby uzyskać wsparcie, podzielić się swoją opinią i być na bieżąco.", + "sayHi": "Powiedz cześć!", + "viewDocs": "Zobacz Dokumenty" + } + }, + "logViewer": { + "title": "Przeglądarka dziennika", + "description": "Przeglądaj i analizuj logi aplikacji w czasie rzeczywistym. Użyj filtrów i wyszukiwania, aby skutecznie rozwiązywać problemy.", + "searchPlaceholder": "Przeszukaj dzienniki...", + "refresh": "Odśwież logi", + "autoRefreshOn": "Zatrzymaj automatyczne odświeżanie", + "autoRefreshOff": "Włącz automatyczne odświeżanie", + "pause": "Zatrzymaj automatyczne przewijanie", + "resume": "Wznów automatyczne przewijanie", + "copy": "Skopiuj dzienniki do schowka", + "download": "Pobierz dzienniki", + "clearTemporarily": "Wyczyść wyświetlanie dzienników", + "clearPermanently": "Wyczyść plik dziennika", + "showAllLogs": "Pokaż wszystkie dzienniki", + "clearPermanentlyConfirmation": { + "header": "Wyczyść plik dziennika", + "message": "Czy na pewno chcesz wyczyścić plik dziennika? Spowoduje to trwałe usunięcie wszystkich wpisów dziennika." + }, + "loading": "Ładowanie dzienników...", + "noLogs": "Brak dostępnych logów", + "noMatchingLogs": "Żadne dzienniki nie pasują do bieżących filtrów", + "totalLines": "{count} linia sumaryczna | {count} linie sumy", + "filteredLines": "{count} linia filtrowana | {count} filtrowane linie", + "copiedToClipboard": "Logi skopiowane do schowka", + "downloaded": "Logi pobrane pomyślnie", + "clearedPermanently": "Plik dziennika został pomyślnie usunięty", + "errorLoading": "Nie udało się załadować dzienników", + "errorCopying": "Nie udało się skopiować logów", + "errorDownloading": "Nie udało się pobrać logów", + "errorClearing": "Nie udało się wyczyścić dzienników", + "levels": { + "all": "Wszystkie poziomy", + "error": "Błąd", + "warn": "@:warning", + "info": "Informacje", + "debug": "Debuguj" + } + }, + "notifications": { + "title": "Powiadomienia", + "description": "Przeglądaj i zarządzaj powiadomieniami aplikacji, w tym błędami, ostrzeżeniami i zdarzeniami informacyjnymi.", + "searchPlaceholder": "Wyszukaj powiadomienia...", + "searchingAllLogs": "Wyszukiwanie wszystkich powiadomień w bazie danych", + "refresh": "Odśwież powiadomienia", + "autoRefreshOn": "Automatyczne odświeżanie włączone", + "autoRefreshOff": "Włącz automatyczne odświeżanie", + "copy": "Skopiuj wszystko do schowka", + "copyLog": "Kopiuj powiadomienie", + "download": "Pobierz Powiadomienia", + "clearPermanently": "Wyczyść wszystkie powiadomienia", + "clearPermanentlyConfirmation": { + "header": "Wyczyść powiadomienia", + "message": "Czy na pewno chcesz trwale usunąć wszystkie powiadomienia? Tej akcji nie można cofnąć." + }, + "loading": "Ładowanie powiadomień...", + "loadingMore": "Ładowanie więcej...", + "endOfList": "Koniec listy", + "noLogs": "Brak dostępnych powiadomień", + "totalLogs": "Powiadomienie {count} | Powiadomienia {count}", + "displayedLogs": "Wyświetlanie {count}", + "copiedToClipboard": "Powiadomienie skopiowane do schowka", + "downloaded": "Powiadomienia zostały pobrane pomyślnie", + "clearedPermanently": "Powiadomienia zostały pomyślnie usunięte", + "deleted": "Powiadomienie zostało pomyślnie usunięte", + "errorLoading": "Nie udało się załadować powiadomień", + "errorCopying": "Nie udało się skopiować powiadomienia", + "errorDownloading": "Nie udało się pobrać powiadomień", + "errorClearing": "Nie udało się wyczyścić powiadomień", + "errorDeleting": "Nie udało się usunąć powiadomienia", + "purge": { + "label": "Usuń powiadomienia", + "olderThan1Day": "Starsze niż 1 dzień", + "olderThan7Days": "Starsze niż 7 dni", + "olderThan15Days": "Starsze niż 15 dni", + "olderThan30Days": "Starsze niż 30 dni", + "all": "Wszystko", + "confirmHeader": "Usuń powiadomienia", + "confirmMessageDays": "Czy na pewno chcesz usunąć powiadomienia starsze niż {days} dni? Tej akcji nie można cofnąć.", + "purge": "Oczyścić", + "purged": "Powiadomienia zostały usunięte pomyślnie", + "errorPurging": "Nie udało się wyczyścić powiadomień" + }, + "levels": { + "all": "Wszystkie poziomy", + "error": "Błędy", + "warn": "Ostrzeżenia", + "info": "Informacje" + } + }, + "sidebar": { + "expandGroup": "Rozwiń {group}", + "collapseGroup": "Zwiń {group}", + "showExtraItems": "Pokaż dodatkowe elementy", + "hideExtraItems": "Ukryj dodatkowe elementy", + "groups": { + "modelsPrompts": "Modele i prompty", + "personasTools": "Persony i narzędzia", + "knowledgeInsights": "Wiedza i spostrzeżenia", + "system": "Systemu" + }, + "appUpdater": { + "version": "Wersja {version}", + "restartToApply": "Uruchom ponownie, aby zastosować aktualizacje", + "restart": "Uruchom ponownie teraz", + "downloading": "Pobieram aktualizację...", + "viewChangelog": "Zobacz dziennik zmian", + "openingChangelog": "Otwieranie dziennika zmian...", + "errorHint": "Błąd aktualizacji — kliknij, aby uzyskać szczegółowe informacje", + "readyHint": "Aktualizacja gotowa — uruchom ponownie, aby zastosować", + "downloadingHint": "Pobieram aktualizację... {percent}%", + "errorDialog": { + "header": "Błąd aktualizacji", + "message": "Wystąpił błąd podczas aktualizacji: {error}", + "downloadManually": "Pobierz ręcznie" + } + } + }, + "showInNativeFileManager": { + "mac": "Pokaż w Finderze", + "win": "Pokaż w Eksploratorze plików", + "lin": "Pokaż w Menedżerze plików" + }, + "settings": { + "title": "Ustawienia", + "general": "Generał", + "defaultPrompts": "Domyślne prompty", + "prompts": { + "description": "Te prompty kształtują sposób generowania tytułów, tworzenia zapytań wyszukiwania, wyszukiwania wiedzy i podsumowywania kontekstu. Zmiany są zapisywane w ustawieniach globalnych tego urządzenia (główna baza danych) i obowiązują we wszystkich obszarach roboczych (nie w każdym obszarze roboczym).", + "availablePrompts": "Dostępne prompty", + "promptCategories": "Kategorie prompty", + "customized": "Dostosowane", + "customizedCount": "{count} dostosowane", + "modified": "Zmodyfikowany", + "usingCustom": "Korzystanie z niestandardowego", + "usingDefault": "Korzystanie z ustawień domyślnych", + "clickToEdit": "Kliknij, aby edytować prompt", + "variables": "Zmienne", + "lastModified": "Ostatnia modyfikacja", + "selectPrompt": "Wybierz prompt, który chcesz dostosować", + "clearContent": "Wyczyść zawartość", + "resetToDefault": "Przywróć ustawienia domyślne", + "insertFromLibrary": "Wstaw z biblioteki", + "saveChanges": "Zapisz zmiany", + "discardChanges": "Odrzuć zmiany", + "groups": { + "general": "Ogólne prompty", + "attachmentStudio": "Studio kontekstowe", + "knowledgeStack": "Stos wiedzy", + "realTimeData": "Dane w czasie rzeczywistym", + "liveContext": "Kontekst na żywo", + "contextShield": "Kontekst i tarcza", + "personasAndCrew": "Persony i załoga" + }, + "categories": { + "generation": "Generowanie treści", + "search": "Wyszukiwanie i synteza", + "analysis": "Analiza i ekstrakcja" + } + }, + "licenseAndAccess": "Licencja i dostęp", + "fontSize": "Czcionka @:size", + "defaultRTD": { + "sectionTitle": "Wyszukiwanie danych w czasie rzeczywistym", + "title": "Domyślny dostawca RTD", + "description": "Wybierz domyślnego dostawcę wyszukiwania danych w czasie rzeczywistym, który będzie używany podczas tworzenia nowych rozmów.", + "saved": "{provider} ustawiony jako domyślny dostawca RTD", + "saveError": "Nie udało się zapisać domyślnego dostawcy RTD", + "noProvidersAvailable": "Brak dostępnych dostawców RTD", + "configureLabel": "Skonfiguruj zaawansowane opcje dla", + "configSaved": "Konfiguracja zapisana dla {provider}", + "mode": { + "title": "Domyślny tryb RTD", + "description": "Ustaw domyślny tryb RTD dla nowych rozmów.", + "pushHint": "Nowe rozmowy będą domyślnie korzystać z trybu push.", + "pullHint": "Nowe rozmowy będą domyślnie korzystać z trybu ściągania.", + "pullGuardHint": "Tryb Pull wymaga planu Aurum.", + "saveError": "Nie udało się zapisać domyślnego trybu RTD" + } + }, + "teams": "Zespoły", + "appearance": "Wygląd", + "conversation": { + "title": "Rozmowy", + "autoArchive": { + "title": "Automatycznie archiwizuj nieaktywne rozmowy", + "description": "Automatycznie przenoś nieaktywne rozmowy do Archiwum po wybranej liczbie dni. Użyj opcji Włącz automatyczną archiwizację, aby ją włączyć. Uruchom archiwum wykonuje teraz jednorazowe czyszczenie przy użyciu bieżącego progu dnia.", + "enableLabel": "Włącz automatyczną archiwizację", + "disableLabel": "Wyłącz automatyczną archiwizację", + "enableHint": "Zarchiwizowane rozmowy pozostają dostępne w sekcji Archiwum.", + "daysLabel": "Archiwum po", + "suffix": "dzień | dni", + "disabledHint": "Włącz lub wyłącz z menu", + "runNowLabel": "Uruchom archiwum teraz", + "runNowDisabled": "Włącz automatyczną archiwizację i ustaw dni > 0 do uruchomienia", + "runNowResult": "Zarchiwizowano {count} rozmowę | Zarchiwizowano {count} rozmowy", + "daysSaved": "Autoarchiwizacja ustawiona na dzień {days} | Automatyczna archiwizacja ustawiona na {days} dni", + "enabledToast": "Włączono automatyczną archiwizację", + "disabledToast": "Automatyczna archiwizacja wyłączona" + }, + "showSystemPromptInEmptyState": { + "title": "Pokaż prompt systemowy na pustym czacie", + "description": "Wyświetl prompt systemowy w pustym miejscu zastępczym czatu. Gdy opcja ta jest wyłączona, prompt systemowy będzie dostępny wyłącznie za pomocą przycisku na pasku akcji.", + "enabledToast": "Prompt systemowa zostanie wyświetlona na pustym czacie", + "disabledToast": "Prompt systemowa ukryta przed pustym czatem" + }, + "useModernMessageLayout": { + "title": "Nowoczesny układ wiadomości", + "description": "Skorzystaj z nowoczesnego układu wiadomości z wiadomościami użytkownika po prawej stronie i wiadomościami asystenta po lewej stronie. Wyłącz możliwość korzystania z klasycznego układu z awatarami.", + "enabledToast": "Włączono nowoczesny układ wiadomości", + "disabledToast": "Włączono klasyczny układ wiadomości" + }, + "expertMode": { + "title": "Tryb eksperta", + "description": "Włącz dodatkowe opcje czatu eksperckiego", + "enabledToast": "Włączony tryb eksperta", + "disabledToast": "Tryb eksperta wyłączony" + } + }, + "setupService": "Skonfiguruj {service}", + "workspaceLock": { + "title": "Blokada obszaru roboczego i szyfrowanie sekretów", + "description": "Zablokuj swój obszar roboczy hasłem, aby wrażliwe ustawienia i klucze API pozostały ukryte do czasu odblokowania. Odblokuj raz na sesję, w dowolnym momencie zmień hasło lub wyłącz ochronę, jeśli zmienisz zdanie.", + "experimentalInfo": "Szyfrowanie oparte na hasłach ma charakter eksperymentalny. Przed włączeniem wykonaj kopię zapasową swoich sekretów.", + "status": "Stan:", + "locked": "Zablokowane", + "unlocked": "Odblokowany", + "lock": "Blokada", + "unlock": "Odblokuj", + "protectedSection": "Obszar roboczy jest chroniona. Odblokuj za pomocą hasła.", + "unprotected": "Niechroniony", + "unprotectedToast": "Blokada obszaru roboczego nie jest skonfigurowana. Najpierw ustaw hasło.", + "unlockTitle": "Wprowadź hasło", + "cancel": "Anuluj", + "toastUnlocked": "Obszar roboczy odblokowany na potrzeby tej sesji", + "toastLocked": "Obszar roboczy zablokowany", + "disable": "Wyłącz szyfrowanie", + "disableHelp": "Wprowadź hasło, aby odszyfrować i wyłączyć szyfrowanie.", + "disableProtection": "Wyłącz ochronę", + "disableProtectionHelp": "Wprowadź hasło, aby wyłączyć ochronę obszaru roboczego. Spowoduje to usunięcie szyfrowania z przechowywanych sekretów i kluczy API.", + "disableProtectionConfirmMessage": "Czy na pewno chcesz wyłączyć ochronę obszaru roboczego? Spowoduje to trwałe odszyfrowanie wszystkich zaszyfrowanych sekretów i kluczy API w Twojej bazie danych.", + "enableProtection": "Włącz ochronę", + "setPassphrase": "Ustaw hasło", + "setPassphraseWarning": "Ważne: Zapisz swoje hasło bezpiecznie. Nie możesz odzyskać zapomnianego hasła, a bez niego utracisz dostęp do zaszyfrowanych danych obszaru roboczego.", + "changePassphrase": "Zmień hasło", + "changePassphraseWarning": "Ważne: Zapisz nowe hasło bezpiecznie. Nie możesz odzyskać zapomnianego hasła, a bez niego utracisz dostęp do zaszyfrowanych danych obszaru roboczego.", + "updatePassphrase": "Zaktualizuj hasło", + "passphrase": "Hasło", + "passphraseCurrent": "Aktualne hasło", + "passphraseNew": "Nowe hasło", + "passphraseConfirm": "Potwierdź hasło", + "errorMinLength": "Hasło musi mieć co najmniej 8 znaków", + "errorMismatch": "Hasła nie pasują", + "errorInvalid": "Nieprawidłowe dane wejściowe", + "setupSuccess": "Hasło skonfigurowane", + "setupFailed": "Nie udało się skonfigurować hasła", + "rotateSuccess": "Hasło zostało zaktualizowane", + "rotateFailed": "Nie udało się zaktualizować hasła", + "disableConfirmMessage": "Odszyfrować przechowywane sekrety i usunąć ochronę obszaru roboczego?", + "disableSuccess": "Szyfrowanie wyłączone", + "disableFailed": "Nie udało się wyłączyć szyfrowania", + "incorrectPassphrase": "Nieprawidłowe hasło", + "lockedWithName": "{workspaceName} jest zablokowany", + "switchBackTitle": "Nie możesz odblokować tego obszaru roboczego?", + "switchBackDescription": "Przełącz się z powrotem na {workspaceName}, aby móc dalej pracować.", + "switchBackAction": "Przełącz z powrotem na {workspaceName}", + "switchBackError": "Nie można przełączyć obszarów roboczych. Spróbuj ponownie." + }, + "dataBackup": { + "title": "Eksportuj @:data", + "description": "Wybierz poniższy przycisk, aby wyeksportować kopię danych w celu utworzenia kopii zapasowej lub przeniesienia na inne urządzenie. Wyeksportowane dane obejmują rozmowy, prompty, modele, ustawienia i inne dane aplikacji we wszystkich obszarach roboczych." + }, + "dataBackupReminderInterval": { + "title": "@:data Interwał przypomnienia o kopii zapasowej", + "description": "Jak często przypominać o konieczności wykonania kopii zapasowej danych." + }, + "dangerZone": { + "title": "Strefa zagrożenia", + "description": "Działania opisane w tej sekcji są nieodwracalne i mogą skutkować utratą danych. Zalecamy wyeksportowanie kopii danych przed wykonaniem jakichkolwiek czynności w tym miejscu.", + "clearData": { + "title": "Wyczyść dane", + "description": "Trwale usuń wszystkie dane aplikacji, w tym rozmowy, prompty, modele, ustawienia i inne powiązane informacje ze wszystkich obszarów roboczych." + }, + "restoreData": { + "title": "Przywróć @:data z kopii zapasowej", + "description": "Zaimportuj wcześniej wyeksportowany plik zip z danymi, aby przywrócić rozmowy, prompty, modele, ustawienia i inne dane aplikacji we wszystkich obszarach roboczych. Ta czynność spowoduje zastąpienie wszystkich istniejących danych." + } + }, + "dataMigrate": { + "action": "Przeprowadź migrację", + "title": "Migracja aplikacji Msty 1.x do Studio", + "itemsToMigrate": { + "label": "Krok 2: Wybierz elementy do migracji", + "action": "Wybierz Elementy" + }, + "pointsToRemember": { + "activeWorkspace": "Możesz importować prompty z biblioteki promptów, zdalnych dostawców modeli, rozmowy i załączniki do bieżącego obszaru roboczego. Aby importować do innego obszaru roboczego, najpierw przełącz się na ten obszar roboczy.", + "remoteModelProviders": "Migracja zdalnych dostawców modeli NIE spowoduje przeniesienia kluczy API; należy je wprowadzić ponownie. Niektóre starsze modele mogą nie być obsługiwane w programie Studio.", + "attachmentsMigration": "W przypadku migracji załączników najpierw spakuj folder załączników. Możesz migrować załączniki osobno po migracji bazy danych lub razem z bazą danych." + }, + "databaseMigration": { + "title": "Migracja bazy danych", + "label": "Krok 1: Wybierz plik bazy danych aplikacji Msty 1.x", + "action": "Przeciągnij i upuść plik bazy danych Msty", + "hint": "Pliki bazy danych aplikacji Msty 1.x noszą zazwyczaj nazwę `msty.db`" + }, + "attachmentsMigration": { + "title": "Migracja załączników", + "migrate": "Przeprowadź migrację osobno", + "label": "Krok 3: Dodaj spakowany folder załączników", + "success": "Pomyślnie przeniesiono załączniki", + "error": "Nie udało się przenieść załączników", + "action": "Przeciągnij i upuść spakowany folder załączników", + "hint": "Spakuj cały folder załączników z aplikacji Msty 1.x. Po wybraniu możesz przeprowadzić migrację osobno, jeśli dodasz po migracji bazy danych." + }, + "missingDataWarning": { + "description": "Wybierz plik bazy danych i co najmniej jedną tabelę do migracji", + "title": "Brakujące dane" + }, + "description": "Przeprowadź migrację danych z aplikacji Msty 1.x do Studio. Zaimportowane dane nie zastąpią istniejących danych.", + "successMessage": "Pomyślnie migrowano {item}", + "errorMessage": "Nie udało się przeprowadzić migracji {item}", + "migrationInProgress": "Migracja w toku...", + "migrationComplete": "{item} Migracja zakończona", + "migrationFail": "{item} Migracja nie powiodła się", + "migratingItem": "Migrowanie {item}...", + "migrationError": { + "title": "Błąd migracji", + "action": "Zobacz szczegóły", + "message": "Wiadomość", + "cause": "Przyczyna" + } + }, + "colorPreference": "Preferencje kolorów", + "accentColor": "Akcent interfejsu", + "dark": "Ciemny", + "light": "Światło", + "default": "Domyślne | Domyślne", + "system": "Systemu", + "baseColor": "Kolor bazowy", + "interfaceMood": "Nastrój interfejsu", + "emerald": "Szmaragd", + "lime": "Limonka", + "green": "Zielony", + "red": "Czerwony", + "orange": "Pomarańczowy", + "amber": "Bursztyn", + "yellow": "Żółty", + "teal": "Turkusowy", + "cyan": "Cyjan", + "sky": "Niebo", + "blue": "Niebieski", + "indigo": "Indygo", + "violet": "Fioletowy", + "purple": "Fioletowy", + "fuchsia": "Fuksja", + "pink": "Różowy", + "rose": "Róża", + "slate": "Łupek", + "gray": "Szary", + "zinc": "Cynk", + "neutral": "Neutralny", + "stone": "Kamień", + "mist": "Mgła", + "dusk": "Zmierzch", + "sage": "Szałwia", + "ocean": "Ocean", + "sandy": "Sandy", + "linen": "Pościel", + "ember": "Żar", + "terracotta": "Terakota", + "sepia": "Sepia", + "parchment": "Pergamin", + "lighter": "Zapalniczka", + "accentColorNames": { + "verdant": "Zielone", + "citron": "Cytron", + "clover": "Koniczyna", + "signal": "Sygnał", + "cinder": "Popiół", + "honey": "Kochanie", + "solar": "Słoneczny", + "tide": "Przypływ", + "glacier": "Lodowiec", + "lagoon": "Laguna", + "harbor": "Port", + "nocturne": "Nokturn", + "iris": "Irys", + "velvet": "Aksamit", + "voltage": "Napięcie", + "blush": "Rumieniec", + "bloom": "Rozkwit", + "storm": "Burza", + "alloy": "Stop", + "graphite": "Grafit", + "quarry": "Kamieniołom", + "haze": "Mgła", + "afterglow": "Poświata", + "canopy": "Baldachim", + "tidal": "Pływy", + "canvas": "Płótno", + "hearth": "Palenisko", + "kiln": "Piec", + "scribe": "Skryba" + }, + "interfaceMoodNames": { + "storm": "Burza", + "ash": "Popiół", + "alloy": "Stop", + "carbon": "Węgiel", + "quarry": "Kamieniołom", + "mist": "Mgła", + "dusk": "Zmierzch", + "sage": "Szałwia", + "ocean": "Ocean", + "cloud": "Chmura", + "frost": "Mróz", + "drift": "Dryf", + "linen": "Pościel", + "parchment": "Pergamin", + "ember": "Żar", + "terracotta": "Terakota", + "sepia": "Sepia" + }, + "interfaceMoodDescriptions": { + "storm": "Niebiesko-szara noc", + "ash": "Zbilansowany węgiel drzewny", + "alloy": "Delikatna, industrialna ciemność", + "carbon": "Klasyczna skala szarości", + "quarry": "Ziemisty, mineralny ciemny", + "mist": "Przewiewna niebieska mgiełka", + "dusk": "Szary przydymiony indygo", + "sage": "Stonowana botaniczna szarość", + "ocean": "Łupek ze szkła morskiego", + "cloud": "Uniósł chłodny dym", + "frost": "Zwiewna grafitowa mgiełka", + "drift": "Zakurzony, ciepły, neutralny", + "linen": "Ciepły papier z głębszym atramentem", + "parchment": "Ciepły blask kości słoniowej", + "ember": "Miedź i espresso", + "terracotta": "Glina i zmierzch", + "sepia": "Atrament i pergamin" + }, + "appearanceView": { + "title": "Widok wyglądu", + "description": "Wybierz, ile szczegółów podglądu ma wyświetlać ta strona ustawień.", + "compact": "Kompaktowy", + "compactHint": "Wybiera i przełącza w celu szybszego skanowania", + "studio": "Studio", + "studioHint": "Bogatsze karty podglądu umożliwiające wybór elementów wizualnych" + }, + "appearanceScopes": { + "both": "Obydwa", + "light": "Światło", + "dark": "Ciemny", + "applyToBoth": "Zastosuj do obu", + "appliesToMode": "Dotyczy trybu:", + "bothHint": "Dotyczy światła i ciemności.", + "scopedHint": "Dotyczy tylko {theme}.", + "inheritedHint": "{theme} korzysta ze wspólnego wyboru.", + "previewHint": "Przełącz preferencje kolorów, aby wyświetlić ich podgląd." + }, + "colorPreferenceDescriptions": { + "light": "Zawsze używaj jasnych powierzchni", + "dark": "Zawsze używaj ciemnych powierzchni", + "system": "Postępuj zgodnie z ustawieniami urządzenia" + }, + "modeDescriptions": { + "normal": "Zrównoważone zachowanie przestrzeni roboczej", + "focus": "Zmniejsz zakłócenia wizualne", + "zen": "Minimalna ilość chromu dla głębszej ostrości" + }, + "codeTheme": "Temat kodu", + "rtlSupport": { + "title": "Wsparcie RTL", + "sectionDescription": "Włącz układy od prawej do lewej dla języków takich jak arabski, hebrajski i perski. Po przełączeniu cały obszar roboczy aktualizuje się natychmiast.", + "toggleLabel": "Włącz układ RTL", + "enabledHint": "Układ od prawej do lewej jest aktywny w całej aplikacji.", + "disabledHint": "Aplikacja korzysta obecnie z układu od lewej do prawej." + }, + "miniMap": { + "title": "Minimapa", + "description": "Włącz wbudowany nawigator wiadomości na minimapie z podglądem gałęzi. Gdy opcja jest wyłączona, używany jest prostszy nawigator Góra/Dół.", + "enabled": "Włączone", + "disabled": "Niepełnosprawny", + "enabledHint": "Wbudowana minimapa z podglądem oddziałów", + "disabledHint": "Tylko nawigacja góra/dół", + "navigator": { + "title": "Minimapa", + "open": "Otwórz minimapę", + "hide": "Ukryj minimapę", + "jumpToTop": "Skocz na górę", + "jumpToBottom": "Skocz na dół", + "previousSection": "Poprzednia sekcja", + "nextSection": "Następna sekcja", + "browseConversation": "Przeglądaj rozmowę", + "hideContents": "Ukryj zawartość minimapy", + "atTop": "Na górze", + "atBottom": "Na dole", + "resumeAutoScroll": "Wznów automatyczne przewijanie", + "entries": "Wpis {count} | Wpisy {count}", + "emptyExcerpt": "Brak treści" + }, + "scrollJumpButton": { + "goToTop": "Idź na górę", + "goToBottom": "Idź na dół" + } + }, + "branchBreadcrumbs": { + "title": "Oddziałowa bułka tarta", + "description": "Pokaż kompaktowy pasek nawigacyjny u góry rozmów, gdy istnieją oddziały." + }, + "spellcheck": { + "title": "Sprawdzanie pisowni", + "description": "Włącz lub wyłącz sprawdzanie pisowni w polach wprowadzania tekstu. Wyłączenie może być pomocne podczas pracy z wieloma językami lub treściami technicznymi. Ustawienia sprawdzania pisowni w systemie operacyjnym mogą zastąpić te preferencje. Po zmianie tego ustawienia uruchom ponownie aplikację, aby zmiany odniosły pełny efekt." + }, + "language": { + "sectionTitle": "Język i lokalizacja", + "sectionDescription": "Przełączaj się między językami interfejsu, przeglądaj tryb programisty lub importuj tymczasowy plik ustawień regionalnych. Jeśli chcesz dodać tłumaczenie, odwiedź stronę https://github.com/cloudstack-llc/msty-studio-i18n", + "localeLabel": "Język", + "downloadTemplate": "Pobierz szablon", + "downloadBuiltInLocale": "Pobierz ten wbudowany plik ustawień regionalnych JSON.", + "downloadCustomLocale": "Pobierz bieżące, zaimportowane niestandardowe ustawienia regionalne.", + "downloadDeveloperTemplate": "Pobierz pusty szablon oparty na podstawowych ustawieniach regionalnych.", + "importLocale": "Importuj ustawienia regionalne", + "importLocaleHint": "Zaimportowane ustawienia regionalne obowiązują tylko do momentu ponownego uruchomienia lub odświeżenia aplikacji.", + "importSuccessSummary": "Zaimportowano ustawienia regionalne", + "importSuccessDetail": "Teraz używam {code}. Przejrzyj interfejs, aby potwierdzić tłumaczenia.", + "importError": "Nie mogliśmy zaimportować tego pliku ustawień regionalnych. Upewnij się, że jest to prawidłowy JSON oparty na szablonie.", + "developerMode": { + "label": "Tryb programisty" + }, + "clearCache": "Wyczyść pamięć podręczną", + "cacheClearedSummary": "Pamięć podręczna wyczyszczona", + "cacheClearedDetail": "Usunięto buforowany plik językowy {count}. | Usunięto buforowane pliki językowe {count}.", + "cacheEmptySummary": "Pamięć podręczna jest już pusta" + }, + "security": { + "title": "Bezpieczeństwo", + "subtitle": "Skonfiguruj ustawienia zabezpieczeń aplikacji" + }, + "webSecurity": { + "title": "Wyłącz Zabezpieczenia sieciowe", + "description": "Może to pomóc w rozwiązaniu niektórych problemów związanych z CORS. Nie jest to jednak zalecane i może narazić aplikację na zagrożenia bezpieczeństwa. Wyłącz to tylko wtedy, gdy wiesz, co robisz. Aby to ustawienie zaczęło obowiązywać, musisz ponownie uruchomić aplikację.", + "applyAndRestart": "Zastosuj i uruchom ponownie" + }, + "fontStyle": { + "title": "Styl czcionki", + "galaxyFarAway": "Galaktyka Daleka", + "everythingEverywhere": "Wszystko Wszędzie", + "homeAlone": "Sam w domu", + "lordOfTheLoops": "Władca Pętli" + }, + "renderingModules": { + "title": "Moduły renderujące", + "selectPlaceholder": "@:select Moduły renderujące", + "coreHint": "Markdown jest wymagany w przypadku wszystkich pozostałych modułów." + }, + "remoteToolsConnector": { + "description": "Zezwól Msty Studio web na połączenie się z tym urządzeniem w celu uruchomienia zdalnych narzędzi i uzyskania dostępu do modeli lokalnych. Ta usługa musi być aktywnie uruchomiona, aby umożliwić połączenia zdalne.", + "allowRemoteToolsConnection": "Włącz usługę", + "connectionToken": { + "title": "Token połączenia", + "rememberToken": "Pamiętaj o Tokenie", + "placeholder": "Wprowadź silny token połączenia", + "description": "Ten token służy do uwierzytelniania połączenia między Msty Studio a tą aplikacją podczas zdalnego łączenia. Możesz go zregenerować w dowolnym momencie, aby unieważnić poprzedni token. Upewnij się, że używasz silnego tokena i zachowaj go w tajemnicy.", + "successMessage": { + "detail": "Usługa zdalna jest teraz aktywna" + }, + "errorMessage": { + "summary": "Błąd podczas włączania złącza", + "detail": "Nie udało się włączyć usługi zdalnej. Aby uzyskać więcej szczegółów, sprawdź logi" + }, + "errorState": { + "title": "Stan połączenia", + "failed": "Nie udało się", + "tunnelingSummary": "Tunelowanie nie powiodło się", + "serviceSummary": "Nie udało się uruchomić usługi zdalnej" + }, + "copyConnectionInfo": "Skopiuj lokalny URL", + "copyTunnelConnectionInfo": "Skopiuj tunel URL", + "stopSuccessMessage": { + "detail": "Usługa zdalna jest teraz wyłączona" + } + }, + "enableTunneling": "Włącz tunelowanie (eksperymentalnie)" + }, + "copyLocalURL": "Skopiuj lokalny URL", + "localAI": { + "notInstalled": { + "description": "Skonfiguruj @:localAIService, aby uruchamiać modele AI lokalnie na swoim urządzeniu." + }, + "modelsLocation": { + "title": "Lokalizacja modeli", + "description": "Skonfiguruj miejsce przechowywania lokalnych modeli AI." + }, + "existingModels": { + "title": "Użyj istniejących modeli", + "description": "Korzystaj z modeli, które już posiadasz, bez konieczności ich ponownego pobierania." + }, + "serviceConfigurations": { + "title": "Konfiguracje @:service", + "description": "Te konfiguracje są stosowane do @:localAIService po jego uruchomieniu. @:localAIService zostanie automatycznie uruchomiony ponownie po zapisaniu jakichkolwiek zmian.", + "configurePortNumber": { + "title": "Skonfiguruj numer portu", + "description": "Numer portu dla @:localAIService{'.'} Pozostaw puste, aby użyć wartości domyślnej." + }, + "maximumParallelChats": { + "title": "Maksymalnie równoległe czaty", + "description": "Maksymalna liczba jednoczesnych sesji czatu (w przypadku korzystania z trybu podziału)." + }, + "maximumLoadedModels": { + "title": "Maksymalnie załadowane modele", + "description": "Maksymalna liczba LLM załadowanych w tym samym czasie. Przechowywanie większej liczby modeli w pamięci przyspiesza początkowe odpowiedzi, ale zużywa więcej zasobów systemowych." + }, + "enableNetworkAccess": { + "title": "Włącz dostęp do sieci", + "description": "Zezwól innym urządzeniom w Twojej sieci na dostęp do tego @:localAIService poprzez adres IP tego urządzenia." + }, + "allowedNetworkOrigins": { + "title": "Dozwolone źródła sieciowe", + "description": "W tym miejscu wypisz dozwolone źródła sieci (oddzielone przecinkami). Każdy wpis musi zaczynać się od http:// lub https://. Użyj *, aby zezwolić na wszystkie źródła.", + "placeholder": "np. https://msty.studio, http://localhost:3000, *" + }, + "allowMstyStudioAccess": { + "title": "Zezwól na dostęp z Msty Studio", + "description": "Zezwól na połączenia Msty Studio Web z tą aplikacją, aby mogła uzyskać dostęp do @:localAIService{'.'}" + }, + "captureServiceLogs": { + "title": "Przechwyć dzienniki @:service", + "description": "Włącz rejestrowanie, aby przechwytywać dane usługi na potrzeby debugowania. Używaj tej opcji tylko wtedy, gdy jest to konieczne." + }, + "advancedConfiguration": { + "description": "Wprowadź poprawny JSON, aby ustawić zmienne środowiskowe dla @:localAIService{'.'}" + }, + "unsavedChanges": { + "message": "Masz niezapisane zmiany w konfiguracjach @:localAIService Po zapisaniu @:localAIService zostanie uruchomiony ponownie z nowymi konfiguracjami.", + "saveChanges": "Zapisz zmiany i uruchom ponownie usługę", + "successMessage": { + "detail": "@:localAIService Konfiguracje zostały zapisane, a usługa uruchomiona ponownie" + }, + "errorMessage": { + "detail": "Nie udało się zapisać konfiguracji @:localAIService Aby uzyskać więcej szczegółów, sprawdź logi." + } + } + }, + "modelConfigurations": { + "title": "Konfiguracje @:model", + "description": "Te konfiguracje są stosowane do wszystkich modeli podczas sesji czatu.", + "keepAliveTimeout": { + "title": "Limit czasu utrzymywania modelu", + "description": "Czas (w minutach), po którym model zostanie wyładowany z pamięci, jeśli nie będzie używany." + }, + "advancedConfiguration": { + "description": "Wprowadź poprawny JSON, aby przekazać dodatkowe parametry modelom podczas sesji czatu." + }, + "unsavedChanges": { + "message": "Masz niezapisane zmiany w @:settings.localAI.modelConfigurations.title{'.'} Pamiętaj, aby zapisać je przed rozpoczęciem nowej sesji czatu.", + "successMessage": { + "detail": "@:settings.localAI.modelConfigurations.title zapisano" + }, + "errorMessage": { + "detail": "Nie udało się zapisać @:settings.localAI.modelConfigurations.title. Sprawdź logi, aby uzyskać więcej szczegółów." + } + } + }, + "openSettings": "Otwórz ustawienia lokalnej AI", + "manageModels": { + "title": "Zarządzaj lokalnymi modelami AI", + "description": "Przeglądaj, instaluj i zarządzaj modelami AI na potrzeby wnioskowania lokalnego.", + "openModelHub": "Otwórz modele lokalne" + } + }, + "vibeCliProxy": { + "shortTitle": "Serwer proxy Vibe CLI", + "title": "Serwer proxy Vibe CLI", + "subtitle": "Ujednolicony serwer proxy dla asystentów kodowania AI. Połącz się z kodem Claude, ChatGPT, Gemini, Kimi za pośrednictwem jednego lokalnego punktu końcowego.", + "install": { + "copy": "Instaluje plik binarny CLIProxyAPI w celu połączenia asystentów kodowania AI (kod Claude, ChatGPT, Gemini, Kimi) za pośrednictwem lokalnego serwera proxy z uwierzytelnianiem OAuth.", + "button": "Zainstaluj serwer proxy Vibe CLI" + }, + "health": { + "description": "Uruchom lub zatrzymaj usługę Vibe CLI Proxy." + }, + "endpoint": { + "title": "Punkt końcowy usługi", + "description": "Użyj tego punktu końcowego w przypadku żądań zgodnych z OpenAI kierowanych przez serwer proxy Vibe CLI.", + "network": "Host sieciowy: {host}", + "copied": "Punkt końcowy skopiowany" + }, + "version": { + "title": "Wersja", + "description": "Zainstalowana wersja CLIProxyAPI.", + "current": "Aktualna wersja", + "reinstall": "Zainstaluj ponownie", + "unknown": "Nie zainstalowano" + }, + "configs": { + "title": "Konfiguracje usług", + "description": "Skonfiguruj port, katalog uwierzytelniania i dostęp sieciowy dla serwera proxy.", + "port": "Portu", + "retries": "Ponowne próby", + "authDir": "Katalog autoryzacji", + "enableNetworkAccess": "Włącz dostęp do sieci", + "enableNetworkAccessHelp": "Zezwól innym urządzeniom w sieci na dostęp do serwera proxy.", + "captureLogs": "Przechwytuj dzienniki usług", + "captureLogsHelp": "Zachowaj dzienniki proxy na potrzeby rozwiązywania problemów (może zwiększyć użycie dysku).", + "enableRemoteManagement": "Włącz zdalne zarządzanie", + "enableRemoteManagementHelp": "Ujawnij punkty końcowe zarządzania; wymaga tajnego klucza.", + "managementKey": "Tajny klucz zarządzania", + "updated": "Zaktualizowano konfiguracje serwera proxy Vibe CLI", + "failed": "Nie udało się zaktualizować konfiguracji serwera proxy Vibe CLI", + "portDescription": "Port lokalny, na którym usługa proxy nasłuchuje żądań.", + "retriesDescription": "Liczba ponownych prób w przypadku nieudanych żądań nadrzędnych.", + "authDirDescription": "Katalog, w którym przechowywane są tokeny uwierzytelniające.", + "managementKeyDescription": "Tajny klucz wymagany do operacji zdalnego zarządzania." + }, + "authPath": { + "title": "Folder uwierzytelniania", + "description": "Ścieżka, w której serwer proxy Vibe CLI Proxy przechowuje tokeny OAuth dla podłączonych dostawców. Zarządzane automatycznie; nie można edytować." + }, + "authStatus": { + "title": "Uwierzytelnianie", + "description": "Bezpiecznie połącz swoje konta AI, aby serwer proxy Vibe CLI Proxy mógł wywoływać swoje interfejsy API w Twoim imieniu. Po nawiązaniu połączenia otworzy się okno przeglądarki tego dostawcy, w którym należy się zalogować.", + "connecting": "Otwieram przeglądarkę dla OAuth…", + "browser": "Dokończ uwierzytelnianie w przeglądarce, a następnie wróć tutaj.", + "failed": "Nie udało się uruchomić przepływu OAuth", + "deviceCodeTitle": "Autoryzacja urządzenia", + "deviceCodeInstructions": "Pełne uwierzytelnienie w otwartej przeglądarce. W zależności od przepływu usługodawcy, możesz zostać poproszony o wprowadzenie poniższego kodu.", + "copyCode": "Skopiuj kod", + "codeCopied": "Kod skopiowany do schowka", + "openProvider": "Otwórz {provider}", + "openVerificationPage": "Otwórz stronę weryfikacyjną", + "openGitHub": "Otwórz GitHub" + }, + "setup": { + "disclaimerTitle": "Ważna uwaga", + "disclaimer": "Vibe CLI Proxy działa lokalnie i kieruje żądania do zewnętrznych usług AI. Użytkownik odpowiada za korzystanie z każdego połączonego dostawcy zgodnie z jego warunkami świadczenia usług i zasadami. Kontynuuj tylko wtedy, gdy rozumiesz ryzyko. Msty nie ponosi odpowiedzialności za działania na koncie dostawcy, ograniczenia lub naruszenia usług.", + "acknowledgment": "Rozumiem i akceptuję odpowiedzialność za zgodność z warunkami dostawcy połączonej sztucznej inteligencji." + } + }, + "agentMode": { + "adapters": { + "title": "Adaptery", + "description": "Pobierz najnowsze adaptery protokołu Agent Client Protocol dla obsługiwanych interfejsów CLI agentów. Aktualizacje dotyczą nowych sesji.", + "checkUpdates": "Sprawdź aktualizacje", + "updateSuccessDetail": "Zaktualizowane adaptery: {agents}", + "updatePartialDetail": "Nie udało się zaktualizować: {agents}", + "updateSkippedDetail": "Brak dostępnej aktualizacji adaptera zarządzanego dla: {agents}. Bieżąca konfiguracja została zachowana.", + "updateError": "Nie udało się zaktualizować adapterów agentów" + }, + "skills": { + "title": "Umiejętności", + "badge": "Umiejętności agenta", + "subtitlePrefix": "Rozszerz możliwości agenta dzięki umiejętnościom wielokrotnego użytku. Umiejętności podążają za otwartością", + "subtitleLink": "Umiejętności agenta", + "subtitleSuffix": "formatować.", + "studio": { + "title": "Pracownia Umiejętności", + "description": "Dedykowana obszar roboczy do budowania, sprawdzania i instalowania umiejętności.", + "open": "Otwarta Pracownia Umiejętności", + "heading": "Warsztat umiejętności dostępny tylko dla Aurum", + "body": "Twórz ostrzejsze wersje robocze SKILL.md, sprawdzaj zawartość pakietu i korzystaj z umiejętności AI, aby doprecyzować aktywację i strukturę przed zapisaniem.", + "snapshot": "Migawka studyjna" + }, + "installed": { + "title": "Zainstalowane umiejętności", + "description": "Umiejętności dostępne dla Twoich agentów. Agenci automatycznie wykrywają się w swoich katalogach umiejętności.", + "createCustom": "Utwórz niestandardowe", + "refresh": "@:refresh", + "empty": "Nie zainstalowano żadnych umiejętności. Utwórz niestandardową umiejętność lub zainstaluj ją z Centrum umiejętności.", + "deleteConfirmHeader": "Usuń umiejętność", + "deleteConfirmMessage": "Usunąć „{name}”? Spowoduje to usunięcie plików umiejętności z dysku.", + "deletedSummary": "Usunięto", + "deletedDetail": "Usunięto umiejętność „{name}”.", + "deleteTooltip": "Usuń (Shift+kliknięcie, aby pominąć potwierdzenie)", + "detailHeader": "Szczegóły umiejętności", + "enabled": "Włączone", + "contentLoadError": "Nie można wczytać treści umiejętności.", + "pathLabel": "Ścieżka:", + "filesLabel": "Pliki {count}", + "filesEmpty": "Nie znaleziono plików.", + "filesViewAll": "Wyświetl wszystkie pliki {count}", + "filesHiddenSuffix": "więcej", + "filesDialogHeader": "Pliki - {name}" + }, + "hub": { + "title": "Centrum umiejętności", + "description": "Przeglądaj i instaluj umiejętności z repozytoriów GitHub.", + "addRepo": "Dodaj repozytorium", + "addRepoHint": "Wklej repozytorium GitHub w formacie właściciela/repo lub pełnego URL.", + "add": "@:add", + "remove": "@:remove", + "install": "@:install", + "repoPlaceholder": "właściciel/repo lub GitHub URL", + "repoInputRequired": "Proszę wprowadzić repo", + "invalidRepoFormat": "Nieprawidłowy format repozytorium GitHub", + "repoAlreadyAdded": "Repozytorium już dodane", + "repoNotFound": "Nie znaleziono repozytorium lub jest ono niedostępne", + "repoNoSkills": "Repozytorium nie ma żadnych umiejętności do wykrycia", + "addRepoFailed": "Nie udało się dodać repozytorium", + "addedSummary": "Dodano", + "addedDetail": "Repozytorium dodano pomyślnie", + "removeConfirmHeader": "Usuń repozytorium", + "removeConfirmMessage": "Usunąć „{label}” ze źródeł umiejętności?", + "removedSummary": "Usunięto", + "removedDetail": "Repozytorium „{label}” zostało usunięte", + "installedSummary": "Zainstalowany", + "installedDetail": "Zainstalowano umiejętność „{name}”.", + "installFailed": "Nie udało się zainstalować umiejętności", + "repoAvailability": "Dostępne {available} / {total}", + "removeTooltip": "Usuń repozytorium", + "filesHintMultiple": "Zawiera skrypty, szablony lub odniesienia", + "filesHintSingle": "Tylko SKILL.md", + "filesSingle": "Plik {count}", + "filesMultiple": "Pliki {count}", + "filesViewAll": "Wyświetl wszystkie pliki {count}", + "filesHiddenSuffix": "więcej", + "filesDialogHeader": "Pliki - {name}", + "emptyRepo": "Wszystkie umiejętności z tego repozytorium są już zainstalowane.", + "detailHeader": "Szczegóły umiejętności", + "bulkInstall": { + "statusInstalling": "Umiejętności instalacyjne", + "statusStopping": "Zatrzymywanie instalacji umiejętności", + "stopButtonIdle": "Zatrzymaj instalację", + "stopButtonStopping": "Zatrzymywanie…", + "stoppedSummary": "Instalacja zatrzymana", + "progressPreparing": "Przygotowuję kolejkę instalacyjną…", + "progressStopping": "Zatrzymywanie po bieżącym elemencie. Pozostało {remaining}.", + "progressRunning": "{completed} z {total} ukończono · Pozostało {remaining}", + "installedSegment": "Zainstalowano {count} {label}", + "failedSegment": "{count} nie powiodło się", + "skippedSegment": "{count} pominięty", + "skillSingular": "umiejętność", + "skillPlural": "umiejętności" + } + }, + "form": { + "header": "Utwórz niestandardową umiejętność", + "editHeader": "Edytuj umiejętność", + "skillId": "Identyfikator umiejętności", + "skillIdPlaceholder": "nazwa-moich-umiejętności", + "skillIdLockedHint": "Identyfikatora umiejętności nie można zmienić po utworzeniu.", + "description": "Opis", + "descriptionPlaceholder": "Do czego służy ta umiejętność i kiedy jej używać", + "instructionsPlaceholder": "# Moja umiejętność\n\n## Instrukcje\n1. Krok pierwszy...\n2. Krok drugi...", + "create": "Stwórz umiejętność", + "nameErrorMax": "Maks. 64 znaki", + "nameErrorFormat": "Tylko małe litery, cyfry i łączniki", + "nameErrorEdgeHyphen": "Nie może zaczynać się ani kończyć łącznikiem", + "nameErrorConsecutiveHyphen": "Żadnych kolejnych łączników", + "nameErrorDuplicate": "Umiejętność o tym identyfikatorze już istnieje", + "descriptionErrorMax": "Maks. 1024 znaki", + "createdSummary": "Utworzono", + "createdDetail": "Utworzono umiejętność „{name}”.", + "createFailed": "Nie udało się utworzyć umiejętności", + "updatedSummary": "Zaktualizowano", + "updatedDetail": "Zaktualizowano umiejętność „{name}”.", + "updateFailed": "Nie udało się zaktualizować umiejętności" + } + }, + "preferredEditor": { + "title": "Preferowany redaktor", + "subtitle": "Wybierz edytor, w którym chcesz otwierać pliki po kliknięciu wzmianki o pliku", + "fileManager": "Menedżer plików (domyślny)", + "noEditors": "W tym systemie nie wykryto obsługiwanych edytorów" + }, + "vimMode": { + "title": "Tryb Vima", + "subtitle": "Włącz podstawowe skróty klawiaturowe w stylu vima w wierszu poleceń agenta. Obsługiwany jest tylko podzbiór ruchów i operatorów." + }, + "persistToolCalls": { + "title": "Utrzymuj wywołania narzędzi", + "subtitle": "Zapisz zdarzenia na osi czasu wywołań narzędzi w bazie danych dla trybu agenta. Gdy opcja jest wyłączona, wywołania narzędzi są wyświetlane tylko podczas aktywnej sesji i są ukrywane po ponownym załadowaniu." + }, + "turnDiffSummary": { + "title": "Podsumowanie różnic", + "subtitle": "Wyświetl podsumowanie różnic plików w poszczególnych turach z wbudowanymi komentarzami w trybie agenta" + }, + "localProviders": { + "title": "Lokalni dostawcy", + "description": "Połącz lokalne serwery wnioskowania jako zaplecze trybu agenta. Każdy włączony dostawca pojawia się jako oddzielny agent w selektorze agentów.", + "claudeCodeRequired": "Lokalni dostawcy wymagają zainstalowania interfejsu CLI kodu Claude. Generalnie nie są one idealne do przepływów pracy interfejsu CLI agenta i zazwyczaj wymagają wydajnych, dużych modeli.", + "noProviders": "Nie wykryto żadnych lokalnych dostawców. Uruchom usługę lokalną, taką jak Ollama, lub dodaj kompatybilnego dostawcę w Model Hub." + } + }, + "mlx": { + "notInstalled": { + "description": "Ustaw @:mlxService, aby uruchamiać zoptymalizowane modele AI na Apple Silicon Mac." + }, + "modelsLocation": { + "title": "Lokalizacja modeli", + "description": "Skonfiguruj miejsce przechowywania modeli MLX." + }, + "existingModels": { + "title": "Użyj istniejących modeli", + "description": "Korzystaj z modeli, które już posiadasz, bez konieczności ich ponownego pobierania." + }, + "openSettings": "Otwórz ustawienia MLX", + "manageModels": { + "title": "Zarządzaj modelami MLX", + "description": "Przeglądaj, instaluj i zarządzaj modelami MLX zoptymalizowanymi pod kątem Apple Silicon.", + "openModelHub": "Otwórz modele lokalne" + }, + "compatibility": { + "title": "Kompatybilność systemu", + "description": "Sprawdź, czy Twój system jest kompatybilny z MLX.", + "checkAgain": "Sprawdź ponownie", + "status": { + "notChecked": "Niesprawdzone", + "compatible": "Kompatybilny", + "notCompatible": "Niekompatybilny" + }, + "requirements": { + "title": "MLX Wymagania:", + "appleSilicon": "Apple Silikonowy Mac (M1, M2, M3, M4)", + "macOS13": "macOS 13.0 lub nowszy", + "unifiedMemory": "Ujednolicona architektura pamięci" + } + } + }, + "llamacpp": { + "notInstalled": { + "description": "Ustaw @:llamacppService, aby uruchamiać wydajne modele AI na Windows, macOS i Linux." + }, + "modelsLocation": { + "title": "Lokalizacja modeli", + "description": "Skonfiguruj miejsce przechowywania modeli LLaMA.cpp." + }, + "existingModels": { + "title": "Użyj istniejących modeli", + "description": "Korzystaj z modeli, które już posiadasz, bez konieczności ich ponownego pobierania." + }, + "openSettings": "Otwórz ustawienia LLaMA.cpp", + "manageModels": { + "title": "Zarządzaj modelami LLaMA.cpp", + "description": "Przeglądaj, instaluj i zarządzaj modelami LLaMA.cpp na potrzeby wnioskowania międzyplatformowego.", + "openModelHub": "Otwórz modele lokalne" + }, + "compatibility": { + "title": "Kompatybilność systemu", + "description": "Sprawdź, czy Twój system jest kompatybilny z LLaMA.cpp.", + "checkAgain": "Sprawdź ponownie", + "status": { + "notChecked": "Niesprawdzone", + "compatible": "Kompatybilny", + "notCompatible": "Niekompatybilny", + "requiresDesktop": "LLaMA.cpp wymaga aplikacji komputerowej" + }, + "systemInfo": { + "title": "Informacje o systemie", + "platform": "Platforma", + "architecture": "Architektura", + "memory": "Dostępna pamięć", + "gpu": "GPU" + }, + "requirements": { + "title": "Wymagania LLaMA.cpp:", + "desktop": "Aplikacja komputerowa (Windows, macOS lub Linux)", + "memory": "Co najmniej 4 GB pamięci RAM (zalecane 8 GB lub więcej)", + "storage": "Wystarczająca ilość miejsca na modele (różni się w zależności od rozmiaru modelu)", + "gpu": "Opcjonalnie: GPU do przyspieszania (CUDA, Metal, OpenCL)" + } + }, + "serviceConfigurations": { + "threads": { + "title": "Wątki CPU", + "description": "Liczba wątków CPU do użycia podczas wnioskowania. Ustaw na -1, aby automatycznie wykryć na podstawie twojego systemu (odwzorowuje flagę --threads)." + }, + "concurrentRequests": { + "title": "Równoczesne żądania", + "description": "Liczba czatów, które mogą być uruchomione w tym samym czasie dla każdego modelu (odwzorowuje flagę --parallel). Przy równoległości = 2 każdy rozmowa ma połowę rozmiaru kontekstu.", + "inputLabel": "Równoczesne żądania" + }, + "advancedConfiguration": { + "description": "Wprowadź poprawny JSON, aby ustawić zmienne środowiskowe dla procesu serwera llama. Zmienne te mają niższy priorytet niż argumenty CLI ustawione w konfiguracjach usługi i modelu." + } + }, + "modelConfigurations": { + "title": "Konfiguracje @:model", + "description": "Te konfiguracje są stosowane do wszystkich modeli podczas sesji czatu.", + "keepAliveTimeout": { + "title": "Limit czasu utrzymywania modelu", + "description": "Czas (w minutach), po którym model zostanie wyładowany z pamięci, jeśli nie będzie używany." + }, + "unsavedChanges": { + "message": "Masz niezapisane zmiany w @:settings.llamacpp.modelConfigurations.title{'.'} Pamiętaj, aby zapisać je przed rozpoczęciem nowej sesji czatu.", + "successMessage": { + "detail": "@:settings.llamacpp.modelConfigurations.title zapisano" + }, + "errorMessage": { + "detail": "Nie udało się zapisać @:settings.llamacpp.modelConfigurations.title. Sprawdź logi, aby uzyskać więcej szczegółów." + } + } + } + } + }, + "mlx": "MLX", + "mlxService": "Usługa @:mlx", + "llamacpp": "LLaMA.cpp", + "llamacppService": "Usługa @:llamacpp", + "settingsAndConfigs": "Ustawienia i konfiguracje", + "prompts": "Prompty", + "apiKeys": "Klucze API", + "workspaces": { + "createNewWorkspace": "Utwórz nowy obszar roboczy", + "switchWorkspace": "Zmień obszar roboczy", + "switchToCustomWorkspace": "Przejdź do obszaru roboczego {workspaceName}", + "hideWorkspaceTray": "Ukryj tacę obszaru roboczego", + "showWorkspaceTray": "Pokaż tacę obszaru roboczego", + "switchAction": { + "successMessage": { + "summary": "Obszar roboczy została zmieniona!", + "detail": "{workspaceName} jest teraz aktywnym obszarem roboczym" + } + }, + "deleteWorkspace": "Usuń obszar roboczy", + "workspaceIsActive": "Obszar roboczy {workspaceName} jest aktywny", + "currentActiveWorkspace": "Twój aktualny aktywny obszar roboczy to: {workspaceName}", + "workspaceForm": { + "newTitle": "Nowy obszar roboczy", + "editTitle": "Edytuj obszar roboczy", + "workspaceName": "Nazwa obszaru roboczego", + "whatToCopy": "Co skopiować z obszaru roboczego {activeWorkspace}?", + "copyDisabledForLockedWorkspace": "Kopiowanie elementów jest wyłączone, ponieważ aktywny obszar roboczy ma ustawione hasło.", + "createAndSwitch": "Twórz i przełączaj", + "createOnly": "Twórz i zostań", + "duplicateWorkspaceName": "Nazwa obszaru roboczego już istnieje", + "invalidWorkspaceName": "Nieprawidłowa lub zduplikowana nazwa obszaru roboczego", + "updateSuccessMessage": { + "detail": "Zaktualizowano obszar roboczy" + }, + "updateErrorMessage": { + "detail": "Nie udało się zaktualizować obszaru roboczego" + }, + "createAndSwitchSuccessMessage": { + "detail": "Utworzono i przełączono obszar roboczy" + }, + "createSuccessMessage": { + "detail": "Utworzono obszar roboczy" + }, + "createErrorMessage": { + "detail": "Nie udało się utworzyć obszaru roboczego" + } + }, + "deleteConfirmation": { + "header": "Usuń obszar roboczy", + "message": "Czy na pewno chcesz usunąć {workspaceName}? Wszystkie dane powiązane z tym obszarem roboczym zostaną usunięte. Tej akcji nie można cofnąć.", + "downloadWorkspaceData": "@:download Obszar roboczy @:data", + "successMessage": { + "detail": "Obszar roboczy {workspaceName} został usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć obszaru roboczego" + } + }, + "exportWorkspace": { + "title": "Eksportuj obszar roboczy", + "successMessage": { + "detail": "Dane Obszar roboczy {workspaceName} wyeksportowane jako {fileName}" + }, + "errorMessage": { + "detail": "Nie udało się wyeksportować obszaru roboczego {workspaceName}" + } + }, + "importWorkspace": { + "title": "@:import Obszar roboczy", + "dragAndDropMessage": "Przeciągnij i upuść spakowany plik Msty Obszar roboczy, aby zaimportować i utworzyć nowy obszar roboczy. W przypadku zduplikowanych nazw nazwa zaimportowanego obszaru roboczego zostanie zmieniona. Możesz to zmienić później.", + "successMessage": { + "detail": "Obszar roboczy {workspaceName} został zaimportowany" + }, + "errorMessage": { + "detail": "Nie udało się zaimportować obszaru roboczego" + }, + "switchToWorkspace": "Przejdź do obszaru roboczego" + } + }, + "attachments": { + "title": "Załączniki", + "documents": "Dokumenty", + "images": "Obrazy", + "videos": "Wideo", + "webpages": "Strony internetowe", + "youTubeLinks": "Linki do YouTube'a", + "dropThem": "Rzuć je!", + "selectAll": "@:select wszystkie", + "deselectAll": "Odznacz wszystko", + "dragAnDropHere": "Przeciągnij i upuść tutaj {attachmentType}", + "addNew": "Dodaj nowe załączniki", + "addDocumentTypes": "Dodaj {documentTypes} i kilka innych plików z kodem", + "addImageTypes": "Dodaj obrazy w formacie .png, .jpg lub JPEG", + "captureScreenshot": { + "title": "Przechwyć zrzut ekranu", + "unsupported": "Przechwytywanie zrzutów ekranu nie jest dostępne w tym środowisku.", + "failed": "Nie udało się przechwycić zrzutu ekranu", + "enableAction": "Włącz przechwytywanie zrzutów ekranu", + "enableSuccess": "Przechwytywanie zrzutów ekranu jest włączone dla tej aplikacji na tym urządzeniu.", + "enableFailed": "Nie udało się włączyć przechwytywania zrzutów ekranu.", + "permissionHelp": "Sprawdź ustawienia systemu operacyjnego i upewnij się, że Msty Studio może przechwytywać zrzuty ekranu, a następnie spróbuj ponownie.", + "enableConfirm": { + "header": "Włącz przechwytywanie zrzutów ekranu", + "message": "Msty zainicjuje teraz przechwytywanie zrzutu ekranu, a system operacyjny może poprosić o dostęp do przechwytywania ekranu. Kontynuować?" + }, + "captureInteractiveRegion": "Interaktywne przechwytywanie regionu", + "captureQuickRegion": "Szybkie przechwytywanie regionu", + "captureDisplayMenu": "Przechwytywanie wyświetlacza", + "captureDisplay": "Przechwyć {displayName}", + "displayFallback": "Przechwyć główny ekran", + "refreshDisplays": "Odśwież wyświetlacze", + "captureWindowMenu": "Okno przechwytywania", + "captureWindow": "Okno przechwytywania: {windowName}", + "windowFallback": "Przechwyć pierwsze dostępne okno", + "refreshWindows": "Odśwież Windows" + }, + "dragAndDropOrBrowseMore": "Przeciągnij i upuść lub przeglądaj więcej", + "commaSeparatedUrls": "lub wklej adresy URL rozdzielone przecinkami", + "manageTooltip": "Kliknij, aby zarządzać dołączonym {attachmentType}", + "modelMayNotSupportImages": "Wybrany model może nie obsługiwać załączników graficznych.", + "clickToInstallVisionCapabilities": "Kliknij, aby zainstalować funkcje wizyjne.", + "checkingVisionCapabilities": "Sprawdzanie możliwości widzenia...", + "installingVision": "Instalowanie funkcji wizyjnych...", + "documentsAttachedCount": "Dokument {count} w załączeniu | Dokumenty {count} w załączeniu", + "imagesAttachedCount": "Załączony obraz {count} | Załączone obrazy {count}", + "webpagesAttachedCount": "Załączona strona internetowa {count} | W załączeniu strony internetowe {count}", + "webpageLinks": "link do strony internetowej | linki do stron internetowych", + "holdKeyToShareWithSyncedSplits": "Przytrzymaj {key}, aby udostępnić zsynchronizowane podziały", + "youTubeLinksAttachedCount": "{count} Załączony link do YouTube | {count} Linki do YouTube w załączeniu", + "youTubeTranscriptDeprecationWarning": "@:knowledgeStack.buckets.youTubeLinks.deprecationWarning", + "dynamicMode": { + "title": "Tryb dynamiczny", + "description": "Dołącz foldery w trybie dynamicznego ściągania, aby narzędzia mogły najpierw przeszukiwać metadane, a następnie w razie potrzeby czytać określone pliki.", + "allAttachments": "Wszystkie załączniki", + "filterPlaceholder": "Szybkie filtrowanie folderów...", + "loadingFolders": "Ładowanie folderów...", + "noFolders": "Nie znaleziono folderów." + }, + "dropFiles": { + "errorMessage": { + "detail": "Nie udało się załączyć plików" + } + }, + "dropWebpages": { + "errorMessage": { + "detail": "Nie udało się dołączyć stron internetowych" + } + }, + "dropYouTubeLinks": { + "errorMessage": { + "detail": "Nie udało się zaimportować informacji o linkach do YouTube. {errorMessage}" + } + }, + "detachAll": { + "title": "Odłącz wszystko", + "confirm": { + "header": "Odłącz wszystko", + "message": "Czy na pewno chcesz odłączyć wszystkie {attachmentType}? Te {attachmentType} nie będą już dostępne w rozmowie we wszystkich podziałach.", + "acceptLabel": "@:delete" + }, + "maxResult": { + "title": "Maksymalny wynik" + }, + "successMessage": { + "detail": "Załączniki odłączone" + } + } + }, + "jinaAPI": { + "manageJinaAPIKeys": "Zarządzaj kluczami", + "jinaApiKeyRequired": "Do korzystania z tej funkcji wymagany jest ważny klucz Jina API. Możesz odwiedzić poniższy link, aby otrzymać jeden za darmo:", + "willUseJina": { + "description": "Aktualnie dodano klucze {count} Jina API. Możesz dodać więcej kluczy, a Msty wybierze losowy prawidłowy klucz do użycia w żądaniu." + }, + "jinaAPIKeyForm": { + "newTitle": "Nowy klucz Jina API", + "editTitle": "Edytuj klucz Jina API", + "availableKeys": "Dostępne klucze", + "reVerifyKey": "Klucz to {status}. Kliknij, aby ponownie zweryfikować", + "verifyKeyAndAdd": "Sprawdź klucz i dodaj", + "newDescription": "Dodaj nowy klucz Jina API do użycia z punktami końcowymi czytnika i wyszukiwania Jina. Możesz dodać wiele kluczy i zweryfikować je, aby upewnić się, że są ważne. Podczas korzystania z kluczy Msty wybierze losowy ważny klucz, który będzie używany w żądaniu.", + "keyIsGood": { + "summary": "Wszystko dobrze!", + "detail": "Klucz wydaje się być ważny i gotowy do użycia" + }, + "successMessage": { + "detail": "Jina API Dodano klucz" + }, + "errorMessage": { + "summary": "Błąd{status}!", + "detail": "Nie udało się dodać klucza Jina API. Sprawdź klucz API i upewnij się, że jest ważny." + } + }, + "tokenBudget": { + "title": "Budżet tokenowy", + "description": "Maksymalna liczba tokenów do wykorzystania dla żądań Jina API. Pomaga to kontrolować koszty i długość odpowiedzi." + } + }, + "rtd": { + "title": "@:data w czasie rzeczywistym", + "enableRTD": "Kliknij, aby przełączyć RTD; kliknij dwukrotnie, aby skonfigurować", + "contexts": "@:rtd.title Konteksty", + "removeSource": { + "successMessage": { + "detail": "Źródło usunięte" + }, + "errorMessage": { + "detail": "Nie udało się usunąć źródła" + } + }, + "updateSource": { + "errorMessage": { + "detail": "Nie udało się zaktualizować źródła" + } + }, + "searchProvider": "Dostawca wyszukiwania", + "jina": "Jina", + "useRemoteConnector": "Użyj @:remoteToolsConnector.title", + "noSources": "Brak dostępnych źródeł", + "settings": { + "maxResult": { + "title": "Maksymalny wynik" + }, + "saveAsDefaultProvider": { + "title": "Zapisz {providerName} jako domyślnego dostawcę wyszukiwania", + "successMessage": { + "summary": "{providerName} to jest to!", + "detail": "{providerName} jest teraz domyślnym dostawcą wyszukiwania" + } + }, + "autoWithFallback": "Auto z rezerwą", + "google": "Google", + "brave": "Brave", + "ecosia": "Ekozja", + "customSearchQuery": { + "title": "Niestandardowe zapytanie wyszukiwania", + "placeholder": "To zapytanie będzie użyte do wyszukiwania. Jeśli chcesz użyć prompty jako zapytania, pozostaw to pole puste" + }, + "limitByDomain": { + "title": "Limit według domeny", + "placeholder": "np. reddit.com lub gov lub (site:reddit.com LUB strona:gov)", + "commaDelimitedPlaceholder": "Wpisz domeny oddzielone przecinkami, np. reddit.com, wikipedia.com" + }, + "extraOperators": { + "title": "Dodatkowi operatorzy" + }, + "dateRange": { + "title": "Wyszukaj zakres dat", + "placeholder": "Po dacie - Przed datą" + }, + "successMessage": { + "detail": "@:rtd.title Włączone" + }, + "types": { + "api": "API", + "rtc": "@:remoteToolsConnector.title" + } + }, + "useJinaLabel": "Użyj @:rtd.jina", + "google": { + "useLabel": "Użyj @:rtd.settings.google", + "apiKey": { + "placeholder": "@:rtd.settings.google @:apiKey" + }, + "cseIdLabel": "Identyfikator niestandardowej wyszukiwarki", + "cseIdPlaceholder": "@:rtd.settings.google @:rtd.google.cseIdLabel" + }, + "brave": { + "useLabel": "Użyj @:rtd.settings.brave", + "resultFilter": "Filtruj wyniki", + "apiKey": { + "placeholder": "@:rtd.settings.brave @:apiKey" + } + }, + "searXng": { + "title": "SearXNG", + "engines": { + "title": "Silniki", + "placeholder": "Rozdzielana przecinkami lista silników, których można użyć, np. google, odważny itp." + }, + "extraParams": { + "title": "Dodatkowe parametry", + "placeholder": "Dodaj dodatkowe parametry. Powinien to być prawidłowy obiekt JSON." + }, + "notice": "Twój serwer SearXNG musi mieć włączoną opcję JSON i być obsługiwany przez HTTPS. Aby znaleźć obejście problemu HTTP w niektórych przeglądarkach, zapoznaj się z naszą dokumentacją pod adresem https://docs.msty.studio", + "useLabel": "Użyj @:rtd.searXng.title" + }, + "tavily": { + "title": "Tavily", + "useLabel": "Użyj @:rtd.tavily.title", + "searchTopic": { + "title": "Wyszukaj temat", + "placeholder": "Kategoria wyszukiwania", + "general": "Generał", + "news": "Wiadomości", + "finance": "Finanse" + }, + "apiKey": { + "placeholder": "Wprowadź @:rtd.tavily.title @:apiKey" + }, + "searchDepth": { + "title": "Głębokość wyszukiwania", + "placeholder": "Głębokość poszukiwań", + "advanced": "Postęp", + "basic": "Podstawowy" + }, + "timeRange": { + "title": "Zakres czasu", + "placeholder": "Zakres czasu wstecz od bieżącej daty" + } + }, + "exa": { + "title": "Exa", + "useLabel": "Użyj @:rtd.exa.title", + "apiKey": { + "placeholder": "Wprowadź @:rtd.exa.title @:apiKey" + } + }, + "ollama": { + "title": "Ollama", + "useLabel": "Użyj @:rtd.ollama.title", + "apiKey": { + "placeholder": "Wprowadź @:rtd.ollama.title @:apiKey" + } + }, + "disableRTD": { + "label": "Wyłącz @:rtd.title", + "successMessage": { + "detail": "@:rtd.title wyłączone" + }, + "errorMessage": { + "detail": "Nie udało się wyłączyć @:rtd.title" + } + } + }, + "remoteToolsConnector": { + "title": "Usługa zdalna", + "connectionRequired": "Aby skorzystać z tej funkcji, musisz połączyć się z @:remoteToolsConnector.title{'.'}", + "experimentalInfo": "RTD ma charakter eksperymentalny i może nie działać zgodnie z oczekiwaniami.", + "isConnectedTooltip": "@:remoteToolsConnector.title - Połączono", + "isDisconnectedTooltip": "@:remoteToolsConnector.title - Rozłączono", + "connectNow": "@:connect z @:remoteToolsConnector.title", + "connectFirst": "Najpierw @:connect @:remoteToolsConnector.title", + "reconnectNow": "@:reconnect z @:remoteToolsConnector.title", + "disconnectNow": "@:disconnect Teraz", + "checkHealth": "Sprawdź stan połączenia", + "connectionDetails": "Edytuj szczegóły połączenia", + "noPermissionPolicy": "Nie masz uprawnień dostępu do tej funkcji", + "connect": { + "form": { + "title": "Połącz się z @:remoteToolsConnector.title", + "saveAndConnect": "Zapisz i połącz", + "rememberConnectionInfo": "Zapamiętaj @:connectionInfo" + }, + "import": { + "title": "@:import @:connectionInfo", + "dragAndDropMessage": "Przeciągnij i upuść plik konfiguracji połączenia zdalnego Msty, aby zaimportować i połączyć się z @:remoteToolsConnector.title{'.'}", + "successMessage": { + "detail": "Zaimportowano @:connectionInfo" + }, + "errorMessage": { + "detail": "Nie udało się zaimportować @:connectionInfo" + } + }, + "export": { + "title": "Eksportuj zapisane @:connectionInfo", + "successMessage": { + "detail": "@:connectionInfo wyeksportowano" + }, + "errorMessage": { + "detail": "Nie udało się wyeksportować @:connectionInfo" + } + }, + "successMessage": { + "summary": "Połączono!", + "detail": "@:remoteToolsConnector.title podłączony do {url}" + }, + "errorMessage": { + "detail": "Nie udało się połączyć z @:remoteToolsConnector.title{'.'} Upewnij się, że @:remoteToolsConnector.title działa i jest dostępny pod podanym URL.", + "tokenMissing": "Brak tokena. Sprawdź token i spróbuj ponownie." + }, + "forgetConnectionInfo": "Zapomnij o poprzednim @:connectionInfo", + "forgetSuccessMessage": { + "detail": "@:connectionInfo zapomniane" + }, + "toolCommandPaths": { + "title": "Ścieżki poleceń narzędzi", + "description": "Jeśli używasz zestawów narzędzi, ustaw ścieżki do poleceń, których używasz.", + "selectPlaceholder": "@:select lub wprowadź polecenie", + "pathPlaceholder": "Wprowadź pełną ścieżkę do polecenia", + "assignPath": "Przypisz @:path" + } + }, + "disconnect": { + "successMessage": { + "summary": "Rozłączono!", + "detail": "Odłączono od @:remoteToolsConnector.title" + } + } + }, + "forge": { + "forgeMode": { + "title": "Tryb kuźni", + "description": "Tryb Forge zapewnia puste płótno i potężne narzędzia do swobodnego tworzenia, edytowania, stylizowania i udoskonalania treści." + }, + "title": "Kuźnia", + "forgeContent": "Treść Kuźni", + "forgingContent": "Fałszowanie treści", + "editRawMarkdown": "Edytuj surową Markdown", + "editAsBranch": "Edytuj jako oddział", + "disabledEditRawMarkdown": "Ta treść została sfałszowana. Niedozwolona jest edycja surowych Markdown.", + "saveChanges": { + "title": "Zapisz zmiany", + "successMessage": { + "detail": "Zmiany zostały zapisane" + }, + "errorMessage": { + "detail": "Nie udało się zapisać zmian" + } + }, + "placeholders": { + "writeSomething": "Napisz coś lub wpisz /, aby wyświetlić opcje...", + "detailsSummary": "Wprowadź podsumowanie szczegółów" + }, + "prompts": { + "simplify": "Uprość", + "fixSpellingAndGrammar": "Napraw pisownię i gramatykę", + "makeShorter": "Skróć", + "makeLonger": "Zrób dłużej", + "tldr": "TL;DR;", + "emojify": "Emocjonalnie", + "changeTone": { + "title": "@:change Ton", + "academic": "Akademicki", + "business": "Biznes", + "casual": "Swobodny", + "childFriendly": "Przyjazny dla dzieci", + "conversational": "Konwersacyjny", + "emotional": "Emocjonalny", + "humorous": "Humorystyczny", + "informative": "Informacyjny", + "inspirational": "Inspirujące", + "professional": "Profesjonalny", + "narrative": "Narracja", + "objective": "Cel", + "persuasive": "Przekonujący", + "poetic": "Poetycki" + } + }, + "clearFormatting": "Wyczyść formatowanie", + "bold": "Odważne", + "italic": "Kursywa", + "underline": "Podkreśl", + "strikethrough": "Przekreślenie", + "code": "Kod", + "codeBlock": "Blok kodu", + "blockQuote": "Cytat blokowy", + "undo": "Cofnij", + "redo": "Powtórz", + "texts": "Teksty", + "paragraph": "Akapit", + "heading1": "Nagłówek 1", + "heading2": "Nagłówek 2", + "heading3": "Nagłówek 3", + "lists": "Listy", + "bulletList": "Lista punktorów", + "numberedList": "Lista numerowana", + "taskList": "Lista zadań", + "whatToForgePlaceholder": "Co chcesz dziś sfałszować?", + "forgeWriter": "Forge Pisarz", + "contentType": "Typ zawartości", + "moreOptions": "Więcej opcji", + "inlinePrompt": { + "placeholder": "Wpisz niestandardowy prompt...", + "ask": "Zapytaj", + "askTooltip": "Poproś model o wygenerowanie odpowiedzi na podstawie niestandardowego promptu" + }, + "forgeCanvas": "Płótno Kuźni", + "newForgeCanvas": "Nowy @:forge.forgeCanvas", + "addNewForgeCanvas": "Dodaj nowy @:forge.forgeCanvas" + }, + "agentMode": { + "title": "Tryb agenta", + "description": "Tryb agenta umożliwia interakcję z agentami kodującymi AI za pośrednictwem protokołu Agent Client", + "newAgentSession": "Nowa sesja agenta", + "selectAgent": "Wybierz Agenta", + "selectWorkspace": "Wybierz Obszar roboczy", + "connecting": "Łączenie...", + "connected": "Połączono", + "disconnected": "Rozłączony", + "agentNotInstalled": "Agent nie jest zainstalowany", + "rollback": "Wróć do tego miejsca", + "rollbackBeforeMessage": "Przywróć stan sprzed tej wiadomości", + "rollbackToMessage": "Wróć do tej wiadomości", + "modes": { + "ask": "Zapytaj", + "act": "Ustawa", + "plan": "Planuj" + } + }, + "preview": "Podgląd", + "prompt": "Prompt | Prompty", + "discard": "Odrzuć", + "insert": "Wstaw", + "regenerate": "Zregeneruj", + "rewrite": "Przepisz", + "exit": "Wyjdź", + "customPrompt": "Niestandardowy prompt", + "markdown": "Markdown", + "json": "JSON", + "html": "HTML", + "formatted": "Sformatowany", + "invalidJson": "Nieprawidłowy @:json", + "downloadMarkdown": "@:download jako plik @:markdown", + "downloadJson": "@:download jako plik @:json", + "downloadHTML": "@:download jako plik HTML", + "copyMarkdownToClipboard": "Skopiuj @:markdown do schowka", + "copyHTMLToClipboard": "Skopiuj kod HTML do schowka", + "copyFormattedToClipboard": "Skopiuj tekst do schowka", + "copiedToClipboard": { + "summary": "Skopiowano!", + "markdownDetail": "Treść skopiowana do schowka jako @:markdown", + "htmlDetail": "Treść skopiowana do schowka jako HTML", + "formattedDetail": "Treść skopiowana do schowka jako tekst sformatowany", + "jsonDetail": "Treść skopiowana do schowka jako @:json", + "itemCopied": "{item} skopiowano do schowka" + }, + "exportJsonToClipboard": "Treść wyeksportowana do schowka jako @:json", + "variable": "Zmienna | Zmienne", + "pinItem": { + "title": "@:pinned {item}", + "action": "Kołek {item}", + "successMessage": { + "detail": "{item} przypięty" + }, + "errorMessage": { + "detail": "Nie można przypiąć {item}" + } + }, + "unpinItem": { + "action": "Odepnij {item}", + "successMessage": { + "detail": "{item} odpięty" + }, + "errorMessage": { + "detail": "Nie można odpiąć {item}" + } + }, + "setDefaultItem": { + "title": "Domyślny {item}", + "action": "Ustaw {item} jako domyślny", + "successMessage": { + "detail": "{item} ustawiony jako domyślny" + }, + "errorMessage": { + "detail": "Nie można ustawić {item} jako domyślnego" + } + }, + "unsetDefaultItem": { + "action": "Domyślny {item}. Kliknij, aby rozbroić.", + "successMessage": { + "detail": "Domyślnie usunięto {item}" + } + }, + "model": "Model", + "fallbackModel": { + "selectModel": "Wybierz Model zastępczy", + "hint": "Używane, gdy nie skonfigurowano żadnego modelu" + }, + "modelSelector": { + "filterControls": { + "title": "Sortuj i wyświetlaj", + "searchPlaceholder": "Wyszukaj modele...", + "clear": "Zresetuj", + "providerSort": { + "label": "Sortowanie dostawców", + "none": "Żadne", + "name": "Imię", + "createdAt": "Utworzono o godz", + "ascending": "Rosnąco", + "descending": "Malejąco", + "groupByProvider": "Grupuj według dostawcy" + }, + "modelSort": { + "label": "Sortowanie modeli", + "none": "Żadne", + "name": "Imię", + "recent": "Najnowsze", + "ascending": "Rosnąco", + "descending": "Malejąco" + }, + "purpose": { + "label": "Filtruj według celu", + "placeholder": "Wszystkie cele" + } + } + }, + "modelSettings": "Ustawienia @:model", + "syncSplit": "Synchronizuj @:split", + "name": "Imię", + "split": "Podział | Podziały", + "template": "Szablon | Szablony", + "discardChanges": "Odrzuć zmiany", + "applyChanges": "Zastosuj zmiany", + "splitPreset": { + "title": "Podziel @:preset | Podziel @:preset", + "selectPlaceholder": "@:select @:preset", + "new": "Nowy @:preset", + "newSplit": "Nowy @:split", + "sync": "Synchronizuj", + "updateSync": "Zaktualizuj synchronizację", + "unsync": "Cofnij synchronizację", + "syncEntities": { + "systemPrompt": "Prompt systemowy", + "userPrompt": "Prompt użytkownika", + "attachments": "Załączniki", + "rtdInfo": "Dane w czasie rzeczywistym", + "liveContextInfo": "Konteksty na żywo", + "toolsets": "Zestawy narzędzi" + }, + "splits": { + "splitIndex": "Podziel {index}", + "delete": "@:delete @:preset" + }, + "import": { + "title": "Importuj @:preset | Importuj @:preset", + "dragAndDropMessage": "Przeciągnij i upuść spakowany plik ustawień wstępnych Msty, aby zaimportować i utworzyć nowe ustawienia wstępne. W przypadku zduplikowanych nazw nazwa zaimportowanych presetów zostanie zmieniona. Możesz to zmienić później.", + "successMessage": { + "detail": "Zaimportowano @:preset" + }, + "errorMessage": { + "detail": "Nie udało się zaimportować gotowych ustawień" + } + }, + "export": { + "title": "Eksportuj @:preset | Eksportuj @:preset", + "selected": "Eksportuj wybrane @:preset | Eksportuj wybrane @:preset", + "successMessage": { + "detail": "Podzielone ustawienie wstępne wyeksportowane jako {fileName} | Podzielone ustawienia wstępne wyeksportowane jako {fileName}" + }, + "errorMessage": { + "detail": "Nie udało się wyeksportować gotowych ustawień | Nie udało się wyeksportować gotowych ustawień" + } + }, + "delete": { + "title": "@:delete @:preset | Usuń @:preset", + "selected": "@:delete Wybrane @:preset | Usuń wybrane @:preset", + "deleteConfirmation": { + "header": "@:delete @:preset", + "description": "Czy na pewno chcesz usunąć {presetName}? | Czy na pewno chcesz usunąć ustawienia wstępne {count}?" + }, + "successMessage": { + "detail": "Usunięto ustawienie wstępne podziału | Usunięto gotowe ustawienia podziału" + }, + "errorMessage": { + "detail": "Nie można usunąć podzielonego ustawienia wstępnego | Nie można usunąć podzielonych gotowych ustawień" + } + }, + "update": { + "successMessage": { + "detail": "Zaktualizowano ustawienie wstępne podziału" + }, + "errorMessage": { + "detail": "Nie można zaktualizować gotowych ustawień podziału" + } + }, + "save": { + "successMessage": { + "detail": "Zapisano wstępne ustawienie podziału" + }, + "errorMessage": { + "detail": "Nie można zapisać podzielonego ustawienia wstępnego" + } + }, + "empty": { + "title": "Brak dostępnego @:splitPreset.title", + "description": "Zacznij od dodania lub zaimportowania nowego @:splitPreset.title" + }, + "invalidTemplatesMessage": { + "summary": "Nieprawidłowe szablony", + "detail": "Niektóre szablony są nieprawidłowe lub brakuje w nich wymaganych pól. Popraw je przed kontynuowaniem." + } + }, + "shadowPersonas": { + "title": "Persony cienia", + "create": "Utwórz Personę Cienia", + "editTitle": "Edytuj Personę Cienia", + "assignedPersona": "Przypisana osoba", + "changePersona": "Zmień osobowość", + "changePersonaTitle": "Zmień osobowość cienia", + "currentPersona": "Aktualna Persona", + "selectNewPersona": "Wybierz opcję Nowa osoba", + "waitingForCompletion": "Oczekiwanie na ukończenie", + "changePersonaWarning": "Zmiana osoby zresetuje kontekst analizy i może wpłynąć na ciągłość.", + "unassigned": "Brak przypisanej osoby", + "hideSidebar": "Ukryj Persony Cienia", + "showSidebar": "Pokaż persony cienia", + "noMonitoring": "Żadne podziały nie są monitorowane", + "monitoringHiddenHint": "Podział monitoringu {count} (kliknij, żeby pokazać) | Monitorowanie podziałów {count} (kliknij, aby pokazać)", + "monitoringSplitsHint": "Monitorowanie {count} podział | Monitorowanie podziałów {count}", + "noSplitsMonitoredHint": "Żadne podziały nie są monitorowane", + "monitoringStatus": "Monitorowanie {count} podział | Monitorowanie podziałów {count}", + "activate": "Aktywuj", + "deactivate": "Dezaktywuj", + "processNow": "Przetwarzaj teraz", + "processing": "Przetwarzanie...", + "createAndAssign": "Utwórz i przypisz", + "latestInsight": "Najnowsze spostrzeżenia", + "noOutputYet": "Nie ma jeszcze wyników", + "outputs": "Wyjścia", + "viewLatest": "Zobacz najnowsze", + "viewHistory": "Zobacz historię", + "noHistory": "Brak dostępnej historii", + "selectVersion": "Wybierz wersję", + "name": "Imię Osoby Cienia", + "namePlaceholder": "np. analityk techniczny, monitor wydajności", + "edit": "Edytuj Personę Cienia", + "switchShadowPersona": "Zmień Personę Cienia", + "selectShadowPersonaToSwitch": "Wybierz cień, na który chcesz się przełączyć", + "selectShadowPersona": "Wybierz Personę Cienia", + "searchShadowPersonas": "Wyszukaj osoby-cienie...", + "description": "Opis (opcjonalnie)", + "descriptionPlaceholder": "Opisz, co obserwuje lub analizuje ta osoba-cień", + "selectPersona": "Wybierz Personę", + "selectPersonaPlaceholder": "Wybierz osobę, której chcesz użyć", + "selectSplits": "Wybierz opcję Podziały do monitorowania", + "selectSplitsPlaceholder": "Wybierz podziały do monitorowania", + "selectSplitsPlaceholderOptional": "Wybierz podziały do monitorowania (można ustawić później)", + "splitsCanBeAssignedLater": "Podziały można dynamicznie przypisywać i zarządzać nimi po utworzeniu", + "updateTrigger": "Aktualizuj wyzwalacz", + "messageInterval": "Interwał wiadomości", + "timeInterval": "Przedział czasu", + "messagesPerSplit": "Wiadomości na podział", + "maxContext": "Maksymalny kontekst", + "synthesisMode": "Tryb syntezy", + "outputFormat": "Format wyjściowy", + "maxProcessingTime": "Maksymalny czas przetwarzania", + "versionManagement": "Zarządzanie wersjami", + "maxVersions": "Maksymalna liczba wersji", + "advancedSettings": "Ustawienia zaawansowane", + "includeSystemMessages": "Dołącz komunikaty systemowe", + "autoDeleteOld": "Automatyczne usuwanie starych wersji", + "waitingForSplits": "Czekam na podziały", + "processingNow": "Przetwarzanie teraz", + "empty": { + "title": "Brak Person Cieni", + "description": "Utwórz Shadow Persona, aby monitorować i analizować podziały rozmów" + }, + "unlock": "Odblokuj Persony Cienia", + "experimental": "Eksperymentalny", + "experimentalInfo": "Shadow Personas to eksperymentalna funkcja, która analizuje rozmowy i równolegle generuje alternatywne perspektywy i spostrzeżenia.", + "noOutput": { + "title": "Brak jeszcze wyników", + "description": "Ta Shadow Persona nie wygenerowała jeszcze żadnych wyników" + }, + "saveToEnableProcessing": "Zapisz tę rozmowę, aby włączyć przetwarzanie Shadow Persona", + "delete": { + "title": "Usuń Personę Cienia", + "action": "Usuń", + "confirmMessage": "Czy na pewno chcesz usunąć „{name}”? „{name}” zostanie usunięty ze wszystkich rozmów, do których jest dołączony. Tej akcji nie można cofnąć.", + "successMessage": "Pomyślnie usunięto osobę-cienia", + "errorMessage": "Nie udało się usunąć osoby-cienia" + }, + "detach": { + "title": "Odłącz Personę Cienia", + "action": "Odłącz", + "confirmMessage": "Odłączyć „{name}” od tej rozmowy? Osoba-cień pozostanie dostępna dla innych rozmów.", + "successMessage": "Pomyślnie odłączono cień", + "errorMessage": "Nie udało się odłączyć cienia" + }, + "switch": { + "successMessage": "Pomyślnie zmieniono osobowość-cień", + "errorMessage": "Nie udało się przełączyć osoby-cienia" + }, + "editToast": { + "successMessage": "Pomyślnie zaktualizowano osobowość-cień", + "errorMessage": "Nie udało się zaktualizować osoby-cienia" + }, + "createToast": { + "successMessage": "Pomyślnie utworzono osobowość-cień", + "errorMessage": "Nie udało się utworzyć osoby-cienia" + }, + "queueClearedToast": { + "summary": "Kolejka wyczyszczona", + "detail": "Anulowano element w kolejce {cancelledCount} | Anulowano elementy w kolejce {cancelledCount}" + }, + "queueUpdatedToast": { + "summary": "Kolejka zaktualizowana", + "detail": "Anulowano element wyzwalany automatycznie {cancelledCount} | Anulowano elementy wyzwalane automatycznie {cancelledCount}" + }, + "queueFullToast": { + "summary": "Kolejka pełna", + "detail": "Kolejka przetwarzania jest pełna. Poczekaj na zakończenie bieżących elementów" + }, + "alreadyProcessingToast": { + "summary": "Już przetwarzane", + "detail": "Ta rozmowa jest już przetwarzana" + }, + "trigger": { + "everyMessage": "Każda wiadomość", + "everyNMessages": "Każda wiadomość {n}", + "manual": "Tylko ręczne", + "timeInterval": "Przedział czasu", + "automatic": "Automatyczny" + }, + "triggerHints": { + "everyMessage": "Uruchamia się po każdej wiadomości (najszybciej, częściej)", + "everyNMessages": "Działa po komunikatach {n} (wsadowo)", + "manual": "Tylko po kliknięciu Przetwórz teraz" + }, + "synthesis": { + "auto": "Automat", + "combined": "Analiza łączona", + "perSplit": "Na podział", + "comparative": "Porównawczy" + }, + "synthesisHints": { + "auto": "Wybiera najlepszy tryb na podstawie podziałów i intencji", + "combined": "Jedno podsumowanie dla wszystkich podziałów", + "perSplit": "Trzymaj każdy podział osobno i oznaczony", + "comparative": "Różnice i porozumienia side-by-side" + }, + "synthesisAutoReasons": { + "singleSplit": "Opcja Auto użyje opcji Łączony, ponieważ występuje tylko jeden podział.", + "multipleModels": "Automatycznie użyje funkcji porównawczej, ponieważ używanych jest wiele modeli.", + "sameModel": "Opcja Auto użyje opcji Według podziału, ponieważ podziały korzystają z tego samego modelu." + }, + "format": { + "insights": "Spostrzeżenia", + "summary": "Podsumowanie", + "recommendations": "Zalecenia", + "analysis": "Analiza" + }, + "monitoringSplits": "Monitorowanie {count} podział | Monitorowanie podziałów {count}", + "locateSplits": "Zlokalizuj podziały", + "manageSplits": "Zarządzaj podziałami", + "addAllSplits": "Dodaj wszystkie podziały", + "deselectAll": "Odznacz wszystko", + "selectAll": "Zaznacz wszystko", + "selectedCount": "Wybrano {count} z {total}", + "streaming": "Transmisja strumieniowa", + "starting": "Rozpoczęcie", + "collectingContext": "Zbieranie kontekstu z podziałów...", + "waitingForConversationCompletion": "Czekam na zakończenie rozmowy", + "analyzingConversationSplits": "Analizowanie podziałów rozmowy...", + "analyzeResponses": "Shadow Persona przeprowadzi analizę po otrzymaniu wszystkich odpowiedzi", + "toolCalls": "Wywołania narzędzi", + "reasoning": "Rozumowanie", + "stopProcessing": "Zatrzymaj przetwarzanie", + "attachExisting": "Dołącz istniejące", + "attachTitle": "Dołącz Personę Cienia", + "previousVersion": "Poprzednia wersja", + "nextVersion": "Następna wersja", + "attach": "Dołącz", + "selectShadowPersonaToAttach": "Wybierz osobę cienia, którą chcesz dołączyć do tej rozmowy", + "selectShadowPersonaPlaceholder": "Wybierz cień, który chcesz dołączyć", + "queuedPosition": "W kolejce #{position}", + "addToQueue": "Dodaj do kolejki", + "processingQueue": "Kolejka przetwarzania", + "removeFromQueue": "Usuń z kolejki", + "removedFromQueue": "Usunięto z kolejki", + "inQueue": "w kolejce", + "clearQueue": "Wyczyść wszystko", + "queueEmpty": "Brak pozycji w kolejce", + "estimatedWait": "Szac. czekaj: {time}", + "queuedItems": "{count} pozycja w kolejce | {count} elementy w kolejce", + "monitoring": "Monitorowanie i kolejka", + "monitoredSplits": "Monitorowane podziały" + }, + "toolbox": { + "title": "Skrzynka narzędziowa", + "toolsUsageWillSkip": "Msty @:remoteToolsConnector.title nie działa; użycie narzędzi zostanie pominięte.", + "tools": { + "title": "Narzędzie | Narzędzia", + "description": "Zbiór narzędzi, które pomogą Ci w pracy LLM.", + "availableTools": "Dostępne narzędzia", + "availableToolsets": "Dostępne zestawy narzędzi", + "authorize": "Autoryzuj", + "authorization": "Autoryzacja", + "authorizationFailed": "Nie udało się rozpocząć autoryzacji", + "authorizationStarted": "Rozpoczęto przepływ autoryzacji. Dokończ w przeglądarce.", + "setDefaultParams": "Ustaw parametry domyślne", + "setParams": "Ustaw parametry", + "missingThisDependency": "Wydaje się, że tej zależności brakuje w twoim środowisku. Bez tego narzędzie może nie działać zgodnie z oczekiwaniami.", + "defaultParamsForm": { + "header": "Domyślne parametry dla {toolName}", + "description": "Parametry te będą używane globalnie dla wszystkich instancji narzędzia {toolName}. Można je zastąpić podczas tworzenia zestawu narzędzi.", + "args": { + "label": "Argumenty", + "description": "@:select @:argument i ustaw jego wartość. Pozostaw to pole puste, aby pominąć ustawianie wartości.", + "customArg": { + "label": "Niestandardowy @:argument", + "description": "Wprowadź nazwę nowego @:argument{'.'} Oddziel poszczególne argumenty przecinkiem.", + "placeholder": "np. --arg1, jakiśArg, -verbose" + } + }, + "env": { + "label": "Zmienne środowiskowe", + "description": "@:select lub wprowadź nowe środowisko @:variable i ustaw jego wartość.", + "addEnv": "Dodaj środowisko @:variable", + "selectPlaceholder": "@:select środowisko @:variable", + "enterNew": "Dodaj nowe środowisko @:variable" + }, + "successMessage": { + "saveDetail": "Domyślne parametry zapisane dla {toolName}." + }, + "errorMessage": { + "saveDetail": "Nie udało się zapisać parametrów domyślnych." + } + }, + "addNewTool": { + "title": "Dodaj nowe narzędzie", + "description": "Dodaj własne narzędzie kompatybilne z MCP do skrzynki narzędziowej. Po dodaniu można dodać go do zestawu narzędzi, ustawić parametry i używać go z modelem.", + "namePlaceholder": "Nadaj mu nazwę (domyślnie używa identyfikatora narzędzia)", + "id": { + "label": "Identyfikator narzędzia", + "placeholder": "Unikalny identyfikator narzędzia (uzupełniany automatycznie, jeśli zostanie wykryty w konfiguracji)" + }, + "duplicateId": "Narzędzie o tym identyfikatorze już istnieje. Proszę wprowadzić unikalny identyfikator.", + "successMessage": { + "summary": "Dodano narzędzie", + "detail": "Narzędzie dodane do skrzynki narzędziowej. Możesz teraz dodać go do zestawu narzędzi i używać go z modelem." + }, + "successMessageWithToolset": { + "summary": "Dodano narzędzie", + "detail": "Narzędzie dodano do przybornika i utworzono pasujący zestaw narzędzi. Jest gotowy do użycia z modelem." + }, + "errorMessage": { + "detail": "Nie udało się dodać narzędzia do skrzynki narzędziowej. {error}" + }, + "toolConfig": { + "label": "Konfiguracja narzędzia", + "placeholder": "Wprowadź lub wklej konfigurację narzędzia JSON. Akceptuje bezpośrednią konfigurację lub formaty opakowane (automatycznie wyodrębnia identyfikator narzędzia)", + "showExampleTitle": "Pokaż przykładową konfigurację narzędzia", + "explanation": "Konfiguracja narzędzia akceptuje wiele formatów, w tym opakowane konfiguracje z mcpServers. Jeśli to możliwe, automatycznie wyodrębni identyfikator narzędzia i nazwę. Musi zawierać co najmniej {command}. Argumenty dynamiczne należy ująć w nawiasy klamrowe {curly} w następujący sposób: {argExample}. Podobnie dynamiczne zmienne środowiskowe można ustawić za pomocą {envVarLabel}." + }, + "autoCreateToolset": { + "label": "Automatycznie twórz zestaw narzędzi o tej samej nazwie" + } + }, + "editTool": { + "title": "Narzędzie edycji", + "description": "Zaktualizuj nazwę, uwagi i konfigurację narzędzia.", + "successMessage": { + "detail": "Narzędzie @:updatedSuccess" + }, + "errorMessage": { + "detail": "Narzędzie @:failedToUpdate" + } + }, + "emptyPlaceholder": { + "description1": "Użyj zewnętrznych narzędzi MCP obsługiwanych przez Msty @:remoteToolsConnector.title, aby rozszerzyć możliwości swoich modeli i ulepszyć doświadczenie LLM.", + "description2": "Możesz zacząć od zaimportowania wielu narzędzi dostarczanych przez Msty lub dodania własnych narzędzi.", + "description3": "Uwaga: te narzędzia nie są dostarczane, testowane ani utrzymywane przez firmę Msty. Udostępniamy jedynie platformę do ich wykorzystania i umożliwiamy ich importowanie dla wygody. PROSZĘ KORZYSTAĆ Z NICH NA WŁASNE RYZYKO. Msty nie ponosi odpowiedzialności za jakiekolwiek problemy, które mogą wyniknąć z korzystania z tych narzędzi. Aby uzyskać pomoc, skontaktuj się z autorem narzędzia." + }, + "importTools": { + "title": "Importuj domyślny plik @:toolbox.tools.title", + "successMessage": { + "detail": "Domyślne narzędzia {count} zostały pomyślnie zaimportowane. Można tworzyć zestawy narzędzi i używać ich z modelem." + }, + "successMessageWithToolsets": { + "detail": "Domyślne narzędzia {count} zaimportowano pomyślnie i automatycznie utworzono odpowiednie zestawy narzędzi {toolsetCount}." + }, + "errorMessage": { + "detail": "Nie udało się zaimportować domyślnego @:toolbox.tools.title" + } + }, + "deleteConfirmation": { + "header": "Usuń narzędzie", + "description": "Czy na pewno chcesz usunąć {toolName}?", + "successMessage": { + "detail": "Narzędzie usunięte" + }, + "errorMessage": { + "detail": "Narzędzie @:failedToDelete" + } + }, + "deleteAll": { + "confirmationHeader": "Usuń wszystkie narzędzia", + "confirmationMessage": "Czy na pewno chcesz usunąć wszystkie narzędzia? Tej akcji nie można cofnąć.", + "successMessage": "Wszystkie narzędzia zostały pomyślnie usunięte", + "errorMessage": "Nie udało się usunąć wszystkich narzędzi" + }, + "folderForm": { + "updateSuccessMessage": { + "detail": "@:folder zaktualizowano" + }, + "updateErrorMessage": { + "detail": "Nie udało się zaktualizować @:folder" + }, + "createSuccessMessage": { + "detail": "Utworzono @:folder" + }, + "createErrorMessage": { + "detail": "Nie udało się utworzyć @:folder" + }, + "deleteConfirmation": { + "header": "Usuń @:folder", + "message": "Czy na pewno chcesz usunąć {folderName}? Spowoduje to usunięcie folderu i jego elementów.", + "successMessage": { + "detail": "@:folder usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:folder" + } + }, + "deleteItemsConfirmation": { + "header": "Usuń elementy", + "message": "Czy na pewno chcesz usunąć wszystkie elementy w {folderName}? Folder pozostanie.", + "successMessage": { + "detail": "Elementy usunięte" + }, + "errorMessage": { + "detail": "Nie udało się usunąć elementów" + } + } + }, + "copiedToClipboard": "Konfiguracja narzędzia skopiowana do schowka", + "viewToolsUsage": { + "title": "Zobacz wykorzystanie narzędzi", + "noToolCalls": { + "title": "Nie znaleziono wywołań narzędzi", + "description": "Wygląda na to, że istniały pewne narzędzia, które umożliwiały modelowanie, ale nie powodowały one żadnych wywołań narzędzi. Może to być spowodowane tym, że model nie potrzebował używać żadnych narzędzi." + } + } + }, + "toolsets": { + "title": "Zestaw narzędzi | Zestawy narzędzi", + "emptyPlaceholder": { + "title": "Nie znaleziono zestawów narzędzi", + "description": "Zestawy narzędzi to zbiór narzędzi z parametrami. Można utworzyć zestaw narzędzi i dodać do niego narzędzia. Podczas rozmowy z modelem możesz wybrać jeden lub wiele zestawów narzędzi, których chcesz używać z modelem." + }, + "addSomeTools": "Aby rozpocząć, dodaj kilka narzędzi.", + "noTools": "Brak narzędzi w tym zestawie narzędzi", + "tooltip": { + "selectedFeatures": "Włączone funkcje", + "loading": "Ładowanie szczegółów funkcji…", + "allFeatures": "Wszystkie funkcje", + "unavailable": "Nie można wczytać szczegółów funkcji" + }, + "addNewToolset": { + "title": "Dodaj nowy @:toolbox.toolsets.title", + "description": "Utwórz nowy zestaw narzędzi, aby pogrupować narzędzia. Można dodawać narzędzia do zestawu narzędzi i używać ich z modelem. Upewnij się, że ustawiłeś/nadpisałeś parametry każdego narzędzia w zestawie narzędzi, klikając przycisk {icon}.", + "setParams": { + "title": "Ustaw parametry dla {toolName}", + "description": "Ustawianie parametrów narzędzia {toolName}. Można zastąpić domyślne parametry ustawione dla narzędzia. Użyj Konsoli narzędzi, aby przetestować narzędzie, wyświetlić dostępne funkcje i w razie potrzeby ograniczyć funkcje." + }, + "successMessage": { + "saveDetail": "Zestaw narzędzi został zapisany i dodany do przybornika. Można go teraz używać z modelem." + }, + "errorMessage": { + "saveDetail": "Zestaw narzędzi @:failedToSave" + } + }, + "editToolset": { + "title": "Edytuj zestaw narzędzi", + "description": "Edytuj nazwę i uwagi dotyczące zestawu narzędzi. Możesz także dodawać lub usuwać narzędzia z zestawu narzędzi oraz dostosowywać parametry lub ograniczać funkcje każdego narzędzia, klikając przycisk {icon}.", + "successMessage": { + "detail": "Zestaw narzędzi @:updatedSuccess" + }, + "errorMessage": { + "detail": "Zestaw narzędzi @:failedToUpdate" + } + }, + "deleteConfirmation": { + "header": "Usuń zestaw narzędzi", + "description": "Czy na pewno chcesz usunąć {toolsetName}?", + "successMessage": { + "detail": "Zestaw narzędzi został usunięty" + }, + "errorMessage": { + "detail": "Zestaw narzędzi @:failedToDelete" + } + }, + "deleteAll": { + "confirmationHeader": "Usuń wszystkie zestawy narzędzi", + "confirmationMessage": "Czy na pewno chcesz usunąć wszystkie zestawy narzędzi? Tej akcji nie można cofnąć.", + "successMessage": "Wszystkie zestawy narzędzi zostały pomyślnie usunięte", + "errorMessage": "Nie udało się usunąć wszystkich zestawów narzędzi" + }, + "export": { + "title": "Eksportuj @:toolbox.toolsets.title", + "description": "Ze względów bezpieczeństwa wrażliwe wartości konfiguracyjne można usunąć przed eksportem. Wybierz zmienne środowiskowe i argumenty, które chcesz wyczyścić dla każdego narzędzia.", + "envVarsToScrub": "Zmienne środowiskowe do wyczyszczenia", + "argsToScrub": "Argumenty do wyrzucenia", + "scrubCustomArgs": "Przejrzyj ciąg argumentów niestandardowych", + "selectEnvVarsPlaceholder": "Wybierz zmienne środowiskowe, aby usunąć wartości", + "selectArgsPlaceholder": "Wybierz argumenty, aby usunąć wartości", + "noScrubbableData": "Brak danych konfiguracyjnych do usunięcia", + "sensitiveDataNote": "Wspólne wrażliwe wartości są wstępnie wybrane ze względu na Twoje bezpieczeństwo.", + "copiedToClipboard": "Konfiguracja zestawu narzędzi skopiowana do schowka", + "downloadedAsJson": "Pobrano konfigurację zestawu narzędzi", + "fetchError": "Nie udało się pobrać danych zestawu narzędzi do eksportu" + }, + "import": { + "missingTools": "Niektórych narzędzi nie odnaleziono i pominięto: {tools}" + }, + "noOfTools": "Narzędzie {count} | Narzędzia {count}", + "viewToolsAndNotes": "Wyświetl narzędzia i notatki", + "console": { + "title": "Konsola narzędzi", + "description": "Możesz użyć tej konsoli do przetestowania {toolName} i zobaczenia wyników. Można za jego pomocą także przetestować narzędzie z różnymi parametrami lub ograniczyć dostępne funkcje. Wszystkie funkcje są domyślnie włączone. Zaznacz pola wyboru, aby ograniczyć funkcje tylko do wybranych.", + "listTools": "Lista funkcji {toolName}", + "missingRequiredArgument": "Brak {count} Wymagany @:argument", + "continueWithMissingArgs": "@:continue z brakującym @:argument", + "viewSourceOnGitHub": "Wyświetl źródło na GitHub", + "allowedFeaturesLabel": "Włącz określone funkcje tego narzędzia", + "allowedFeaturesPlaceholder": "Wyszukaj lub wybierz funkcje, na które chcesz zezwolić", + "selectedFeaturesLabel": "Aktualnie włączone funkcje", + "toolCall": { + "title": "Wezwanie narzędzia", + "description": "Dodaj wymagane właściwości, aby wywołać {featureName}. Jeśli chcesz, możesz dodać dodatkowe właściwości. Zachowaj ostrożność przy wywoływaniu narzędzia w ten sposób, szczególnie. bez właściwych wartości.", + "selectPlaceholder": "@:select właściwość", + "enterNew": "Dodaj nową właściwość", + "execute": "Wykonaj @:toolbox.toolsets.console.toolCall" + } + }, + "manageTooltip": "Kliknij, aby zarządzać używanymi zestawami narzędzi", + "noModelSupport": "Wybrany model może nie obsługiwać narzędzi.", + "toolsetsUsedCount": "{count} Aktywny zestaw narzędzi | {count} Aktywne zestawy narzędzi" + } + }, + "liveContexts": { + "liveContextsUsedCount": "{count} Aktywny kontekst na żywo | {count} Aktywne konteksty na żywo", + "title": "@:context na żywo", + "contexts": "Konteksty na żywo", + "untitled": "Kontekst na żywo bez tytułu", + "selectSource": "Wybierz Źródło", + "selectSourceTooltip": "Przełącz, aby uwzględnić lub wykluczyć to źródło z kontekstu", + "addNew": { + "title": "Dodaj nowy @:liveContexts.title", + "description": "Utwórz nowe źródło @:liveContexts.title, aby dodać do rozmowy kontekst danych zewnętrznych.", + "errorMessage": { + "detail": "Nie udało się dodać @:liveContexts.title" + }, + "successMessage": { + "detail": "Dodano @:liveContexts.title" + } + }, + "edit": { + "title": "Edytuj @:liveContexts.title" + }, + "promptPlaceholder": "Podaj tutaj prompt o tryb Push; uwzględnij wszelkie szczegóły trybu Pull w sekcji Notatki.", + "endpointDetails": "Szczegóły punktu końcowego", + "method": "Metoda", + "url": "URL", + "customHeaders": "Niestandardowe nagłówki", + "hasBody": "Ma Ciało", + "customProcessing": "Przetwarzanie niestandardowe", + "promptTemplate": "Szablon prompty", + "requestHeaders": { + "title": "Nagłówki żądań", + "description": "Dodaj nagłówki żądań jako obiekt JSON. Zostanie ono wysłane wraz z żądaniem do punktu końcowego API.", + "placeholder": "{'{'}\n \"Autoryzacja\": \"Nośnik {'{'}apiKey:'key'{'}'}\",\n „X-From”: „{'{'}from?:'ISO'{'}'}\"\n{'}'}" + }, + "requestBody": { + "title": "Treść żądania", + "description": "Dodaj treść żądania jako obiekt JSON. Zostanie ono wysłane wraz z żądaniem do punktu końcowego API.", + "placeholder": "{'{'}\n \"q\": \"{'{'}query:'term'{'}'}\",\n \"od\": \"{'{'}from?:'ISO'{'}'}\"\n{'}'}" + }, + "placeholders": { + "title": "Dynamiczne symbole zastępcze", + "tooltip": "Składnia symboli zastępczych", + "label": "Elementy zastępcze:" + }, + "processingFunction": { + "title": "Funkcja przetwarzania", + "description": "Dodaj funkcję przetwarzania, aby przekształcić dane odpowiedzi przed użyciem ich w rozmowie. Funkcja powinna zwrócić ciąg znaków.", + "placeholderHeader": "proces funkcji({'{'}data, symbole zastępcze{'}'}) {'{'}", + "placeholder": "// dostęp do danych i opcjonalnych symboli zastępczych\n return JSON.stringify(dane)", + "placeholderFooter": "{'}'}", + "tooltip": "Dostęp poprzez symbole zastępcze param", + "usePlaceholders": "Użyj symboli zastępczych w kodzie:" + }, + "testVariables": { + "description": "Wprowadź wartości testowe dla wykrytych symboli zastępczych, aby przetestować punkt końcowy." + }, + "update": { + "successMessage": { + "detail": "@:liveContexts.title zaktualizowano" + }, + "errorMessage": { + "detail": "Nie udało się zaktualizować @:liveContexts.title" + } + }, + "deleteConfirmation": { + "header": "Usuń @:liveContexts.title", + "description": "Czy na pewno chcesz usunąć {liveContextName}?", + "successMessage": { + "detail": "@:liveContexts.title usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:liveContexts.title" + } + }, + "emptyPlaceholder": { + "title": "Nie znaleziono @:liveContexts.title", + "description": "@:liveContexts.title to zewnętrzne konteksty danych, które możesz dodać do swojej rozmowy. Można utworzyć nowe źródło @:liveContexts.title i używać go z modelem." + }, + "deleteAll": { + "confirmationHeader": "Usuń wszystkie @:liveContexts.contexts", + "confirmationMessage": "Czy na pewno chcesz usunąć wszystkie aktywne konteksty? Tej akcji nie można cofnąć.", + "successMessage": "Wszystkie aktywne konteksty zostały pomyślnie usunięte", + "errorMessage": "Nie udało się usunąć wszystkich aktywnych kontekstów" + }, + "importOOTB": { + "title": "Importuj domyślny plik @:liveContexts.contexts", + "successMessage": "Pomyślnie zaimportowano domyślny kontekst aktywny {count} | Pomyślnie zaimportowano domyślne konteksty aktywne {count}", + "errorMessage": "Nie udało się zaimportować domyślnych kontekstów na żywo" + }, + "export": { + "title": "Eksportuj @:liveContexts.title", + "headerScrubDescription": "Ze względów bezpieczeństwa poufne wartości nagłówka można usunąć przed eksportem. Wybierz, które nagłówki chcesz wyczyścić.", + "selectHeadersToScrub": "Nagłówki do wyszorowania", + "selectHeadersPlaceholder": "Wybierz nagłówki, aby usunąć wartości", + "sensitiveHeadersNote": "Ze względów bezpieczeństwa wstępnie wybrane są wspólne wrażliwe nagłówki.", + "copiedToClipboard": "Konfiguracja kontekstu na żywo skopiowana do schowka", + "downloadedAsJson": "Pobrano konfigurację kontekstu na żywo" + }, + "modeLabel": "Tryb", + "mode": { + "push": "Pchnij", + "pull": "Pociągnij", + "tooltip": { + "push": "Tryb Push: uruchamia się automatycznie, zanim model odpowie", + "pull": "Tryb ciągnięcia: wywoływany na żądanie w zależności od modelu" + } + } + }, + "modes": { + "mode": "Tryb | Tryby", + "title": "@:modes.mode", + "exitMode": "Wyjdź z {mode} @:modes.mode", + "zenMode": { + "title": "Zen", + "quote": "stan spokojnej uwagi", + "newConversation": "Nowa @:conversation.title @:modes.zenMode.title" + }, + "vaporMode": { + "title": "Tryb Pary", + "vapor": "Para", + "description": "Rozmowy nie zostaną zapisane w Twojej historii i znikną, gdy ją wyłączysz lub opuścisz", + "willDisappearTooltip": "Zniknie, gdy wyłączysz Tryb Pary lub opuścisz", + "exitVaporMode": "Wyjdź z Trybu Pary", + "enterVaporMode": "Wprowadź Tryb Pary", + "preserverChat": { + "saveConversation": "@:save @:conversation.title", + "successMessage": { + "detail": "Rozmowa @:modes.vaporMode.vapor został zachowany" + }, + "errorMessage": { + "detail": "Nie udało się zachować czatu @:modes.vaporMode.vapor" + } + } + }, + "focusMode": { + "title": "Tryb Fokusu" + }, + "normalMode": { + "title": "Normalny @:modes.mode" + } + }, + "searchForm": { + "query": "Zapytanie", + "title": "Wyszukaj przedmioty", + "noResults": { + "title": "Nie znaleziono żadnych wyników", + "description": "Spróbuj wyszukać inny termin" + }, + "entity": { + "conversationTextMessages": "@:conversation.title", + "promptsLibraryPrompts": "Prompt | Prompty" + }, + "foundResultsCount": "Znaleziono wynik {count} | Znaleziono wyniki {count}", + "labels": { + "title": "Wyszukaj {entity}", + "description": "Wyszukaj szybko {entity}, używając słów kluczowych", + "tips": { + "default": { + "description": "Wyszukiwanie domyślnie dopasowuje wszystkie słowa (np. {example} → dopasowuje tekst zawierający oba słowa w dowolnej kolejności)", + "example": "niebieski samochód" + }, + "partial": { + "description": "Użyj {operator} dla częściowych dopasowań (np. {example})", + "operator": "*", + "example": "biegnij* → biegnij, biegnij" + }, + "or": { + "description": "@:user {operator} pasujące do dowolnego terminu (np. {example})", + "operator": "LUB", + "example": "apple LUB pomarańczowy" + }, + "exact": { + "description": "Aby uzyskać dokładne dopasowania, użyj podwójnych cudzysłowów {operator} (np. {example})", + "operator": "„”", + "example": "\"niebieski samochód\"" + }, + "specialCharacters": { + "description": "Użyj {operator}, aby uciec od znaków specjalnych (np. {example})", + "operator": "„”", + "example": "„C++”, „węzeł.js”" + } + } + } + }, + "clearSearch": "Wyczyść wyszukiwanie", + "helpfulTips": "Pomocne wskazówki", + "hideSearch": "Ukryj wyszukiwanie", + "bookmarkItem": { + "action": "@:bookmark {item}", + "jump": "Skocz do @:bookmarked {item}", + "title": "@:bookmarked {item}", + "successMessage": { + "detail": "{item} @:bookmarked" + }, + "errorMessage": { + "detail": "Nie można dodać zakładki {item}" + }, + "deletedInfoMessage": { + "detail": "@:bookmarked {item} został usunięty" + }, + "emptyState": { + "title": "Brak dostępnych zakładek.", + "description": "Zacznij od dodania zakładki {item}" + } + }, + "removeBookmarkedItem": { + "action": "Usuń @:bookmarked {item}", + "successMessage": { + "detail": "{item} usunięty z zakładek" + }, + "errorMessage": { + "detail": "Nie można usunąć {item} z zakładek" + } + }, + "turnstile": { + "title": "Kołowrót | Kołowroty", + "newTurnstile": "Nowy @:turnstile.title", + "queueEntry": "Dodaj do kolejki", + "selectPlaceholder": "@:select @:turnstile.title", + "addQueueWithAlt": "Kliknij, aby otworzyć lub Alt+Kliknij, aby dodać do kolejki", + "entriesQueued": "Brak kolejki @:entry | {count}/{total} @:entry W kolejce | {count}/{total} @:entry w kolejce", + "emptyQueueMessage": "Gdy prompt będzie gotowy, kliknij @:add, aby dodać wpis do kolejki, lub kliknij Załaduj, aby załadować istniejący kołowrotek.", + "manageSavedTurnstiles": "Zarządzaj zapisanymi kołowrotami", + "discover": { + "bulkInstall": { + "statusInstalling": "Instalowanie kołowrotów", + "statusStopping": "Zatrzymywanie montażu kołowrotu", + "stopButtonIdle": "Zatrzymaj instalację", + "stopButtonStopping": "Zatrzymywanie…", + "stoppedSummary": "Instalacja zatrzymana", + "progressPreparing": "Przygotowuję kolejkę instalacyjną…", + "progressStopping": "Zatrzymywanie po bieżącym elemencie. Pozostało {remaining}.", + "progressRunning": "{completed} z {total} ukończono · Pozostało {remaining}", + "installedSegment": "Zainstalowano {count} {label}", + "failedSegment": "{count} nie powiodło się", + "skippedSegment": "{count} pominięty", + "turnstileSingular": "kołowrót", + "turnstilePlural": "kołowroty" + } + }, + "loadTurnstile": "Załaduj zapisany @:turnstile.title", + "noMatchingTurnstiles": "Żaden @:turnstile.title nie pasuje do Twojego wyszukiwania", + "saveForm": { + "title": "Zapisz @:turnstile.title jako", + "successMessage": { + "detail": "@:turnstile.title został zapisany." + }, + "errorMessage": { + "detail": "Nie udało się zapisać kołowrotu." + } + }, + "loadTurnstiles": { + "title": "Załaduj @:turnstile.title", + "successMessage": { + "summary": "@:turnstile.title Załadowano!", + "detail": "Wpis {count} został załadowany i umieszczony w kolejce. | Wpisy {count} są ładowane i umieszczane w kolejce." + }, + "errorMessage": { + "detail": "Nie udało się załadować kołowrotu." + } + }, + "clearQueue": { + "title": "Wyczyść kolejkę", + "clearQueueConfirmation": { + "message": "Czy na pewno chcesz wyczyścić kolejkę? Spowoduje to usunięcie wszystkich dodanych wiadomości." + } + }, + "newEntry": { + "title": "Nowy wpis" + }, + "addEntry": "Dodaj wpis", + "insertEntry": "Wstaw wpis", + "noEntries": "Nie ma jeszcze żadnych wpisów. Dodaj swój pierwszy wpis, aby rozpocząć.", + "invalidEntriesMessage": { + "summary": "Nieprawidłowe wpisy", + "detail": "Niektóre wpisy są nieprawidłowe lub brakuje w nich wymaganych pól. Popraw je przed kontynuowaniem." + }, + "metaSendMissingRootNode": { + "detail": "Nie można uruchomić {metaType}. Upewnij się, że nie jest to pierwszy wpis w kolejce." + }, + "update": { + "successMessage": { + "detail": "@:turnstile.title został zaktualizowany." + }, + "errorMessage": { + "detail": "Nie udało się zaktualizować kołowrotu. Czy ustawiłeś prompt i model?" + } + }, + "save": { + "successMessage": { + "detail": "@:turnstile.title został zapisany." + }, + "errorMessage": { + "detail": "Nie udało się zapisać kołowrotu. Czy ustawiłeś prompt i model?" + } + }, + "delete": { + "selected": "Usuń wybrane @:turnstile.title | Usuń wybrane @:turnstile.title", + "deleteConfirmation": { + "header": "Usuń @:turnstile.title", + "description": "Czy na pewno chcesz usunąć {turnstileName}? | Czy na pewno chcesz usunąć kołowroty {count}?" + } + }, + "empty": { + "title": "Brak dostępnego @:turnstile.title", + "description": "Zacznij od dodania lub zaimportowania nowego @:turnstile.title{'.'}" + }, + "new": "@:new @:turnstile.title", + "entryIndex": "@:entry {index}", + "addContinue": "Dodaj @:message.renderingActions.continueGeneration", + "addRegenerate": "Dodaj @:regenerate", + "addPersona": "Dodaj Osobę", + "addShield": "Dodaj @:contextShield.title", + "addShieldWithSummary": "Dodaj @:contextShield.contextShieldWithSummary", + "emptyPrompt": "Pusty prompt...", + "import": { + "title": "Importuj @:turnstile.title", + "dragAndDropMessage": "Przeciągnij i upuść spakowany plik Msty @:turnstile.title, aby zaimportować i utworzyć nowe kołowroty. W przypadku zduplikowanych nazw, nazwa zaimportowanych kołowrotów zostanie zmieniona. Możesz to zmienić później.", + "successMessage": { + "detail": "Kołowroty importowane" + }, + "errorMessage": { + "detail": "Nie udało się zaimportować kołowrotów" + } + }, + "export": { + "title": "Eksportuj @:turnstile.title", + "selected": "Eksportuj wybrane @:turnstile.title | Eksportuj wybrane @:turnstile.title", + "successMessage": { + "detail": "@:turnstile.title wyeksportowany jako {fileName} | @:turnstile.title wyeksportowany jako {fileName}" + }, + "errorMessage": { + "detail": "Nie udało się wyeksportować @:turnstile.title | Nie udało się wyeksportować @:turnstile.title" + } + }, + "delay": "Opóźnienie (sekundy)", + "delayDescription": "Poczekaj tyle sekund po ukończeniu kroku", + "delayingFor": "Opóźnienie dla {seconds}...", + "pauseAfter": "Zatrzymaj się po tym kroku", + "pauseAfterDescription": "Wstrzymaj kolejkę do ręcznej weryfikacji, zanim przejdziesz dalej", + "note": "Uwaga", + "notePlaceholder": "Dodaj notatki na temat tego kroku...", + "label": "Etykieta", + "labelPlaceholder": "np. #wyodrębnij, #klasyfikuj", + "defaultModel": "Domyślny model", + "defaultModelDescription": "Model rezerwowy dla wpisów bez określonego modelu", + "advanced": "Zaawansowane", + "inputVariables": "Zmienne", + "setVariables": "Ustaw zmienne", + "missingRequiredVariables": "Brak wymaganych zmiennych", + "saveOutputAs": "Zapisz wynik jako zmienną", + "saveOutputAsPlaceholder": "np. podsumowanie, wyodrębnione_dane", + "saveOutputAsHint": "Odwołuj się do tej zmiennej w późniejszych monitach, używając {'{{variableName}}'}", + "transformer": "Przekształć dane wyjściowe", + "transformerPattern": "Wzór", + "onError": "W przypadku błędu", + "onErrorDefault": "Domyślna obsługa błędów", + "onErrorStop": "Zatrzymaj się", + "onErrorRetry": "Spróbuj ponownie raz", + "onErrorFallback": "Użyj modelu zastępczego", + "fallbackModel": "Model rezerwowy", + "fallbackModelCurrentModel": "(obecny model)", + "sendAsAssistant": "Wyślij jako Asystent (bez generowania)", + "conditional": "Warunkowe", + "addConditional": "Dodaj warunkowo", + "conditionTarget": "Sprawdź wiadomość od", + "conditionVariableName": "Nazwa zmiennej", + "conditionVariablePlaceholder": "Wprowadź nazwę zmiennej", + "conditionKind": "Stan", + "conditionPattern": "Wzór", + "conditionCaseSensitive": "Wielkość liter uwzględniana", + "onPass": "Jeśli to prawda", + "onFail": "Jeśli Fałsz", + "gotoLabelPlaceholder": "Wprowadź etykietę, do której chcesz przejść", + "flow": { + "variableOutput": "Zapisuje do zmiennej", + "variableInput": "Używa zmiennej", + "branchTrue": "Jeśli to prawda", + "branchFalse": "Jeśli fałszywe", + "jumpTo": "Skocz do" + }, + "loopStart": "Początek pętli", + "loopEnd": "Koniec pętli", + "addLoop": "Dodaj pętlę", + "loopId": "Identyfikator pętli", + "loopIdPlaceholder": "np. pętla główna", + "loopIdHint": "Musi odpowiadać identyfikatorowi pętli odpowiedniego początku pętli", + "loopIdStartHint": "Unikalny identyfikator do sparowania z końcem pętli", + "maxIterations": "Maksymalna liczba iteracji", + "hasExitCondition": "Wyjdź wcześniej, gdy warunek zostanie spełniony", + "loopStartHint": "Poniższe kroki zostaną powtórzone maksymalnie razy {max} aż do zakończenia pętli", + "loopEndHint": "Powraca do pasującego początku pętli, aby powtórzyć treść pętli", + "loopIterationHint": "Użyj w promptach:", + "checkpoint": "Punkt kontrolny", + "addCheckpoint": "Dodaj punkt kontrolny", + "checkpointHint": "Wstrzymuje wykonywanie w celu sprawdzenia i opcjonalnych danych wejściowych", + "checkpointMessage": "Wiadomość", + "checkpointMessagePlaceholder": "Opcjonalny komunikat wyświetlany w punkcie kontrolnym...", + "autoContinueSeconds": "Automatyczna kontynuacja (sekundy)", + "autoContinueHint": "Pozostaw puste, aby poczekać na ręczne działanie", + "promptForVariables": "Poproś o wartości zmiennych", + "promptForVariablesPlaceholder": "kierunek, informacja zwrotna, wkład użytkownika", + "promptForVariablesHint": "Zmienne, o które należy poprosić użytkownika w punkcie kontrolnym", + "checkpointPausedMessage": "Wykonanie wstrzymane w punkcie kontrolnym", + "checkpointVariables": "Przechwycone zmienne", + "checkpointProvideInput": "Podaj dane wejściowe", + "checkpointEnterValue": "Wpisz wartość...", + "checkpointAddedVariables": "Dodano zmienne", + "checkpointAddVariable": "Dodaj zmienną", + "checkpointVarNamePlaceholder": "Nazwa zmiennej", + "checkpointVarValuePlaceholder": "Wpisz wartość...", + "checkpointVarSyntax": { + "text": "Nazwa zmiennej → wprowadzanie tekstu", + "required": "Nazwa zmiennej! → wymagane", + "number": "ocena:liczba:1-5:3 → liczba z zakresem", + "select": "wybór:wybierz:a|b|c → menu rozwijane" + }, + "checkpointVarSyntaxHint": "Wpisz nazwę zmiennej lub użyj składni dla typów:", + "checkpointNextInQueue": "Nadchodzi", + "checkpointAutoContinueIn": "Automatyczna kontynuacja w {seconds}", + "checkpointContinue": "Kontynuuj", + "checkpointSkip": "Pomiń", + "checkpointSkipCount": "Pomiń ile?", + "checkpointJump": "Przejdź do etykiety", + "checkpointJumpLabel": "Przejdź do etykiety", + "checkpointSelectLabel": "Wybierz etykietę...", + "checkpointAbort": "Przerwij", + "addTitle": "Dodaj @:turnstile.title", + "createRootFolder": "Nowy folder w katalogu głównym", + "setDefaultFolder": "Ustaw jako folder domyślny", + "unsetDefaultFolder": "Usuń ustawienie folderu domyślnego", + "deleteConfirmation": { + "header": "Usuń @:turnstile.title", + "message": "Czy na pewno chcesz usunąć {turnstileName}? | Czy na pewno chcesz usunąć kołowroty {count}?" + }, + "messages": { + "deleteSuccess": "@:turnstile.title usunięty | {count} @:turnstile.title usunięty" + }, + "folderForm": { + "updateSuccessMessage": { + "detail": "@:folder zaktualizowano" + }, + "updateErrorMessage": { + "detail": "Nie udało się zaktualizować @:folder" + }, + "createSuccessMessage": { + "detail": "Utworzono @:folder" + }, + "createErrorMessage": { + "detail": "Nie udało się utworzyć @:folder" + }, + "deleteConfirmation": { + "header": "Usuń @:folder", + "message": "Czy na pewno chcesz usunąć {folderName} ze wszystkimi jego @:turnstile.title{'?'}", + "successMessage": { + "detail": "@:folder usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:folder" + } + } + } + }, + "modelMatchmaker": { + "title": "Modelowy swat", + "description": "Dostosuj suwaki grawitacji pod kątem mocnych stron, takich jak kodowanie, rozumowanie lub matematyka, a Matchmaker oceni i zarekomenduje najlepsze modele dla Twoich potrzeb. Wyniki mogą się różnić w zależności od jakości danych, rozmiaru modelu i złożoności zadania.", + "ctaIntro": "Znalazłeś swój model?", + "ctaMessage": "Przetestuj i porównaj w Msty Studio.", + "gravity": "Grawitacja", + "remoteOnly": "Tylko zdalne", + "rankedModels": { + "title": "Modele rankingowe", + "emptyMessage": "Nie znaleziono żadnych modeli. Spróbuj dostosować swoje wymagania." + }, + "strengthsLabel": { + "ca": { + "title": "Kodowanie", + "description": "Umiejętność pisania kodu w języku programowania." + }, + "aca": { + "title": "Kodowanie agentowe", + "description": "Agentyczna umiejętność pisania kodu w języku programowania." + }, + "daa": { + "title": "Analiza @:data", + "description": "Umiejętność analizowania danych i generowania wniosków." + }, + "ifa": { + "title": "Instrukcje poniżej", + "description": "Umiejętność wykonywania poleceń i wykonywania zadań." + }, + "jak": { + "title": "KOZA: Generalista wszystkich zawodów", + "description": "Możliwość wykonywania szerokiego zakresu zadań." + }, + "la": { + "title": "Język", + "description": "Zdolność rozumienia i generowania ludzkiego języka." + }, + "ma": { + "title": "Matematyka", + "description": "Umiejętność wykonywania obliczeń matematycznych." + }, + "pp": { + "title": "Parafrazując", + "description": "Wykazano zdolność przepisywania w celu ponownego sformułowania dowolnego tekstu." + }, + "ra": { + "title": "Rozumowanie", + "description": "Krytyczne myślenie – umiejętność rozumowania i podejmowania decyzji." + }, + "sim": { + "title": "Uproszczenie", + "description": "Możliwość uproszczenia dowolnego złożonego tekstu." + }, + "stg": { + "title": "Generacja opowieści", + "description": "Możliwość generowania historii lub narracji." + }, + "sum": { + "title": "Podsumowanie", + "description": "Umiejętność podsumowania informacji tekstowych i numerycznych." + }, + "tu": { + "title": "Użycie narzędzi", + "description": "Możliwość wywoływania i korzystania z narzędzi zewnętrznych." + }, + "mit": { + "title": "Maksymalna liczba tokenów wejściowych", + "description": "Maksymalna liczba tokenów przyjętych w jednym wywołaniu." + }, + "mot": { + "title": "Maksymalna liczba tokenów wyjściowych", + "description": "Maksymalna liczba tokenów wygenerowanych w jednym wywołaniu." + }, + "ics": { + "title": "Oszczędności w postaci tokenów wejściowych", + "costTitle": "Koszt wejściowy/milion tokenów", + "description": "Oszczędności związane z generowaniem tokenów wejściowych." + }, + "ocs": { + "title": "Oszczędności w tokenach wyjściowych", + "costTitle": "Koszt wyjściowy/milion tokenów", + "description": "Oszczędności związane z generowaniem tokenów wyjściowych." + } + }, + "normalizedScore": "Znormalizowany wynik", + "resetStrengths": "Zresetuj mocne strony", + "savePresetForm": { + "title": "@:save Mocne strony jako @:preset", + "errorMessage": { + "detail": "Nie udało się zapisać gotowych ustawień mocy." + }, + "successMessage": { + "detail": "Zapisano wstępnie ustawione mocne strony." + }, + "loadedMessage": { + "detail": "Załadowano wstępnie ustawione mocne strony." + } + }, + "deletePresetConfirm": { + "title": "Usuń @:preset", + "message": "Czy na pewno chcesz usunąć {presetName}?", + "errorMessage": { + "detail": "Nie udało się usunąć gotowych ustawień mocy." + }, + "successMessage": { + "detail": "Usunięto ustawienie wstępne mocnych stron." + } + } + }, + "costCalculator": { + "title": "Kalkulator kosztów modelu", + "description": "Oblicz i porównaj koszty modeli AI z OpenAI, Anthropic, Google i innych. Oszacuj swoje wydatki na podstawie wykorzystania tokenów wejścia/wyjścia i cen modelu. Są to jedynie szacunki i rzeczywiste koszty mogą się różnić.", + "tokenInputs": "Dane wejściowe tokenów", + "filters": "Filtry", + "ctaIntro": "Znalazłeś swój model?", + "ctaMessage": "Przetestuj i porównaj w Msty Studio." + }, + "vramCalculator": { + "title": "Kalkulator pamięci VRAM", + "description": "Przed pobraniem lub uruchomieniem sprawdź, czy model pasuje do pamięci VRAM Twojego urządzenia. Kalkulator ten podaje szacunkowe wymagania dotyczące pamięci VRAM w oparciu o architekturę i rozmiar modelu. Aby rozpocząć, wybierz jedną z poniższych opcji.", + "ctaIntro": "Znalazłeś swój model?", + "ctaMessage": "Przetestuj i porównaj w Msty Studio." + }, + "contextExplorer": { + "title": "Eksplorator kontekstu", + "description": "Sprawdź, jak kontekst LLM windows działa w silnikach wnioskowania. Wizualizuj użycie pamięci, limity współbieżności i to, co dzieje się w przypadku przepełnienia kontekstu — dla Ollama, vLLM, MLX i llama.cpp.", + "ctaIntro": "Chcesz spróbować?", + "ctaMessage": "Uruchamiaj modele lokalnie w Msty Studio." + }, + "copyOrMoveItemToWorkspace": { + "copyTitle": "Skopiuj {item} do obszarów roboczych", + "copyOrMoveTitle": "Skopiuj/przenieś {item} do obszarów roboczych", + "selectWorkspaces": "@:select Obszary robocze", + "availableWorkspaces": "Dostępne obszary robocze", + "actionLabel": "Akcja", + "inputLabel": { + "copy": "Skopiuj {item} do jednego lub większej liczby obszarów roboczych.", + "copyOrMove": "Skopiuj/Przenieś {item} do jednego lub większej liczby obszarów roboczych.", + "edit": "Zsynchronizuj tego dostawcę z co najmniej jednym obszarem roboczym. Jeśli ten dostawca został wcześniej skopiowany, zostanie zaktualizowany. Jeśli nie, zostanie dodany." + }, + "successMessage": { + "copyDetail": "{item} skopiowano do obszaru roboczego {count} | {item} skopiowano do obszarów roboczych {count}", + "moveDetail": "{item} przeniesiony do obszaru roboczego {count} | {item} przeniesiono do obszarów roboczych {count}" + }, + "errorMessage": { + "copyDetail": "Nie udało się skopiować {item} do obszaru roboczego {count} | Nie udało się skopiować obszarów roboczych {item} do {count}", + "moveDetail": "Nie udało się przenieść {item} do obszaru roboczego {count} | Nie udało się przenieść obszarów roboczych {item} do {count}" + }, + "partialCopyWarningMessage": { + "summary": "Częściowo skopiowane", + "detail": "Nie można skopiować {item} do obszaru roboczego {count} | Nie można skopiować obszarów roboczych {item} do {count}" + }, + "partialMovedWarningMessage": { + "summary": "Częściowo przeniesiony", + "detail": "Nie można przenieść {item} do obszaru roboczego {count} | Nie można przenieść obszarów roboczych {item} do {count}" + }, + "existingCopiesInfo": "Niektóre obszary robocze ({workspaces}) zostały pominięte, ponieważ {item} już w nich istnieje", + "skippingExistingCopies": "Istniejące już kopie {item} zostaną pominięte." + }, + "assignment": "Zadanie | Zadania", + "modelSquad": { + "title": "Skład modeli", + "description": "@:modelSquad.title to zbiór wyspecjalizowanych modeli AI, z których każdy model jest przypisany do konkretnego zadania, takiego jak automatyczne generowanie tytułu lub generowanie podsumowania @:context Po uruchomieniu tego zadania przypisany model jest używany automatycznie.", + "addNewAssignment": "Dodaj nowy @:assignment", + "noTask": "Nie ma więcej dostępnych zadań", + "tasks": { + "autoTitleGeneration": "Automatyczne generowanie tytułu", + "skillsStudio": "Pracownia Umiejętności", + "promptsStudio": "Szybkie studio", + "personaStudio": "Studio Persony", + "attachmentsImageMetadataProcessing": "Przetwarzanie metadanych obrazu załącznika", + "attachmentsDocumentMetadataProcessing": "Przetwarzanie metadanych dokumentu załącznika", + "contextShieldSummaryGeneration": "@:contextShield.title Generowanie podsumowania", + "realTimeDataPromptSynthesis": "@:rtd.title Szybka synteza", + "forgeContentGeneration": "Twórz generowanie treści", + "piiScrubbing": "@:pii.scrubbing.title", + "userPersonaMemoryExtraction": "Ekstrakcja pamięci osoby użytkownika", + "iconFinder": "Wyszukiwarka ikon" + }, + "save": { + "successMessage": { + "detail": "@:assignment zapisano" + }, + "errorMessage": { + "detail": "Nie udało się zapisać @:assignment" + } + }, + "assignment": { + "dialog": { + "title": "Przypisz model do {task}", + "description": "Wybierz model, który chcesz przypisać do zadania {task} w ModelSquad.", + "selectModel": "Wybierz Model", + "selectModelPlaceholder": "Wybierz model...", + "currentlyAssigned": "Aktualnie przypisany: {model}", + "unknownModel": "Nieznany model", + "assignButton": "Przypisz model", + "changeButton": "Zmień model", + "helpText": "Model ten zostanie zastosowany automatycznie po wykonaniu zadania {task}." + }, + "success": "Model przypisany do {task} pomyślnie!", + "errors": { + "noModelSelected": "Wybierz model do przypisania.", + "saveFailed": "Nie udało się zapisać przypisania modelu. Spróbuj ponownie." + } + }, + "invalidAssignment": { + "summary": "Przypisanie drużyny modelowej jest nieprawidłowe", + "detail": "Model przypisany do {task} nie jest już dostępny. Zamiast tego użyj modelu domyślnego. Zaktualizuj przydział w Model Squad." + } + }, + "pii": { + "title": "PII (dane osobowe)", + "scrubbing": { + "title": "Maskowanie danych PII", + "description": "Automatycznie wykrywaj i usuwaj dane osobowe z zawartości stosu wiedzy przed wyświetleniem ich w rozmowach.", + "info": { + "modelAssigned": "Używanie {model} do wykrywania i usuwania informacji umożliwiających identyfikację." + }, + "warning": { + "noModel": "Żaden model nie jest przypisany do @:pii.scrubbing.title w ModelSquad. Pobieranie stosu wiedzy nie będzie możliwe do czasu przypisania modelu.", + "configurationError": "Błąd konfiguracji @:pii.scrubbing.title - przerwanie pobierania stosu wiedzy ze względów bezpieczeństwa", + "setupError": "Błąd podczas konfigurowania @:pii.scrubbing.title - przerywanie pobierania stosu wiedzy" + }, + "placeholders": { + "personName": "[PERSON_NAME]", + "emailAddress": "[EMAIL_ADDRESS]", + "phoneNumber": "[NUMER TELEFONU]", + "address": "[ADRES]", + "idNumber": "[ID_NUMBER]", + "creditCard": "[KARTA KREDYTOWA]", + "bankAccount": "[KONTO BANKOWE]", + "ipAddress": "[ADRES_IP]", + "dateOfBirth": "[DATE_OF_BIRTH]" + }, + "categories": { + "personalIdentifiers": "Identyfikatory osobiste", + "contactInformation": "Informacje kontaktowe", + "financialInformation": "Informacje finansowe", + "medicalInformation": "Informacje medyczne", + "digitalIdentifiers": "Identyfikatory cyfrowe", + "biometricData": "Dane biometryczne", + "locationData": "Dane lokalizacyjne" + } + } + }, + "persona": { + "title": "Osoba | Osoby", + "newPersona": "Nowa @:persona.title", + "newPersonaConversation": "Rozmowa o nowej osobie", + "selectToBegin": "Z kim chciałbyś porozmawiać?", + "selectModel": "Wybierz model", + "usingPersonaModel": "Korzystanie ze skonfigurowanego modelu osoby", + "usingFallbackModel": "Korzystanie z modelu rozmowy", + "noModelAvailable": "Nie wybrano modelu", + "modelForPersonaConversation": "Model osoby dla tej rozmowy", + "modelForPersonaConversationHint": "Zmiany dotyczą tylko tej rozmowy osobistej.", + "resetModelToDefault": "Zresetuj do ustawień domyślnych osoby", + "modelForThisConversation": "Wybór dotyczy tylko tej rozmowy", + "personaModeTitle": "Tryb Persony", + "personaModeDescription": "Aby rozpocząć, wybierz osobę. Każdy wnosi do rozmowy swój własny głos, wiedzę i styl.", + "personaModeHint": "Możesz zmienić osobę w dowolnym momencie na karcie poniżej.", + "personaModeWithPersona": "{personaName} poprowadzi tę rozmowę dzięki swojej wyjątkowej perspektywie i wiedzy specjalistycznej.", + "activePersona": "Aktywna @:persona.title", + "empty": { + "title": "Brak dostępnego @:persona.title", + "description": "Zacznij od dodania lub zaimportowania nowego @:persona.title{'.'} Na początek możesz także zaimportować domyślne Persony." + }, + "contextShieldPosition": "@:contextShield.title Pozycja", + "save": { + "successMessage": { + "detail": "@:persona.title zapisano" + }, + "errorMessage": { + "detail": "Nie udało się zapisać @:persona.title" + } + }, + "update": { + "successMessage": { + "detail": "@:persona.title zaktualizowano" + }, + "errorMessage": { + "detail": "Nie można zaktualizować @:persona.title" + } + }, + "delete": { + "selected": "Usuń wybrane @:persona.title", + "deleteConfirmation": { + "header": "Usuń Osobę", + "description": "Czy na pewno chcesz usunąć {personaName}? | Czy na pewno chcesz usunąć {count} @:persona.title{'?'}" + }, + "successMessage": { + "detail": "@:persona.title usunięta | @:persona.title usunięta" + }, + "errorMessage": { + "detail": "Nie można usunąć @:persona.title | Nie można usunąć @:persona.title" + } + }, + "import": { + "title": "Importuj Osobę", + "dragAndDropMessage": "Przeciągnij i upuść spakowany Msty @:persona.title, aby zaimportować i utworzyć nowe Persony. W przypadku zduplikowanych nazw nazwa zaimportowanych Person zostanie zmieniona. Możesz to zmienić później.", + "successMessage": { + "detail": "Persony zaimportowane" + }, + "errorMessage": { + "detail": "Nie udało się zaimportować Person" + } + }, + "export": { + "title": "Eksportuj Osobę", + "selected": "Eksportuj wybrane @:persona.title | Eksportuj wybrane @:persona.title", + "successMessage": { + "detail": "@:persona.title wyeksportowana jako {fileName} | @:persona.title wyeksportowana jako {fileName}" + }, + "errorMessage": { + "detail": "Nie udało się wyeksportować @:persona.title | Nie udało się wyeksportować @:persona.title" + } + }, + "messages": { + "deleteSuccess": "@:persona.title usunięta | @:persona.title usunięta" + }, + "deleteConfirmation": { + "header": "Usuń Osobę", + "message": "Czy na pewno chcesz usunąć {personaName}? | Czy na pewno chcesz usunąć {count} @:persona.title{'?'}", + "errorMessage": { + "detail": "Nie można usunąć @:persona.title | Nie można usunąć @:persona.title" + } + }, + "addTitle": "Dodaj Osobę", + "createRootFolder": "Nowy folder w katalogu głównym", + "setDefaultFolder": "Ustaw jako folder domyślny", + "unsetDefaultFolder": "Usuń ustawienie folderu domyślnego", + "folderForm": { + "updateSuccessMessage": { + "detail": "@:folder zaktualizowano" + }, + "updateErrorMessage": { + "detail": "Nie udało się zaktualizować @:folder" + }, + "createSuccessMessage": { + "detail": "Utworzono @:folder" + }, + "createErrorMessage": { + "detail": "Nie udało się utworzyć @:folder" + }, + "deleteConfirmation": { + "header": "Usuń @:folder", + "message": "Czy na pewno chcesz usunąć {folderName} ze wszystkimi jego @:persona.title{'?'}", + "successMessage": { + "detail": "@:folder usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:folder" + } + } + }, + "selectPlaceholder": "@:select @:persona.title", + "autoResponder": { + "turnOn": "Włącz automatyczną odpowiedź", + "turnOff": "Wyłącz automatyczną odpowiedź" + }, + "additionalSettings": "Dodatkowe ustawienia", + "additionalSettingsHint": { + "hideAndIsolateSystemPrompt": "Ukryj i wyizoluj prompt systemowy: utrzymuje prompt dotyczący osoby w ukryciu i oddzielony od widocznego kontekstu czatu.", + "isolateResponse": "Izoluj odpowiedź: utrzymuje zakres odpowiedzi w kontekście tej osoby.", + "autoResponder": "Automatyczna odpowiedź: umożliwia osobie automatyczną odpowiedź, jeśli jest włączona.", + "showFewShotsInConversation": "Pokaż kilka ujęć w rozmowie: wyświetla kilka ujęć w transkrypcji, zamiast ukrywać je." + }, + "hideAndIsolateSystemPrompt": "Ukryj i odizoluj prompt systemowy", + "isolateResponse": "Izoluj odpowiedź", + "autoResponderDefault": "Automatyczna odpowiedź", + "showFewShotsInConversation": "Pokaż kilka ujęć w rozmowie", + "fewShotsHint": "Kilka prompty to przykładowa wymiana zdań między użytkownikiem a asystentem, która uczy daną osobę, jak reagować. Poprawiają spójność, dopasowanie tonów i przestrzeganie instrukcji w przypadku typowych zadań.", + "contextMessageCount": { + "title": "Liczba kontekstów", + "description": "Ustaw liczbę ostatnich wiadomości, które będą używane jako kontekst dla @:persona.title{'.'}" + } + }, + "crew": { + "title": "Załoga | Załogi", + "newCrewConversation": "Nowa rozmowa załogi", + "personas": "Osoba | Osoby", + "noCrews": "Nie ma jeszcze żadnej załogi", + "noCrewsDescription": "Utwórz załogę, aby rozmawiać z wieloma osobami jednocześnie.", + "createCrew": "Utwórz załogę", + "selectCrew": "Wybierz załogę", + "switchCrew": "Zmień załogę", + "expand": "Rozwiń elementy sterujące", + "collapse": "Zwiń elementy sterujące", + "selectAll": "Wybierz wszystkie osoby", + "deselectAll": "Odznacz wszystkie osoby", + "quickActions": "Szybko", + "crewModeTitle": "Tryb załogi", + "experimental": "Eksperymentalny", + "experimentalInfo": "Tryb załogi jest eksperymentalny i znajduje się w fazie aktywnego rozwoju. Niektóre funkcje mogą ulec zmianie lub mieć ograniczenia.", + "crewModeDescription": "Wybierz załogę, aby rozmawiać z wieloma osobami. Każda osoba wnosi do rozmowy swoją wyjątkową perspektywę.", + "crewModeHint": "W dowolnym momencie możesz przełączać osoby, które odpowiadają i zmieniać załogi.", + "crewModeWithCrew": "Załoga {crewName} gotowa. Osoby {count} odpowiedzą na Twoje wiadomości.", + "responseMode": { + "label": "Odpowiedź", + "auto": "Automat", + "autoDescription": "Wszystkie osoby odpowiadają automatycznie na każdą wiadomość", + "manual": "Instrukcja", + "manualDescription": "Wybierz, które osoby odpowiadają za każdym razem" + }, + "executionMode": { + "label": "Wykonanie", + "sequential": "Sekwencyjny", + "sequentialDescription": "Persony odpowiadają kolejno po sobie", + "parallel": "Równolegle", + "parallelDescription": "Wszystkie osoby odpowiadają jednocześnie" + }, + "contextMode": { + "label": "Kontekst", + "independent": "Niezależny", + "independentDescription": "Każda osoba widzi tylko Twoje wiadomości", + "contextual": "Kontekstowe", + "contextualDescription": "Osoby mogą widzieć swoje odpowiedzi" + }, + "behaviorSettings": "Zachowanie", + "editCrew": "Edytuj załogę", + "namePlaceholder": "Wpisz nazwę załogi", + "descriptionPlaceholder": "Opisz cel tej załogi", + "nameRequired": "Nazwa załogi jest wymagana", + "created": "Załoga utworzona", + "updated": "Załoga zaktualizowana", + "saveFailed": "Nie udało się zapisać załogi", + "allPersonasAdded": "Dodano wszystkie persony", + "allPersonasAddedDescription": "Do tej załogi dodano wszystkie dostępne osoby.", + "addPersona": "Dodaj Personę", + "personasHint": "Przeciągnij postacie, aby ustawić ich normalną kolejność tur. Możesz dodać więcej później.", + "addPersonaFailed": "Nie udało się dodać osoby do załogi", + "selectPersonas": "Wybierz Persony", + "trigger": "Wyzwalacz", + "selectFallback": "Wybierz rezerwę", + "usingFallbackModel": "Osoby {count} korzystające z modelu awaryjnego", + "needsFallbackModel": "Osoby {count} potrzebują modelu — wybierz model zastępczy", + "selectFallbackModel": "Wybierz Model zastępczy", + "fallbackModelHint": "Model ten będzie używany dla osób bez skonfigurowanego modelu" + }, + "fewShotPrompts": { + "title": "Prompty dotyczące kilku strzałów", + "description": "Uczenie się kilkoma strzałami to technika uczenia maszynowego, która umożliwia uczenie modelu przy użyciu niewielkiej ilości danych. Możesz użyć prompty składających się z kilku strzałów, aby dostarczyć modelowi przykłady, które pomogą mu zrozumieć kontekst i wygenerować lepsze odpowiedzi.", + "addNewShot": "Dodaj nowy strzał" + }, + "insights": "Spostrzeżenia", + "cost": "Koszt", + "costInUSD": "Koszt w USD", + "promptTokens": "Tokeny prompty", + "completionTokens": "Żetony ukończenia", + "totalTokens": "Suma tokenów", + "usage": "Użycie", + "tokens": "Żetony", + "tokensProcessed": "Tokeny przetworzone", + "selectProvider": "@:select dostawca | Dostawcy @:select", + "tokensProcessedForProvider": "Tokeny przetworzone dla {provider}", + "totalUsage": "Całkowite wykorzystanie", + "fromTo": "Od {from} do {to}", + "crunchingTheNumbers": "Przekręcanie liczb", + "throughputForModel": { + "title": "Przepustowość dla {model}", + "unit": { + "description": "Mierzone w tokenach na sekundę" + } + }, + "latencyForModel": { + "title": "Opóźnienie dla {model}", + "unit": { + "description": "Mierzone w sekundach" + } + }, + "total": "Razem", + "min": "Min", + "max": "Maks", + "avg": "Śr", + "summary": "Podsumowanie", + "dates": { + "today": "Dzisiaj", + "last7Days": "Ostatnie 7 dni", + "last14Days": "Ostatnie 14 dni", + "last30Days": "Ostatnie 30 dni", + "last3Months": "Ostatnie 3 miesiące", + "last6Months": "Ostatnie 6 miesięcy", + "last12Months": "Ostatnie 12 miesięcy", + "monthToDate": "Miesiąc do chwili obecnej", + "yearToDate": "Rok do chwili obecnej", + "allTime": "Cały czas", + "selectDateRange": "@:select zakres dat", + "month": "Miesiąc", + "year": "Rok", + "day": "Dzień", + "week": "Tydzień" + }, + "insightsSummary": { + "emptyState": { + "title": "Podsumowanie spostrzeżeń", + "description": "Brak dostępnych danych dla wybranego zakresu dat i dostawców." + } + }, + "insightsProviderTokensProcessed": { + "emptyState": { + "title": "Tokeny przetworzone", + "description": "Brak dostępnych danych dla wybranego zakresu dat i dostawcy." + } + }, + "insightsProviderThroughput": { + "emptyState": { + "title": "Przepustowość", + "description": "Brak dostępnych danych dla wybranego zakresu dat, dostawcy i modelu." + } + }, + "insightsProviderLatency": { + "emptyState": { + "title": "Opóźnienie", + "description": "Brak dostępnych danych dla wybranego zakresu dat, dostawcy i modelu." + } + }, + "hideItem": { + "action": "Ukryj {item}", + "successMessage": { + "detail": "{item} został ukryty" + }, + "errorMessage": { + "detail": "Nie można ukryć {item}" + }, + "unhideParent": "Odkryj element nadrzędny {item}", + "hiddenParentContentTitle": "Ukryta zawartość nadrzędna. Kliknij, aby odkryć." + }, + "showItem": { + "action": "Pokaż {item}" + }, + "licenseVerification": { + "errorMessage": "Nie udało się zweryfikować licencji. Spróbuj ponownie.", + "enterLicenseKey": "Wprowadź klucz licencyjny Aurum", + "licenseTypeInfo": "Używasz licencji {licenseType}.", + "licenseKey": "Klucz licencyjny", + "logout": "Wyloguj się", + "licenseTypeInfoForAdmin": "Korzystasz z licencji {licenseType} i jesteś zalogowany jako właściciel." + }, + "aurum": { + "activateLicense": "Aktywuj licencję Aurum", + "activateLicenseDescription": "Wprowadź klucz licencyjny, aby odblokować funkcje premium", + "manageLicense": "Zarządzaj licencją", + "lifetimeLicense": "Życie Aurum", + "lifetimeLicenseDescription": "Jednorazowy zakup z dożywotnim dostępem do funkcji premium", + "annualLicense": "Rocznik Aurum", + "annualLicenseDescription": "Roczna subskrypcja z ciągłymi aktualizacjami i funkcjami premium", + "oneTimePurchase": "Jednorazowy zakup", + "yearlySubscription": "Roczna subskrypcja", + "enterLicenseKey": "Klucz licencyjny", + "verifyAndActivate": "Zweryfikuj i aktywuj", + "deactivateLicense": "Dezaktywuj licencję", + "licensedTo": "Licencja na", + "expiresOn": "Wygasa w dniu", + "expired": "Wygasło", + "expiresInDays": "Wygasa za {days} dni", + "needLicense": "Potrzebujesz licencji?", + "purchaseLicense": "Kup na msty.ai", + "hasLicense": "Masz już licencję?", + "manageActivation": "Zarządzaj aktywacją" + }, + "cloneItem": { + "action": "Klonuj {item}", + "successMessage": { + "detail": "{item} został sklonowany" + }, + "errorMessage": { + "detail": "Nie można sklonować {item}" + } + }, + "cloneItemTo": { + "action": "Sklonuj do {item}", + "successMessage": { + "detail": "Pomyślnie sklonowano do nowego {item}" + }, + "errorMessage": { + "detail": "Nie można sklonować do nowego {item}" + } + }, + "importJson": { + "clipboardTitle": "Importuj {item} ze schowka JSON", + "fileTitle": "Zaimportuj {item} z pliku JSON", + "successMessage": { + "detail": "{count} {item} zaimportowano pomyślnie", + "detailDestination": "@:importJson.successMessage.detail {item} do {destination}" + }, + "successMessageWithToolsets": { + "detail": "{count} {item} zaimportowano pomyślnie i automatycznie utworzono odpowiednie zestawy narzędzi" + }, + "invalidConfig": { + "detail": "Nieprawidłowa konfiguracja lub nic do zaimportowania. Upewnij się, że JSON jest prawidłowy i spróbuj ponownie." + }, + "errorMessage": { + "detail": "Nie udało się zaimportować. Sprawdź JSON i spróbuj ponownie." + }, + "partialError": { + "detail": "Nie udało się zaimportować elementów {failed}: {items}" + }, + "dragAndDropMessage": "Przeciągnij i upuść plik JSON, aby zaimportować {item}." + }, + "team": { + "label": "Zespół | Zespoły", + "createTeam": "@:create @:team.label", + "inviteUserLabel": "Zaproś użytkownika", + "overview": "Przegląd", + "usersLabel": "Użytkownicy", + "allTeamLabel": "Wszystkie zespoły", + "createSuccess": "Zespół {teamName} został pomyślnie utworzony.", + "member": "Członek|Członkowie", + "allUsers": "Wszyscy Użytkownicy", + "addTeamFormHeader": "Utwórz nowy zespół", + "updateTeamFormHeader": "Edytuj zespół", + "addUsers": "Dodaj użytkowników", + "updateUsers": "Aktualizuj użytkowników", + "addUserToTeam": "Dodaj użytkowników do zespołu", + "teamNameLabel": "Nazwa zespołu", + "teamNamePlaceholder": "Wprowadź nową nazwę zespołu", + "addTeamDescription": "Utwórz nowy zespół do zarządzania zasobami.", + "noUserInTeam": "Brak użytkowników przypisanych do tego zespołu.", + "editTeam": "Edytuj zespół", + "invited": "Zaproszony", + "shortDescription": "Zarządzaj swoimi zespołami i użytkownikami.", + "empty": { + "description": "Zespół służy do zarządzania zasobami. Możesz dodawać użytkowników do zespołu, aby współpracować i udostępniać dostęp do zasobów." + }, + "deleteConfirmation": { + "header": "Usuń zespół", + "message": "Czy na pewno chcesz usunąć", + "inputPlaceholder": "Wpisz {name}, aby potwierdzić usunięcie.", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete" + }, + "policies": { + "title": "Polityka | Zasady", + "toolbox": { + "title": "@:toolbox.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji Toolbox" + }, + "promptsLibrary": { + "title": "Studio prompty", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji Biblioteki prompty" + }, + "persona": { + "title": "Studio Persony", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji Persona" + }, + "turnstile": { + "title": "@:turnstile.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji kołowrotu" + }, + "expertConversationFunctions": { + "title": "Tryb eksperta", + "description": "Włącz ustawienia rozmów eksperckich dla użytkowników" + }, + "knowledgeStack": { + "title": "@:knowledgeStack.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji stosu wiedzy" + }, + "remoteToolsConnector": { + "title": "@:remoteToolsConnector.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji @:remoteToolsConnector.title" + }, + "rtd": { + "title": "@:rtd.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji @:rtd.title" + }, + "attachments": { + "title": "@:attachments.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji @:attachments.title" + }, + "forgeMode": { + "title": "@:forge.forgeMode.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji @:forge.forgeMode.title" + }, + "personaMode": { + "title": "Tryb Persony", + "description": "Zezwalaj użytkownikowi na tworzenie rozmów Persona" + }, + "crewMode": { + "title": "Tryb załogi", + "description": "Zezwalaj użytkownikowi na tworzenie rozmów załogi" + }, + "agentMode": { + "title": "@:agentMode.title", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji @:agentMode.title" + }, + "insights": { + "title": "@:insights", + "description": "Zezwalaj użytkownikowi na korzystanie z funkcji @:insights" + }, + "platformWeb": { + "title": "Dostęp internetowy do Msty Studio", + "description": "Zezwól użytkownikowi na dostęp do Msty Studio z przeglądarki internetowej" + }, + "platformDesktop": { + "title": "Dostęp do pulpitu Msty Studio", + "description": "Zezwól użytkownikowi na dostęp do Msty Studio z aplikacji komputerowej" + }, + "platformAccess": "Dostęp do platformy", + "modelHub": { + "description": "Zarządzaj dostępem do określonych dostawców modeli." + } + }, + "fetch": { + "errorMessage": { + "detail": "Nie można wczytać listy drużyn" + } + }, + "user": { + "noAvailableSeats": "Osiągnąłeś limit zapraszania użytkowników.", + "licenceAndAccess": { + "loggedInAsLabel": "Zalogowano jako", + "useSignInWithEmail": "Na podany adres e-mail zostanie wysłany bezpieczny link do logowania. Posiadacze licencji Aurum muszą zweryfikować swój klucz licencyjny przed użyciem tej funkcji.", + "continueWithlicenseLabel": "kontynuuj z kluczem licencyjnym", + "sendLoginLink": "Wyślij link do logowania" + }, + "teamUserFormHeader": "Użytkownicy Zespołu", + "invitationVerification": { + "inProgress": "Weryfikacja prośby o dostęp. Proszę czekać", + "info": "Zostałeś zaproszony do dołączenia do konta w Msty Studio.", + "error": "Coś poszło nie tak. Skontaktuj się z administratorem konta." + }, + "invitationInfo": "Na podany powyżej adres e-mail zostanie przesłany link do logowania.", + "invitation": { + "successMessage": { + "detail": "Zaproszono użytkownika {email}." + }, + "invalidEmail": "@:invalid @:email", + "errorMessageUserExist": "Użytkownik już istnieje", + "errorMessage": { + "detail": "Nie udało się zaprosić {email}." + } + }, + "fetch": { + "errorMessage": { + "detail": "Nie można załadować listy użytkowników" + } + }, + "delete": { + "successMessage": { + "detail": "Pomyślnie usunięto użytkownika {email}." + }, + "errorMessage": { + "detail": "Nie można usunąć użytkownika {email}" + } + }, + "deleteConfirmation": { + "header": "Usuń użytkownika", + "message": "Czy na pewno chcesz usunąć {email}?", + "rejectLabel": "@:cancel", + "acceptLabel": "@:delete" + }, + "assignUserToTeamLabel": "Przypisz użytkowników do zespołu {teamName}", + "assignUserToTeamSuccess": "Pomyślnie przypisano {user} do zespołu {teamName}", + "unassignUserToTeamLabel": "Usuń użytkownika z zespołu", + "unassignUserToTeamMessage": "Upuść {user} z drużyny {teamName}", + "selectUserToAddToTeamPlaceholder": "Użytkownicy @:select do dodania" + } + }, + "updateItem": { + "action": "Zaktualizuj {item}", + "editAction": "Edytuj {item}", + "successMessage": { + "detail": "{item} został zaktualizowany" + }, + "errorMessage": { + "detail": "Nie można zaktualizować {item}" + } + }, + "modelPurpose": { + "text": "Tekst", + "tools": "Narzędzia", + "vision": "Wizja", + "coding": "Kodowanie", + "embedding": "Osadzanie", + "streaming": "Transmisja strumieniowa", + "image": "Obraz", + "video": "Wideo", + "thinking": "Myślenie" + }, + "editModel": { + "inputLabels": { + "label": "Etykieta", + "purpose": "Cel" + } + }, + "environment": { + "selectPlaceholder": "@:select @:environment.title", + "new": "Nowy @:environment.title", + "title": "Środowisko | Środowiska", + "empty": { + "description": "Aby rozpocząć, dodaj nowe środowiska." + }, + "save": { + "successMessage": { + "detail": "@:environment.title zapisano" + }, + "errorMessage": { + "detail": "Nie udało się zapisać @:environment.title" + } + }, + "delete": { + "title": "@:delete @:environment.title | Usuń @:environment.title", + "selected": "@:delete Wybrane @:environment.title | Usuń wybrane @:environment.title", + "deleteConfirmation": { + "header": "@:delete @:environment.title", + "description": "Czy na pewno chcesz usunąć {environmentName}? | Czy na pewno chcesz usunąć środowiska {count}?" + }, + "successMessage": { + "detail": "@:environment.title usunięty | @:environment.title usunięty" + }, + "errorMessage": { + "detail": "Nie można usunąć @:environment.title | Nie można usunąć @:environment.title" + } + }, + "backup": { + "title": "Kopia zapasowa @:environment.title", + "successMessage": { + "detail": "Kopia zapasowa @:environment.title została utworzona" + }, + "errorMessage": { + "detail": "Nie udało się utworzyć kopii zapasowej @:environment.title" + } + }, + "restore": { + "title": "Przywróć @:environment.title", + "dragAndDropMessage": "Przeciągnij i upuść plik środowiska Msty, aby przywrócić środowiska. Uwaga: wszystkie istniejące środowiska zostaną usunięte i zastąpione zaimportowanymi.", + "successMessage": { + "detail": "Przywrócono @:environment.title" + }, + "errorMessage": { + "detail": "Nie udało się przywrócić @:environment.title" + } + }, + "quickSelect": { + "title": "Szybka zmienna środowiskowa @:select", + "selectPlaceholder": "Wyszukaj lub wybierz zmienną, aby skopiować ją do schowka" + } + }, + "makeActive": { + "title": "Ustaw jako aktywny {itemType}", + "isActive": "Aktywny {itemType}", + "successMessage": { + "detail": "{itemName} jest teraz aktywnym {itemType}" + }, + "errorMessage": { + "detail": "Nie udało się ustawić {itemName} jako aktywnego {itemType}" + } + }, + "moveItem": { + "action": "Przesuń {item}", + "moveLocation": "Przenieś {count} {sourceType} do {item}", + "confirmation": { + "message": "Czy na pewno chcesz przenieść wybrany {item}?" + }, + "successMessage": { + "detail": "{item} został przeniesiony | {item} zostały przeniesione" + }, + "errorMessage": { + "detail": "Nie można przenieść {item}" + }, + "errrorMessage": { + "detail": "Nie można przenieść {item}" + }, + "cannotDetermineTargetProject": "Nie można określić projektu docelowego.", + "cannotDetermineTargetFolder": "Nie można określić folderu docelowego." + }, + "deleteItem": { + "action": "Usuń {item}", + "successMessage": { + "detail": "{item} został usunięty | {item} zostały usunięte" + }, + "errorMessage": { + "detail": "Nie można usunąć {item}" + } + }, + "deleteSelected": { + "action": "Usuń wybrane {item}", + "confirmationMessage": "Czy na pewno chcesz usunąć wybrane {item}?", + "successMessage": { + "detail": "Wybrane {item} zostało usunięte" + }, + "errorMessage": { + "detail": "Nie udało się usunąć wybranego {item}" + } + }, + "promptsStudio": { + "title": "Szybkie studio" + }, + "skillsStudio": { + "title": "Pracownia Umiejętności" + }, + "personaStudio": { + "title": "Studio Persony" + }, + "promptsLibrary": { + "title": "Biblioteka Promptów", + "newPrompt": "Nowy @:prompt", + "search": "@:search.label @:prompt", + "searchWithTags": "Filtruj lub wpisz # dla tagów", + "quickPrompt": "Szybkie @:prompt", + "saveToQuickPrompts": "Zapisz w Szybkim @:prompts", + "copyPrompt": "Skopiuj @:prompt do schowka", + "shortcutUsage": "Wpisz / , aby przeszukać plik @:promptsLibrary.title", + "setDefaultFolder": "Ustaw jako folder domyślny", + "unsetDefaultFolder": "Usuń ustawienie folderu domyślnego", + "createRootFolder": "Nowy folder w katalogu głównym", + "folder": "@:folder", + "prompt": "@:prompt", + "deleteAllPrompt": { + "title": "Usuń wszystkie @:prompt i @:folders", + "description": "Spowoduje to wyczyszczenie całych @:promptsLibrary.title i @:folder@:folders. Po usunięciu nie ma możliwości ich odzyskania.", + "successMessage": { + "detail": "Wszystkie @:prompt usunięte" + } + }, + "empty": { + "title": "Brak dostępnego @:persona.title", + "description": "Zacznij od dodania lub zaimportowania nowego @:prompt{'.'} Na początek możesz także zaimportować domyślny @:prompts" + }, + "import": { + "title": "Importuj domyślny plik @:prompts", + "successMessage": { + "detail": "Możesz teraz używać zaimportowanych prompty w swoich rozmowach." + }, + "copyMultiplePrompts": "Skopiuj {count} @:prompts do schowka", + "copyMultiplePromptsAsJson": "Skopiuj {count} @:prompts jako @:json do schowka", + "errorMessage": { + "detail": "Nie udało się zaimportować domyślnego @:prompts" + }, + "copyErrorMessage": { + "detail": "Nie udało się skopiować @:prompt{'.'} Spróbuj ponownie." + } + }, + "discover": { + "bulkInstall": { + "statusInstalling": "Instalowanie prompty", + "statusStopping": "Zatrzymywanie szybkiej instalacji", + "stopButtonIdle": "Zatrzymaj instalację", + "stopButtonStopping": "Zatrzymywanie…", + "stoppedSummary": "Instalacja zatrzymana", + "progressPreparing": "Przygotowuję kolejkę instalacyjną…", + "progressStopping": "Zatrzymywanie po bieżącym elemencie. Pozostało {remaining}.", + "progressRunning": "{completed} z {total} ukończono · Pozostało {remaining}", + "installedSegment": "Zainstalowano {count} {label}", + "failedSegment": "{count} nie powiodło się", + "skippedSegment": "{count} pominięty", + "promptSingular": "prompt", + "promptPlural": "prompty" + } + }, + "folderForm": { + "updateSuccessMessage": { + "detail": "@:folder zaktualizowano" + }, + "updateErrorMessage": { + "detail": "Nie udało się zaktualizować @:folder" + }, + "createSuccessMessage": { + "detail": "Utworzono @:folder" + }, + "createErrorMessage": { + "detail": "Nie udało się utworzyć @:folder" + }, + "deleteConfirmation": { + "header": "Usuń @:folder", + "message": "Czy na pewno chcesz usunąć {folderName} ze wszystkimi jego podfolderami i monitami?", + "successMessage": { + "detail": "@:folder usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:folder" + } + } + }, + "promptForm": { + "addTitle": "Dodaj nowy @:prompt", + "editTitle": "Edytuj @:prompt", + "promptName": "@:prompt Nazwa", + "promptDescription": "@:description", + "updateSuccessMessage": { + "detail": "@:prompt zaktualizowano" + }, + "updateErrorMessage": { + "detail": "Nie udało się zaktualizować @:prompt" + }, + "createSuccessMessage": { + "detail": "Utworzono @:prompt" + }, + "createErrorMessage": { + "detail": "Nie udało się utworzyć @:prompt" + }, + "deleteConfirmation": { + "header": "Usuń {count} @:prompt", + "message": "Czy na pewno chcesz usunąć?", + "successMessage": { + "detail": "@:prompt usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:prompt" + } + } + }, + "saveAsVersion": "Zapisz jako wersję", + "version": { + "noVersions": "Nie zapisano żadnych wersji", + "selectVersion": "Wybierz wersję", + "saveAsVersion": "Zapisz jako wersję", + "saveAsVersionN": "Zapisz jako wersję {n}", + "saveVersion": "Zapisz wersję", + "changelog": "Dziennik zmian", + "changelogPlaceholder": "Opisz, co zmieniło się w tej wersji...", + "savedAs": "Zapisano jako wersję {version}", + "saveError": "Nie udało się zapisać wersji", + "setActive": "Ustaw prompt jako aktywny", + "unsetActive": "Nieustawione jako aktywne", + "markedActive": "Wersja oznaczona jako aktywna", + "clearedActive": "Aktywna wersja została wyczyszczona", + "setActiveError": "Nie udało się ustawić aktywnej wersji", + "unsavedChangesMessage": "Masz niezapisane zmiany. Zmiana wersji spowoduje ich odrzucenie.", + "deleteVersion": "Usuń wersję", + "deleteConfirm": "Czy na pewno chcesz usunąć wersję {version}? Tego nie można cofnąć.", + "deleted": "Wersja {version} usunięta", + "deleteError": "Nie udało się usunąć wersji", + "cannotDelete": "Nie można usunąć", + "cannotDeleteLast": "Musisz zachować co najmniej jedną wersję" + }, + "workbench": { + "savePromptFirst": "Najpierw zapisz prompt, aby skorzystać ze środowiska roboczego", + "unsavedRunMessage": "Masz niezapisane uruchomienie testowe. Zmiana wersji spowoduje jego odrzucenie." + }, + "testRunDetails": "Szczegóły przebiegu testowego", + "loadTestRun": "Załaduj konfigurację", + "noteHint": "Dodaj notatkę na temat tego uruchomienia testowego...", + "versionDetails": "Szczegóły wersji", + "bestConfig": "Najlepsza konfiguracja", + "recentTestRuns": "Ostatnie przebiegi testowe", + "noTestRuns": "Nie ma jeszcze żadnych testów tej wersji", + "versionNotFound": "Nie znaleziono wersji", + "variables": { + "manageVariables": "Wypełnij zmienne", + "requiredVariablesMissing": "Wymagane zmienne wymagają wartości" + }, + "tags": { + "label": "Tagi", + "placeholder": "Dodaj tagi...", + "noResults": "Wpisz, aby wyszukać lub utwórz tag", + "addSuccess": "Dodano tag", + "removeSuccess": "Etykieta usunięta", + "addError": "Nie udało się dodać tagu", + "removeError": "Nie udało się usunąć tagu" + } + }, + "importDefault": { + "title": "Importuj domyślny plik {item}", + "successMessage": { + "detail": "Zaimportowano domyślny {item}" + }, + "errorMessage": { + "detail": "Nie udało się zaimportować domyślnego {item}" + } + }, + "contextIsolation": { + "isolate": "Odizoluj @:context", + "unIsolate": "Usuń izolację @:context", + "label": "Izolowane @:context", + "clearAll": { + "title": "Wyczyść wszystkie izolacje @:context", + "successMessage": { + "detail": "Wszystkie izolacje @:context wyczyszczone" + } + } + }, + "responseMetrics": { + "title": "Metryki odpowiedzi", + "longPressOrAltClickToCycle": "Naciśnij długo lub kliknij {key}, aby przeglądać dane" + }, + "quickView": "Szybki podgląd", + "detailsView": "Widok szczegółów", + "input": "Wejście | Wejścia", + "output": "Wyjście | Wyjścia", + "think": "Pomyśl", + "reasoning": { + "emptyNotice": "Model przeprowadził myślenie wewnętrzne, ale nie zwrócił podsumowania.", + "thinking": "Zastanawiając się...", + "ponderedBriefly": "Zastanawiałem się krótko", + "ponderedFor": "Zastanawiałem się nad {time}", + "ponderedTimes": "Zastanawiałem się {count} razy", + "seconds": "sekundy" + }, + "toolCall": { + "usedTool": "Używany {tool}", + "usedToolFrom": "Używany {tool} z {source}", + "inputs": "Wejścia", + "outputs": "Wyjścia", + "noDetailsAvailable": "Brak dostępnych szczegółów" + }, + "service": "Usługa | Usługi", + "localAIService": "Usługa lokalnego AI", + "version": "Wersja | Wersje", + "invalidConfig": "Nieprawidłowa konfiguracja. Proszę wprowadzić prawidłowy obiekt JSON.", + "unsavedChanges": "Niezapisane zmiany", + "saveChanges": "Zapisz zmiany", + "day": "Dzień | Dni", + "every": "Każdy", + "files": "Pliki", + "file": "Plik | @:files", + "reallyDelete": "Naprawdę usunąć?", + "similarity": "Podobieństwo", + "saveAsDraft": "Zapisz jako wersję roboczą", + "compose": "Utwórz", + "embeddingModel": "Model osadzania", + "document": "Dokument | Dokumenty", + "matched": "Dopasowane", + "active": "Aktywny", + "inactive": "Nieaktywny", + "folderName": "@:folder Nazwa", + "addNewFolder": "Dodaj nowy @:folder", + "editFolder": "Edytuj @:folder", + "errorGeneric": "Wystąpił błąd. Spróbuj ponownie później. Sprawdź dzienniki, aby uzyskać więcej szczegółów.", + "sharedService": { + "modelsPath": { + "title": "Ścieżka modeli", + "description": "Tutaj {service} pobiera i wyszukuje modele. Możesz zaktualizować ścieżkę, aby używać folderu niestandardowego.", + "edit": { + "title": "Edytuj ścieżkę modeli", + "description": "Ustaw preferowaną lokalizację.", + "willRestartWarning": "Uwaga: zmiana ścieżki modelu spowoduje ponowne uruchomienie {service}, aby zmiany zaczęły obowiązywać.", + "selectModelsPath": "Wybierz opcję Ścieżka modeli", + "successMessage": { + "detail": "Zaktualizowano ścieżkę modeli" + }, + "errorMessage": { + "detail": "Nie udało się zaktualizować ścieżki modeli" + } + } + }, + "quickPromptDialog": { + "title": "Zapisz w Szybkich @:prompts", + "description": "Nadaj promptowi systemowemu krótki tytuł. Zostanie dodany do Szybkich promptów, aby ułatwić ponowne użycie.", + "nameLabel": "Szybka nazwa @:prompt", + "successMessage": "Prompt systemowy zapisano w Szybkich promptach.", + "errorMessage": "Nie udało się zapisać promptu systemowego w Szybkich promptach.", + "emptyPromptMessage": "Dodaj tekst promptu systemowego przed zapisaniem w Szybkich promptach." + }, + "serviceHealth": { + "title": "Zdrowie usługi", + "description": "Stan pliku {service}. Masz problemy? Spróbuj uruchomić ponownie lub przejrzyj dzienniki.", + "serviceAction": { + "restartService": "Uruchom ponownie usługę", + "stopService": "Zatrzymaj usługę", + "startService": "Uruchom usługę", + "errorMessage": { + "detail": "Nie udało się wykonać {action} na {service}. Aby uzyskać więcej szczegółów, sprawdź logi." + }, + "restartSuccessMessage": { + "detail": "{service} uruchomiono ponownie" + } + }, + "serviceStatus": { + "starting": "Rozpoczęcie", + "running": "Bieganie", + "stopped": "Zatrzymany" + } + }, + "serviceEndpoint": { + "title": "Punkt końcowy usługi | Punkty końcowe usługi", + "description": { + "base": "Lokalny punkt końcowy dla {service}. Użyj tej opcji, aby połączyć się z innymi aplikacjami działającymi lokalnie na urządzeniu.", + "serviceIsNotRunning": "Po uruchomieniu usługi adres zostanie wyświetlony w tym miejscu.", + "serviceIsAvailableOnNetwork": "Ponieważ usługa jest dostępna w sieci, można się z nią połączyć także za pomocą Usługi Sieciowej URL z innych urządzeń." + }, + "copyNetworkURL": "Skopiuj sieć URL" + }, + "serviceVersion": { + "title": "Wersja usługi", + "description": "Pokazuje aktualną wersję {service}. Aby zapewnić optymalną wydajność i dostęp do nowych funkcji, aktualizuj ją. W razie potrzeby dostępna jest również ponowna instalacja.", + "forceUpdate": { + "title": "Wymuś aktualizację {service}", + "forCpu": "Wymuś aktualizację {service} (CPU)", + "forCuda": "Wymuś aktualizację {service} (CUDA)", + "forCuda124": "Wymuś aktualizację {service} (CUDA 12.4)", + "forCuda131": "Wymuś aktualizację {service} (CUDA 13.1)", + "forVulkan": "Wymuś aktualizację {service} (Vulkan)", + "forRocm": "Wymuś aktualizację {service} (ROCm)", + "forOpencl": "Wymuś aktualizację {service} (OpenCL)", + "forSycl": "Wymuś aktualizację {service} (SYCL)", + "successMessage": { + "detail": "{service} został zaktualizowany do najnowszej wersji {version}" + }, + "errorMessage": { + "detail": "Nie udało się zaktualizować {service}. Aby uzyskać więcej szczegółów, sprawdź logi." + } + }, + "removeService": { + "title": "Usuń {service}", + "confirmationHeader": "Usuń {service}", + "confirmationMessage": "Czy na pewno chcesz usunąć {service}? Spowoduje to usunięcie pliku binarnego usługi i wszystkich jej konfiguracji. Możesz zainstalować go później ponownie na stronie ustawień.", + "confirmationAccept": "Usuń", + "successMessage": { + "detail": "{service} został pomyślnie usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć {service}. Aby uzyskać więcej szczegółów, sprawdź logi." + } + } + }, + "localArchive": { + "drawerHeader": "Zainstaluj z lokalnego archiwum", + "variant": "Wariant", + "primaryArchive": "Archiwum LLaMA.cpp", + "cudartArchive": "CUDA Archiwum środowiska wykonawczego", + "noFileSelected": "Nie wybrano pliku", + "browse": "Przeglądaj", + "install": "Zainstaluj", + "cudartHint": "np. cudart-llama-bin-win-cuda-*.zip" + }, + "serviceConfigurations": { + "title": "Konfiguracje usług", + "description": "Te konfiguracje są stosowane do {service} po jego uruchomieniu. {service} zostanie automatycznie uruchomiony ponownie po zapisaniu jakichkolwiek zmian.", + "enableNetworkAccess": { + "title": "Włącz dostęp do sieci", + "description": "Zezwól innym urządzeniom w Twojej sieci na dostęp do tego {service} poprzez adres IP tego urządzenia." + }, + "allowMstyStudioAccess": { + "title": "Zezwól na dostęp z Msty Studio", + "description": "Zezwól na połączenia Msty Studio Web z tą aplikacją, aby mogła uzyskać dostęp do {service}." + }, + "captureServiceLogs": { + "title": "Przechwytuj dzienniki usług", + "description": "Włącz rejestrowanie, aby przechwytywać dane usługi na potrzeby debugowania. Używaj tej opcji tylko wtedy, gdy jest to konieczne." + }, + "unsavedChanges": { + "message": "Masz niezapisane zmiany w konfiguracjach {service}. Po zapisaniu {service} zostanie uruchomiony ponownie z nowymi konfiguracjami.", + "saveChanges": "Zapisz zmiany i uruchom ponownie usługę", + "successMessage": { + "detail": "{service} Konfiguracje zostały zapisane, a usługa uruchomiona ponownie" + }, + "errorMessage": { + "detail": "Nie udało się zapisać konfiguracji {service}. Aby uzyskać więcej szczegółów, sprawdź logi." + } + } + }, + "modelConfigurations": { + "title": "Konfiguracje @:model", + "description": "Te konfiguracje są stosowane do wszystkich modeli podczas sesji czatu." + } + }, + "keyboardShortcuts": { + "title": "Skróty klawiaturowe", + "description": "Dostosuj skróty klawiaturowe, aby uzyskać szybki dostęp do funkcji", + "search": "Wyszukaj skróty...", + "searchByShortcut": "Szukaj według skrótu", + "searchByName": "Szukaj według nazwy", + "pressShortcut": "Naciśnij dowolną kombinację klawiszy...", + "pressKeys": "Naciśnij klawisze...", + "notSet": "Nie ustawiono", + "edit": "Edytuj skrót", + "clear": "Jasne", + "global": "Globalny", + "saved": "Skrót został zapisany", + "error": "Błąd podczas zapisywania skrótu", + "reset": "Reset skrótu", + "resetToDefault": "Przywróć ustawienia domyślne", + "resetAll": "Zresetuj wszystkie skróty", + "allReset": "Wszystkie skróty zostały zresetowane do ustawień domyślnych", + "noResults": "Nie znaleziono skrótów", + "conflictWith": "Konflikt z: {name}", + "categories": { + "all": "Wszystko", + "general": "Generał", + "navigation": "Nawigacja", + "appearance": "@:settings.appearance", + "conversation": "Rozmowa", + "agentMode": "Tryb agenta" + }, + "resetAllConfirm": { + "title": "Zresetuj wszystkie skróty", + "message": "Czy na pewno chcesz zresetować wszystkie skróty klawiaturowe do wartości domyślnych?" + }, + "help": { + "title": "Skróty klawiaturowe", + "customizeButton": "Dostosuj skróty" + }, + "contextual": "Kontekstowe", + "systemWide": "Szeroki system", + "perSplit": "Na podział", + "macOptionHint": "Skróty klawiszowe opcji działają w Msty. Jeśli zamiast tego wyświetlają znaki specjalne, sprawdź Ustawienia systemowe > Klawiatura > Źródła wejściowe", + "example": { + "title": "Przykład skrótów klawiaturowych", + "description": "Ten komponent pokazuje, jak zarejestrować i używać skrótów klawiaturowych w swoich komponentach.", + "registeredShortcuts": "Zarejestrowane skróty:", + "exampleAction1": "Przykładowa akcja 1", + "scopedAction": "Zasięg działania", + "actions": "Działania:", + "updateFirstShortcut": "Zaktualizuj pierwszy skrót", + "testConflictDetection": "Testuj wykrywanie konfliktów", + "actionLog": "Dziennik akcji:", + "noActionsYet": "Nie ma jeszcze żadnych działań. Spróbuj nacisnąć skróty!", + "developerNotes": { + "title": "Uwagi programisty:", + "items": [ + "Skróty są automatycznie czyszczone po odmontowaniu komponentu", + "Użyj skrótów o zasięgu komponentu, aby uniknąć konfliktów identyfikatorów", + "Powiązania specyficzne dla platformy są obsługiwane automatycznie (Cmd na Macu, Ctrl na Windows)", + "Przed zarejestrowaniem skrótów, które mogą kolidować z istniejącymi, sprawdź, czy nie występują konflikty", + "Skróty mogą być globalne (działać wszędzie) lub zależne od kontekstu" + ] + } + }, + "splitRemoval": { + "selectSplitToRemove": "Wybierz podział, aby usunąć", + "pressKeysToCancel": "Naciśnij", + "remove": "Usuń" + } + }, + "commandPalette": { + "title": "Paleta poleceń", + "description": "Polecenia wyszukiwania, ustawienia i nawigacja", + "placeholder": "Wpisz polecenie, panel lub miejsce docelowe", + "count": "mecze", + "unavailable": "Niedostępne", + "sections": { + "recent": "Najnowsze", + "create": "Utwórz", + "navigation": "Idź do", + "settings": "Ustawienia", + "desktop": "Pulpit" + }, + "empty": { + "title": "Brak poleceń w zasięgu", + "default": "Spróbuj wyszukać ustawienie, cel nawigacji lub polecenie tworzenia.", + "withQuery": "Żadne polecenia nie pasowały do tego wyszukiwania. Wypróbuj krótsze wyrażenie lub szersze słowo kluczowe." + }, + "reasons": { + "blockedByOverlay": "Najpierw zamknij bieżące okno dialogowe lub szufladę", + "requiresConversation": "Najpierw otwórz rozmowę", + "unavailableInCrew": "Tworzenie podziału jest niedostępne w sesjach załogi", + "unavailable": "To polecenie jest obecnie niedostępne" + }, + "toasts": { + "checkingUpdates": "Sprawdzam dostępność aktualizacji…", + "localAIUpdateStarted": "Rozpoczęto lokalną aktualizację AI", + "mlxUpdateStarted": "Rozpoczęto aktualizację MLX", + "llamaCppUpdateStarted": "Rozpoczęto aktualizację LLaMA.cpp" + }, + "commands": { + "newConversation": { + "label": "Nowa rozmowa", + "description": "Rozpocznij nową rozmowę w aktywnym obszarze roboczym" + }, + "newSplit": { + "label": "Nowy podzielony rozmowa", + "description": "Dodaj nowy podział do bieżącej rozmowy" + }, + "openModelHub": { + "label": "Otwórz centrum modelu", + "description": "Przeglądaj dostawców, modele, kalkulatory i narzędzia do odkrywania" + }, + "openRemoteModels": { + "label": "Otwórz modele zdalne", + "description": "Przejdź bezpośrednio do dostawców hostowanych modeli w Model Hub" + }, + "openLocalModels": { + "label": "Otwórz modele lokalne", + "description": "Przejdź bezpośrednio do zainstalowanych modeli lokalnych w Model Hub" + }, + "openMLXModels": { + "label": "Otwórz modele MLX", + "description": "Przejdź bezpośrednio do polecanych modeli MLX w Model Hub" + }, + "openLlamaCppModels": { + "label": "Otwórz modele LLaMA.cpp", + "description": "Przejdź bezpośrednio do modeli LLaMA.cpp w Model Hub" + }, + "openTools": { + "label": "Otwórz Przybornik", + "description": "Otwórz obszar roboczy narzędzi" + }, + "openToolsets": { + "label": "Otwórz Zestawy narzędzi", + "description": "Otwórz obszar roboczy zestawów narzędzi" + }, + "openLiveContexts": { + "label": "Otwórz aktywne konteksty", + "description": "Otwórz obszar roboczy żywych kontekstów" + }, + "openPersonas": { + "label": "Otwórz Persony", + "description": "Zarządzaj personami i odkrywaniem person" + }, + "openTurnstiles": { + "label": "Otwórz kołowroty", + "description": "Zarządzaj kołowrotami i przepływami tras" + }, + "openKnowledgeStack": { + "label": "Otwórz stos wiedzy", + "description": "Otwórz aktywne środowisko stosu wiedzy" + }, + "openPromptsLibrary": { + "label": "Otwórz bibliotekę prompty", + "description": "Przeglądaj zapisane prompty i narzędzia prompty" + }, + "openEnvironments": { + "label": "Otwarte środowiska", + "description": "Zarządzaj zmiennymi środowiskowymi i wartościami obszaru roboczego" + }, + "quickSelectEnvironment": { + "label": "Szybki wybór środowiska", + "description": "Otwórz szybki selektor środowiska" + }, + "openNotifications": { + "label": "Otwórz powiadomienia", + "description": "Przejrzyj najnowsze powiadomienia z aplikacji" + }, + "openLogViewer": { + "label": "Otwórz przeglądarkę dzienników", + "description": "Sprawdź dzienniki pulpitu i dane wyjściowe środowiska wykonawczego" + }, + "openSettings": { + "label": "Otwórz Ustawienia", + "description": "Otwórz okno ustawień aplikacji" + }, + "openKeyboardShortcuts": { + "label": "Otwórz Ustawienia skrótów klawiaturowych", + "description": "Dostosuj i sprawdź skróty klawiaturowe" + }, + "openKeyboardShortcutsHelp": { + "label": "Otwórz Pomoc dotyczącą skrótów klawiaturowych", + "description": "Wyświetl nakładkę szybkiej pomocy dotyczącej skrótów klawiaturowych" + }, + "openLocalAISettings": { + "label": "Otwórz ustawienia lokalnej AI", + "description": "Przejdź do ustawień usługi Local AI" + }, + "openMLXSettings": { + "label": "Otwórz ustawienia MLX", + "description": "Przejdź do ustawień usługi MLX" + }, + "openLlamaCppSettings": { + "label": "Otwórz ustawienia LLaMA.cpp", + "description": "Przejdź do ustawień usługi LLaMA.cpp" + }, + "openVibeCLIProxySettings": { + "label": "Otwórz serwer proxy Vibe CLI", + "description": "Przejdź do sekcji Vibe CLI Proxy w ustawieniach" + }, + "openNotificationsSettings": { + "label": "Otwórz Ustawienia powiadomień", + "description": "Przejdź do preferencji powiadomień w ustawieniach" + }, + "openLogViewerSettings": { + "label": "Otwórz Ustawienia przeglądarki dziennika", + "description": "Przejdź do preferencji przeglądarki dziennika w ustawieniach" + }, + "checkForUpdates": { + "label": "Sprawdź aktualizacje aplikacji", + "description": "Poproś aplikację komputerową o sprawdzenie, czy jest dostępna nowsza wersja" + }, + "updateLocalAI": { + "label": "Zaktualizuj lokalną sztuczną inteligencję", + "description": "Rozpocznij proces aktualizacji usługi lokalnej AI" + }, + "updateMLX": { + "label": "Zaktualizuj MLX", + "description": "Rozpocznij proces aktualizacji usługi MLX" + }, + "updateLlamaCpp": { + "label": "Zaktualizuj plik LLaMA.cpp", + "description": "Uruchom przepływ aktualizacji usługi LLaMA.cpp" + }, + "createForgeCanvas": { + "label": "Nowe płótno Kuźni", + "description": "Utwórz nową rozmowę na płótnie kuźni" + }, + "createPersonaConversation": { + "label": "Rozmowa o nowej osobie", + "description": "Rozpocznij rozmowę z wybraną osobą" + }, + "createCrewConversation": { + "label": "Nowa rozmowa załogi", + "description": "Rozpocznij rozmowę z załogą składającą się z wielu agentów" + }, + "createAgentSession": { + "description": "Rozpocznij nową sesję agenta autonomicznego" + }, + "enterVaporMode": { + "label": "Wejdź w tryb pary", + "description": "Rozpocznij efemeryczną rozmowę" + }, + "expandAllProjects": { + "label": "Rozwiń Wszystkie projekty", + "description": "Rozwiń wszystkie foldery projektu na pasku bocznym" + }, + "collapseAllProjects": { + "label": "Zwiń wszystkie projekty", + "description": "Zwiń wszystkie foldery projektu na pasku bocznym" + }, + "setSplitWidth": { + "label": "Ustaw szerokość podziału", + "description": "Wybierz szerokość panelu rozmowy" + }, + "splitSlim": { + "label": "Szczupły", + "description": "Wąskie panele konwersacyjne" + }, + "splitBalanced": { + "label": "Zrównoważony", + "description": "Panele konwersacyjne średniej szerokości" + }, + "splitRoomy": { + "label": "Przestronny", + "description": "Wygodne panele konwersacyjne" + }, + "splitSpacious": { + "label": "Przestronny", + "description": "Bardzo szerokie panele konwersacyjne" + }, + "splitFull": { + "label": "Pełny", + "description": "Panele konwersacyjne o maksymalnej szerokości" + }, + "setTheme": { + "label": "Ustaw preferencje kolorów", + "description": "Wybierz motyw jasny, ciemny lub systemowy" + }, + "themeLight": { + "label": "Światło", + "description": "Przełącz na tryb oświetlenia" + }, + "themeDark": { + "label": "Ciemny", + "description": "Przełącz na tryb ciemny" + }, + "themeSystem": { + "label": "Systemu", + "description": "Postępuj zgodnie z preferencjami kolorów systemu" + }, + "setMode": { + "label": "Przełącz tryb widoku", + "description": "Wybierz tryb normalny, ostrości lub zen" + }, + "modeNormal": { + "label": "Normalne", + "description": "Widok standardowy ze wszystkimi panelami" + }, + "modeFocus": { + "label": "Skup się", + "description": "Mniej czynników rozpraszających, minimalny interfejs użytkownika" + }, + "modeZen": { + "label": "Zen", + "description": "Maksymalny spokój, brak zakłóceń" + }, + "setAccentColor": { + "label": "Ustaw kolor akcentu", + "description": "Wybierz kolor akcentujący interfejs" + }, + "setAccentColorTo": { + "description": "Ustaw kolor akcentu na {name}" + }, + "toggleMiniMap": { + "label": "Przełącz minimapę", + "description": "Pokaż lub ukryj minimapę rozmowy" + }, + "createWorkspace": { + "label": "Nowy obszar roboczy", + "description": "Utwórz nowy obszar roboczy" + }, + "switchWorkspace": { + "label": "Zmień obszar roboczy", + "description": "Przełącz się na inny obszar roboczy" + }, + "switchWorkspaceTo": { + "description": "Przełącz na {name}" + }, + "exitVaporMode": { + "label": "Wyjdź z trybu pary", + "description": "Wyjdź z trybu pary i wróć do normalnych rozmów" + }, + "editConversationTitle": { + "label": "Edytuj tytuł rozmowy", + "description": "Zmień nazwę aktywnej rozmowy" + }, + "toggleSidebar": { + "label": "Przełącz pasek boczny", + "description": "Pokaż lub ukryj pasek boczny" + }, + "setBaseColor": { + "label": "Ustaw kolor podstawowy", + "description": "Wybierz podstawowy kolor powierzchni dla trybu ciemnego" + }, + "setBaseColorTo": { + "description": "Ustaw kolor bazowy na {name}" + } + } + }, + "createNew": "Utwórz nowy", + "copy": "Kopiuj", + "miniMapActions": { + "noMessageSelectedWarning": { + "summary": "Nie wybrano wiadomości", + "detail": "Wybierz co najmniej jedną wiadomość, aby wykonać dowolne działania" + }, + "exportOrCopyMessage": { + "exportMessage": "Eksportuj wiadomość | Eksportuj wiadomości", + "copyMessage": "Kopiuj wiadomość | Kopiuj wiadomości", + "asJson": "Jako JSON", + "asMarkdown": "Jako Markdown", + "successMessage": "Pomyślnie zgłoszono komunikaty {action} jako {format}", + "action": { + "export": "eksportowane", + "copy": "skopiowane" + } + } + }, + "reIndexItem": { + "action": "Ponownie zaindeksuj {item}", + "successMessage": { + "detail": "Pomyślnie przeindeksowano {item}" + }, + "errorMessage": { + "detail": "Nie udało się ponownie zaindeksować {item}" + }, + "confirmationMessage": "Czy na pewno chcesz ponownie zaindeksować {item}?" + }, + "recent": "Najnowsze|Niedawne", + "recentsPinned": "Ostatnie i @:pinned", + "knowledgeStack": { + "title": "Stos wiedzy | Stosy wiedzy", + "manageCloudShared": "Zarządzaj stosami wiedzy udostępnionej w chmurze...", + "contexts": "@:knowledgeStack.title Konteksty", + "composeProgress": { + "clickForDetails": "Komponowanie — kliknij, aby zobaczyć szczegóły", + "badgeLabel": "{count} Stos wiedzy w locie | {count} Stosy wiedzy w locie", + "processing": "Przetwarzanie: {fileName}", + "composing": "Komponowanie", + "composingEllipsis": "Komponowanie…", + "files": "Pliki", + "notes": "Notatki", + "youtube": "YouTube", + "webLinks": "Linki internetowe", + "folders": "Foldery", + "conversations": "Rozmowy", + "conversationProjects": "Projekty rozmów", + "overallProgress": "Ogólny postęp", + "inFlight": "Podczas lotu:" + }, + "itemStatus": { + "ignoredForRetrieval": "Ignorowane w celu pobrania" + }, + "archive": { + "groupLabel": "Archiwum", + "archiveSingle": "Archiwum", + "unarchiveSingle": "Cofnij archiwizację", + "archivedToast": "{count} Zarchiwizowany stos wiedzy | {count} Zarchiwizowano stosy wiedzy", + "hiddenHint": "Jest teraz w Archiwum. Aby je zobaczyć, włącz opcję „Pokaż zarchiwizowane”.", + "unarchivedToast": "{count} Przywrócono stos wiedzy | Przywrócono stosy wiedzy {count}", + "error": "Nie można zaktualizować statusu archiwum. Spróbuj ponownie." + }, + "cloudShare": { + "importingFolder": "Importuję folder: {name}", + "processingCount": "Przetwarzanie stosów wiedzy {count}" + }, + "saveEdits": { + "title": "Zapisz zmiany", + "confirmation": { + "header": "Zapisz zmiany i oznacz jako wersję roboczą", + "message": "Czy na pewno chcesz zapisać swoje zmiany? Spowoduje to oznaczenie stosu wiedzy jako wersji roboczej i uniemożliwi jego wykorzystanie w środowisku produkcyjnym do czasu ponownego przetworzenia." + } + }, + "selectFolderForImport": "Wybierz miejsce zaimportowania pliku @:knowledgeStack.title", + "newKnowledgeStack": "Nowy @:knowledgeStack.title", + "legacy": "Klasyczny", + "switchV2": { + "menu": "Przejdź do stosu wiedzy nowej generacji...", + "title": "Wypróbuj nowe doświadczenie nowej generacji.", + "description": "Możesz przełączyć się z powrotem w dowolnym momencie.", + "confirm": "Przejdź na następną generację", + "caveats": { + "title": "Zanim się przełączysz", + "description": "Warto pamiętać o kilku ważnych szczegółach.", + "item1": "Nowe stosy, które utworzysz, będą korzystać z przepływu nowej generacji.", + "item2": "Klasyczne stosy są wyświetlane jako tylko do odczytu, dopóki nie zdecydujesz się na aktualizację.", + "item3": "Analizy ze stosów klasycznych nie są dostępne w nowej generacji.", + "item4": "Przełączenie z powrotem ukrywa stosy nowej generacji, ale nic nie jest usuwane." + }, + "features": { + "title": "Nowość w nowej generacji", + "description": "Najważniejsze informacje, które otrzymasz od razu.", + "item1": "Strony internetowe i bogatsze przechwytywanie linków do YouTube.", + "item2": "Wiadra rozmów i projektów.", + "item3": "Tryby przeglądania folderów z funkcją automatycznego tworzenia.", + "item4": "Ulepszone opcje tworzenia, wznawiania i analizy." + } + }, + "switchV1": { + "menu": "Wróć do klasycznego stosu wiedzy...", + "title": "Wrócić do klasycznego stosu wiedzy?", + "description": "Wróć do oryginalnego doświadczenia ze stosem wiedzy.", + "confirm": "Przełącz na klasyczny", + "caveats": { + "title": "Czego się spodziewać", + "description": "Tryb klasyczny zachowuje Twoje dane, ale ogranicza nowsze funkcje.", + "item1": "Funkcje nowej generacji nie będą dostępne w trybie klasycznym.", + "item2": "Stosy nowej generacji będą ukryte, dopóki nie przełączysz się z powrotem.", + "item3": "W dowolnym momencie możesz ponownie przejść na następną generację." + } + }, + "classicLabel": "Klasyczny", + "nextGenLabel": "Następny gen", + "cloneDefaultTitle": "Kopia {title}", + "cloneInfo": { + "title": "Sklonowano z", + "id": "Identyfikator źródła", + "clonedAt": "Sklonowano {time}" + }, + "cloneConfirm": { + "header": "Stos wiedzy klonowania", + "message": "Tworzy to szybki klon. Zawartość pliku w pamięci podręcznej nie jest kopiowana. Ponowna kompozycja zależy od oryginalnych plików źródłowych. Foldery dynamiczne pozostają połączone ze swoimi ścieżkami źródłowymi.", + "includeVectorDbLabel": "Dołącz wektorową bazę danych", + "includeVectorDbHelp": "Włącz tę opcję, aby skopiować dane wektorowe w celu natychmiastowego wyszukiwania w sklonowanym stosie." + }, + "upgradeV2": { + "menu": "Przejdź na następną generację...", + "title": "Uaktualnij stos wiedzy", + "stackLabel": "Stos: {title}", + "description": "Aktualizacja przenosi ten stos wiedzy do silnika nowej generacji. Elementy pozostają tam, gdzie są, wyszukiwanie działa, dopóki nie zmienisz kompozycji i nie zostaną odblokowane nowe zasobniki. Zanim przejdziesz dalej, przejrzyj wpływ poniżej.", + "changesTitle": "Jakie zmiany w Next Gen", + "changesDescription": "Zachowanie jest aktualizowane, gdy ten stos znajduje się w nowej generacji.", + "changesItem1": "Ten stos jest edytowany tylko w nowej generacji; Classic otwiera go w trybie tylko do odczytu.", + "changesItem2": "Wszystkie elementy są oznaczone do ponownego przetworzenia, więc możesz je przejrzeć lub pominąć przed utworzeniem.", + "changesItem3": "Potok nowej generacji zarządza buforowaniem, śledzeniem postępu i odzyskiwaniem.", + "staysTitle": "Co pozostaje takie samo", + "staysDescription": "Twoja treść i struktura pozostają nienaruszone.", + "staysItem1": "Przedmioty i lokalizacje źródeł pozostają takie same; nic nie jest usuwane.", + "staysItem2": "Istniejące wyszukiwanie pozostaje dostępne do momentu zakończenia ponownego przetwarzania.", + "staysItem3": "Masz kontrolę nad tym, kiedy ponownie przetworzyć i co uwzględnić.", + "nextTitle": "Po aktualizacji", + "nextDescription": "Sugerowane kolejne kroki po przełączeniu.", + "nextItem1": "Przejrzyj elementy oznaczone do ponownego przetworzenia i w razie potrzeby zaktualizuj reguły ignorowania lub blokowania.", + "nextItem2": "Zmień kompozycję, aby odświeżyć indeks i statystyki (może to zająć trochę czasu).", + "nextItem3": "Wstrzymuj, wznawiaj lub przerywaj kompozycję, kiedy tylko tego potrzebujesz.", + "detailsTitle": "Szczegóły i wpływ", + "detailsDescription": "Zgodność, obsługa danych, zachowanie kompozycji i nowe możliwości.", + "oneWayTitle": "Zmiana w jedną stronę", + "oneWayDetail": "Aktualizacja jest zmianą jednokierunkową. Możesz kontynuować pracę w wersji Classic, dopóki nie zdecydujesz się na aktualizację.", + "confirm": "Uaktualnij", + "success": "Stos wiedzy uaktualniony do wersji nowej generacji.", + "required": "Wymagana aktualizacja", + "requiredDetail": "Uaktualnij ten stos wiedzy, aby móc korzystać z tej funkcji.", + "sections": { + "compatibility": { + "title": "Kompatybilność", + "description": "Jak klasyka i następna generacja uzyskują dostęp do tego stosu po aktualizacji.", + "item1": "Po aktualizacji Classic otwiera ten stos w trybie tylko do odczytu.", + "item2": "Inne stosy mogą pozostać w wersji klasycznej, dopóki nie zdecydujesz się na ich ulepszenie." + }, + "data": { + "title": "Twoja treść", + "description": "Jak przechowywane są pozycje i jak obsługiwane są brakujące źródła.", + "item1": "Przedmioty pozostają tam, gdzie są; źródła nie są przesuwane.", + "item2": "Jeśli brakuje źródła, pojawi się ostrzeżenie i będziesz mógł zdecydować, co dalej." + }, + "compose": { + "title": "Skład i wyszukiwanie", + "description": "Co się stanie, gdy ponownie przetworzysz ten stos.", + "item1": "Elementy są oznaczone do ponownego przetworzenia, więc możesz je przejrzeć lub pominąć.", + "item2": "Istniejące wyszukiwanie pozostaje dostępne do momentu zakończenia ponownego przetwarzania.", + "item3": "W dowolnym momencie możesz wstrzymać, wznowić lub przerwać tworzenie kompozycji." + }, + "features": { + "title": "Nowość w nowej generacji", + "description": "Dodatkowe łyżki i elementy sterujące odblokowane po aktualizacji.", + "item1": "Linki internetowe, rozmowy i projekty staną się dostępne.", + "item2": "Bardziej niezawodne śledzenie postępów, wstrzymywanie/wznawianie i odzyskiwanie." + } + } + }, + "import": { + "title": "Importuj @:knowledgeStack.title", + "titleWithFolder": "Zaimportuj @:knowledgeStack.title do {folder}", + "dragAndDropMessage": "Przeciągnij i upuść eksport stosu wiedzy Msty (.mstyks), aby go zaimportować.", + "feedback": { + "alreadyExistsSkipped": "{itemName} już istnieje. Instalacja pominięta", + "allSkipped": "Cały stos wiedzy {count} został pominięty (już istnieje) | Wszystkie stosy wiedzy {count} zostały pominięte (już istnieją)", + "allItemsSkippedError": "Wszystkie elementy zostały pominięte, ponieważ już istnieją", + "successImported": "Pomyślnie zaimportowano stos wiedzy {count} | Pomyślnie zaimportowano stosy wiedzy {count}", + "summaryImported": "importowane {count} | zaimportowano {count}", + "summarySkippedDuplicates": "pominięty duplikat {count} | pominięto duplikaty {count}", + "summaryFailed": "{count} nie powiodło się | {count} nie powiodło się", + "completedWithIssues": "Import zakończony z problemami: {summary}", + "importFailed": "Import nie powiódł się" + } + }, + "addDescription": "Dodaj opis", + "editDescription": "Edytuj opis", + "descriptionPlaceholder": "Dodaj opis tego stosu wiedzy...", + "autoSaving": "Zapisywanie...", + "autoSaved": "Zapisano {time}", + "basicInfo": "Podstawowe informacje", + "similarityThreshold": "@:similarity Próg", + "similarityThresholdTooltip": "Wymagany minimalny wynik meczu (0-1). Wyższe wartości zwracają tylko bardzo istotne fragmenty. Niższe wartości obejmują więcej wyników.", + "similarityMatch": "@:similarity Dopasowanie", + "unsavedChanges": { + "confirmNavigation": "Masz niezapisane zmiany. Czy na pewno chcesz opuścić tę stronę? Twoje zmiany zostaną utracone.", + "confirmReload": "Masz niezapisane zmiany, które zostaną utracone, jeśli ponownie załadujesz stronę." + }, + "empty": { + "title": "Nie wybrano @:knowledgeStack.title", + "description": "Stos wiedzy umożliwia pobieranie plików, folderów, notatek i transkrypcji z YouTube, dzięki czemu można je przeszukiwać i przygotować do czatowania za pomocą generowania rozszerzonego pobierania (RAG)" + }, + "selectOrCreate": "Wybierz @:knowledgeStack.title", + "selectFromTreeOrCreate": "Wybierz @:knowledgeStack.title z drzewa lub utwórz nowy", + "folderForm": { + "addTitle": "Dodaj nowy @:folder", + "editTitle": "Edytuj @:folder", + "editIgnoreRules": "Edytuj reguły ignorowania", + "editIgnoreRulesTitle": "Ignoruj zasady", + "ignoreRulesDescription": "Zdefiniuj wzorce wykluczające pliki i foldery z przetwarzania.", + "ignoreRulesHierarchySimple": "Priorytet: Lokalny .mstyignore/.gitignore → Reguły folderów → Domyślne ustawienia systemu", + "ignoreRulesPlaceholder": "# Wprowadź tutaj wzory, po jednym w wierszu\n# Przykład: *.log, node_modules/, !important.txt", + "showExamples": "Pokaż przykłady i pomoc", + "ignoreExample1": "Pliki dziennika", + "ignoreExample2": "Pliki tymczasowe we wszystkich katalogach", + "ignoreExample3": "Cały katalog", + "ignoreExample4": "Wzór wyjątku", + "ignoreExample5": "Wiele typów obrazów", + "ignoreExample6": "Wszystkie pliki w testach i podkatalogach", + "ignoreExample7": "Dopasowanie bez uwzględniania wielkości liter", + "ignoreExample8": "Pliki zaczynające się od secret-", + "insertTemplate": "Użyj szablonu", + "clearContent": "Wyczyść wszystko", + "ignoreRulesUpdated": "Ignoruj reguły zaktualizowane pomyślnie", + "ignoreRulesUpdateError": "Nie udało się zaktualizować reguł ignorowania", + "deleteConfirmation": { + "header": "Usuń @:folder „{folderName}”", + "message": "Czy na pewno chcesz usunąć ten folder? Wszystkie znajdujące się w nim stosy wiedzy zostaną usunięte. Tej akcji nie można cofnąć.", + "successMessage": { + "detail": "@:folder usunięty" + }, + "errorMessage": { + "detail": "Nie udało się usunąć @:folder" + } + }, + "updateSuccessMessage": { + "detail": "@:folder zaktualizowano" + }, + "updateErrorMessage": { + "detail": "Nie udało się zaktualizować @:folder" + }, + "createSuccessMessage": { + "detail": "Utworzono @:folder" + }, + "createErrorMessage": { + "detail": "Nie udało się utworzyć @:folder" + } + }, + "setDefaultFolder": "Ustaw jako folder domyślny", + "unsetDefaultFolder": "Usuń ustawienie folderu domyślnego", + "createRootFolder": "Nowy folder w katalogu głównym", + "knowledgeStackForm": { + "addTitle": "Dodaj nowy @:knowledgeStack.title", + "deleteConfirmation": { + "header": "Usuń @:knowledgeStack.title", + "message": "Czy na pewno chcesz usunąć ten stos wiedzy? Wszystkie znajdujące się w nim elementy zostaną usunięte. Tej akcji nie można cofnąć." + } + }, + "deleteAllKnowledgeStack": { + "title": "Usuń wszystkie @:knowledgeStack.title", + "description": "Spowoduje to wyczyszczenie całego @:knowledgeStack.title{'.'} Po usunięciu nie ma możliwości ich odzyskania.", + "successMessage": { + "detail": "Wszystkie @:knowledgeStack.title usunięte" + }, + "errorMessage": { + "detail": "Nie udało się usunąć wszystkich @:knowledgeStack.title" + } + }, + "chunksConsole": { + "chunk": "Fragment | @:knowledgeStack.chunksConsole.chunks", + "chunks": "Fragmenty", + "title": "Konsola @:knowledgeStack.chunksConsole.chunks", + "description": "Użyj tej konsoli, aby zrozumieć, w jaki sposób używany jest Twój stos wiedzy { title } i jakie fragmenty są wysyłane do modelu podczas czatu. Możesz także usunąć fragment, jeśli uważasz, że jest nieistotny lub przydatny.", + "queryText": "Tekst zapytania", + "similarityFilter": { + "title": "@:similarity", + "all": "Wszystko", + "highest": "Najwyższy", + "high": "Wysoka", + "medium": "Średni", + "low": "Niski" + }, + "matchCount": "# z @:knowledgeStack.chunksConsole.chunks", + "sourceFile": "Plik źródłowy", + "sourceNote": "Notatka źródłowa", + "sourceVideo": "Źródło wideo", + "sourceWebLink": "Źródłowe łącze internetowe", + "sourceConversation": "Rozmowa źródłowa", + "source": "Źródło", + "score": "Wynik", + "searchResults": "Wyniki wyszukiwania", + "rerankApplied": "Zastosowano zmianę rankingu ({model})", + "rerankSelected": "Zmień klasyfikację wybranego modelu ({model})", + "rerankScore": "Zmień ocenę", + "reranked": "Przeklasyfikowano", + "noResultsFound": "Nie znaleziono wyników wyszukiwania. Spróbuj dostosować zapytanie lub ustawienia wyszukiwania.", + "noResultsAfterFilter": "Żadne wyniki nie pasują do bieżącego filtra podobieństwa. Spróbuj dostosować filtr, aby wyświetlić więcej wyników.", + "deleteChunk": { + "successMessage": { + "detail": "@:knowledgeStack.chunksConsole.chunk został usunięty" + } + }, + "searchType": { + "title": "Typ wyszukiwania", + "hybrid": "Wyszukiwanie hybrydowe", + "semantic": "Wyszukiwanie semantyczne", + "keyword": "Wyszukiwanie słów kluczowych" + }, + "filterDisclaimer": "Ten filtr wpływa tylko na to, które wyniki będą wyświetlane poniżej. Nie zmienia to rzeczywistego zapytania.", + "tooltip": { + "scrubbed": "Treść została przejrzana pod kątem usunięcia informacji umożliwiających identyfikację", + "cached": "Używana, wyczyszczona wersja z pamięci podręcznej", + "fresh": "Świeżo wyszorowana zawartość" + }, + "runQuery": "Uruchom zapytanie" + }, + "addon": { + "title": "@:knowledgeStack.title", + "selectedCount": "Wybrano {count}", + "selectedStacks": "Wybrane stosy", + "searchPlaceholder": "Przeszukaj stosy wiedzy...", + "recentlyUpdated": "Niedawno zaktualizowany", + "allStacks": "Wszystkie stosy wiedzy", + "searchResults": "Wyniki wyszukiwania", + "noResults": "Nie znaleziono stosów wiedzy", + "noStacks": "Brak dostępnych stosów wiedzy", + "noDescription": "Brak opisu", + "numberOfChunks": "Liczba @:knowledgeStack.chunksConsole.chunks", + "numberOfChunksTooltip": "Maksymalna liczba fragmentów tekstu do pobrania ze stosów wiedzy. Wyższe wartości zapewniają większy kontekst, ale używają większej liczby tokenów.", + "searchType": "Typ wyszukiwania", + "searchTypeTooltip": "Semantyczny wyszukuje treści podobne pod względem koncepcyjnym. Słowo kluczowe odpowiada dokładnym terminom. Hybryda łączy oba podejścia.", + "synthesizePrompt": "Syntetyzuj zapytanie", + "synthesizePromptTooltip": "Przeformułowuje zapytanie, aby poprawić wyniki wyszukiwania, rozszerzając skróty i dodając kontekst.", + "enablePiiScrubbing": "Włącz czyszczenie PII", + "enablePiiScrubbingTooltip": "Automatycznie usuwa dane osobowe (imiona, adresy e-mail, numery telefonów itp.) z pobranych fragmentów przed wysłaniem do modelki.", + "fullContentContextLimit": "Maksymalna liczba pełnych kontekstów treści", + "fullContentContextLimitTooltip": "Liczba kompletnych dokumentów, które należy uwzględnić obok fragmentów. Zapewnia bogatszy kontekst, ale znacznie zwiększa użycie tokena.", + "fullContentContextWarning": "Konteksty pełnej treści mogą znacznie zwiększyć użycie tokenu i mieć wpływ na wydajność", + "manageStacks": "Zarządzaj stosami", + "onlyCompletedStacks": "Można wybierać tylko ukończone stosy" + }, + "totalFiles": "Całkowita liczba plików", + "vectorDimensions": "Wymiary wektora", + "wordCount": "Liczba słów", + "readingTime": "Czas czytania", + "embeddingModel": { + "title": "Model osadzania", + "noModel": "Nie skonfigurowano modelu osadzania", + "modelMissing": "Nie znaleziono modelu {modelId}", + "providerRemapped": "Dostawca modelu został automatycznie zmieniony", + "changeModel": "Zmień model osadzania zapytań", + "selectModel": "Wybierz opcję Model osadzania zapytań", + "missingModelWarning": "Oryginalny model osadzania tego stosu wiedzy nie jest dostępny. Wybierz nowy model.", + "providerRemappedInfo": "Dostawca modelu osadzania został automatycznie zmieniony na zgodnego dostawcę.", + "currentModel": "Aktualny model", + "noModelConfigured": "Nie skonfigurowano żadnego modelu", + "selectNewModel": "Wybierz Nowy model", + "defaultLocal": "Domyślny (lokalny)" + }, + "buckets": { + "files": { + "title": "@:files", + "description": "Dodaj pliki .pdf, .csv, .md, .json, .jsonl, .xlsx, .docx, .rtf, .txt, .pptx lub inne obsługiwane typy plików.", + "dropZoneText": "Przeciągnij i upuść pliki tutaj lub przeglądaj poniżej", + "browseFiles": "Przeglądaj pliki", + "dropHint": "Upuść pliki tutaj", + "limitMessage": "Tutaj możesz dodać maksymalnie pojedyncze pliki {limit}. W przypadku większych zestawów zamiast tego dodaj folder, aby zachować porządek i łatwiej zarządzać.", + "bulkRemoveConfirm": "Usunąć pliki {count} z tego stosu wiedzy?" + }, + "folders": { + "title": "@:folders i obsydianowe skarbce", + "description": "Dodaj foldery zawierające pliki. Możesz także upuścić Obsydianowe Krypty.", + "dropZoneText": "Przeciągnij i upuść foldery tutaj lub przeglądaj poniżej", + "browseFolders": "Przeglądaj foldery", + "dropHint": "Upuść foldery tutaj", + "liveMode": "Tryb na żywo", + "liveModeDescription": "Foldery są monitorowane pod kątem zmian i automatycznie aktualizują stos wiedzy", + "duplicateFolder": "Duplikat folderu", + "alreadyAdded": "Folder już dodany", + "folderAlreadyExists": "Ten folder został już dodany do pliku @:knowledgeStack.title", + "folderAlreadyAdded": "Folder „{path}” został już dodany", + "folderProcessed": "Folder przetworzony", + "filesAdded": "Pomyślnie dodano pliki {count}", + "onlyFoldersAllowed": "Tutaj można dodawać tylko foldery. Wybierz folder zamiast pojedynczych plików.", + "selectFolder": "Wybierz Folder", + "useDirectoryPicker": "Aby wybrać folder w trybie internetowym, użyj przycisku Przeglądaj", + "processed": "Przetworzone", + "processingError": "Błąd przetwarzania folderu", + "folderExplorer": "Eksplorator folderów", + "showIgnoredFiles": "Pokaż ignorowane pliki", + "noFolders": "Nie dodano jeszcze żadnych folderów", + "refresh": "Odśwież", + "showInFileManager": "Pokaż w Menedżerze plików", + "remove": "Usuń", + "loadError": "Nie udało się załadować folderu", + "removed": "Folder usunięty", + "folderRemoved": "„{name}” został usunięty ze stosu wiedzy", + "removeError": "Nie udało się usunąć folderu", + "ignored": "Ignorowane", + "loading": "Ładowanie...", + "loadingContents": "Ładowanie zawartości folderu...", + "confirmRemove": "Czy na pewno chcesz usunąć „{name}” z tego stosu wiedzy? Folder i jego pliki pozostaną w systemie.", + "expandFolder": "Rozwiń folder", + "collapseFolder": "Zwiń folder", + "folderIgnored": "Ten folder jest ignorowany na podstawie reguł .mstyignore lub .gitignore", + "fileIgnored": "Ten plik jest ignorowany na podstawie reguł .mstyignore lub .gitignore", + "actionMenu": "Menu akcji", + "emptyFolder": "Pusty folder", + "itemCount": "{count} pozycja | Elementy {count}", + "hiddenItemCount": "{count} ukryty przedmiot | {count} ukryte przedmioty" + }, + "obsidianVaults": { + "title": "Obsydianowe skarbce", + "description": "Dodaj Obsydianowe Krypty do swojego stosu wiedzy. Msty zindeksuje wszystkie notatki w skarbcu.", + "dropZoneText": "Przeciągnij i upuść Obsydianowe Krypty tutaj lub przeglądaj poniżej", + "browseVaults": "Przeglądaj skarbce Obsydianu" + }, + "notes": { + "title": "Notatki", + "description": "Dodaj własne notatki do stosu wiedzy. Notatki te zostaną podzielone na fragmenty i osadzone na potrzeby wyszukiwania semantycznego.", + "addNote": "Dodaj notatkę", + "titlePlaceholder": "Wpisz tytuł notatki...", + "contentPlaceholder": "Wpisz treść notatki...", + "empty": "Nie dodano jeszcze żadnych notatek. Dodaj je poniżej.", + "unsaved": "Jeszcze nie zapisane" + }, + "youTubeLinks": { + "title": "Linki do YouTube'a", + "description": "Dodaj linki do filmów z YouTube, aby zindeksować ich transkrypcje. Msty pobierze transkrypcje i umożliwi ich przeszukiwanie.", + "deprecationWarning": "Na dostęp do transkrypcji YouTube wpływają obecnie ograniczenia platform innych firm. Badamy alternatywne mechanizmy przywracania funkcjonalności; jeśli jednak zrównoważone rozwiązanie nie jest wykonalne, funkcja ta może zostać wycofana w przyszłej wersji.", + "dropZoneText": "Przeciągnij i upuść linki YouTube tutaj lub wklej je poniżej", + "inputPlaceholder": "Wklej tutaj adresy URL YouTube (oddzielone spacjami lub przecinkami)...", + "inputPlaceholderWithDetected": "Wklej tutaj adresy URL YouTube (wykryto {count}) | Wklej tutaj adresy URL YouTube (wykryto {count})", + "autoDetection": "Automatyczne pobieranie wykrytych adresów URL", + "detectedCount": "Wykryto {count} URL | Wykryto adresy URL {count}", + "detectedUnpulledUrls": "{count} YouTube URL wykryty, ale jeszcze nie pobrany | {count} Adresy URL YouTube zostały wykryte, ale jeszcze ich nie pobrano" + }, + "webLinks": { + "title": "Linki internetowe", + "description": "Dodaj strony internetowe do stosu wiedzy. Msty pobierze i zapisze ich zawartość do wyszukiwania.", + "dropZoneText": "Przeciągnij i upuść adresy URL tutaj lub wklej je poniżej", + "inputPlaceholder": "Wklej tutaj adresy URL witryn internetowych (oddzielone spacjami lub przecinkami)...", + "inputPlaceholderWithDetected": "Wklej tutaj adresy URL witryn internetowych (wykryto {count}) | Wklej tutaj adresy URL witryn internetowych (wykryto {count})", + "autoDetection": "Automatyczne pobieranie wykrytych adresów URL", + "detectedCount": "Wykryto {count} URL | Wykryto adresy URL {count}", + "detectedUnpulledUrls": "{count} URL wykryty, ale jeszcze nie pobrany | {count} Adresy URL wykryto, ale jeszcze nie pobrano", + "tokenBudgetLabel": "Budżet tokenowy", + "tokenBudgetHelp": "Kontroluje ilość treści pobieranej na stronę.", + "missingCachedContent": "Brak zawartości w pamięci podręcznej. Dodaj ten link ponownie, aby go odświeżyć." + }, + "conversationProjects": { + "title": "Projekty rozmów", + "description": "Dodaj projekty rozmów, aby uwzględnić ich bezpośrednie rozmowy w tym stosie wiedzy.", + "add": "Dodaj projekty", + "empty": "Nie dodano jeszcze żadnych projektów rozmów. Dodaj je poniżej.", + "selectTitle": "Wybierz opcję Projekty rozmów", + "selectDescription": "Wybierz projekty rozmów, które chcesz uwzględnić w tym stosie wiedzy.", + "filterPlaceholder": "Wyszukaj projekty...", + "projectUnknown": "Nieznany projekt", + "conversationCount": "rozmowa | rozmowy", + "confirmRemove": "Usunąć „{title}” z tego stosu wiedzy?", + "loadError": "Nie udało się wczytać projektów rozmów" + }, + "conversations": { + "title": "Rozmowy", + "description": "Dodaj rozmowy, aby zindeksować ich historię czatów.", + "add": "Dodaj rozmowy", + "empty": "Nie dodano jeszcze żadnych rozmów. Dodaj je poniżej.", + "selectTitle": "Wybierz opcję Rozmowy", + "selectDescription": "Wybierz rozmowy, które chcesz uwzględnić w tym stosie wiedzy.", + "filterPlaceholder": "Wyszukaj rozmowy...", + "untitled": "Rozmowa bez tytułu", + "projectUnknown": "Nieznany projekt", + "unknownDate": "Nieznana data", + "confirmRemove": "Usunąć „{title}” z tego stosu wiedzy?", + "loadError": "Nie udało się załadować rozmów" + } + }, + "actions": { + "addTo": "Dodaj do @:knowledgeStack.title", + "addSelectedTo": "Dodaj wybrane do @:knowledgeStack.title", + "selectedConversationsLabel": "{count} wybrana rozmowa | {count} wybrane rozmowy", + "addToDescription": "Wybierz stos wiedzy dla „{item}”.", + "addToConfirm": "Dodaj", + "addedToStack": "„{item}” dodano do „{stack}”", + "addedCountToStack": "{count} rozmowa dodana do \"{stack}\" | Dodano rozmowy {count} do „{stack}”", + "composeReminder": "Pamiętaj o utworzeniu „{stack}”, aby zastosować zmiany.", + "composeReminderSelected": "Pamiętaj o utworzeniu „{stack}”, aby zastosować zmiany.", + "alreadyInStack": "„{item}” jest już w „{stack}”", + "alreadyInStackCount": "{count} już w \"{stack}\" | {count} już w „{stack}”", + "addToError": "Nie udało się dodać do @:knowledgeStack.title", + "empty": "Nie ma jeszcze @:knowledgeStack.title Utwórz jeden poniżej.", + "loadError": "Nie udało się załadować listy @:knowledgeStack.title", + "upgradeRequired": "Wymagana aktualizacja" + }, + "itemActions": { + "markForReprocessing": "Oznacz do ponownego przetworzenia", + "lockTemporary": "Zablokuj tymczasowo", + "lockPermanent": "Zablokuj na stałe", + "unlock": "Odblokuj", + "permanentLockedSkipped": "{count} element zablokowany na stałe pominięty | {count} Pominięto trwale zablokowane elementy", + "viewContent": "Wyświetl zawartość", + "ignoreRetrieval": "Ignoruj w celu odzyskania", + "unignoreRetrieval": "Uwzględnij w pobieraniu", + "moreActions": "Więcej akcji" + }, + "lockPermanent": { + "subtitle": "Tej akcji nie można cofnąć", + "warning": "Po trwałym zablokowaniu tego przedmiotu nie można odblokować ani ponownie przetworzyć.", + "consequences": "Co to oznacza", + "consequence1": "Nie można odblokować ani zmodyfikować", + "consequence2": "Zostanie pominięty podczas tworzenia funkcji Force Compose", + "consequence3": "Istniejące fragmenty pozostają dostępne do odzyskania", + "whenToUse": "Użyj tej opcji w przypadku gotowych treści, które nigdy nie powinny się zmieniać" + }, + "loadMode": { + "title": "Tryb ładowania", + "dialogTitle": "Wybierz Tryb ładowania", + "distribution": "Dystrybucja", + "dialogDescription": "Wybierz sposób ładowania tego pliku podczas tworzenia stosu wiedzy.", + "staticFiles": "Pliki statyczne", + "dynamicFiles": "Pliki dynamiczne", + "syncFiles": "Synchronizuj pliki", + "totalFiles": "Całkowita liczba plików", + "specialModes": "Tryby specjalne", + "specialModesRatio": "Stosunek trybów specjalnych", + "static": { + "label": "Tryb statyczny", + "description": "Używa wersji z pamięci podręcznej z chwili dodania pliku. Szybki i przewidywalny, ale nie odzwierciedla ostatnich zmian.", + "shortDescription": "Zawartość pamięci podręcznej załadowana z początkowego indeksowania", + "badge": "Domyślne" + }, + "dynamic": { + "label": "Tryb dynamiczny", + "description": "Ładuje najnowszą zawartość pliku w każdej kompozycji. Nieco wolniejsze, ale zawsze aktualne.", + "shortDescription": "Świeża zawartość załadowana do każdej kompozycji", + "badge": "Zalecane" + }, + "sync": { + "label": "Tryb synchronizacji", + "description": "Obserwuje zmiany w plikach i automatycznie ponownie je komponuje. Najlepsze dla małych, często aktualizowanych plików.", + "shortDescription": "Automatycznie komponuje po zmianie plików", + "badge": "Drogie" + } + }, + "watchMode": { + "title": "Tryb oglądania", + "dialogTitle": "Wybierz Tryb oglądania", + "dialogDescription": "Wybierz sposób, w jaki ten element powinien reagować na aktualizacje.", + "manual": { + "label": "Instrukcja", + "description": "Przetwarzaj ponownie tylko wtedy, gdy ręcznie tworzysz ten stos wiedzy." + }, + "watchReprocess": { + "label": "Oglądaj i zaznaczaj", + "description": "Wykrywaj zmiany i oznaczaj elementy do ponownego przetworzenia." + }, + "watchCompose": { + "label": "Oglądaj i twórz", + "description": "Wykrywaj zmiany i automatycznie komponuj w tle." + }, + "ignore": { + "label": "Ignoruj", + "description": "Pomiń ten element podczas tworzenia." + } + }, + "syncMode": { + "start": "Uruchom tryb synchronizacji", + "pause": "Wstrzymaj tryb synchronizacji", + "pauseAll": "Wstrzymaj wszystko", + "started": "Uruchomiono tryb synchronizacji", + "startedDetail": "Teraz oglądam zmiany plików dla {name}", + "stopped": "Tryb synchronizacji wstrzymany", + "stoppedDetail": "Oglądanie pliku zostało wstrzymane", + "startFailed": "Nie udało się uruchomić trybu synchronizacji", + "startFailedDetail": "Upewnij się, że stos wiedzy zawiera pliki oznaczone dla trybu synchronizacji", + "allPaused": "Wszystkie tryby synchronizacji wstrzymane", + "allPausedDetail": "Oglądanie plików zostało zatrzymane dla wszystkich stosów wiedzy", + "active": "{count} Aktywny | {count} Aktywny", + "activeTitle": "Aktywne tryby synchronizacji", + "filesWatching": "Plik {count} | Pliki {count}", + "filesCount": "Plik {count} | Pliki {count}", + "startedTime": "Rozpoczęto {time}", + "totalStats": "Stos {stacks}, pliki {files} | Stosy {stacks}, pliki {files}", + "hoursAgo": "{hours}h temu", + "daysAgo": "{days}d temu" + }, + "analytics": { + "title": "Analityka i spostrzeżenia", + "lastComposed": "Ostatnio skomponowany", + "sections": "Sekcje analityczne", + "performanceTimings": "Czasy wydajności", + "summaryStatistics": "Statystyki podsumowujące", + "contentBreakdown": "Podział treści", + "querySettings": "Ustawienia zapytania", + "readingStatistics": "Czytanie statystyk", + "noAnalyticsAvailable": "Brak dostępnych analiz", + "noAnalyticsDescription": "Analityka będzie dostępna po utworzeniu tego stosu wiedzy.", + "noSectionsSelected": "Nie wybrano sekcji analitycznych", + "noSectionsSelectedDescription": "Wybierz jedną lub więcej sekcji analitycznych powyżej, aby wyświetlić statystyki dotyczące Twojego stosu wiedzy.", + "selectAllSections": "Wybierz Wszystkie sekcje", + "timings": { + "loadingItems": "Ładowanie elementów", + "splittingChunks": "Dzielenie @:knowledgeStack.chunksConsole.chunks", + "embeddingChunks": "Osadzanie @:knowledgeStack.chunksConsole.chunks", + "composingStack": "Komponowanie stosu", + "totalTime": "Całkowity czas", + "parallelNote": "Niektóre operacje mogą przebiegać równolegle, więc poszczególne czasy mogą nie sumować się do całkowitego czasu", + "fileReading": "Odczyt pliku", + "databaseWrite": "Zapis bazy danych" + }, + "stats": { + "numberOfItems": "Liczba elementów", + "totalChunks": "Razem @:knowledgeStack.chunksConsole.chunks", + "availableChunks": "Dostępne @:knowledgeStack.chunksConsole.chunks", + "skippedChunks": "Pominięto @:knowledgeStack.chunksConsole.chunks", + "wordCount": "Liczba słów", + "characterCount": "Liczba znaków", + "readingTime": "Czas czytania" + }, + "ignoredItems": "Ignorowane elementy", + "ignoredForRetrieval": "Ignorowane przy pobieraniu", + "ignoredItemsDescription": "Elementy te są wyłączone z operacji wyszukiwania i odzyskiwania", + "ignoredPercentage": "Procent elementów zignorowanych", + "ofTotal": "z {total}", + "files": "Pliki", + "notes": "Notatki", + "youTubeLinks": "Filmy z YouTube'a", + "webLinks": "Linki internetowe", + "conversations": "Rozmowy", + "conversationProjects": "Projekty rozmów", + "noIgnoredItems": "Brak ignorowanych elementów", + "allItemsIncluded": "Wszystkie elementy tego stosu wiedzy są objęte wyszukiwaniem i odzyskiwaniem", + "failedItems": { + "title": "{count} Element zakończony niepowodzeniem | {count} Elementy zakończone niepowodzeniem", + "description": "Nieudane elementy zostały pominięte. Skomponuj je pojedynczo lub wszystkie na raz.", + "recomposeItem": "Skomponuj ponownie", + "recomposeAll": "Ponowne skomponowanie wszystkiego nie powiodło się", + "showInFileManagerFailed": "Nie udało się otworzyć lokalizacji w menedżerze plików", + "markFailed": "Nie udało się ustawić w kolejce elementu {count} do rekompozycji | Nie udało się ustawić w kolejce elementów {count} do rekompozycji", + "recomposeError": "Nie udało się ponownie utworzyć nieudanych elementów", + "recomposeSuccess": "Nieudane elementy zostały pomyślnie ponownie skomponowane", + "recomposeCompletedWithErrors": "Rekompozycja zakończona, pozostały element nie powiódł się {count} | Ponowna kompozycja została ukończona, a pozostałe elementy nie powiodły się {count}" + }, + "recommendation": "Zalecenie", + "contentTypes": { + "files": "PLIKI", + "obsidianVaults": "OBSYDIANOWE SKLEPCE", + "folders": "FOLDERY", + "notes": "NOTATKI", + "youTubeLinks": "LINKI DO YOUTUBE", + "webLinks": "LINKI INTERNETOWE", + "conversations": "ROZMOWY", + "conversationProjects": "PROJEKTY ROZMÓW" + }, + "piiScrubbing": { + "title": "Szorowanie PII", + "totalChunks": "Razem @:knowledgeStack.chunksConsole.chunks", + "scrubbedChunks": "Wyszorowano @:knowledgeStack.chunksConsole.chunks", + "cachedChunks": "Buforowane @:knowledgeStack.chunksConsole.chunks", + "coverage": "Zasięg", + "progress": "Postęp szorowania", + "loadAnalytics": "Załaduj analitykę", + "failedToLoadAnalytics": "Nie udało się załadować danych analitycznych umożliwiających identyfikację osób", + "analyticsNotLoaded": "Nie załadowano analityki PII", + "clickToViewAnalytics": "Kliknij „Wczytaj analitykę”, aby wyświetlić statystyki czyszczenia danych osobowych", + "scoreTooltip": "Wynik ten odzwierciedla stopień kompleksowego czyszczenia informacji umożliwiających identyfikację użytkownika w stosie wiedzy. Wyższy wynik oznacza, że ​​przetworzono więcej fragmentów w celu usunięcia informacji umożliwiających identyfikację.", + "optionalDescription": "Czyszczenie PII jest opcjonalne. Włącz tę opcję w ustawieniach zapytań tylko wtedy, gdy Twoja treść zawiera wrażliwe dane osobowe.", + "protectionDescription": "Mierzy stopień ochrony poufnych informacji w stosie wiedzy", + "status": { + "notEnabled": "Nie włączone", + "wellProtected": "Dobrze chroniony", + "partiallyProtected": "Częściowo chroniony", + "limitedProtection": "Ograniczona ochrona", + "minimalProtection": "Minimalna ochrona" + }, + "insights": { + "excellentPrivacy": "Doskonała ochrona prywatności - prawie cała treść zabezpieczona", + "goodPrivacy": "Dobra ochrona prywatności – większość treści jest zabezpieczona", + "partialPrivacy": "Częściowa ochrona prywatności – rozważ sprawdzenie ustawień", + "limitedPrivacy": "Ograniczona ochrona prywatności — przejrzyj poufne treści", + "notEnabled": "Czyszczenie danych osobowych nie jest włączone. Jest to całkowicie w porządku, jeśli Twoje treści nie zawierają wrażliwych danych osobowych.", + "whenToEnable": "Rozważ włączenie czyszczenia danych osobowych tylko wtedy, gdy Twój stos wiedzy zawiera nazwiska, adresy, numery telefonów, e-maile lub inne dane osobowe.", + "significantReduction": "Znaczące zmniejszenie zawartości ({percentage}%) – znaleziono obszerne informacje umożliwiające identyfikację", + "moderateReduction": "Umiarkowane zmniejszenie zawartości ({percentage}%) – usunięto niektóre informacje umożliwiające identyfikację", + "minimalReduction": "Minimalne zmniejszenie zawartości ({percentage}%) — wykryto niski poziom PII", + "noContentChange": "Brak zmiany rozmiaru treści – nie wykryto ani nie usunięto informacji umożliwiających identyfikację", + "allChunksProcessed": "Wszystkie fragmenty zostały pomyślnie przetworzone", + "nearlyAllProcessed": "Prawie wszystkie fragmenty zostały pomyślnie przetworzone", + "mostProcessed": "Większość kawałków przetworzona – niektóre mogą wymagać uwagi", + "incompleteProcessing": "Niekompletne przetwarzanie — sprawdź konfigurację czyszczenia PII", + "largeKnowledgeBase": "Duża baza wiedzy — rozważ zwiększenie zasięgu wykrywania informacji umożliwiających identyfikację osób", + "manyUnprocessed": "Wiele nieprzetworzonych fragmentów — przejrzyj ustawienia czyszczenia informacji umożliwiających identyfikację", + "optionalFeature": "Czyszczenie PII jest opcjonalne. Włącz tę opcję w ustawieniach zapytań, jeśli Twoja treść zawiera poufne informacje, takie jak imiona i nazwiska, adresy e-mail lub numery telefonów.", + "privacyOption": "Czyszczenie danych osobowych pomaga chronić poufne informacje. Jest to opcjonalne i w razie potrzeby można je włączyć w ustawieniach zapytań." + }, + "labels": { + "securityStatus": "Stan zabezpieczeń", + "privacyStatus": "Stan prywatności", + "whenToEnable": "Kiedy włączyć", + "contentImpact": "Wpływ na treść", + "processingEfficiency": "Wydajność przetwarzania", + "scaleRecommendation": "Zalecenie skali", + "coverageRecommendation": "Zalecenie dotyczące zasięgu", + "optionalFeature": "Funkcja opcjonalna", + "privacyOption": "Opcja prywatności" + } + }, + "querySettingsDetails": { + "searchType": "Typ wyszukiwania", + "numberOfChunks": "Liczba @:knowledgeStack.chunksConsole.chunks", + "promptPrefix": "Przedrostek promptu" + }, + "privacyOptimizationScore": "Wynik optymalizacji prywatności", + "piiProtectionLevel": "Poziom ochrony danych osobowych", + "piiScrubbingStatus": "Stan czyszczenia danych osobowych", + "unscrubbedChunks": "Nieszorowany @:knowledgeStack.chunksConsole.chunks", + "originalSize": "Rozmiar oryginalny", + "processedSize": "Przetworzony rozmiar", + "sizeReduction": "Zmniejszenie rozmiaru", + "privacyInsights": "Prywatność @:insgiths", + "dataModified": "Dane zostały zmodyfikowane", + "showOutdatedData": "Mimo to pokaż nieaktualne dane", + "contentDistribution": "Dystrybucja treści", + "contentContribution": "{label} wnosi {percentage}% wszystkich fragmentów", + "processingIssue": "Problem z przetwarzaniem", + "lowEfficiency": "{label} mają niską wydajność ({efficiency}%)", + "dataQualityIssue": "Problem z jakością danych", + "highSkipRates": "Typy treści {count} mają wysoki współczynnik pominięć", + "contentDiversity": "Różnorodność treści", + "singleContentType": "Pojedynczy typ treści – rozważ dywersyfikację źródeł", + "excellentDiversity": "Doskonała różnorodność treści w wielu typach źródeł", + "optimizationTip": "Wskazówka dotycząca optymalizacji", + "reduceChunkSize": "Zmniejsz rozmiar fragmentu do 800–1200 znaków, aby uzyskać lepszą szczegółowość treści", + "increaseChunkSize": "Aby zwiększyć wydajność, zwiększ rozmiar fragmentu do 1500–2000 znaków", + "embeddingThroughput": "Osadzanie przepustowości", + "chunksPerSecond": "{rate} porcji/s (każdy {time}ms)", + "searchStrategy": "Strategia wyszukiwania", + "balancedSearch": "Zrównoważone podejście łączące słowo kluczowe + wyszukiwanie semantyczne", + "semanticSearch": "Wyszukiwanie semantyczne oparte na sztucznej inteligencji — najlepsze w przypadku zapytań koncepcyjnych", + "keywordSearch": "Tradycyjne wyszukiwanie słów kluczowych – najlepsze dla dokładnych haseł", + "retrievalVolume": "Objętość pobierania", + "lowChunkCount": "Bardzo mała liczba fragmentów może spowodować pominięcie istotnych informacji", + "highChunkCount": "Duża liczba fragmentów może obejmować szum i powolne reakcje", + "optimalChunkCount": "Optymalna liczba fragmentów dla zrównoważonego pobierania", + "contentFiltering": "Filtrowanie treści", + "relaxedFiltering": "Spokojne filtrowanie — może obejmować luźno powiązane treści", + "strictFiltering": "Ścisłe filtrowanie — bardzo szczegółowe wyniki", + "moderateFiltering": "Zrównoważone filtrowanie odpowiednich treści", + "guidedContext": "Kontekst kierowany", + "customPromptPrefix": "Niestandardowy prefiks prompty pomoże w interpretacji zapytania", + "lockIndicator": "Wskaźnik blokady", + "allItemsCanBeReprocessed": "Wszystkie elementy można ponownie przetworzyć", + "itemsPartiallyLocked": "{percentage}% elementów jest zablokowanych", + "mostItemsLocked": "Większość artykułów jest zamknięta – ograniczona możliwość ponownego przetwarzania", + "privacySecurity": "Prywatność i bezpieczeństwo", + "privacyProtectionEnabled": "Włączono ochronę prywatności danych wrażliwych", + "noPiiScrubbing": "Żadnego czyszczenia informacji umożliwiających identyfikację — upewnij się, że treść nie jest poufna", + "scaleOptimization": "Optymalizacja skali", + "largeKnowledgeBase": "Duża baza wiedzy — zwiększ liczbę fragmentów, aby uzyskać lepszy zasięg", + "smallKnowledgeBase": "Mała baza wiedzy — rozważ zmniejszenie liczby fragmentów", + "performanceProfile": "Profil wydajności", + "optimizedForSpeed": "Konfiguracja zoptymalizowana pod kątem szybkich reakcji", + "optimizedForQuality": "Konfiguracja zoptymalizowana pod kątem wysokiej jakości wyników", + "highLockRate": "Wysoki współczynnik blokowania", + "lockedItemsPercentage": "{percentage}% elementów jest zablokowanych i nie zostaną ponownie przetworzone", + "unlockRecommendation": "Rozważ odblokowanie tymczasowo zablokowanych elementów, jeśli wymagają aktualizacji", + "overHalfLocked": "Ponad 50% przedmiotów jest zablokowanych. Może to znacznie ograniczyć zdolność bazy wiedzy do aktualizowania.", + "lockStatus": "Stan blokady", + "totalItems": "Łączna liczba elementów", + "unlocked": "Odblokowany", + "temporarilyLocked": "Tymczasowo zablokowane", + "permanentlyLocked": "Trwale zablokowane", + "lockStatusByContentType": "Zablokuj stan według typu zawartości", + "tempLocked": "Temp. Zablokowane", + "permLocked": "Perm. Zablokowane", + "lockStatusInsights": "Stan blokady @:insights", + "processingEfficiency": "Wydajność przetwarzania", + "contentInsights": "Treść @:insights", + "compositionOptimizationScore": "Wynik optymalizacji kompozycji", + "compositionInsights": "Skład @:insights", + "performanceInsights": "Wydajność @:insights", + "processingPhaseDetails": "Szczegóły fazy przetwarzania", + "loadingItems": "Ładowanie elementów", + "splittingChunks": "Dzielenie @:knowledgeStack.chunksConsole.chunks", + "embeddingChunks": "Osadzanie @:knowledgeStack.chunksConsole.chunks", + "fileReading": "Odczyt pliku", + "databaseWrite": "Zapis bazy danych", + "composingStack": "Komponowanie stosu", + "totalProcessingTime": "Całkowity czas przetwarzania", + "totalLockedItems": "Łączna liczba zablokowanych elementów", + "efficiency": "Wydajność", + "loadMode": { + "title": "Analiza trybu ładowania", + "description": "Zachowanie podczas ładowania plików w Twoim stosie wiedzy", + "distribution": "Dystrybucja trybu ładowania", + "totalFiles": "Całkowita liczba plików", + "staticFiles": "Tryb statyczny", + "dynamicFiles": "Tryb dynamiczny", + "syncFiles": "Tryb synchronizacji", + "specialModes": "Tryby specjalne", + "specialModesRatio": "Tryby specjalne%", + "status": "Stan", + "active": "Aktywny", + "inactive": "Nieaktywny", + "breakdown": "Podział wizualny", + "noFiles": "Brak plików w tym stosie wiedzy", + "desktopOnly": "Opcje trybu ładowania są dostępne tylko w aplikacji komputerowej", + "notAvailable": "Opcje trybu ładowania są dostępne tylko w aplikacji komputerowej", + "noSpecialModes": "Wszystkie pliki korzystają z trybu statycznego. Włącz tryb dynamiczny lub synchronizację, aby pliki korzystały z najnowszej zawartości.", + "syncActive": "Tryb synchronizacji aktywny", + "syncActiveDetails": "Oglądanie {files} • Rozpoczęto {time}", + "staticDescription": "Zawartość pamięci podręcznej załadowana z początkowego indeksowania", + "dynamicDescription": "Świeża zawartość załadowana do każdej kompozycji", + "syncDescription": "Automatycznie komponuje po zmianie plików", + "staticBadge": "Domyślne", + "dynamicBadge": "Świeży", + "syncBadge": "Na żywo", + "insights": { + "highSyncCount": { + "title": "Wysoka liczba plików synchronizacji", + "description": "Pliki {count} są w trybie synchronizacji", + "recommendation": "Rozważ użycie trybu dynamicznego w przypadku rzadziej aktualizowanych plików, aby zmniejszyć zużycie zasobów" + }, + "syncEnabled": { + "title": "Tryb synchronizacji włączony", + "description": "Pliki {count} są automatycznie aktualizowane po zmianie" + }, + "highDynamicUsage": { + "title": "Użycie trybu wysokiej dynamiki", + "description": "{percentage}% plików korzysta z trybu dynamicznego", + "recommendation": "Tryb statyczny może być wystarczający w przypadku plików, które rzadko się zmieniają" + }, + "dynamicEnabled": { + "title": "Tryb dynamiczny aktywny", + "description": "Pliki {count} ładują nową zawartość każdej kompozycji" + }, + "staticOnly": { + "title": "Tylko tryb statyczny", + "description": "Wszystkie pliki korzystają z zawartości buforowanej z początkowego indeksowania", + "recommendation": "Włącz tryb dynamiczny lub synchronizację dla często aktualizowanych plików, aby zapewnić świeżą zawartość" + }, + "mixedModes": { + "title": "Mieszane tryby obciążenia", + "description": "{percentage}% plików używa specjalnych trybów ładowania" + } + } + } + }, + "composeSettings": { + "title": "Ustawienia tworzenia", + "chunkOverlapping": "@:knowledgeStack.chunksConsole.chunk Nakładanie się", + "embeddingModel": { + "title": "Model osadzania", + "warning": "Zmiana modelu osadzania będzie wymagała przekomponowania całego stosu wiedzy, a nawet wtedy istnieje ryzyko, że rekompozycja się nie powiedzie.", + "learnMore": "Dowiedz się więcej o zgodności modelu osadzania", + "defaultPlaceholder": "Domyślny (lokalny)" + }, + "placeholders": { + "selectEmbeddingModel": "Wybierz model osadzania", + "selectchunkingMethod": "Wybierz metodę dzielenia", + "selectChunkOverlapping": "Wybierz nakładanie się fragmentów", + "selectChunkSize": "Wybierz rozmiar porcji" + }, + "chunkingMethod": { + "title": "Metoda kawałkowania", + "recursiveCharacter": "Znak rekurencyjny", + "sentence": "Zdanie", + "file": "Plik (pojedynczy fragment)", + "fileWarning": "Porcjowanie na poziomie pliku traktuje każdy element jako pojedynczą porcję. Ustawienia rozmiaru porcji, nakładania się i ignorowania nie są używane.", + "description": "Wybierz sposób dzielenia dokumentów na mniejsze części w celu lepszego wyszukiwania i odzyskiwania." + }, + "overlapping": { + "title": "Nakładające się", + "description": "Wybierz stopień nakładania się fragmentów. Większe nakładanie się może poprawić kontekst, ale zwiększyć użycie tokena." + }, + "chunkSize": { + "title": "@:knowledgeStack.chunksConsole.chunk Rozmiar", + "description": "Ustaw maksymalny rozmiar każdej porcji w znakach. Mniejsze fragmenty mogą poprawić dokładność wyszukiwania, ale zwiększyć użycie tokena.", + "contextWarning": "Rozmiar porcji to w przybliżeniu tokeny {estimatedTokens}, co przekracza długość kontekstu tego modelu ({contextLength}). Zmniejsz rozmiar fragmentu, aby uniknąć błędów osadzania.", + "contextWarningUnavailable": "Nie można pobrać długości kontekstu wybranego modelu. Ostrzeżenia dotyczące wielkości porcji mogą być niedokładne." + }, + "chunkSizesToIgnore": { + "title": "@:knowledgeStack.chunksConsole.chunk Rozmiary do zignorowania", + "description": "Określ rozmiary porcji, które powinny być ignorowane podczas przetwarzania. Przydatne do wykluczania bardzo małych lub bardzo dużych kawałków." + }, + "advanced": { + "title": "Opcje zaawansowane", + "sentenceStreamingThreshold": { + "title": "Próg strumieniowania zdań", + "description": "Wpływa tylko na fragmentację zdania.", + "tooltip": { + "intro": "Wpływa tylko na fragmentację zdania (nie na rekursywność/plik). Jeśli plik jest większy niż ten rozmiar, podczas czytania pliku przesyłamy strumieniowo zdania, zamiast ładować cały plik do pamięci.", + "whenTitle": "Kiedy to zmienić", + "whenLower": "Obniż go, jeśli zauważysz skoki pamięci przy średnich/dużych plikach.", + "whenRaise": "Podnieś go, jeśli masz dużo pamięci RAM i chcesz szybszego przetwarzania.", + "whenDisable": "Ustaw na 0 (wyłączone), aby zawsze używać fragmentowania zdań w pamięci.", + "metaFolder": "Zachowanie folderu: oceniane dla każdego pliku." + } + }, + "persistEveryItems": { + "title": "Utrzymuj każdy", + "description": "Kontroluje częstotliwość zapisywania postępu.", + "tooltip": { + "intro": "Podczas tworzenia okresowo zapisujemy postęp (status, liczniki itp.). Kontroluje to, ile elementów przetwarzamy przed zapisaniem. Nadal obowiązuje rezerwa czasowa.", + "whenTitle": "Kiedy to zmienić", + "whenLower": "Niższe (1-3) dla bezpieczniejszych długich biegów i częstszych aktualizacji postępów.", + "whenHigher": "Wyższa (10–20) oznacza mniejszą liczbę zapisów i większą przepustowość, ale więcej pracy utraconej w przypadku przerwania." + } + }, + "chunkInsertBatchSize": { + "title": "Wielkość partii wkładek kawałkowych", + "description": "Kontroluje liczbę fragmentów zapisywanych w partii.", + "tooltip": { + "intro": "Kontroluje liczbę fragmentów zapisywanych w bazie danych wektorów w jednej partii.", + "whenTitle": "Kiedy to zmienić", + "whenLower": "Niższa (25-50), jeśli widzisz skoki pamięci lub rywalizację o bazę danych.", + "whenHigher": "Wyższe (100-500) na wydajnych maszynach/dyskach SSD w celu szybszego importu." + } + }, + "analytics": { + "notApplicable": "Nie dotyczy", + "title": "Przechwytuj statystyki", + "description": "Śledź czas tworzenia, liczbę słów i zestawienia elementów, aby uzyskać szczegółowe informacje." + } + } + }, + "querySettings": { + "title": "Ustawienia zapytania", + "numberOfChunks": "Liczba @:knowledgeStack.chunksConsole.chunks", + "promptPrefix": "Przedrostek promptu", + "rerank": { + "title": "Zmień rangę modelu", + "tooltip": "Ponowna ocena i zmiana kolejności odzyskanych fragmentów przy użyciu specjalistycznego modelu w celu poprawy rankingu trafności." + }, + "similarityThreshold": { + "low": "Niski", + "medium": "Średni", + "high": "Wysoka", + "highest": "Najwyższy" + }, + "searchTypes": { + "semantic": "Wyszukiwanie semantyczne", + "keyword": "Wyszukiwanie słów kluczowych", + "hybrid": "Wyszukiwanie hybrydowe" + }, + "modes": { + "push": "Tryb pchania", + "pull": "Tryb ciągnięcia" + }, + "chunks": { + "title": "Kontekst stosu wiedzy", + "loadError": "Nie udało się załadować fragmentów stosu wiedzy. Spróbuj ponownie.", + "searchSettings": "Ustawienia wyszukiwania", + "searchType": "Typ wyszukiwania", + "searchQuery": "Zapytanie wyszukiwania", + "source": "Źródło", + "content": "Treść", + "fullContent": "Pełna treść", + "chunkInfo": "Informacje @:knowledgeStack.chunksConsole.chunk", + "knowledgeStack": "Stos wiedzy", + "chunks": "kawałki", + "maxChunks": "Maks. @:knowledgeStack.chunksConsole.chunks" + }, + "retrievalMode": { + "title": "@:knowledgeStack.chunksConsole.chunk Tryb pobierania", + "description": "Wybierz pomiędzy trybem Push, w którym fragmenty są pobierane z wyprzedzeniem, lub trybem Pull, w którym model może bezpośrednio wysyłać zapytania do stosów wiedzy" + } + }, + "chunks": { + "coverage": "Zasięg", + "skippedChunks": "Pominięto @:knowledgeStack.chunksConsole.chunks", + "availableChunks": "Dostępne @:knowledgeStack.chunksConsole.chunks", + "numberOfChunks": "Liczba @:knowledgeStack.chunksConsole.chunks", + "promptPrefix": "Przedrostek promptu", + "chunkingMethod": "Metoda kawałkowania", + "chunkSize": "@:knowledgeStack.chunksConsole.chunk Rozmiar", + "chunkOverlap": "@:knowledgeStack.chunksConsole.chunk Nakładanie się", + "totalChunks": "Razem @:knowledgeStack.chunksConsole.chunks", + "cachedChunks": "Buforowane @:knowledgeStack.chunksConsole.chunks", + "scrubbedChunks": "Wyszorowano @:knowledgeStack.chunksConsole.chunks", + "loadError": "Nie udało się załadować fragmentów stosu wiedzy. Spróbuj ponownie.", + "searchSettings": "Ustawienia wyszukiwania", + "searchType": "Typ wyszukiwania", + "maxChunks": "Maks. @:knowledgeStack.chunksConsole.chunks", + "searchQuery": "Zapytanie wyszukiwania", + "synthesizedQuery": "Zapytanie syntetyczne", + "chunks": "fragment | kawałki", + "source": "Źródło", + "content": "Treść", + "viewFull": "Zobacz pełną zawartość", + "fullContent": "Pełna zawartość @:knowledgeStack.chunksConsole.chunk", + "chunkInfo": "Informacje @:knowledgeStack.chunksConsole.chunk", + "knowledgeStack": "Stos wiedzy", + "scrubbed": "Wyszorowano", + "original": "Oryginał", + "chunkId": "@:knowledgeStack.chunksConsole.chunk Identyfikator", + "piiStatus": "Stan umożliwiający identyfikację osób", + "piiScrubbed": "Wyczyszczone PII", + "piiUnscrubbed": "PII Nieczyszczone", + "tooltip": { + "scrubbed": "Treść została przejrzana pod kątem usunięcia informacji umożliwiających identyfikację", + "cached": "Używana, wyczyszczona wersja z pamięci podręcznej", + "fresh": "Świeżo wyszorowana zawartość", + "original": "Oryginalna treść bez @:pii.scrubbing.title" + }, + "queryAnalysis": "Analiza zapytań", + "fullContentRetrieved": "Aktywny kontekst pełnej treści", + "documentsRetrieved": "Dokumenty odzyskane", + "contentContext": "Kontekst treści", + "keywords": "Słowa kluczowe", + "fullDoc": "Pełny dokument", + "type": "Wpisz", + "fullDocument": "Pełny dokument" + }, + "chunksVisualizer": { + "title": "Wizualizator @:knowledgeStack.chunksConsole.chunks", + "description": "Szybkie źródło fragmentów — przeglądaj, wysyłaj zapytania i zarządzaj", + "openStitcher": "Otwórz wizualizator", + "viewStitcher": "Wyświetl wizualizator", + "stitchableFiles": "Dostępne pliki", + "loading": "Ładowanie plików...", + "noFiles": "Nie znaleziono plików", + "selectFile": "Wybierz plik", + "selectFileDescription": "Wybierz plik z lewej strony, aby zwizualizować jego fragmenty i zawartość", + "mimeType": "Typ MIME", + "chunks": "@:knowledgeStack.chunksConsole.chunks", + "overlaps": "Nakładają się", + "stitchedSize": "Rozmiar szyty", + "showOverlaps": "Pokaż nakładki", + "hideOverlaps": "Ukryj nakładające się elementy", + "showChunks": "Pokaż @:knowledgeStack.chunksConsole.chunks", + "showStitched": "Pokaż zszyte", + "copyContent": "Kopiuj zawartość", + "stitchedContent": "Zszyta treść", + "scrubbedChunks": "Wyszorowano @:knowledgeStack.chunksConsole.chunks", + "unScrubbedChunks": "Nieszorowany @:knowledgeStack.chunksConsole.chunks", + "overlapRemoved": "Nakładki zostały usunięte w celu rekonstrukcji czystego tekstu", + "chunkNumber": "@:knowledgeStack.chunksConsole.chunk {number}", + "overlapPrevious": "Nakładanie się poprzednich", + "overlapNext": "Nakładanie się dalej", + "overlapWithPrevious": "Ten tekst pokrywa się z poprzednim fragmentem", + "overlapWithNext": "Tekst ten pokrywa się z następnym fragmentem", + "chunkIndices": "Pozycje znaków w pliku", + "coreIndices": "Treść podstawowa bez nakładania się", + "chunkCount": "Fragment {count} | Kawałki {count}", + "showOriginal": "Pokaż oryginał", + "showScrubbed": "Pokaż wyczyszczone", + "showScrubbedOnly": "Pokaż tylko wyczyszczone", + "showAllChunks": "Pokaż wszystko @:knowledgeStack.chunksConsole.chunks", + "tooltip": { + "scrubbed": "Treść została przejrzana pod kątem usunięcia informacji umożliwiających identyfikację", + "cached": "Używana, wyczyszczona wersja z pamięci podręcznej", + "fresh": "Świeżo wyszorowana zawartość" + }, + "itemsPerPage": "Na stronę", + "showingChunks": "{start}-{end} z fragmentów {total}", + "loadingChunks": "Ładowanie fragmentów...", + "noItems": "Nie znaleziono żadnych elementów", + "noChunksAvailablePrimary": "Nie są jeszcze dostępne żadne fragmenty tego stosu wiedzy.", + "noChunksAvailableHint": "Twórz z obsługiwaną zawartością i spróbuj ponownie.", + "selectItem": "Wybierz element", + "selectItemDescription": "Wybierz plik lub notatkę po lewej stronie, aby zwizualizować jego fragmenty i zawartość", + "openConsole": "Otwórz konsolę", + "selectedChunks": "{count} @:knowledgeStack.chunksConsole.chunk Wybrano", + "deleteSelected": "Usuń wybrane", + "clearSelection": "Wyczyść wybór", + "confirmDelete": "Potwierdź usunięcie", + "confirmDeleteMessage": "Czy na pewno chcesz usunąć wybrane fragmenty {count}? Tej akcji nie można cofnąć.", + "deleteSuccess": "@:knowledgeStack.chunksConsole.chunks Usunięto", + "deleteSuccessDetail": "Pomyślnie usunięto fragmenty {count}", + "deletedChunksCount": "{count} @:knowledgeStack.chunksConsole.chunk pomyślnie usunięto", + "deleteError": "Usuwanie nie powiodło się" + }, + "export": { + "forceCompose": "Wymuś tworzenie", + "overallProgress": "Ogólny postęp", + "itemsExported": "Wyeksportowano elementy {count}", + "items": "Przedmioty", + "skip": "Pomiń", + "exportCompleted": "Eksport zakończony pomyślnie!", + "savedTo": "Zapisano w: {path}", + "cancelAll": "Anuluj wszystko", + "done": "Gotowe", + "export": "Eksportuj", + "exporting": "Eksportowanie", + "knowledgeStack": "Stos wiedzy", + "folder": "Folder", + "exportFailed": "Eksport nie powiódł się", + "importFailed": "Import nie powiódł się" + }, + "messages": { + "editsSaved": "Twoje zmiany w stosie wiedzy zostały zapisane. Aby zastosować zmiany, należy go ponownie skomponować.", + "savedAndProcessing": "Zapisano stos wiedzy i rozpoczęto przetwarzanie", + "cannotForceCompose": "Nie można wymusić utworzenia: najpierw należy zapisać stos wiedzy", + "failedToForceCompose": "Nie udało się wymusić utworzenia stosu wiedzy", + "forceComposeStarted": "Wymuś rozpoczęcie tworzenia — wszystkie elementy zostaną ponownie przetworzone", + "failedToUpdateQuerySettings": "Nie udało się zaktualizować ustawień zapytań", + "querySettingsUpdated": "Zaktualizowano ustawienia zapytań", + "justNow": "właśnie teraz", + "minutesAgo": "{minutes}m temu", + "searchPlaceholder": "Szukaj...", + "failedToSelectItem": "Nie udało się wybrać elementu", + "failedToSelectFolder": "Nie udało się wybrać folderu", + "processingCompleted": "Zakończono przetwarzanie stosu wiedzy {title}. Sprawdź stan pod kątem ewentualnych problemów", + "processingCompletedWithErrors": "Stos wiedzy {title} uzupełniony o element {count}, który się nie powiódł | Stos wiedzy {title} uzupełniony elementami {count}, które zakończyły się niepowodzeniem", + "processingFailed": "Przetwarzanie stosu wiedzy {title} nie powiodło się", + "compositionPaused": "Kompozycja wstrzymana na czas {title}", + "compositionResumed": "Kompozycja wznowiona dla {title}", + "compositionAborted": "Tworzenie zostało przerwane dla {title}", + "compositionErrorSuggestion": "Spróbuj przełączyć się na inny model osadzania i utwórz ponownie", + "cloneVectorDbCopyFallbackWarning": "Kopia Vector DB nie powiodła się podczas klonowania. Elementy zostały zresetowane do oczekujących, dzięki czemu możesz skomponować ten stos wiedzy w celu odbudowania wektorów.", + "nothingToCompose": "Nie ma nic do napisania dla stosu wiedzy {title}", + "composeError": "Błąd podczas tworzenia stosu wiedzy {title}", + "downloadImportNotAvailableInWeb": "Importowanie z URL jest dostępne tylko w aplikacji komputerowej", + "deleteSuccess": "{count} @:knowledgeStack.title usunięte!", + "createError": "Nie udało się utworzyć pliku @:knowledgeStack.title", + "saveEditsError": "Nie udało się zapisać zmian w pliku @:knowledgeStack.title", + "folderAdded": "Folder „{name}” dodany do stosu wiedzy" + }, + "folderLockedTemporary": "Folder „{name}” tymczasowo zablokowany", + "folderLockedPermanent": "Folder '{name}' zablokowany na stałe", + "lockFailed": "Nie udało się zablokować folderu", + "folderUnlocked": "Folder „{name}” odblokowany", + "unlockFailed": "Nie udało się odblokować folderu", + "unlock": "Odblokuj", + "status": { + "misc": "Różne", + "path": "Ścieżka: {path}", + "name": "Nazwa: {name}", + "unknown": "Nieznany", + "original": "Oryginał", + "loadingPiiAnalytics": "Ładowanie statystyk umożliwiających identyfikację osób...", + "allItemsUnlocked": "Wszystkie przedmioty są odblokowane i w razie potrzeby można je ponownie przetworzyć." + }, + "abortProcessing": "Przerwij przetwarzanie", + "errors": { + "processingFailed": "Przetwarzanie nie powiodło się", + "errorMessage": "Komunikat o błędzie", + "occurredAt": "Wystąpiło o godz", + "failedFile": "Nieudany plik", + "errorSummary": "Podsumowanie błędów", + "technicalDetails": "Szczegóły techniczne", + "stackTrace": "Śledzenie stosu", + "copyDetails": "Kopiuj szczegóły", + "detailsCopied": "Szczegóły błędu skopiowane do schowka", + "clickToSeeDetails": "Kliknij, aby zobaczyć szczegóły błędu", + "failedItemsTitle": "Szczegóły nieudanego elementu ({count})", + "showInFileManagerFailed": "Nie udało się otworzyć lokalizacji w menedżerze plików", + "fileIsNull": "Plik ma wartość zerową", + "checkingPathError": "Błąd sprawdzania, czy ścieżka jest katalogiem", + "processingFolderError": "Błąd podczas przetwarzania folderu", + "lockFolderTemporaryFailed": "Nie udało się tymczasowo zablokować folderu", + "lockFolderPermanentFailed": "Nie udało się trwale zablokować folderu", + "unlockFolderFailed": "Nie udało się odblokować folderu", + "status": { + "completed": "Stan: Ukończono", + "completedWithErrors": "Stan: Zakończono z błędami", + "processing": "Stan: Przetwarzanie", + "paused": "Stan: wstrzymany", + "pending": "Stan: w oczekiwaniu", + "draft": "Stan: Wersja robocza", + "needsReprocessing": "Stan: Wymaga ponownego przetworzenia", + "error": "Stan: Błąd", + "lockedTemporary": "Stan: Tymczasowo zablokowany", + "lockedPermanent": "Stan: Trwale zablokowany", + "aborted": "Stan: przerwany", + "unknown": "Stan: nieznany" + } + } + }, + "features": { + "showcase": { + "title": "Odblokuj funkcje Aurum", + "subtitle": "Uaktualnij licencję do Aurum, aby uzyskać najpotężniejsze funkcje AI i zaawansowane możliwości", + "eyebrow": "Wszystko, czego potrzebujesz", + "viewPricing": "Zobacz Cennik", + "featureMatrix": "Matryca funkcji", + "activateLicense": "Aktywuj licencję", + "licenses": { + "aurum": "Aurum" + } + } + }, + "images": { + "upload": "Prześlij obraz…", + "onlySupported": "Obsługiwane są tylko pliki obrazów.", + "maxSize": "Obraz musi mieć 1 MB lub mniej." + }, + "userAvatar": { + "updated": "Zaktualizowano zdjęcie profilowe.", + "updateFailed": "Nie udało się zaktualizować obrazu. Spróbuj ponownie.", + "changeHint": "Kliknij, aby zmienić zdjęcie profilowe" + }, + "setting": { + "lostAndFound": { + "title": "Zagubiony i znaleziony", + "description": "Znajdź i odzyskaj utracone obszary robocze na swoim komputerze. Skanowane i wykrywane są tylko bazy danych obszaru roboczego, a nie załączniki.", + "experimentalInfo": "Lost & Found ma charakter eksperymentalny. Zawsze twórz kopie zapasowe danych obszaru roboczego przed próbą odzyskania.", + "scanForLostWorkspaces": "Skanuj w poszukiwaniu utraconych obszarów roboczych", + "scanAppData": "Skanuj dane aplikacji", + "scanFolder": "Skanuj folder…", + "workspace": "Obszar roboczy", + "file": "Plik", + "status": "Stan", + "lastModifiedColumn": "Ostatnia modyfikacja", + "actions": "Działania", + "statusCurrent": "Aktualny", + "statusLinked": "Połączone", + "statusFound": "Znaleziono", + "restoreCurrentWorkspace": "Przywróć bieżący obszar roboczy", + "importAsNewWorkspace": "Importuj jako nowy obszar roboczy", + "restoreConfirmHeader": "Przywrócić bieżący obszar roboczy?", + "restoreConfirmMessage": "Spowoduje to zastąpienie danych aktualnie aktywnego obszaru roboczego danymi z wybranego odzyskanego pliku. Tego nie można cofnąć.", + "restore": "Przywróć", + "failedToImportWorkspace": "Nie udało się zaimportować obszaru roboczego", + "workspaceImported": "Zaimportowano obszar roboczy", + "workspaceImportedDetail": "Odzyskany obszar roboczy został zaimportowany. W razie potrzeby przełącz się na niego z zasobnika obszaru roboczego.", + "failedToRestoreWorkspace": "Nie udało się przywrócić obszaru roboczego", + "workspaceRestored": "Obszar roboczy został przywrócony", + "workspaceRestoredDetail": "Bieżący obszar roboczy został przywrócony z odzyskanego pliku.", + "showInFileExplorer": "Pokaż w Eksploratorze plików", + "lastModified": "Ostatnia modyfikacja", + "failedToImportRecoveredWorkspace": "Nie udało się zaimportować odzyskanego obszaru roboczego", + "failedToImportRecoveredWorkspaceUnexpected": "Nie udało się zaimportować odzyskanego obszaru roboczego (nieoczekiwane)", + "failedToRestoreFromRecoveredFile": "Nie udało się przywrócić obszaru roboczego z odzyskanego pliku", + "failedToRestoreFromRecoveredFileUnexpected": "Nie udało się przywrócić obszaru roboczego z odzyskanego pliku (nieoczekiwane)" + } + }, + "quickFilter": "Szybki filtr...", + "toggleQuickFilter": "Przełącz szybki filtr", + "toggleFilter": "Przełącz filtr", + "toggleSearchConversations": "Przełącz wyszukiwanie rozmów", + "toggleSidebar": "Przełącz pasek boczny", + "adjust": "Dostosuj", + "experimentalInfo": "{item} jest rozwiązaniem eksperymentalnym i aktywnie rozwijanym. Wszelkie problemy prosimy zgłaszać zespołowi.", + "attachmentsManager": { + "columnHeaders": { + "name": "Imię", + "fileType": "Typ pliku", + "attachmentType": "Typ załącznika", + "size": "Rozmiar", + "dateAdded": "Data dodania", + "actions": "Działania" + }, + "actions": { + "browseExisting": "Przeglądaj istniejące załączniki", + "starredOnly": "Pokaż tylko oznaczone gwiazdką", + "quickPreview": "Szybki podgląd", + "startNewMediaSession": "Rozpocznij sesję nowych mediów", + "newMediaSession": "Sesja nowych mediów", + "viewAssociations": "Zobacz skojarzenia", + "attach": "Dołącz", + "delete": { + "title": "Usuń załącznik | Usuń załączniki", + "confirmationMessage": "Czy na pewno chcesz usunąć załącznik? Wszystkie powiązania z załącznikiem również zostaną usunięte. Tej akcji nie można cofnąć. | Czy na pewno chcesz usunąć załączniki? Wszystkie powiązania z załącznikami również zostaną usunięte. Tej akcji nie można cofnąć.", + "successMessage": "Pomyślnie usunięto załącznik | Pomyślnie usunięto załączniki", + "errorMessage": "Nie udało się usunąć załącznika | Nie udało się usunąć załączników" + } + }, + "filters": { + "starred": "Oznaczone gwiazdką", + "associationAll": "Wszystko", + "associated": "Powiązane", + "unassociated": "Nie powiązany", + "metadataAll": "Wszystko", + "metadataProcessed": "Przetworzone metadane", + "metadataNotProcessed": "Brak metadanych", + "associationEntityPersona": "Osoba", + "associationEntityFolder": "Folder", + "associationEntityConversation": "Rozmowa", + "associationEntityMediaStudio": "Studio Mediów", + "associationEntitySplitPreset": "Podziel ustawienie wstępne", + "associationEntityTurnstile": "Kołowrót" + }, + "mobileControls": { + "filters": "Filtry", + "associationStatus": "Status Stowarzyszenia", + "metadataStatus": "Stan metadanych", + "associatedWith": "Związane z", + "sortBy": "Sortuj według", + "sortNewest": "Najnowszy", + "sortOldest": "Najstarszy", + "sortNameAsc": "Imię A-Z", + "sortNameDesc": "Imię Z-A", + "sortSizeDesc": "Największy", + "sortSizeAsc": "Najmniejszy", + "select": "Wybierz", + "deselect": "Odznacz", + "star": "Dodaj do ulubionych", + "unstar": "Usuń z ulubionych" + }, + "search": "Szukaj według nazwy", + "filter": "Filtruj według typu załącznika", + "title": "Studio kontekstowe", + "emptyState": { + "title": "Zbuduj swoją bibliotekę kontekstową", + "description": "Dodaj pliki, strony internetowe lub filmy z YouTube, aby stworzyć kontekst do wielokrotnego wykorzystania dla rozmów i pracy twórczej.", + "dropHint": "Możesz także przeciągać i upuszczać pliki w dowolnym miejscu tego panelu.", + "actions": { + "addAttachment": { + "title": "Dodaj załącznik", + "description": "Przesyłaj dokumenty, obrazy, pliki audio lub wideo." + }, + "addWebsite": { + "title": "Dodaj witrynę", + "description": "Zapisz zawartość strony internetowej jako kontekst do ponownego wykorzystania." + }, + "addYouTube": { + "title": "Dodaj YouTube'a", + "description": "Zaimportuj wideo i jego transkrypcję." + }, + "settings": "Skonfiguruj Studio kontekstowe" + } + }, + "previewUnavailable": { + "title": "Podgląd niedostępny", + "description": "W tej chwili nie można bezpośrednio wyświetlić podglądu tego typu załącznika." + }, + "associations": { + "title": "Stowarzyszenia dla {attachmentName}", + "search": "Szukaj według nazwy stowarzyszenia", + "filter": "Filtruj według powiązanej jednostki", + "emptyState": { + "title": "Nie znaleziono żadnych powiązań", + "description": "Jeszcze nigdzie nie korzystałeś z tego załącznika." + }, + "columnHeaders": { + "associationName": "Nazwa stowarzyszenia", + "associatedEntity": "Podmiot stowarzyszony", + "actions": "Działania" + }, + "actions": { + "jumpTo": "Skocz do {entity}", + "detach": { + "action": "Odłącz", + "title": "Odłącz stowarzyszenie", + "confirmationMessage": "Czy na pewno chcesz odłączyć powiązanie od {associationEntity}? Tej akcji nie można cofnąć.", + "successMessage": "Pomyślnie odłączono stowarzyszenie", + "errorMessage": "Nie udało się odłączyć powiązania" + } + } + } + }, + "iconSelector": { + "searchMode": "Szukaj", + "aiMode": "Prompt AI", + "aiPlaceholder": "Opisz, co symbolizuje ikona...", + "findIcon": "Znajdź ikonę", + "finding": "Znalezienie..." + }, + "sso": { + "emailLoginTitle": "Zaloguj się e-mailem", + "signInWithCodeOrSso": "Zaloguj się za pomocą kodu lub SSO", + "signInWithMagicLinkOrCode": "Zaloguj się za pomocą magicznego linku lub kodu", + "loginInCode": "Zaloguj się za pomocą kodu", + "loginWithSso": "Zaloguj się za pomocą SSO", + "verificationCodeDescription": "Otrzymaj kod weryfikacyjny dostarczony na Twój adres e-mail.", + "ssoFindProvider": "Wykorzystamy Twój adres e-mail, aby znaleźć Twojego dostawcę.", + "submitEmailToResolveProvider": "Podaj swój adres e-mail, aby znaleźć swojego dostawcę", + "changeMethod": "Zmień metodę", + "emailAddress": "Adres e-mail", + "alreadyHaveVerificationCode": "Masz już kod weryfikacyjny?", + "enterCode": "Wpisz kod", + "sendLoginCode": "Wyślij kod logowania", + "ssoCopyUrlHint": "Jeśli Twoja przeglądarka nie otworzyła się, skopiuj plik URL i wklej go do przeglądarki.", + "continue": "Kontynuuj logowanie jednokrotne", + "title": "Konfiguracja logowania jednokrotnego", + "adminGroupId": "Identyfikator grupy administratorów", + "adminGroupIdDescription": "Wprowadź identyfikator grupy Microsoft Entra ID. Członkom tej grupy zostanie przypisana rola administratora; wszystkim innym użytkownikom zostanie przypisana rola użytkownika.", + "adminGroupIdPlaceholder": "Identyfikator grupy", + "saveSuccess": "Konfiguracja logowania jednokrotnego została pomyślnie zapisana", + "saveError": "Nie udało się zapisać konfiguracji logowania jednokrotnego", + "providers": { + "microsoft": "Microsoft Identyfikator wejścia", + "google": "Google", + "other": "Inny dostawca OIDC" + }, + "configIntro": "Skonfiguruj logowanie jednokrotne (SSO) dla swojej organizacji. Proszę dodać", + "configOutro": "jako przekierowanie URL.", + "providerLabel": "Dostawca OIDC", + "providerTooltip": "Wybierz dostawcę, aby wstępnie wypełnić wystawcę i zażądać wartości domyślnych.", + "providerPlaceholder": "Wybierz dostawcę", + "orgDomainLabel": "Domena organizacji", + "orgDomainTooltip": "Domena e-mail używana do dopasowywania użytkowników do tej organizacji.", + "orgDomainPlaceholder": "np. acme.com", + "advancedOptionsTooltip": "Skonfiguruj mapowanie ról administratora i zastąp żądania dla logowania jednokrotnego.", + "advancedOptionsDescription": "Opcjonalne zastąpienie roszczeń i ustawienia roli administratora.", + "adminGroupIdLabel": "Identyfikator grupy administratorów", + "adminGroupIdTooltip": "Użytkownicy pasujący do identyfikatora grupy administratorów lub wartości roli administratora otrzymują uprawnienia administratora. Jeśli żadna z nich nie jest skonfigurowana, logowanie jednokrotne nie spowoduje zmiany istniejących ról użytkowników.", + "adminRoleValuesLabel": "Wartości ról administratora", + "adminRoleValuesTooltip": "Użytkownicy pasujący do identyfikatora grupy administratorów lub wartości roli administratora otrzymują uprawnienia administratora. Jeśli żadna z nich nie jest skonfigurowana, logowanie jednokrotne nie spowoduje zmiany istniejących ról użytkowników.", + "adminRoleValuesPlaceholder": "np. Admin, MstyAdmin", + "emailClaimLabel": "Roszczenie e-mailem", + "emailClaimTooltip": "Nazwa roszczenia używana w wiadomościach e-mail (np. e-mail, preferowana nazwa_użytkownika, upn).", + "emailClaimPlaceholder": "np. e-mail", + "groupsClaimLabel": "Roszczenie grupowe", + "groupsClaimTooltip": "Nazwa roszczenia używana w przypadku grup (np. grupy, role, MemberOf).", + "groupsClaimPlaceholder": "np. grupy", + "tenantIdLabel": "Identyfikator najemcy", + "tenantIdTooltip": "Microsoft Identyfikator dzierżawy Entra użyty do zbudowania wystawcy URL.", + "tenantIdPlaceholder": "Identyfikator katalogu (dzierżawcy).", + "clientIdLabel": "Identyfikator klienta", + "clientIdTooltip": "Identyfikator klienta OIDC dla aplikacji komputerowej (klient publiczny).", + "microsoftClientIdPlaceholder": "Identyfikator aplikacji (klienta).", + "googleClientIdPlaceholder": "Identyfikator klienta OAuth", + "otherClientIdPlaceholder": "Identyfikator klienta OIDC", + "clientSecretLabel": "Sekret Klienta", + "clientSecretTooltip": "Przechowywane w postaci zaszyfrowanej i nigdy nie zwracane w odpowiedziach.", + "clientSecretPlaceholder": "Wprowadź sekret klienta", + "clientSecretMaskedPlaceholder": "********", + "issuerUrlLabel": "Emitent URL", + "issuerUrlTooltip": "Wystawca OIDC URL dla Twojego dostawcy tożsamości (używany do wykrywania).", + "issuerUrlPlaceholder": "np. https://idp.example.com", + "loadError": "Nie udało się wczytać konfiguracji logowania jednokrotnego", + "settingsSaved": "Ustawienia zostały zapisane", + "updated": "Konfiguracja logowania jednokrotnego została zaktualizowana", + "updateError": "Nie udało się zaktualizować konfiguracji logowania jednokrotnego", + "settingsReset": "Ustawienia zresetowane", + "resetDetail": "Konfiguracja logowania jednokrotnego została zresetowana", + "settingsTab": "Ustawienia logowania jednokrotnego", + "groupAutoAssignment": { + "title": "Automatyczne przypisanie grupy SSO", + "subtitle": "Skonfiguruj identyfikatory grup dostawców tożsamości, aby automatycznie przypisywać użytkowników do tego zespołu podczas uwierzytelniania za pomocą logowania jednokrotnego.", + "groupIdsLabel": "Identyfikatory grup", + "groupIdsPlaceholder": "np. identyfikator grupy-1, identyfikator grupy-2, identyfikator grupy-3", + "howItWorksTitle": "Jak to działa", + "howItWorksStepOne": "Wprowadź jeden lub więcej identyfikatorów grup od dostawcy tożsamości (oddzielone przecinkami)", + "howItWorksStepTwo": "Gdy użytkownicy uwierzytelniają się za pomocą logowania jednokrotnego, sprawdzane jest ich członkostwo w grupie", + "howItWorksStepThree": "Użytkownicy z dowolnej z tych grup są automatycznie dodawani do tego zespołu" + } + } +}