<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pl_PL">
<context>
    <name>AttachedFilesPlace</name>
    <message>
        <source>Open in Qt Creator</source>
        <translation>Otwórz w Qt Creator</translation>
    </message>
    <message>
        <source>Open in External Editor</source>
        <translation>Otwórz w zewnętrznym edytorze</translation>
    </message>
    <message>
        <source>Remove</source>
        <translation>Usuń</translation>
    </message>
</context>
<context>
    <name>BottomBar</name>
    <message>
        <source>Attach file to message</source>
        <translation>Dołącz plik do wiadomości</translation>
    </message>
    <message>
        <source>Attach image to message</source>
        <translation>Dołącz obraz do wiadomości</translation>
    </message>
    <message>
        <source>Link file to context</source>
        <translation>Połącz plik z kontekstem</translation>
    </message>
    <message>
        <source>Sync open files</source>
        <translation>Synchronizuj otwarte pliki</translation>
    </message>
    <message>
        <source>Automatically synchronize currently opened files with the model context</source>
        <translation>Automatycznie synchronizuj aktualnie otwarte pliki z kontekstem modelu</translation>
    </message>
    <message>
        <source>Compressing...</source>
        <translation>Kompresowanie...</translation>
    </message>
    <message>
        <source>Cancel</source>
        <translation>Anuluj</translation>
    </message>
    <message>
        <source>Cancel compression</source>
        <translation>Anuluj kompresję</translation>
    </message>
    <message>
        <source>Compress</source>
        <translation>Kompresuj</translation>
    </message>
    <message>
        <source>Compress chat (create summarized copy using LLM)</source>
        <translation>Kompresuj czat (utwórz podsumowaną kopię za pomocą LLM)</translation>
    </message>
</context>
<context>
    <name>ChatItem</name>
    <message>
        <source>↑ %1 (cached %2)</source>
        <translation>↑ %1 (w pamięci podręcznej %2)</translation>
    </message>
    <message>
        <source>↑ %1</source>
        <translation>↑ %1</translation>
    </message>
    <message>
        <source>↓ %1 (reasoning %2)</source>
        <translation>↓ %1 (rozumowanie %2)</translation>
    </message>
    <message>
        <source>↓ %1</source>
        <translation>↓ %1</translation>
    </message>
    <message>
        <source>Σ %1</source>
        <translation>Σ %1</translation>
    </message>
    <message>
        <source>Reset chat to this message and edit</source>
        <translation>Zresetuj czat do tej wiadomości i edytuj</translation>
    </message>
    <message>
        <source>Click: Open in Qt Creator
Shift+Click: Open in System Editor</source>
        <translation>Kliknięcie: Otwórz w Qt Creator
Shift+Kliknięcie: Otwórz w edytorze systemowym</translation>
    </message>
    <message>
        <source>Failed to load image</source>
        <translation>Nie udało się załadować obrazu</translation>
    </message>
</context>
<context>
    <name>CodeBlock</name>
    <message>
        <source>Code (%1)</source>
        <translation>Kod (%1)</translation>
    </message>
    <message>
        <source>Code</source>
        <translation>Kod</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>Zwiń</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>Rozwiń</translation>
    </message>
    <message>
        <source>Copied</source>
        <translation>Skopiowano</translation>
    </message>
</context>
<context>
    <name>ContextViewer</name>
    <message>
        <source>Chat Context</source>
        <translation>Kontekst czatu</translation>
    </message>
    <message>
        <source>Refresh</source>
        <translation>Odśwież</translation>
    </message>
    <message>
        <source>Close</source>
        <translation>Zamknij</translation>
    </message>
    <message>
        <source>Base System Prompt</source>
        <translation>Podstawowy prompt systemowy</translation>
    </message>
    <message>
        <source>Active</source>
        <translation>Aktywny</translation>
    </message>
    <message>
        <source>Empty</source>
        <translation>Pusty</translation>
    </message>
    <message>
        <source>No system prompt configured</source>
        <translation>Nie skonfigurowano promptu systemowego</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>Edit in Settings</source>
        <translation>Edytuj w ustawieniach</translation>
    </message>
    <message>
        <source>Agent Role</source>
        <translation>Rola agenta</translation>
    </message>
    <message>
        <source>No role selected. Using base system prompt only.</source>
        <translation>Nie wybrano roli. Używany jest tylko podstawowy prompt systemowy.</translation>
    </message>
    <message>
        <source>Manage Roles</source>
        <translation>Zarządzaj rolami</translation>
    </message>
    <message>
        <source>Project Rules</source>
        <translation>Reguły projektu</translation>
    </message>
    <message>
        <source>%1 active</source>
        <translation>%1 aktywnych</translation>
    </message>
    <message>
        <source>None</source>
        <translation>Brak</translation>
    </message>
    <message>
        <source>Rules (%1)</source>
        <translation>Reguły (%1)</translation>
    </message>
    <message>
        <source>Content</source>
        <translation>Zawartość</translation>
    </message>
    <message>
        <source>No project rules found.
Create .md files in .qodeassist/rules/common/ or .qodeassist/rules/chat/</source>
        <translation>Nie znaleziono reguł projektu.
Utwórz pliki .md w .qodeassist/rules/common/ lub .qodeassist/rules/chat/</translation>
    </message>
    <message>
        <source>Open Rules Folder</source>
        <translation>Otwórz folder reguł</translation>
    </message>
    <message>
        <source>Final prompt: Base System Prompt + Agent Role + Project Info + Project Rules + Linked Files</source>
        <translation>Końcowy prompt: Podstawowy prompt systemowy + Rola agenta + Informacje o projekcie + Reguły projektu + Połączone pliki</translation>
    </message>
</context>
<context>
    <name>DiffStatistics</name>
    <message>
        <source>+%1 lines, -%2 lines</source>
        <translation>+%1 wierszy, -%2 wierszy</translation>
    </message>
    <message>
        <source>+%1 lines</source>
        <translation>+%1 wierszy</translation>
    </message>
    <message>
        <source>-%1 lines</source>
        <translation>-%1 wierszy</translation>
    </message>
    <message>
        <source>No changes</source>
        <translation>Brak zmian</translation>
    </message>
</context>
<context>
    <name>FileEditBlock</name>
    <message>
        <source>ARCHIVED</source>
        <translation>ZARCHIWIZOWANO</translation>
    </message>
    <message>
        <source>APPLIED</source>
        <translation>ZASTOSOWANO</translation>
    </message>
    <message>
        <source>REJECTED</source>
        <translation>ODRZUCONO</translation>
    </message>
    <message>
        <source>PENDING</source>
        <translation>OCZEKUJĄCE</translation>
    </message>
    <message>
        <source>Replace</source>
        <translation>Zastąp</translation>
    </message>
    <message>
        <source>Append</source>
        <translation>Dodaj</translation>
    </message>
    <message>
        <source>%1: %2 (+%3 -%4)</source>
        <translation>%1: %2 (+%3 -%4)</translation>
    </message>
    <message>
        <source>%1: %2 (+%3)</source>
        <translation>%1: %2 (+%3)</translation>
    </message>
    <message>
        <source>Open file in editor and navigate to changes</source>
        <translation>Otwórz plik w edytorze i przejdź do zmian</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>Zwiń</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>Rozwiń</translation>
    </message>
</context>
<context>
    <name>FileEditsActionBar</name>
    <message>
        <source>File Edit in Current Message</source>
        <translation>Edycja pliku w bieżącej wiadomości</translation>
    </message>
    <message>
        <source>%1 File Edits in Current Message</source>
        <translation>%1 edycji plików w bieżącej wiadomości</translation>
    </message>
    <message>
        <source>%1 applied</source>
        <translation>%1 zastosowano</translation>
    </message>
    <message>
        <source>%1 pending</source>
        <translation>%1 oczekuje</translation>
    </message>
    <message>
        <source>%1 rejected</source>
        <translation>%1 odrzucono</translation>
    </message>
    <message>
        <source>Apply All (%1)</source>
        <translation>Zastosuj wszystkie (%1)</translation>
    </message>
    <message>
        <source>Reapply All (%1)</source>
        <translation>Zastosuj ponownie wszystkie (%1)</translation>
    </message>
    <message>
        <source>Apply all pending and rejected edits in this message</source>
        <translation>Zastosuj wszystkie oczekujące i odrzucone edycje w tej wiadomości</translation>
    </message>
    <message>
        <source>Reapply all rejected edits in this message</source>
        <translation>Zastosuj ponownie wszystkie odrzucone edycje w tej wiadomości</translation>
    </message>
    <message>
        <source>Undo All (%1)</source>
        <translation>Cofnij wszystkie (%1)</translation>
    </message>
    <message>
        <source>Undo all applied edits in this message</source>
        <translation>Cofnij wszystkie zastosowane edycje w tej wiadomości</translation>
    </message>
</context>
<context>
    <name>MessageNavigator</name>
    <message>
        <source>#%1  ·  %2</source>
        <translation>#%1  ·  %2</translation>
    </message>
    <message>
        <source>Jump to message #%1</source>
        <translation>Przejdź do wiadomości #%1</translation>
    </message>
</context>
<context>
    <name>QObject</name>
    <message>
        <source>Template Not Found</source>
        <translation>Nie znaleziono szablonu</translation>
    </message>
    <message>
        <source>Template &apos;%1&apos; was not found or has been updated. Please re-set new one.</source>
        <translation>Szablon &apos;%1&apos; nie został znaleziony lub został zaktualizowany. Ustaw nowy.</translation>
    </message>
    <message>
        <source>Providers</source>
        <translation>Dostawcy</translation>
    </message>
    <message>
        <source>Agents</source>
        <translation>Agenci</translation>
    </message>
    <message>
        <source>Current Settings</source>
        <translation>Bieżące ustawienia</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatCompressor</name>
    <message>
        <source>Compression already in progress</source>
        <translation>Kompresja jest już w toku</translation>
    </message>
    <message>
        <source>No chat file to compress</source>
        <translation>Brak pliku czatu do skompresowania</translation>
    </message>
    <message>
        <source>Chat is empty, nothing to compress</source>
        <translation>Czat jest pusty, nie ma co kompresować</translation>
    </message>
    <message>
        <source>No provider available</source>
        <translation>Brak dostępnego dostawcy</translation>
    </message>
    <message>
        <source>No template available</source>
        <translation>Brak dostępnego szablonu</translation>
    </message>
    <message>
        <source>Compression cancelled</source>
        <translation>Kompresja anulowana</translation>
    </message>
    <message>
        <source>Failed to save compressed chat</source>
        <translation>Nie udało się zapisać skompresowanego czatu</translation>
    </message>
    <message>
        <source>Compression failed: %1</source>
        <translation>Kompresja nie powiodła się: %1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatFileManager</name>
    <message>
        <source>File is not accessible: %1</source>
        <translation>Plik jest niedostępny: %1</translation>
    </message>
    <message>
        <source>Failed to copy file: %1</source>
        <translation>Nie udało się skopiować pliku: %1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatHistoryStore</name>
    <message>
        <source>Save Chat History</source>
        <translation>Zapisz historię czatu</translation>
    </message>
    <message>
        <source>JSON files (*.json)</source>
        <translation>Pliki JSON (*.json)</translation>
    </message>
    <message>
        <source>Load Chat History</source>
        <translation>Wczytaj historię czatu</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatRootView</name>
    <message>
        <source>Chat compressed successfully!</source>
        <translation>Czat skompresowano pomyślnie!</translation>
    </message>
    <message>
        <source>This chat file is already in use by another QodeAssist chat session.</source>
        <translation>Ten plik czatu jest już używany przez inną sesję czatu QodeAssist.</translation>
    </message>
    <message>
        <source>This chat is already open in another QodeAssist chat session.</source>
        <translation>Ten czat jest już otwarty w innej sesji czatu QodeAssist.</translation>
    </message>
    <message>
        <source>Select Files to Attach</source>
        <translation>Wybierz pliki do dołączenia</translation>
    </message>
    <message numerus="yes">
        <source>Images automatically moved to Attach zone (%n file(s))</source>
        <translation>
            <numerusform>Obrazy automatycznie przeniesione do strefy załączników (%n plików)</numerusform>
            <numerusform>Obrazy automatycznie przeniesione do strefy załączników (%n plików)</numerusform>
            <numerusform>Obrazy automatycznie przeniesione do strefy załączników (%n plików)</numerusform>
        </translation>
    </message>
    <message>
        <source>Select Images to Attach</source>
        <translation>Wybierz obrazy do dołączenia</translation>
    </message>
    <message>
        <source>Images (*.png *.jpg *.jpeg *.gif *.bmp *.webp)</source>
        <translation>Obrazy (*.png *.jpg *.jpeg *.gif *.bmp *.webp)</translation>
    </message>
    <message>
        <source>Compression is already in progress</source>
        <translation>Kompresja jest już w toku</translation>
    </message>
    <message>
        <source>No chat file to compress. Please save the chat first.</source>
        <translation>Brak pliku czatu do skompresowania. Najpierw zapisz czat.</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::NavigationPanel</name>
    <message>
        <source>QodeAssist Chat</source>
        <translation>Czat QodeAssist</translation>
    </message>
</context>
<context>
    <name>QodeAssist::EditorChatButton</name>
    <message>
        <source>Open QodeAssist Chat</source>
        <translation>Otwórz czat QodeAssist</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Mcp::McpServerManager</name>
    <message>
        <source>QodeAssist MCP server exposing Qt Creator project tools.</source>
        <translation>Serwer MCP QodeAssist udostępniający narzędzia projektu Qt Creator.</translation>
    </message>
</context>
<context>
    <name>QodeAssist::QodeAssistClient</name>
    <message>
        <source>Code completion failed: %1</source>
        <translation>Uzupełnianie kodu nie powiodło się: %1</translation>
    </message>
    <message>
        <source>Quick refactor failed</source>
        <translation>Szybki refaktoring nie powiódł się</translation>
    </message>
    <message>
        <source>Quick refactor failed: %1</source>
        <translation>Szybki refaktoring nie powiódł się: %1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::RefactorWidget</name>
    <message>
        <source>◄ Original</source>
        <translation>◄ Oryginał</translation>
    </message>
    <message>
        <source>Refactored ►</source>
        <translation>Po refaktoringu ►</translation>
    </message>
    <message>
        <source>✓ Apply (⌘+Enter)</source>
        <translation>✓ Zastosuj (⌘+Enter)</translation>
    </message>
    <message>
        <source>✓ Apply (Ctrl+Enter)</source>
        <translation>✓ Zastosuj (Ctrl+Enter)</translation>
    </message>
    <message>
        <source>✗ Decline (Esc)</source>
        <translation>✗ Odrzuć (Esc)</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentDetailPane</name>
    <message>
        <source>Open in editor</source>
        <translation>Otwórz w edytorze</translation>
    </message>
    <message>
        <source>Duplicate…</source>
        <translation>Duplikuj…</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>Usuń</translation>
    </message>
    <message>
        <source>Identity</source>
        <translation>Tożsamość</translation>
    </message>
    <message>
        <source>Extends:</source>
        <translation>Rozszerza:</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>Nazwa:</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>Opis:</translation>
    </message>
    <message>
        <source>Tags:</source>
        <translation>Tagi:</translation>
    </message>
    <message>
        <source>Comma-separated. Free-form — used to filter and group the agent list.</source>
        <translation>Oddzielone przecinkami. Dowolna forma — używane do filtrowania i grupowania listy agentów.</translation>
    </message>
    <message>
        <source>System role</source>
        <translation>Rola systemowa</translation>
    </message>
    <message>
        <source>Prepended to every request as the system message.</source>
        <translation>Dodawane na początku każdego żądania jako wiadomość systemowa.</translation>
    </message>
    <message>
        <source>Context</source>
        <translation>Kontekst</translation>
    </message>
    <message>
        <source>Jinja2 template rendered with ContextManager bindings into the agent.context system-prompt layer. Empty = no context block.</source>
        <translation>Szablon Jinja2 renderowany z powiązaniami ContextManager w warstwie promptu systemowego agent.context. Pusty = brak bloku kontekstu.</translation>
    </message>
    <message>
        <source>Connection</source>
        <translation>Połączenie</translation>
    </message>
    <message>
        <source>Provider:</source>
        <translation>Dostawca:</translation>
    </message>
    <message>
        <source>The provider instance this agent uses. URL is inherited from the instance.</source>
        <translation>Instancja dostawcy używana przez tego agenta. URL jest dziedziczony z instancji.</translation>
    </message>
    <message>
        <source>Endpoint:</source>
        <translation>Endpoint:</translation>
    </message>
    <message>
        <source>Appended to the provider&apos;s URL. Blank uses the provider default.</source>
        <translation>Dodawane do URL dostawcy. Puste oznacza wartość domyślną dostawcy.</translation>
    </message>
    <message>
        <source>Model:</source>
        <translation>Model:</translation>
    </message>
    <message>
        <source>Match</source>
        <translation>Dopasowanie</translation>
    </message>
    <message>
        <source>When a feature slot has multiple bound agents, the first whose match rules satisfy the current context wins.</source>
        <translation>Gdy slot funkcji ma wielu powiązanych agentów, wygrywa pierwszy, którego reguły dopasowania spełniają bieżący kontekst.</translation>
    </message>
    <message>
        <source>File patterns:</source>
        <translation>Wzorce plików:</translation>
    </message>
    <message>
        <source>Globs, comma-separated. Empty matches every file.</source>
        <translation>Wzorce glob, oddzielone przecinkami. Puste pasuje do każdego pliku.</translation>
    </message>
    <message>
        <source>Template</source>
        <translation>Szablon</translation>
    </message>
    <message>
        <source>Jinja2 template (via inja) rendered to the request body. Built-in context: ctx.prefix, ctx.suffix, ctx.history, ctx.system_prompt, agent.model.</source>
        <translation>Szablon Jinja2 (przez inja) renderowany do treści żądania. Wbudowany kontekst: ctx.prefix, ctx.suffix, ctx.history, ctx.system_prompt, agent.model.</translation>
    </message>
    <message>
        <source>message_format:</source>
        <translation>message_format:</translation>
    </message>
    <message>
        <source>Load errors</source>
        <translation>Błędy ładowania</translation>
    </message>
    <message>
        <source>▸ Show raw TOML</source>
        <translation>▸ Pokaż surowy TOML</translation>
    </message>
    <message>
        <source>▾ Hide raw TOML</source>
        <translation>▾ Ukryj surowy TOML</translation>
    </message>
    <message>
        <source>No description provided.</source>
        <translation>Nie podano opisu.</translation>
    </message>
    <message>
        <source>%1  (missing — not in provider library)</source>
        <translation>%1  (brak — nie ma w bibliotece dostawcy)</translation>
    </message>
    <message>
        <source>(provider default)</source>
        <translation>(domyślny dostawcy)</translation>
    </message>
    <message>
        <source># effective request line
(unknown — provider instance not found)</source>
        <translation># efektywny wiersz żądania
(nieznany — nie znaleziono instancji dostawcy)</translation>
    </message>
    <message>
        <source>effective request line</source>
        <translation>efektywny wiersz żądania</translation>
    </message>
    <message>
        <source>(no system role set)</source>
        <translation>(brak ustawionej roli systemowej)</translation>
    </message>
    <message>
        <source>(no context block)</source>
        <translation>(brak bloku kontekstu)</translation>
    </message>
    <message>
        <source>(matches every file)</source>
        <translation>(pasuje do każdego pliku)</translation>
    </message>
    <message>
        <source>(inherited from parent / none)</source>
        <translation>(dziedziczone z rodzica / brak)</translation>
    </message>
    <message>
        <source>(truncated at %1 bytes)</source>
        <translation>(obcięto na %1 bajtach)</translation>
    </message>
    <message>
        <source>(source file is empty)</source>
        <translation>(plik źródłowy jest pusty)</translation>
    </message>
    <message>
        <source>(source file unavailable: %1)</source>
        <translation>(plik źródłowy niedostępny: %1)</translation>
    </message>
    <message>
        <source>Bundled agents are read-only — duplicate to edit.</source>
        <translation>Agenci dołączeni są tylko do odczytu — zduplikuj, aby edytować.</translation>
    </message>
    <message>
        <source>Bundled agents cannot be deleted.</source>
        <translation>Nie można usunąć dołączonych agentów.</translation>
    </message>
    <message>
        <source>Select an agent</source>
        <translation>Wybierz agenta</translation>
    </message>
    <message>
        <source>Pick an agent from the list to see its details.</source>
        <translation>Wybierz agenta z listy, aby zobaczyć jego szczegóły.</translation>
    </message>
    <message>
        <source>error: %1</source>
        <translation>błąd: %1</translation>
    </message>
    <message>
        <source>warning: %1</source>
        <translation>ostrzeżenie: %1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentListPane</name>
    <message>
        <source>Filter agents…</source>
        <translation>Filtruj agentów…</translation>
    </message>
    <message>
        <source>User</source>
        <translation>Użytkownik</translation>
    </message>
    <message>
        <source>Bundled</source>
        <translation>Dołączeni</translation>
    </message>
    <message>
        <source>No agents match these filters.</source>
        <translation>Żaden agent nie pasuje do tych filtrów.</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentRoleDialog</name>
    <message>
        <source>Add Agent Role</source>
        <translation>Dodaj rolę agenta</translation>
    </message>
    <message>
        <source>Duplicate Agent Role</source>
        <translation>Duplikuj rolę agenta</translation>
    </message>
    <message>
        <source>Edit Agent Role</source>
        <translation>Edytuj rolę agenta</translation>
    </message>
    <message>
        <source>e.g., Developer, Code Reviewer</source>
        <translation>np. Developer, Code Reviewer</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>Nazwa:</translation>
    </message>
    <message>
        <source>e.g., developer, code_reviewer</source>
        <translation>np. developer, code_reviewer</translation>
    </message>
    <message>
        <source>ID:</source>
        <translation>ID:</translation>
    </message>
    <message>
        <source>Brief description of this role...</source>
        <translation>Krótki opis tej roli...</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>Opis:</translation>
    </message>
    <message>
        <source>System Prompt:</source>
        <translation>Prompt systemowy:</translation>
    </message>
    <message>
        <source>You are an expert in...

Your role is to:
- Task 1
- Task 2
- Task 3</source>
        <translation>Jesteś ekspertem w...

Twoja rola to:
- Zadanie 1
- Zadanie 2
- Zadanie 3</translation>
    </message>
    <message>
        <source>ID cannot be changed for existing roles</source>
        <translation>ID nie może być zmienione dla istniejących ról</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentsWidget</name>
    <message>
        <source>Agents</source>
        <translation>Agenci</translation>
    </message>
    <message>
        <source>Reload from disk</source>
        <translation>Wczytaj ponownie z dysku</translation>
    </message>
    <message>
        <source>Open agents folder</source>
        <translation>Otwórz folder agentów</translation>
    </message>
    <message>
        <source>Open agent</source>
        <translation>Otwórz agenta</translation>
    </message>
    <message>
        <source>&apos;%1&apos; is bundled with the plugin and read-only.
Use Duplicate to create an editable user copy.</source>
        <translation>&apos;%1&apos; jest dołączony do wtyczki i tylko do odczytu.
Użyj Duplikuj, aby utworzyć edytowalną kopię użytkownika.</translation>
    </message>
    <message>
        <source>Agent &apos;%1&apos; has no editable source file.</source>
        <translation>Agent &apos;%1&apos; nie ma edytowalnego pliku źródłowego.</translation>
    </message>
    <message>
        <source>Could not open %1.</source>
        <translation>Nie można otworzyć %1.</translation>
    </message>
    <message>
        <source>Duplicate</source>
        <translation>Duplikuj</translation>
    </message>
    <message>
        <source>Delete Agent</source>
        <translation>Usuń agenta</translation>
    </message>
    <message>
        <source>Delete agent &apos;%1&apos;?

This will remove the file:
%2</source>
        <translation>Usunąć agenta &apos;%1&apos;?

To usunie plik:
%2</translation>
    </message>
    <message>
        <source>Could not delete the agent file:
%1</source>
        <translation>Nie można usunąć pliku agenta:
%1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::McpClientsListAspect</name>
    <message>
        <source>Connected.</source>
        <translation>Połączono.</translation>
    </message>
    <message>
        <source>Connecting…</source>
        <translation>Łączenie…</translation>
    </message>
    <message>
        <source>Failed.</source>
        <translation>Niepowodzenie.</translation>
    </message>
    <message>
        <source>Failed: %1</source>
        <translation>Niepowodzenie: %1</translation>
    </message>
    <message>
        <source>Disabled.</source>
        <translation>Wyłączone.</translation>
    </message>
    <message>
        <source>everything (reference test server)</source>
        <translation>everything (referencyjny serwer testowy)</translation>
    </message>
    <message>
        <source>filesystem (local files)</source>
        <translation>filesystem (pliki lokalne)</translation>
    </message>
    <message>
        <source>memory (in-memory key-value)</source>
        <translation>memory (klucz-wartość w pamięci)</translation>
    </message>
    <message>
        <source>git (local git ops)</source>
        <translation>git (lokalne operacje git)</translation>
    </message>
    <message>
        <source>time (system clock)</source>
        <translation>time (zegar systemowy)</translation>
    </message>
    <message>
        <source>qtcreator (Qt Creator&apos;s built-in MCP server)</source>
        <translation>qtcreator (wbudowany serwer MCP Qt Creator)</translation>
    </message>
    <message>
        <source>qt-docs (Qt documentation)</source>
        <translation>qt-docs (dokumentacja Qt)</translation>
    </message>
    <message>
        <source>remote (SSE / HTTP)</source>
        <translation>remote (SSE / HTTP)</translation>
    </message>
    <message>
        <source>Server reports no tools.</source>
        <translation>Serwer nie zgłasza żadnych narzędzi.</translation>
    </message>
    <message>
        <source>Tools</source>
        <translation>Narzędzia</translation>
    </message>
    <message>
        <source>Enable / disable this MCP server</source>
        <translation>Włącz / wyłącz ten serwer MCP</translation>
    </message>
    <message>
        <source>Remove this server from the config.</source>
        <translation>Usuń ten serwer z konfiguracji.</translation>
    </message>
    <message>
        <source>Remove server</source>
        <translation>Usuń serwer</translation>
    </message>
    <message>
        <source>Remove server &apos;%1&apos; from the config?</source>
        <translation>Usunąć serwer &apos;%1&apos; z konfiguracji?</translation>
    </message>
    <message>
        <source>Open Config</source>
        <translation>Otwórz konfigurację</translation>
    </message>
    <message>
        <source>Refresh MCP List</source>
        <translation>Odśwież listę MCP</translation>
    </message>
    <message>
        <source>Note: restart Qt Creator to apply MCP changes to already-opened chats and running sessions.</source>
        <translation>Uwaga: uruchom ponownie Qt Creator, aby zastosować zmiany MCP do już otwartych czatów i działających sesji.</translation>
    </message>
    <message>
        <source>Quick Setup</source>
        <translation>Szybka konfiguracja</translation>
    </message>
    <message>
        <source>Pick a preset to append a ready-made server entry to the config (auto-suffixed if the name is taken).</source>
        <translation>Wybierz szablon, aby dodać gotowy wpis serwera do konfiguracji (z automatycznym sufiksem, jeśli nazwa jest zajęta).</translation>
    </message>
    <message>
        <source>-- Select Preset --</source>
        <translation>-- Wybierz szablon --</translation>
    </message>
    <message>
        <source>No servers configured. Add a preset below or edit the JSON.</source>
        <translation>Nie skonfigurowano żadnych serwerów. Dodaj szablon poniżej lub edytuj JSON.</translation>
    </message>
    <message>
        <source>0 server(s) defined.</source>
        <translation>Zdefiniowano 0 serwerów.</translation>
    </message>
    <message>
        <source>%1 server(s) defined, %2 enabled.</source>
        <translation>Zdefiniowano serwerów: %1, włączonych: %2.</translation>
    </message>
    <message>
        <source>MCP configuration</source>
        <translation>Konfiguracja MCP</translation>
    </message>
    <message>
        <source>Failed to write %1:
%2</source>
        <translation>Nie udało się zapisać %1:
%2</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::ProviderDetailPane</name>
    <message>
        <source>Edit…</source>
        <translation>Edytuj…</translation>
    </message>
    <message>
        <source>Open in editor</source>
        <translation>Otwórz w edytorze</translation>
    </message>
    <message>
        <source>Open this provider&apos;s TOML file in Qt Creator. Bundled providers are read-only — duplicate first.</source>
        <translation>Otwórz plik TOML tego dostawcy w Qt Creator. Dołączeni dostawcy są tylko do odczytu — najpierw zduplikuj.</translation>
    </message>
    <message>
        <source>Duplicate…</source>
        <translation>Duplikuj…</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>Usuń</translation>
    </message>
    <message>
        <source>Cancel</source>
        <translation>Anuluj</translation>
    </message>
    <message>
        <source>Save</source>
        <translation>Zapisz</translation>
    </message>
    <message>
        <source>Identity</source>
        <translation>Tożsamość</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>Nazwa:</translation>
    </message>
    <message>
        <source>Client API:</source>
        <translation>API klienta:</translation>
    </message>
    <message>
        <source>The client API this provider speaks. Cannot be changed after creation.</source>
        <translation>API klienta używane przez tego dostawcę. Nie można zmienić po utworzeniu.</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>Opis:</translation>
    </message>
    <message>
        <source>Endpoint</source>
        <translation>Endpoint</translation>
    </message>
    <message>
        <source>URL:</source>
        <translation>URL:</translation>
    </message>
    <message>
        <source>Base URL. Agents append their endpoint path (e.g. /chat/completions) to this.</source>
        <translation>Bazowy URL. Agenci dodają do niego swoją ścieżkę endpointu (np. /chat/completions).</translation>
    </message>
    <message>
        <source>Credentials</source>
        <translation>Poświadczenia</translation>
    </message>
    <message>
        <source>Enter API key…</source>
        <translation>Wprowadź klucz API…</translation>
    </message>
    <message>
        <source>Show / hide API key</source>
        <translation>Pokaż / ukryj klucz API</translation>
    </message>
    <message>
        <source>Save key</source>
        <translation>Zapisz klucz</translation>
    </message>
    <message>
        <source>Clear</source>
        <translation>Wyczyść</translation>
    </message>
    <message>
        <source>Erase the stored API key for this provider</source>
        <translation>Wymaż zapisany klucz API dla tego dostawcy</translation>
    </message>
    <message>
        <source>API key:</source>
        <translation>Klucz API:</translation>
    </message>
    <message>
        <source>Launch</source>
        <translation>Uruchom</translation>
    </message>
    <message>
        <source>idle</source>
        <translation>bezczynny</translation>
    </message>
    <message>
        <source>Start</source>
        <translation>Uruchom</translation>
    </message>
    <message>
        <source>Stop</source>
        <translation>Zatrzymaj</translation>
    </message>
    <message>
        <source>Restart</source>
        <translation>Uruchom ponownie</translation>
    </message>
    <message>
        <source>▸ Show launch terminal</source>
        <translation>▸ Pokaż terminal uruchamiania</translation>
    </message>
    <message>
        <source>▾ Hide launch terminal</source>
        <translation>▾ Ukryj terminal uruchamiania</translation>
    </message>
    <message>
        <source>▸ Show raw TOML</source>
        <translation>▸ Pokaż surowy TOML</translation>
    </message>
    <message>
        <source>▾ Hide raw TOML</source>
        <translation>▾ Ukryj surowy TOML</translation>
    </message>
    <message>
        <source>No description provided.</source>
        <translation>Nie podano opisu.</translation>
    </message>
    <message>
        <source>— not required (local provider)</source>
        <translation>— niewymagane (lokalny dostawca)</translation>
    </message>
    <message>
        <source>This provider type does not use a key.</source>
        <translation>Ten typ dostawcy nie używa klucza.</translation>
    </message>
    <message>
        <source>Stored — enter a new key to replace it.</source>
        <translation>Zapisano — wprowadź nowy klucz, aby go zastąpić.</translation>
    </message>
    <message>
        <source>A key is stored. Type a new key and press Save key to replace it, or Clear to erase it.</source>
        <translation>Klucz jest zapisany. Wpisz nowy klucz i naciśnij Zapisz klucz, aby go zastąpić, lub Wyczyść, aby go wymazać.</translation>
    </message>
    <message>
        <source>No key stored yet. Type a key and press Save key.</source>
        <translation>Nie zapisano jeszcze żadnego klucza. Wpisz klucz i naciśnij Zapisz klucz.</translation>
    </message>
    <message>
        <source>Select a provider</source>
        <translation>Wybierz dostawcę</translation>
    </message>
    <message>
        <source>No [launch] block. This provider is treated as external — the plugin will not spawn or supervise any process. Add a [launch] block to the TOML to have the plugin manage a local server here.</source>
        <translation>Brak bloku [launch]. Ten dostawca jest traktowany jako zewnętrzny — wtyczka nie uruchomi ani nie będzie nadzorować żadnego procesu. Dodaj blok [launch] do TOML, aby wtyczka zarządzała tu lokalnym serwerem.</translation>
    </message>
    <message>
        <source> &lt;span style=&apos;color:gray&apos;&gt;(detached — survives Qt Creator restart)&lt;/span&gt;</source>
        <translation> &lt;span style=&apos;color:gray&apos;&gt;(odłączony — przetrwa restart Qt Creator)&lt;/span&gt;</translation>
    </message>
    <message>
        <source>starting…</source>
        <translation>uruchamianie…</translation>
    </message>
    <message>
        <source>probing…</source>
        <translation>sondowanie…</translation>
    </message>
    <message>
        <source>ready</source>
        <translation>gotowy</translation>
    </message>
    <message>
        <source>stopping…</source>
        <translation>zatrzymywanie…</translation>
    </message>
    <message>
        <source>failed</source>
        <translation>niepowodzenie</translation>
    </message>
    <message>
        <source>failed — %1</source>
        <translation>niepowodzenie — %1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::ProvidersPageWidget</name>
    <message>
        <source>Providers</source>
        <translation>Dostawcy</translation>
    </message>
    <message>
        <source>Filter providers…</source>
        <translation>Filtruj dostawców…</translation>
    </message>
    <message>
        <source>Open in editor</source>
        <translation>Otwórz w edytorze</translation>
    </message>
    <message>
        <source>Bundled providers are read-only. Use Duplicate to create an editable user copy first.</source>
        <translation>Dołączeni dostawcy są tylko do odczytu. Użyj Duplikuj, aby najpierw utworzyć edytowalną kopię użytkownika.</translation>
    </message>
    <message>
        <source>No user instances yet.</source>
        <translation>Brak instancji użytkownika.</translation>
    </message>
    <message>
        <source>No bundled instances loaded.</source>
        <translation>Nie załadowano żadnych dołączonych instancji.</translation>
    </message>
    <message>
        <source>User</source>
        <translation>Użytkownik</translation>
    </message>
    <message>
        <source>Bundled</source>
        <translation>Dołączeni</translation>
    </message>
    <message>
        <source>Duplicate provider</source>
        <translation>Duplikuj dostawcę</translation>
    </message>
    <message>
        <source>Name for the new provider:</source>
        <translation>Nazwa nowego dostawcy:</translation>
    </message>
    <message>
        <source>An instance named &apos;%1&apos; already exists.</source>
        <translation>Instancja o nazwie &apos;%1&apos; już istnieje.</translation>
    </message>
    <message>
        <source>Delete provider</source>
        <translation>Usuń dostawcę</translation>
    </message>
    <message>
        <source>Delete user provider &apos;%1&apos;?

File: %2</source>
        <translation>Usunąć dostawcę użytkownika &apos;%1&apos;?

Plik: %2</translation>
    </message>
    <message>
        <source>Failed to delete file:
%1</source>
        <translation>Nie udało się usunąć pliku:
%1</translation>
    </message>
    <message>
        <source>Save</source>
        <translation>Zapisz</translation>
    </message>
    <message>
        <source>Name cannot be empty.</source>
        <translation>Nazwa nie może być pusta.</translation>
    </message>
    <message>
        <source>Save anyway?</source>
        <translation>Zapisać mimo to?</translation>
    </message>
    <message>
        <source>Saved to:
%1

but could not remove the old file:
%2

Two provider files now describe this instance — delete the old file manually to avoid a duplicate-name error.</source>
        <translation>Zapisano do:
%1

ale nie udało się usunąć starego pliku:
%2

Dwa pliki dostawców opisują teraz tę instancję — usuń stary plik ręcznie, aby uniknąć błędu zduplikowanej nazwy.</translation>
    </message>
    <message>
        <source>Clear API key</source>
        <translation>Wyczyść klucz API</translation>
    </message>
    <message>
        <source>Erase the stored API key for &apos;%1&apos;?</source>
        <translation>Wymazać zapisany klucz API dla &apos;%1&apos;?</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::TagFilterStrip</name>
    <message>
        <source>FILTER BY TAG</source>
        <translation>FILTRUJ WEDŁUG TAGU</translation>
    </message>
    <message>
        <source>clear</source>
        <translation>wyczyść</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Tools::TodoTool</name>
    <message>
        <source>Error: &apos;tasks&apos; parameter (array) is required for &apos;add&apos; operation. Example: {&quot;operation&quot;: &quot;add&quot;, &quot;tasks&quot;: [&quot;Task 1&quot;, &quot;Task 2&quot;]}</source>
        <translation>Błąd: parametr &apos;tasks&apos; (tablica) jest wymagany dla operacji &apos;add&apos;. Przykład: {&quot;operation&quot;: &quot;add&quot;, &quot;tasks&quot;: [&quot;Task 1&quot;, &quot;Task 2&quot;]}</translation>
    </message>
    <message>
        <source>Error: &apos;tasks&apos; array cannot be empty. Provide at least one task.</source>
        <translation>Błąd: tablica &apos;tasks&apos; nie może być pusta. Podaj co najmniej jedno zadanie.</translation>
    </message>
    <message>
        <source>Error: All tasks in &apos;tasks&apos; array are empty strings.</source>
        <translation>Błąd: wszystkie zadania w tablicy &apos;tasks&apos; są pustymi ciągami.</translation>
    </message>
    <message>
        <source>Error: &apos;todo_ids&apos; parameter (array) is required for &apos;complete&apos; operation. Example: {&quot;operation&quot;: &quot;complete&quot;, &quot;todo_ids&quot;: [1, 2, 3]}</source>
        <translation>Błąd: parametr &apos;todo_ids&apos; (tablica) jest wymagany dla operacji &apos;complete&apos;. Przykład: {&quot;operation&quot;: &quot;complete&quot;, &quot;todo_ids&quot;: [1, 2, 3]}</translation>
    </message>
    <message>
        <source>Error: &apos;todo_ids&apos; array cannot be empty. Provide at least one ID.</source>
        <translation>Błąd: tablica &apos;todo_ids&apos; nie może być pusta. Podaj co najmniej jedno ID.</translation>
    </message>
    <message>
        <source>Error: All IDs in &apos;todo_ids&apos; array are invalid. IDs must be positive integers.</source>
        <translation>Błąd: wszystkie identyfikatory w tablicy &apos;todo_ids&apos; są nieprawidłowe. ID muszą być dodatnimi liczbami całkowitymi.</translation>
    </message>
    <message>
        <source>Error: Unknown operation &apos;%1&apos;. Valid operations: &apos;add&apos;, &apos;complete&apos;, &apos;list&apos;</source>
        <translation>Błąd: nieznana operacja &apos;%1&apos;. Prawidłowe operacje: &apos;add&apos;, &apos;complete&apos;, &apos;list&apos;</translation>
    </message>
    <message>
        <source>✓ Added 1 new task</source>
        <translation>✓ Dodano 1 nowe zadanie</translation>
    </message>
    <message>
        <source>✓ Added %1 new tasks</source>
        <translation>✓ Dodano nowych zadań: %1</translation>
    </message>
    <message>
        <source>Error: No todos found in this session</source>
        <translation>Błąd: nie znaleziono żadnych zadań w tej sesji</translation>
    </message>
    <message>
        <source>✓ Marked 1 task as completed</source>
        <translation>✓ Oznaczono 1 zadanie jako ukończone</translation>
    </message>
    <message>
        <source>✓ Marked %1 tasks as completed</source>
        <translation>✓ Oznaczono jako ukończone zadań: %1</translation>
    </message>
    <message>
        <source>⚠ %1 already completed</source>
        <translation>⚠ %1 już ukończone</translation>
    </message>
    <message>
        <source>❌ Not found: %1</source>
        <translation>❌ Nie znaleziono: %1</translation>
    </message>
    <message>
        <source>📋 TODO List: (empty)</source>
        <translation>📋 Lista zadań: (pusta)</translation>
    </message>
    <message>
        <source>📋 TODO List:</source>
        <translation>📋 Lista zadań:</translation>
    </message>
    <message>
        <source>Progress: %1/%2 completed (%3%)</source>
        <translation>Postęp: %1/%2 ukończono (%3%)</translation>
    </message>
    <message>
        <source>📋 All tasks completed! 🎉</source>
        <translation>📋 Wszystkie zadania ukończone! 🎉</translation>
    </message>
    <message>
        <source>📋 Remaining tasks:</source>
        <translation>📋 Pozostałe zadania:</translation>
    </message>
</context>
<context>
    <name>QodeAssist::UpdateDialog</name>
    <message>
        <source>QodeAssist Update</source>
        <translation>Aktualizacja QodeAssist</translation>
    </message>
    <message>
        <source>QodeAssist is an open-source project that helps
developers write better code. If you find it useful, please</source>
        <translation>QodeAssist to projekt open-source, który pomaga
deweloperom pisać lepszy kod. Jeśli uznasz go za przydatny, proszę</translation>
    </message>
    <message>
        <source>Install via Extension Registry (recommended)</source>
        <translation>Instalacja przez Extension Registry (zalecane)</translation>
    </message>
    <message>
        <source>In Qt Creator open Extensions → Browser tab, enable &quot;Use External Repository&quot;, add one of the URLs below and click Apply to install QodeAssist. Updates are then installed from the same screen.</source>
        <translation>W Qt Creatorze otwórz Extensions → kartę Browser, włącz „Use External Repository“, dodaj jeden z poniższych adresów URL i kliknij Apply, aby zainstalować QodeAssist. Aktualizacje są następnie instalowane z tego samego ekranu.</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>Latest (for the newest Qt Creator, always up to date)</source>
        <translation>Najnowsza (dla najnowszego Qt Creatora, zawsze aktualna)</translation>
    </message>
    <message>
        <source>Only for Qt Creator %1</source>
        <translation>Tylko dla Qt Creator %1</translation>
    </message>
    <message>
        <source>Alternative: QodeAssistUpdater</source>
        <translation>Alternatywa: QodeAssistUpdater</translation>
    </message>
    <message>
        <source>A standalone tool for installing and updating the plugin.</source>
        <translation>Samodzielne narzędzie do instalowania i aktualizowania wtyczki.</translation>
    </message>
    <message>
        <source>Download QodeAssistUpdater</source>
        <translation>Pobierz QodeAssistUpdater</translation>
    </message>
    <message>
        <source>A new version of QodeAssist is available!</source>
        <translation>Dostępna jest nowa wersja QodeAssist!</translation>
    </message>
    <message>
        <source>Version %1 is now available - you have %2</source>
        <translation>Wersja %1 jest teraz dostępna - masz %2</translation>
    </message>
    <message>
        <source>Release Notes:</source>
        <translation>Informacje o wydaniu:</translation>
    </message>
    <message>
        <source>Open Release Page</source>
        <translation>Otwórz stronę wydania</translation>
    </message>
    <message>
        <source>Open Plugin Folder</source>
        <translation>Otwórz folder wtyczki</translation>
    </message>
    <message>
        <source>Close</source>
        <translation>Zamknij</translation>
    </message>
    <message>
        <source>QodeAssist is up to date</source>
        <translation>QodeAssist jest aktualny</translation>
    </message>
    <message>
        <source>You are using the latest version: %1</source>
        <translation>Używasz najnowszej wersji: %1</translation>
    </message>
    <message>
        <source>No release notes available. Check the release page for more information.</source>
        <translation>Brak informacji o wydaniu. Sprawdź stronę wydania, aby uzyskać więcej informacji.</translation>
    </message>
</context>
<context>
    <name>QodeAssist::UpdateStatusWidget</name>
    <message>
        <source>Update</source>
        <translation>Aktualizuj</translation>
    </message>
    <message>
        <source>New version: v%1</source>
        <translation>Nowa wersja: v%1</translation>
    </message>
    <message>
        <source>Check update information</source>
        <translation>Sprawdź informacje o aktualizacji</translation>
    </message>
</context>
<context>
    <name>QtC::QodeAssist</name>
    <message>
        <source>Cannot create user provider folder:
%1</source>
        <translation>Nie można utworzyć folderu dostawcy użytkownika:
%1</translation>
    </message>
    <message>
        <source>Cannot pick a free filename in:
%1</source>
        <translation>Nie można wybrać wolnej nazwy pliku w:
%1</translation>
    </message>
    <message>
        <source>Cannot write %1:
%2</source>
        <translation>Nie można zapisać %1:
%2</translation>
    </message>
    <message>
        <source>Write failed for %1:
%2</source>
        <translation>Zapis nie powiódł się dla %1:
%2</translation>
    </message>
    <message>
        <source>Request timeout (seconds):</source>
        <translation>Limit czasu żądania (sekundy):</translation>
    </message>
    <message>
        <source>Maximum time to wait for the model to send data before a request is aborted. Applies to all requests — chat, code completion, quick refactor and chat compression. The timer resets every time data is received, so this effectively limits the time-to-first-token and any stall between tokens. Increase it for slow or local models that need a long time to start responding. Set to 0 to disable the timeout.</source>
        <translation>Maksymalny czas oczekiwania na dane od modelu, po którym żądanie zostaje przerwane. Dotyczy wszystkich żądań — czatu, uzupełniania kodu, szybkiego refaktoringu i kompresji czatu. Licznik jest resetowany przy każdym odebraniu danych, więc w praktyce ogranicza czas do pierwszego tokena oraz każdą przerwę między tokenami. Zwiększ go dla wolnych lub lokalnych modeli, które potrzebują dużo czasu, aby zacząć odpowiadać. Ustaw 0, aby wyłączyć limit czasu.</translation>
    </message>
    <message>
        <source>Quick Setup</source>
        <translation>Szybka konfiguracja</translation>
    </message>
    <message>
        <source>Configure API Key</source>
        <translation>Skonfiguruj klucz API</translation>
    </message>
    <message>
        <source>Open Provider Settings to configure API keys</source>
        <translation>Otwórz ustawienia dostawcy, aby skonfigurować klucze API</translation>
    </message>
    <message>
        <source>Load configuration (includes predefined cloud models)</source>
        <translation>Wczytaj konfigurację (zawiera predefiniowane modele w chmurze)</translation>
    </message>
    <message>
        <source>Show template information</source>
        <translation>Pokaż informacje o szablonie</translation>
    </message>
    <message>
        <source>Network</source>
        <translation>Sieć</translation>
    </message>
    <message>
        <source>Support the development of QodeAssist:</source>
        <translation>Wesprzyj rozwój QodeAssist:</translation>
    </message>
    <message>
        <source>Template Information</source>
        <translation>Informacje o szablonie</translation>
    </message>
    <message>
        <source>Template</source>
        <translation>Szablon</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>Opis:</translation>
    </message>
    <message>
        <source>Failed to save configuration. Check logs for details.</source>
        <translation>Nie udało się zapisać konfiguracji. Sprawdź logi, aby uzyskać szczegóły.</translation>
    </message>
    <message>
        <source>[Preset] configurations are predefined cloud models ready to use.</source>
        <translation>Konfiguracje [Preset] to predefiniowane modele w chmurze gotowe do użycia.</translation>
    </message>
    <message>
        <source>Predefined configurations cannot be deleted.</source>
        <translation>Nie można usunąć predefiniowanych konfiguracji.</translation>
    </message>
    <message>
        <source>Failed to delete configuration.</source>
        <translation>Nie udało się usunąć konfiguracji.</translation>
    </message>
    <message>
        <source>-- Select Preset --</source>
        <translation>-- Wybierz szablon --</translation>
    </message>
    <message>
        <source>Enable QodeAssist</source>
        <translation>Włącz QodeAssist</translation>
    </message>
    <message>
        <source>General</source>
        <translation>Ogólne</translation>
    </message>
    <message>
        <source>Reset Page to Defaults</source>
        <translation>Przywróć stronę do wartości domyślnych</translation>
    </message>
    <message>
        <source>Check Update</source>
        <translation>Sprawdź aktualizację</translation>
    </message>
    <message>
        <source>Select...</source>
        <translation>Wybierz...</translation>
    </message>
    <message>
        <source>Provider:</source>
        <translation>Dostawca:</translation>
    </message>
    <message>
        <source>Model:</source>
        <translation>Model:</translation>
    </message>
    <message>
        <source>Template:</source>
        <translation>Szablon:</translation>
    </message>
    <message>
        <source>URL:</source>
        <translation>URL:</translation>
    </message>
    <message>
        <source>Status:</source>
        <translation>Stan:</translation>
    </message>
    <message>
        <source>Test</source>
        <translation>Testuj</translation>
    </message>
    <message>
        <source>Enable Logging</source>
        <translation>Włącz logowanie</translation>
    </message>
    <message>
        <source>Log messages are visible in General Messages pane</source>
        <translation>Wiadomości logu są widoczne w panelu Ogólnych wiadomości</translation>
    </message>
    <message>
        <source>Check for updates when Qt Creator starts</source>
        <translation>Sprawdzaj aktualizacje przy uruchamianiu Qt Creator</translation>
    </message>
    <message>
        <source>Enable Chat(If you have performance issues try disabling this, need restart QtC)</source>
        <translation>Włącz czat (jeśli masz problemy z wydajnością, spróbuj to wyłączyć, wymaga restartu QtC)</translation>
    </message>
    <message>
        <source>Custom endpoint:</source>
        <translation>Niestandardowy endpoint:</translation>
    </message>
    <message>
        <source>Code Completion</source>
        <translation>Uzupełnianie kodu</translation>
    </message>
    <message>
        <source>Chat Assistant</source>
        <translation>Asystent czatu</translation>
    </message>
    <message>
        <source>Quick Refactor</source>
        <translation>Szybki refaktoring</translation>
    </message>
    <message>
        <source>Chat Compression</source>
        <translation>Kompresja czatu</translation>
    </message>
    <message>
        <source>Agent Pipelines</source>
        <translation>Pipeline&apos;y agentów</translation>
    </message>
    <message>
        <source>Inline completions while you type. Matchers run on every request.</source>
        <translation>Wbudowane uzupełnienia podczas pisania. Matchery są uruchamiane przy każdym żądaniu.</translation>
    </message>
    <message>
        <source>Conversational assistant in the QodeAssist panel.</source>
        <translation>Konwersacyjny asystent w panelu QodeAssist.</translation>
    </message>
    <message>
        <source>Used when a chat conversation needs to be summarised to stay within context.</source>
        <translation>Używane, gdy rozmowa czatu musi zostać podsumowana, aby pozostać w kontekście.</translation>
    </message>
    <message>
        <source>Inline editor-driven refactors via the Quick Refactor action.</source>
        <translation>Refaktoringi sterowane edytorem inline za pomocą akcji Szybki refaktoring.</translation>
    </message>
    <message>
        <source>Reset Settings</source>
        <translation>Zresetuj ustawienia</translation>
    </message>
    <message>
        <source>Are you sure you want to reset all settings to default values?</source>
        <translation>Czy na pewno chcesz zresetować wszystkie ustawienia do wartości domyślnych?</translation>
    </message>
    <message>
        <source>Current template description:</source>
        <translation>Opis bieżącego szablonu:</translation>
    </message>
    <message>
        <source>Connection Error</source>
        <translation>Błąd połączenia</translation>
    </message>
    <message>
        <source>Unable to retrieve the list of models from the server.</source>
        <translation>Nie można pobrać listy modeli z serwera.</translation>
    </message>
    <message>
        <source>Please verify the following:
- Server is running and accessible
- URL is correct
- Provider is properly configured
- API key is correctly set (if required)

You can try selecting a different provider or changing the URL:</source>
        <translation>Sprawdź następujące elementy:
- Serwer jest uruchomiony i dostępny
- URL jest poprawny
- Dostawca jest poprawnie skonfigurowany
- Klucz API jest poprawnie ustawiony (jeśli wymagany)

Możesz spróbować wybrać innego dostawcę lub zmienić URL:</translation>
    </message>
    <message>
        <source>Select Provider</source>
        <translation>Wybierz dostawcę</translation>
    </message>
    <message>
        <source>Select URL</source>
        <translation>Wybierz URL</translation>
    </message>
    <message>
        <source>Close</source>
        <translation>Zamknij</translation>
    </message>
    <message>
        <source>Model Selection</source>
        <translation>Wybór modelu</translation>
    </message>
    <message>
        <source>Select from previously used models or enter a new model name.

If entering a new model name:
• For providers with automatic listing - ensure the model is installed
• For providers without listing support - check provider&apos;s documentation
• Make sure the model name matches exactly</source>
        <translation>Wybierz spośród wcześniej używanych modeli lub wprowadź nową nazwę modelu.

Jeśli wprowadzasz nową nazwę modelu:
• Dla dostawców z automatycznym listowaniem - upewnij się, że model jest zainstalowany
• Dla dostawców bez obsługi listowania - sprawdź dokumentację dostawcy
• Upewnij się, że nazwa modelu jest dokładnie taka sama</translation>
    </message>
    <message>
        <source>Model name:</source>
        <translation>Nazwa modelu:</translation>
    </message>
    <message>
        <source>OK</source>
        <translation>OK</translation>
    </message>
    <message>
        <source>Cancel</source>
        <translation>Anuluj</translation>
    </message>
    <message>
        <source>Enter Model Manually</source>
        <translation>Wprowadź model ręcznie</translation>
    </message>
    <message>
        <source>URL Selection</source>
        <translation>Wybór URL</translation>
    </message>
    <message>
        <source>Select from the list of default and previously used URLs, or enter a custom one.
Please ensure the selected URL is accessible and the service is running.</source>
        <translation>Wybierz z listy domyślnych i wcześniej używanych URL-i lub wprowadź niestandardowy.
Upewnij się, że wybrany URL jest dostępny, a usługa działa.</translation>
    </message>
    <message>
        <source>Use default provider URL or from history</source>
        <translation>Użyj domyślnego URL dostawcy lub z historii</translation>
    </message>
    <message>
        <source>Enter custom URL</source>
        <translation>Wprowadź niestandardowy URL</translation>
    </message>
    <message>
        <source>Enter Model Name Manually</source>
        <translation>Wprowadź nazwę modelu ręcznie</translation>
    </message>
    <message>
        <source>Auto Completion Settings</source>
        <translation>Ustawienia autouzupełniania</translation>
    </message>
    <message>
        <source>Add new preset for language</source>
        <translation>Dodaj nowy szablon dla języka</translation>
    </message>
    <message>
        <source>Save Config...</source>
        <translation>Zapisz konfigurację...</translation>
    </message>
    <message>
        <source>Load Config...</source>
        <translation>Wczytaj konfigurację...</translation>
    </message>
    <message>
        <source>Open Folder</source>
        <translation>Otwórz folder</translation>
    </message>
    <message>
        <source>Save Configuration</source>
        <translation>Zapisz konfigurację</translation>
    </message>
    <message>
        <source>Load Configuration</source>
        <translation>Wczytaj konfigurację</translation>
    </message>
    <message>
        <source>Configuration name:</source>
        <translation>Nazwa konfiguracji:</translation>
    </message>
    <message>
        <source>Select Configuration</source>
        <translation>Wybierz konfigurację</translation>
    </message>
    <message>
        <source>No saved configurations found.</source>
        <translation>Nie znaleziono zapisanych konfiguracji.</translation>
    </message>
    <message>
        <source>Configuration saved successfully.</source>
        <translation>Konfiguracja zapisana pomyślnie.</translation>
    </message>
    <message>
        <source>Configuration loaded successfully.</source>
        <translation>Konfiguracja wczytana pomyślnie.</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>Usuń</translation>
    </message>
    <message>
        <source>Are you sure you want to delete this configuration?</source>
        <translation>Czy na pewno chcesz usunąć tę konfigurację?</translation>
    </message>
    <message>
        <source>Enable Auto Complete</source>
        <translation>Włącz autouzupełnianie</translation>
    </message>
    <message>
        <source>Enable Multiline Completion</source>
        <translation>Włącz wielowierszowe uzupełnianie</translation>
    </message>
    <message>
        <source>Text output proccessing mode:</source>
        <translation>Tryb przetwarzania wyjścia tekstowego:</translation>
    </message>
    <message>
        <source>Auto: Automatically detects codeblock and applies processing when found, other text as comments
Force Processing: Always processes text with codeblock formatting and other text as comments
Raw Text: Shows unprocessed text without any formatting</source>
        <translation>Auto: automatycznie wykrywa blok kodu i stosuje przetwarzanie, gdy go znajdzie, inny tekst jako komentarze
Wymuś przetwarzanie: zawsze przetwarza tekst z formatowaniem bloku kodu i innym tekstem jako komentarze
Surowy tekst: pokazuje nieprzetworzony tekst bez formatowania</translation>
    </message>
    <message>
        <source>Completion trigger mode:</source>
        <translation>Tryb wyzwalania uzupełniania:</translation>
    </message>
    <message>
        <source>Hint-based: Shows a hint when typing, press Tab to request completion
Automatic: Automatically requests completion after typing threshold</source>
        <translation>Oparty na podpowiedzi: pokazuje podpowiedź podczas pisania, naciśnij Tab, aby zażądać uzupełnienia
Automatyczny: automatycznie żąda uzupełnienia po przekroczeniu progu pisania</translation>
    </message>
    <message>
        <source>Completion mode:</source>
        <translation>Tryb uzupełniania:</translation>
    </message>
    <message>
        <source>Automatic: requests completion while typing (with smart context gates).
Manual: no auto-triggering; invoke via the &apos;Request QodeAssist Suggestion&apos; shortcut (default Ctrl+Alt+Q, reconfigurable in Preferences &gt; Keyboard).</source>
        <translation>Automatyczny: żąda uzupełnienia podczas pisania (z inteligentnymi bramkami kontekstu).
Ręczny: brak automatycznego wyzwalania; wywołaj za pomocą skrótu &apos;Żądaj sugestii QodeAssist&apos; (domyślnie Ctrl+Alt+Q, konfigurowalny w Preferencje &gt; Klawiatura).</translation>
    </message>
    <message>
        <source>Smart context-aware triggering</source>
        <translation>Inteligentne wyzwalanie świadome kontekstu</translation>
    </message>
    <message>
        <source>When enabled, auto-completion is suppressed in places where Qt Creator&apos;s built-in completion is usually stronger (middle of an identifier, right after &apos;.&apos;, &apos;-&gt;&apos;, &apos;::&apos;) and is triggered more eagerly after structural characters like &apos;(&apos;, &apos;,&apos;, &apos;{&apos;, &apos;=&apos; and on fresh indented lines.</source>
        <translation>Po włączeniu autouzupełnianie jest tłumione w miejscach, gdzie wbudowane uzupełnianie Qt Creator jest zwykle silniejsze (w środku identyfikatora, zaraz po &apos;.&apos;, &apos;-&gt;&apos;, &apos;::&apos;), i jest chętniej wyzwalane po znakach strukturalnych jak &apos;(&apos;, &apos;,&apos;, &apos;{&apos;, &apos;=&apos; oraz w nowych wciętych wierszach.</translation>
    </message>
    <message>
        <source>Don&apos;t dismiss Qt Creator&apos;s completion popup</source>
        <translation>Nie zamykaj okienka uzupełniania Qt Creator</translation>
    </message>
    <message>
        <source>When enabled, an AI completion arriving while Qt Creator&apos;s own completion popup is already visible will not force it closed. The LLM suggestion still appears inline.</source>
        <translation>Po włączeniu uzupełnienie AI nadchodzące, gdy własne okienko uzupełniania Qt Creator jest już widoczne, nie zostanie zamknięte na siłę. Sugestia LLM nadal pojawi się inline.</translation>
    </message>
    <message>
        <source>Cancel in-flight request on new input</source>
        <translation>Anuluj trwające żądanie przy nowym wejściu</translation>
    </message>
    <message>
        <source>When enabled, every new keystroke cancels any completion request already in flight and restarts the debounce timer. Useful for slow local models where an outdated answer is rarely worth waiting for.
When disabled (default), the in-flight request is kept; when the answer arrives, the plugin compares it with characters typed in the meantime and either trims the matching prefix or drops the answer.</source>
        <translation>Po włączeniu każde nowe naciśnięcie klawisza anuluje wszelkie trwające żądania uzupełnienia i restartuje timer debounce. Przydatne dla wolnych lokalnych modeli, gdzie nieaktualna odpowiedź rzadko jest warta oczekiwania.
Po wyłączeniu (domyślnie) trwające żądanie jest zachowywane; gdy nadchodzi odpowiedź, wtyczka porównuje ją ze znakami wpisanymi w międzyczasie i albo przycina pasujący prefiks, albo odrzuca odpowiedź.</translation>
    </message>
    <message>
        <source>with delay(ms)</source>
        <translation>z opóźnieniem (ms)</translation>
    </message>
    <message>
        <source>Delay before sending the completion request.
(Only for Automatic trigger mode)</source>
        <translation>Opóźnienie przed wysłaniem żądania uzupełnienia.
(Tylko dla trybu automatycznego wyzwalania)</translation>
    </message>
    <message>
        <source>AI suggestion triggers after typing</source>
        <translation>Sugestia AI wyzwala się po wpisaniu</translation>
    </message>
    <message>
        <source>The number of characters that need to be typed within the typing interval before an AI suggestion request is sent automatically.
(Only for Automatic trigger mode)</source>
        <translation>Liczba znaków, które należy wpisać w interwale pisania, zanim żądanie sugestii AI zostanie wysłane automatycznie.
(Tylko dla trybu automatycznego wyzwalania)</translation>
    </message>
    <message>
        <source>character(s) within(ms)</source>
        <translation>znaków w ciągu (ms)</translation>
    </message>
    <message>
        <source>The time window (in milliseconds) during which the character threshold must be met to trigger an AI suggestion request automatically.
(Only for Automatic trigger mode)</source>
        <translation>Okno czasowe (w milisekundach), w którym musi zostać osiągnięty próg znaków, aby automatycznie wyzwolić żądanie sugestii AI.
(Tylko dla trybu automatycznego wyzwalania)</translation>
    </message>
    <message>
        <source>Hint shows after typing</source>
        <translation>Podpowiedź pokazuje się po wpisaniu</translation>
    </message>
    <message>
        <source>The number of characters that need to be typed before the hint widget appears (only for Hint-based trigger mode).</source>
        <translation>Liczba znaków, które należy wpisać, zanim pojawi się widget podpowiedzi (tylko dla trybu wyzwalania opartego na podpowiedzi).</translation>
    </message>
    <message>
        <source>Hint auto-hide timeout (ms)</source>
        <translation>Czas automatycznego ukrycia podpowiedzi (ms)</translation>
    </message>
    <message>
        <source>Time in milliseconds after which the hint widget will automatically hide (only for Hint-based trigger mode).</source>
        <translation>Czas w milisekundach, po którym widget podpowiedzi zostanie automatycznie ukryty (tylko dla trybu wyzwalania opartego na podpowiedzi).</translation>
    </message>
    <message>
        <source>Trigger key:</source>
        <translation>Klawisz wyzwalający:</translation>
    </message>
    <message>
        <source>Key to press for requesting completion when hint is visible.
Space is recommended as least conflicting with context menu.
(Only for Hint-based trigger mode)</source>
        <translation>Klawisz do naciśnięcia, aby zażądać uzupełnienia, gdy podpowiedź jest widoczna.
Spacja jest zalecana jako najmniej kolidująca z menu kontekstowym.
(Tylko dla trybu wyzwalania opartego na podpowiedzi)</translation>
    </message>
    <message>
        <source>Ignore spaces and tabs in character count</source>
        <translation>Ignoruj spacje i tabulatory w liczeniu znaków</translation>
    </message>
    <message>
        <source>When enabled, spaces and tabs are not counted towards the character threshold for triggering completions. This helps trigger completions based on actual code characters only.</source>
        <translation>Po włączeniu spacje i tabulatory nie są liczone do progu znaków wyzwalającego uzupełnienia. Pomaga to wyzwalać uzupełnienia tylko na podstawie rzeczywistych znaków kodu.</translation>
    </message>
    <message>
        <source>Temperature:</source>
        <translation>Temperatura:</translation>
    </message>
    <message>
        <source>Max Tokens:</source>
        <translation>Maks. tokenów:</translation>
    </message>
    <message>
        <source>Top P:</source>
        <translation>Top P:</translation>
    </message>
    <message>
        <source>Top K:</source>
        <translation>Top K:</translation>
    </message>
    <message>
        <source>Presence Penalty:</source>
        <translation>Kara za obecność:</translation>
    </message>
    <message>
        <source>Frequency Penalty:</source>
        <translation>Kara za częstotliwość:</translation>
    </message>
    <message>
        <source>Read Full File</source>
        <translation>Czytaj cały plik</translation>
    </message>
    <message>
        <source>Read Strings Before Cursor:</source>
        <translation>Odczytaj ciągi przed kursorem:</translation>
    </message>
    <message>
        <source>Read Strings After Cursor:</source>
        <translation>Odczytaj ciągi po kursorze:</translation>
    </message>
    <message>
        <source>Use System Prompt</source>
        <translation>Użyj promptu systemowego</translation>
    </message>
    <message>
        <source>Use special system prompt and user message for non FIM models</source>
        <translation>Użyj specjalnego promptu systemowego i wiadomości użytkownika dla modeli innych niż FIM</translation>
    </message>
    <message>
        <source>System prompt for non FIM models:</source>
        <translation>Prompt systemowy dla modeli innych niż FIM:</translation>
    </message>
    <message>
        <source>User message for non FIM models:</source>
        <translation>Wiadomość użytkownika dla modeli innych niż FIM:</translation>
    </message>
    <message>
        <source>Additional Programming Languages for handling: Example: rust,//,rust rs,rs</source>
        <translation>Dodatkowe języki programowania do obsługi: Przykład: rust,//,rust rs,rs</translation>
    </message>
    <message>
        <source>Specify additional programming languages in format: name,comment_style,model_names,extensions
Example: rust,//,rust rs,rs
Fields: language name, comment prefix, names from LLM (space-separated), file extensions (space-separated)</source>
        <translation>Określ dodatkowe języki programowania w formacie: nazwa,styl_komentarza,nazwy_modeli,rozszerzenia
Przykład: rust,//,rust rs,rs
Pola: nazwa języka, prefiks komentarza, nazwy z LLM (oddzielone spacjami), rozszerzenia plików (oddzielone spacjami)</translation>
    </message>
    <message>
        <source>Show progress indicator during code completion</source>
        <translation>Pokaż wskaźnik postępu podczas uzupełniania kodu</translation>
    </message>
    <message>
        <source>Abort existing assist on new completion request</source>
        <translation>Przerwij istniejący asystent przy nowym żądaniu uzupełnienia</translation>
    </message>
    <message>
        <source>When enabled, cancels any active Qt Creator code assist popup before requesting LLM completion.
(Only for Automatic trigger mode)</source>
        <translation>Po włączeniu anuluje aktywne okienko asystenta kodu Qt Creator przed zażądaniem uzupełnienia LLM.
(Tylko dla trybu automatycznego wyzwalania)</translation>
    </message>
    <message>
        <source>Include context from open files</source>
        <translation>Uwzględnij kontekst z otwartych plików</translation>
    </message>
    <message>
        <source>Max Changes Cache Size:</source>
        <translation>Maks. rozmiar pamięci podręcznej zmian:</translation>
    </message>
    <message>
        <source>Time to suspend Ollama after completion request (in minutes), Only Ollama,  -1 to disable</source>
        <translation>Czas zawieszenia Ollama po żądaniu uzupełnienia (w minutach), tylko Ollama, -1 aby wyłączyć</translation>
    </message>
    <message>
        <source>Context Window:</source>
        <translation>Okno kontekstu:</translation>
    </message>
    <message>
        <source>Reasoning effort:</source>
        <translation>Wysiłek rozumowania:</translation>
    </message>
    <message>
        <source>Constrains effort on reasoning for OpenAI gpt-5 and o-series models:

None: No reasoning (gpt-5.1 only)
Minimal: Minimal reasoning effort (o-series only)
Low: Low reasoning effort
Medium: Balanced reasoning (default for most models)
High: Maximum reasoning effort (gpt-5-pro only supports this)

Note: Reducing effort = faster responses + fewer tokens</source>
        <translation>Ogranicza wysiłek rozumowania dla modeli OpenAI gpt-5 i serii o:

Brak: brak rozumowania (tylko gpt-5.1)
Minimalny: minimalny wysiłek rozumowania (tylko seria o)
Niski: niski wysiłek rozumowania
Średni: zrównoważone rozumowanie (domyślne dla większości modeli)
Wysoki: maksymalny wysiłek rozumowania (obsługiwany tylko przez gpt-5-pro)

Uwaga: zmniejszenie wysiłku = szybsze odpowiedzi + mniej tokenów</translation>
    </message>
    <message>
        <source>Prompts for FIM models</source>
        <translation>Prompty dla modeli FIM</translation>
    </message>
    <message>
        <source>Prompts for Non FIM models</source>
        <translation>Prompty dla modeli innych niż FIM</translation>
    </message>
    <message>
        <source>General Settings</source>
        <translation>Ustawienia ogólne</translation>
    </message>
    <message>
        <source>Automatic Trigger Mode</source>
        <translation>Tryb automatycznego wyzwalania</translation>
    </message>
    <message>
        <source>General Parameters</source>
        <translation>Parametry ogólne</translation>
    </message>
    <message>
        <source>Advanced Parameters</source>
        <translation>Parametry zaawansowane</translation>
    </message>
    <message>
        <source>Context Settings</source>
        <translation>Ustawienia kontekstu</translation>
    </message>
    <message>
        <source>OpenAI Responses API</source>
        <translation>API odpowiedzi OpenAI</translation>
    </message>
    <message>
        <source>Ollama Settings</source>
        <translation>Ustawienia Ollama</translation>
    </message>
    <message>
        <source>Sync open files with assistant by default</source>
        <translation>Domyślnie synchronizuj otwarte pliki z asystentem</translation>
    </message>
    <message>
        <source>Enable autosave when message received</source>
        <translation>Włącz autozapis po otrzymaniu wiadomości</translation>
    </message>
    <message>
        <source>Enable chat in bottom toolbar</source>
        <translation>Włącz czat w dolnym pasku narzędzi</translation>
    </message>
    <message>
        <source>Enable chat in navigation panel</source>
        <translation>Włącz czat w panelu nawigacji</translation>
    </message>
    <message>
        <source>Enable tools/function calling</source>
        <translation>Włącz wywoływanie narzędzi/funkcji</translation>
    </message>
    <message>
        <source>When enabled, AI can use tools to read files, search project, and build code</source>
        <translation>Po włączeniu AI może używać narzędzi do odczytu plików, przeszukiwania projektu i budowania kodu</translation>
    </message>
    <message>
        <source>Auto-compress chat when session tokens exceed:</source>
        <translation>Automatycznie kompresuj czat, gdy tokeny sesji przekroczą:</translation>
    </message>
    <message>
        <source>After each assistant response, if the running session token total exceeds the threshold, the chat is summarized and a new compressed chat is started automatically. The original chat is preserved on disk.</source>
        <translation>Po każdej odpowiedzi asystenta, jeśli suma tokenów bieżącej sesji przekroczy próg, czat jest podsumowywany, a nowy skompresowany czat jest automatycznie uruchamiany. Oryginalny czat jest zachowywany na dysku.</translation>
    </message>
    <message>
        <source>Enable extended thinking mode.</source>
        <translation>Włącz tryb rozszerzonego myślenia.</translation>
    </message>
    <message>
        <source>Enable extended thinking mode for complex reasoning tasks.This provides step-by-step reasoning before the final answer.Temperature is 1.0 accordingly API requirement</source>
        <translation>Włącz tryb rozszerzonego myślenia dla złożonych zadań rozumowania. Zapewnia to rozumowanie krok po kroku przed ostateczną odpowiedzią. Temperatura wynosi 1.0 zgodnie z wymaganiem API</translation>
    </message>
    <message>
        <source>Thinking budget tokens:</source>
        <translation>Budżet tokenów myślenia:</translation>
    </message>
    <message>
        <source>Maximum number of tokens Claude can use for internal reasoning. Larger budgets improve quality but increase latency. Minimum: 1024, Recommended: 10000-16000.</source>
        <translation>Maksymalna liczba tokenów, których Claude może użyć do wewnętrznego rozumowania. Większe budżety poprawiają jakość, ale zwiększają opóźnienie. Minimum: 1024, zalecane: 10000-16000.</translation>
    </message>
    <message>
        <source>Thinking mode max output tokens:</source>
        <translation>Maks. tokenów wyjściowych w trybie myślenia:</translation>
    </message>
    <message>
        <source>Maximum number of tokens for the final response when thinking mode is enabled. Set to -1 to use the default max tokens setting. Recommended: 4096-16000.</source>
        <translation>Maksymalna liczba tokenów dla ostatecznej odpowiedzi, gdy tryb myślenia jest włączony. Ustaw -1, aby użyć domyślnego ustawienia maks. tokenów. Zalecane: 4096-16000.</translation>
    </message>
    <message>
        <source>Text Font:</source>
        <translation>Czcionka tekstu:</translation>
    </message>
    <message>
        <source>Text Font Size:</source>
        <translation>Rozmiar czcionki tekstu:</translation>
    </message>
    <message>
        <source>Code Font:</source>
        <translation>Czcionka kodu:</translation>
    </message>
    <message>
        <source>Code Font Size:</source>
        <translation>Rozmiar czcionki kodu:</translation>
    </message>
    <message>
        <source>Text Format:</source>
        <translation>Format tekstu:</translation>
    </message>
    <message>
        <source>Chat Renderer:</source>
        <translation>Renderer czatu:</translation>
    </message>
    <message>
        <source>Chat Settings</source>
        <translation>Ustawienia czatu</translation>
    </message>
    <message>
        <source>Tools</source>
        <translation>Narzędzia</translation>
    </message>
    <message>
        <source>Extended Thinking (Claude)</source>
        <translation>Rozszerzone myślenie (Claude)</translation>
    </message>
    <message>
        <source>Agent Roles</source>
        <translation>Role agentów</translation>
    </message>
    <message>
        <source>Enable Tools</source>
        <translation>Włącz narzędzia</translation>
    </message>
    <message>
        <source>Enable AI tools/functions for quick refactoring (allows reading project files, searching code, etc.)</source>
        <translation>Włącz narzędzia/funkcje AI dla szybkiego refaktoringu (umożliwia odczyt plików projektu, wyszukiwanie kodu itp.)</translation>
    </message>
    <message>
        <source>Enable Thinking Mode</source>
        <translation>Włącz tryb myślenia</translation>
    </message>
    <message>
        <source>Enable extended thinking mode for complex refactoring tasks (supported by compatible models like Claude and Google AI)</source>
        <translation>Włącz tryb rozszerzonego myślenia dla złożonych zadań refaktoringu (obsługiwane przez kompatybilne modele takie jak Claude i Google AI)</translation>
    </message>
    <message>
        <source>Thinking Budget Tokens:</source>
        <translation>Budżet tokenów myślenia:</translation>
    </message>
    <message>
        <source>Number of tokens allocated for thinking process. Use -1 for dynamic thinking (model decides), 0 to disable, or positive value for custom budget</source>
        <translation>Liczba tokenów przydzielonych do procesu myślenia. Użyj -1 dla dynamicznego myślenia (decyduje model), 0 aby wyłączyć, lub wartości dodatniej dla niestandardowego budżetu</translation>
    </message>
    <message>
        <source>Thinking Max Output Tokens:</source>
        <translation>Maks. tokenów wyjściowych myślenia:</translation>
    </message>
    <message>
        <source>Maximum output tokens when thinking mode is enabled (includes thinking + response)</source>
        <translation>Maksymalna liczba tokenów wyjściowych, gdy tryb myślenia jest włączony (obejmuje myślenie + odpowiedź)</translation>
    </message>
    <message>
        <source>Lines Before Cursor/Selection:</source>
        <translation>Wiersze przed kursorem/zaznaczeniem:</translation>
    </message>
    <message>
        <source>Number of lines to include before cursor or selection for context</source>
        <translation>Liczba wierszy do uwzględnienia przed kursorem lub zaznaczeniem dla kontekstu</translation>
    </message>
    <message>
        <source>Lines After Cursor/Selection:</source>
        <translation>Wiersze po kursorze/zaznaczeniu:</translation>
    </message>
    <message>
        <source>Number of lines to include after cursor or selection for context</source>
        <translation>Liczba wierszy do uwzględnienia po kursorze lub zaznaczeniu dla kontekstu</translation>
    </message>
    <message>
        <source>Display Mode:</source>
        <translation>Tryb wyświetlania:</translation>
    </message>
    <message>
        <source>Choose how to display refactoring suggestions:
- Inline Widget: Shows refactor in a widget overlay with Apply/Decline buttons (default)
- Qt Creator Suggestion: Uses Qt Creator&apos;s built-in suggestion system</source>
        <translation>Wybierz sposób wyświetlania sugestii refaktoringu:
- Widget inline: pokazuje refaktoring w nakładce widgetu z przyciskami Zastosuj/Odrzuć (domyślnie)
- Sugestia Qt Creator: używa wbudowanego systemu sugestii Qt Creator</translation>
    </message>
    <message>
        <source>Inline Widget</source>
        <translation>Widget inline</translation>
    </message>
    <message>
        <source>Qt Creator Suggestion</source>
        <translation>Sugestia Qt Creator</translation>
    </message>
    <message>
        <source>Widget Orientation:</source>
        <translation>Orientacja widgetu:</translation>
    </message>
    <message>
        <source>Choose default orientation for refactor widget:
- Horizontal: Original and refactored code side by side (default)
- Vertical: Original and refactored code stacked vertically</source>
        <translation>Wybierz domyślną orientację widgetu refaktoringu:
- Poziomo: oryginalny i zrefaktoryzowany kod obok siebie (domyślnie)
- Pionowo: oryginalny i zrefaktoryzowany kod ułożone pionowo</translation>
    </message>
    <message>
        <source>Horizontal</source>
        <translation>Poziomo</translation>
    </message>
    <message>
        <source>Vertical</source>
        <translation>Pionowo</translation>
    </message>
    <message>
        <source>Widget Minimum Width:</source>
        <translation>Minimalna szerokość widgetu:</translation>
    </message>
    <message>
        <source>Minimum width for the refactor widget (in pixels)</source>
        <translation>Minimalna szerokość widgetu refaktoringu (w pikselach)</translation>
    </message>
    <message>
        <source>Widget Maximum Width:</source>
        <translation>Maksymalna szerokość widgetu:</translation>
    </message>
    <message>
        <source>Maximum width for the refactor widget (in pixels)</source>
        <translation>Maksymalna szerokość widgetu refaktoringu (w pikselach)</translation>
    </message>
    <message>
        <source>Widget Minimum Height:</source>
        <translation>Minimalna wysokość widgetu:</translation>
    </message>
    <message>
        <source>Minimum height for the refactor widget (in pixels)</source>
        <translation>Minimalna wysokość widgetu refaktoringu (w pikselach)</translation>
    </message>
    <message>
        <source>Widget Maximum Height:</source>
        <translation>Maksymalna wysokość widgetu:</translation>
    </message>
    <message>
        <source>Maximum height for the refactor widget (in pixels)</source>
        <translation>Maksymalna wysokość widgetu refaktoringu (w pikselach)</translation>
    </message>
    <message>
        <source>System Prompt:</source>
        <translation>Prompt systemowy:</translation>
    </message>
    <message>
        <source>Include context from open files in quick refactor</source>
        <translation>Uwzględnij kontekst z otwartych plików w szybkim refaktoringu</translation>
    </message>
    <message>
        <source>Tools Settings</source>
        <translation>Ustawienia narzędzi</translation>
    </message>
    <message>
        <source>Display Settings</source>
        <translation>Ustawienia wyświetlania</translation>
    </message>
    <message>
        <source>Prompt Settings</source>
        <translation>Ustawienia promptu</translation>
    </message>
    <message>
        <source>Allow file access outside project</source>
        <translation>Zezwól na dostęp do plików poza projektem</translation>
    </message>
    <message>
        <source>Allow tools to read, write, and create files outside the project scope (system headers, Qt files, external libraries).</source>
        <translation>Zezwól narzędziom na odczyt, zapis i tworzenie plików poza zakresem projektu (nagłówki systemowe, pliki Qt, biblioteki zewnętrzne).</translation>
    </message>
    <message>
        <source>Automatically apply file edits</source>
        <translation>Automatycznie stosuj edycje plików</translation>
    </message>
    <message>
        <source>When enabled, file edits suggested by AI are applied immediately. When disabled, each edit is staged for manual approval.</source>
        <translation>Po włączeniu edycje plików sugerowane przez AI są stosowane natychmiast. Po wyłączeniu każda edycja jest przygotowywana do ręcznego zatwierdzenia.</translation>
    </message>
    <message>
        <source>Max tool continuations:</source>
        <translation>Maks. kontynuacji narzędzia:</translation>
    </message>
    <message>
        <source>Maximum number of consecutive tool-use rounds in a single request. Each round lets the model call tools and receive results before continuing. Higher values allow more complex multi-step tasks but increase token usage.</source>
        <translation>Maksymalna liczba kolejnych rund użycia narzędzi w pojedynczym żądaniu. Każda runda pozwala modelowi wywoływać narzędzia i otrzymywać wyniki przed kontynuacją. Wyższe wartości umożliwiają bardziej złożone zadania wieloetapowe, ale zwiększają użycie tokenów.</translation>
    </message>
    <message>
        <source>List Project Files</source>
        <translation>Wyświetl pliki projektu</translation>
    </message>
    <message>
        <source>Lists every source file tracked by the active Qt Creator project(s).</source>
        <translation>Wyświetla każdy plik źródłowy śledzony przez aktywne projekty Qt Creator.</translation>
    </message>
    <message>
        <source>Find File</source>
        <translation>Znajdź plik</translation>
    </message>
    <message>
        <source>Locates a file in the project by name or partial path. Returns paths only, without file content.</source>
        <translation>Lokalizuje plik w projekcie po nazwie lub częściowej ścieżce. Zwraca tylko ścieżki, bez zawartości pliku.</translation>
    </message>
    <message>
        <source>Read File</source>
        <translation>Odczytaj plik</translation>
    </message>
    <message>
        <source>Reads the content of a file by absolute path or path relative to the project root.</source>
        <translation>Odczytuje zawartość pliku po ścieżce bezwzględnej lub ścieżce względem katalogu głównego projektu.</translation>
    </message>
    <message>
        <source>Search in Project</source>
        <translation>Szukaj w projekcie</translation>
    </message>
    <message>
        <source>Searches project files for text occurrences or C++ symbol definitions.</source>
        <translation>Przeszukuje pliki projektu w poszukiwaniu wystąpień tekstu lub definicji symboli C++.</translation>
    </message>
    <message>
        <source>Create New File</source>
        <translation>Utwórz nowy plik</translation>
    </message>
    <message>
        <source>Creates a new empty file at the given absolute path, making missing directories.</source>
        <translation>Tworzy nowy pusty plik pod podaną ścieżką bezwzględną, tworząc brakujące katalogi.</translation>
    </message>
    <message>
        <source>Edit File</source>
        <translation>Edytuj plik</translation>
    </message>
    <message>
        <source>Applies find-and-replace edits to files. See &quot;Automatically apply file edits&quot; to control whether edits apply immediately or wait for review.</source>
        <translation>Stosuje edycje znajdź-i-zamień do plików. Zobacz &quot;Automatycznie stosuj edycje plików&quot;, aby kontrolować, czy edycje są stosowane natychmiast, czy czekają na przegląd.</translation>
    </message>
    <message>
        <source>Build Project</source>
        <translation>Buduj projekt</translation>
    </message>
    <message>
        <source>Triggers a build of the active Qt Creator project and reports the result.</source>
        <translation>Wyzwala budowanie aktywnego projektu Qt Creator i raportuje wynik.</translation>
    </message>
    <message>
        <source>Get Issues List</source>
        <translation>Pobierz listę problemów</translation>
    </message>
    <message>
        <source>Reads compiler/clang diagnostics from Qt Creator&apos;s Issues panel.</source>
        <translation>Odczytuje diagnostykę kompilatora/clang z panelu Problemy Qt Creator.</translation>
    </message>
    <message>
        <source>Execute Terminal Command</source>
        <translation>Wykonaj polecenie terminala</translation>
    </message>
    <message>
        <source>Runs a command from the OS-specific allowed list below, in the project directory.</source>
        <translation>Uruchamia polecenie z poniższej listy dozwolonej dla danego systemu operacyjnego, w katalogu projektu.</translation>
    </message>
    <message>
        <source>Todo</source>
        <translation>Zadania</translation>
    </message>
    <message>
        <source>Lets the AI maintain a session-scoped todo list for multi-step workflows.</source>
        <translation>Pozwala AI utrzymywać listę zadań ograniczoną do sesji dla wieloetapowych przepływów pracy.</translation>
    </message>
    <message>
        <source>Read Original History (Pre-Compression)</source>
        <translation>Odczytaj oryginalną historię (sprzed kompresji)</translation>
    </message>
    <message>
        <source>Lets the AI read the original, full chat history from before the conversation was compressed into a summary. Useful when a detail is missing from the summary currently in context. Has no effect if the chat was never compressed.</source>
        <translation>Pozwala AI odczytać oryginalną, pełną historię czatu sprzed skompresowania rozmowy do podsumowania. Przydatne, gdy brakuje szczegółu w podsumowaniu obecnym w kontekście. Nie ma efektu, jeśli czat nigdy nie był skompresowany.</translation>
    </message>
    <message>
        <source>Load Skill</source>
        <translation>Wczytaj umiejętność</translation>
    </message>
    <message>
        <source>Lets the AI load the full instructions of a skill on demand. The Available Skills catalog in the system prompt lists each skill; this tool pulls a skill&apos;s complete instructions into context when needed.</source>
        <translation>Pozwala AI wczytać pełne instrukcje umiejętności na żądanie. Katalog Dostępnych umiejętności w prompcie systemowym wymienia każdą umiejętność; to narzędzie pobiera kompletne instrukcje umiejętności do kontekstu, gdy są potrzebne.</translation>
    </message>
    <message>
        <source>Allowed Commands (Linux)</source>
        <translation>Dozwolone polecenia (Linux)</translation>
    </message>
    <message>
        <source>Comma-separated list of terminal commands that AI is allowed to execute on Linux. Example: git, ls, cat, grep, find, cmake</source>
        <translation>Lista poleceń terminala oddzielonych przecinkami, które AI może wykonywać w systemie Linux. Przykład: git, ls, cat, grep, find, cmake</translation>
    </message>
    <message>
        <source>Allowed Commands (macOS)</source>
        <translation>Dozwolone polecenia (macOS)</translation>
    </message>
    <message>
        <source>Comma-separated list of terminal commands that AI is allowed to execute on macOS. Example: git, ls, cat, grep, find, cmake</source>
        <translation>Lista poleceń terminala oddzielonych przecinkami, które AI może wykonywać w systemie macOS. Przykład: git, ls, cat, grep, find, cmake</translation>
    </message>
    <message>
        <source>Allowed Commands (Windows)</source>
        <translation>Dozwolone polecenia (Windows)</translation>
    </message>
    <message>
        <source>Comma-separated list of terminal commands that AI is allowed to execute on Windows. Example: git, dir, type, findstr, where, cmake</source>
        <translation>Lista poleceń terminala oddzielonych przecinkami, które AI może wykonywać w systemie Windows. Przykład: git, dir, type, findstr, where, cmake</translation>
    </message>
    <message>
        <source>Command Timeout (seconds)</source>
        <translation>Limit czasu polecenia (sekundy)</translation>
    </message>
    <message>
        <source>Maximum time in seconds to wait for a terminal command to complete. Increase for long-running commands like builds.</source>
        <translation>Maksymalny czas w sekundach oczekiwania na zakończenie polecenia terminala. Zwiększ dla długo działających poleceń, takich jak budowanie.</translation>
    </message>
    <message>
        <source>Tool Settings</source>
        <translation>Ustawienia narzędzia</translation>
    </message>
    <message>
        <source>Skills</source>
        <translation>Umiejętności</translation>
    </message>
    <message>
        <source>Enable skills</source>
        <translation>Włącz umiejętności</translation>
    </message>
    <message>
        <source>Discover Agent Skills from the configured skill directories and expose them to the chat assistant. Each skill is a folder containing a SKILL.md file.</source>
        <translation>Wykrywaj umiejętności agenta ze skonfigurowanych katalogów umiejętności i udostępniaj je asystentowi czatu. Każda umiejętność to folder zawierający plik SKILL.md.</translation>
    </message>
    <message>
        <source>Global skill directories:</source>
        <translation>Globalne katalogi umiejętności:</translation>
    </message>
    <message>
        <source>Absolute paths scanned for skills, one per line. Each path is a directory whose subfolders contain SKILL.md files. A leading ~ expands to your home directory. Lets QodeAssist pick up skills shared with other agents (e.g. ~/.claude/skills).</source>
        <translation>Ścieżki bezwzględne skanowane w poszukiwaniu umiejętności, po jednej na wiersz. Każda ścieżka to katalog, którego podfoldery zawierają pliki SKILL.md. Wiodące ~ rozwija się do katalogu domowego. Pozwala QodeAssist wykrywać umiejętności współdzielone z innymi agentami (np. ~/.claude/skills).</translation>
    </message>
    <message>
        <source>No skills discovered.</source>
        <translation>Nie wykryto żadnych umiejętności.</translation>
    </message>
    <message>
        <source>Skill Directories</source>
        <translation>Katalogi umiejętności</translation>
    </message>
    <message>
        <source>Discovered global skills:</source>
        <translation>Wykryte globalne umiejętności:</translation>
    </message>
    <message>
        <source>MCP</source>
        <translation>MCP</translation>
    </message>
    <message>
        <source>Enable MCP server</source>
        <translation>Włącz serwer MCP</translation>
    </message>
    <message>
        <source>Expose QodeAssist tools to external MCP clients over HTTP. Which tools are visible is controlled on the client side.</source>
        <translation>Udostępniaj narzędzia QodeAssist zewnętrznym klientom MCP przez HTTP. To, które narzędzia są widoczne, jest kontrolowane po stronie klienta.</translation>
    </message>
    <message>
        <source>Server port</source>
        <translation>Port serwera</translation>
    </message>
    <message>
        <source>TCP port the MCP server listens on (localhost only). Requires restart of the server after change.</source>
        <translation>Port TCP, na którym nasłuchuje serwer MCP (tylko localhost). Wymaga restartu serwera po zmianie.</translation>
    </message>
    <message>
        <source>Connect to external MCP servers</source>
        <translation>Łącz się z zewnętrznymi serwerami MCP</translation>
    </message>
    <message>
        <source>Connect to MCP servers listed in mcp-server.json and expose their tools to chat/quick-refactor/code-completion. Toggling this off disconnects all currently running MCP client sessions.</source>
        <translation>Łącz się z serwerami MCP wymienionymi w mcp-server.json i udostępniaj ich narzędzia czatowi/szybkiemu refaktoringowi/uzupełnianiu kodu. Wyłączenie tego rozłącza wszystkie obecnie działające sesje klienta MCP.</translation>
    </message>
    <message>
        <source>Extra PATH for stdio servers</source>
        <translation>Dodatkowa PATH dla serwerów stdio</translation>
    </message>
    <message>
        <source>Directories to prepend to PATH when launching stdio MCP servers. Useful when Qt Creator is started from the dock and doesn&apos;t see Homebrew, nvm, uv, etc. Separate multiple entries with &apos;%1&apos;. Per-server &apos;env&apos; overrides in mcp-server.json still win.</source>
        <translation>Katalogi do dodania na początku PATH przy uruchamianiu serwerów stdio MCP. Przydatne, gdy Qt Creator jest uruchamiany z docka i nie widzi Homebrew, nvm, uv itp. Oddziel wiele wpisów znakiem &apos;%1&apos;. Nadpisania &apos;env&apos; dla poszczególnych serwerów w mcp-server.json nadal mają pierwszeństwo.</translation>
    </message>
    <message>
        <source>How to connect...</source>
        <translation>Jak się połączyć...</translation>
    </message>
    <message>
        <source>Server</source>
        <translation>Serwer</translation>
    </message>
    <message>
        <source>Clients</source>
        <translation>Klienci</translation>
    </message>
    <message>
        <source>Connect to QodeAssist MCP</source>
        <translation>Połącz z QodeAssist MCP</translation>
    </message>
    <message>
        <source>Server URL: &lt;code&gt;%1&lt;/code&gt;. If your MCP client speaks HTTP/SSE natively, use the &lt;b&gt;Direct&lt;/b&gt; tab. If it only speaks stdio (e.g. Claude Desktop), use the &lt;b&gt;Bridge&lt;/b&gt; tab.</source>
        <translation>URL serwera: &lt;code&gt;%1&lt;/code&gt;. Jeśli Twój klient MCP natywnie obsługuje HTTP/SSE, użyj karty &lt;b&gt;Direct&lt;/b&gt;. Jeśli obsługuje tylko stdio (np. Claude Desktop), użyj karty &lt;b&gt;Bridge&lt;/b&gt;.</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>&lt;b&gt;Claude Code&lt;/b&gt; (CLI): run once —</source>
        <translation>&lt;b&gt;Claude Code&lt;/b&gt; (CLI): uruchom raz —</translation>
    </message>
    <message>
        <source>&lt;b&gt;VS Code&lt;/b&gt;: save as &lt;code&gt;.vscode/mcp.json&lt;/code&gt; in the workspace:</source>
        <translation>&lt;b&gt;VS Code&lt;/b&gt;: zapisz jako &lt;code&gt;.vscode/mcp.json&lt;/code&gt; w obszarze roboczym:</translation>
    </message>
    <message>
        <source>Any other client that reads an &lt;code&gt;mcpServers&lt;/code&gt; JSON block:</source>
        <translation>Każdy inny klient, który czyta blok JSON &lt;code&gt;mcpServers&lt;/code&gt;:</translation>
    </message>
    <message>
        <source>Direct (HTTP/SSE)</source>
        <translation>Direct (HTTP/SSE)</translation>
    </message>
    <message>
        <source>&lt;b&gt;1.&lt;/b&gt; Download &lt;code&gt;mcp-bridge&lt;/code&gt; for your OS from &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;.</source>
        <translation>&lt;b&gt;1.&lt;/b&gt; Pobierz &lt;code&gt;mcp-bridge&lt;/code&gt; dla swojego systemu z &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;.</translation>
    </message>
    <message>
        <source>&lt;b&gt;2.&lt;/b&gt; Save the following as &lt;code&gt;mcp-bridge.json&lt;/code&gt;:</source>
        <translation>&lt;b&gt;2.&lt;/b&gt; Zapisz poniższe jako &lt;code&gt;mcp-bridge.json&lt;/code&gt;:</translation>
    </message>
    <message>
        <source>&lt;b&gt;3.&lt;/b&gt; Point the stdio-only client at the bridge. Example for &lt;code&gt;claude_desktop_config.json&lt;/code&gt;:</source>
        <translation>&lt;b&gt;3.&lt;/b&gt; Skieruj klienta obsługującego tylko stdio na bridge. Przykład dla &lt;code&gt;claude_desktop_config.json&lt;/code&gt;:</translation>
    </message>
    <message>
        <source>Bridge (stdio)</source>
        <translation>Bridge (stdio)</translation>
    </message>
    <message>
        <source>Chat History Path:</source>
        <translation>Ścieżka historii czatu:</translation>
    </message>
    <message>
        <source>Skill directories:</source>
        <translation>Katalogi umiejętności:</translation>
    </message>
    <message>
        <source>Project-relative subdirectories scanned for Agent Skills, one per line. Resolved against the project root. These take priority over the global skill directories when a skill name appears in both.</source>
        <translation>Podkatalogi względem projektu skanowane w poszukiwaniu umiejętności agenta, po jednym na wiersz. Rozwiązywane względem katalogu głównego projektu. Mają one priorytet nad globalnymi katalogami umiejętności, gdy nazwa umiejętności pojawia się w obu.</translation>
    </message>
    <message>
        <source>Discovered project skills:</source>
        <translation>Wykryte umiejętności projektu:</translation>
    </message>
    <message>
        <source>QodeAssist</source>
        <translation>QodeAssist</translation>
    </message>
    <message>
        <source>Provider Settings</source>
        <translation>Ustawienia dostawcy</translation>
    </message>
    <message>
        <source>OpenRouter API Key:</source>
        <translation>Klucz API OpenRouter:</translation>
    </message>
    <message>
        <source>Enter your API key here</source>
        <translation>Wprowadź tutaj swój klucz API</translation>
    </message>
    <message>
        <source>OpenAI Compatible API Key:</source>
        <translation>Klucz API zgodny z OpenAI:</translation>
    </message>
    <message>
        <source>Claude API Key:</source>
        <translation>Klucz API Claude:</translation>
    </message>
    <message>
        <source>Enable prompt caching</source>
        <translation>Włącz pamięć podręczną promptów</translation>
    </message>
    <message>
        <source>Marks the system prompt, tool definitions, and stable chat history with cache_control so Anthropic caches the request prefix (5-minute TTL). Reduces cost and latency on repeated turns.</source>
        <translation>Oznacza prompt systemowy, definicje narzędzi i stabilną historię czatu znacznikiem cache_control, aby Anthropic buforował prefiks żądania (TTL 5 minut). Zmniejsza koszt i opóźnienie przy powtarzających się turach.</translation>
    </message>
    <message>
        <source>Use 1h cache TTL (beta)</source>
        <translation>Użyj 1-godzinnego TTL pamięci podręcznej (beta)</translation>
    </message>
    <message>
        <source>Requests Anthropic&apos;s 1-hour cache TTL instead of the default 5 minutes. Sends the extended-cache-ttl-2025-04-11 beta header.</source>
        <translation>Żąda 1-godzinnego TTL pamięci podręcznej Anthropic zamiast domyślnych 5 minut. Wysyła nagłówek beta extended-cache-ttl-2025-04-11.</translation>
    </message>
    <message>
        <source>OpenAI API Key:</source>
        <translation>Klucz API OpenAI:</translation>
    </message>
    <message>
        <source>Mistral AI API Key:</source>
        <translation>Klucz API Mistral AI:</translation>
    </message>
    <message>
        <source>Codestral API Key:</source>
        <translation>Klucz API Codestral:</translation>
    </message>
    <message>
        <source>Google AI API Key:</source>
        <translation>Klucz API Google AI:</translation>
    </message>
    <message>
        <source>Ollama(Bearer) API Key:</source>
        <translation>Klucz API Ollama (Bearer):</translation>
    </message>
    <message>
        <source>llama.cpp API Key:</source>
        <translation>Klucz API llama.cpp:</translation>
    </message>
    <message>
        <source>Qwen API Key:</source>
        <translation>Klucz API Qwen:</translation>
    </message>
    <message>
        <source>DeepSeek API Key:</source>
        <translation>Klucz API DeepSeek:</translation>
    </message>
    <message>
        <source>OpenRouter Settings</source>
        <translation>Ustawienia OpenRouter</translation>
    </message>
    <message>
        <source>OpenAI Settings</source>
        <translation>Ustawienia OpenAI</translation>
    </message>
    <message>
        <source>OpenAI Compatible Settings</source>
        <translation>Ustawienia zgodne z OpenAI</translation>
    </message>
    <message>
        <source>Claude Settings</source>
        <translation>Ustawienia Claude</translation>
    </message>
    <message>
        <source>Mistral AI Settings</source>
        <translation>Ustawienia Mistral AI</translation>
    </message>
    <message>
        <source>Google AI Settings</source>
        <translation>Ustawienia Google AI</translation>
    </message>
    <message>
        <source>llama.cpp Settings</source>
        <translation>Ustawienia llama.cpp</translation>
    </message>
    <message>
        <source>Qwen (Alibaba) Settings</source>
        <translation>Ustawienia Qwen (Alibaba)</translation>
    </message>
    <message>
        <source>DeepSeek Settings</source>
        <translation>Ustawienia DeepSeek</translation>
    </message>
    <message>
        <source>Agent roles define different system prompts for specific tasks.</source>
        <translation>Role agentów definiują różne prompty systemowe dla określonych zadań.</translation>
    </message>
    <message>
        <source>Open Roles Folder...</source>
        <translation>Otwórz folder ról...</translation>
    </message>
    <message>
        <source>Add...</source>
        <translation>Dodaj...</translation>
    </message>
    <message>
        <source>Edit...</source>
        <translation>Edytuj...</translation>
    </message>
    <message>
        <source>Duplicate...</source>
        <translation>Duplikuj...</translation>
    </message>
    <message>
        <source>(Built-in role)</source>
        <translation>(Wbudowana rola)</translation>
    </message>
    <message>
        <source>Role Already Exists</source>
        <translation>Rola już istnieje</translation>
    </message>
    <message>
        <source>A role with ID &apos;%1&apos; already exists. Please use a different ID.</source>
        <translation>Rola o ID &apos;%1&apos; już istnieje. Użyj innego ID.</translation>
    </message>
    <message>
        <source>Error</source>
        <translation>Błąd</translation>
    </message>
    <message>
        <source>Failed to save role &apos;%1&apos;.</source>
        <translation>Nie udało się zapisać roli &apos;%1&apos;.</translation>
    </message>
    <message>
        <source>Cannot Edit Built-in Role</source>
        <translation>Nie można edytować wbudowanej roli</translation>
    </message>
    <message>
        <source>Built-in roles cannot be edited. You can duplicate this role and modify the copy.</source>
        <translation>Wbudowane role nie mogą być edytowane. Możesz zduplikować tę rolę i zmodyfikować kopię.</translation>
    </message>
    <message>
        <source>Failed to update role &apos;%1&apos;.</source>
        <translation>Nie udało się zaktualizować roli &apos;%1&apos;.</translation>
    </message>
    <message>
        <source>Failed to duplicate role.</source>
        <translation>Nie udało się zduplikować roli.</translation>
    </message>
    <message>
        <source>Cannot Delete Built-in Role</source>
        <translation>Nie można usunąć wbudowanej roli</translation>
    </message>
    <message>
        <source>Built-in roles cannot be deleted.</source>
        <translation>Wbudowane role nie mogą być usuwane.</translation>
    </message>
    <message>
        <source>Delete Role</source>
        <translation>Usuń rolę</translation>
    </message>
    <message>
        <source>Are you sure you want to delete the role &apos;%1&apos;?</source>
        <translation>Czy na pewno chcesz usunąć rolę &apos;%1&apos;?</translation>
    </message>
    <message>
        <source>Failed to delete role &apos;%1&apos;.</source>
        <translation>Nie udało się usunąć roli &apos;%1&apos;.</translation>
    </message>
    <message>
        <source>Generate QodeAssist suggestion at the current cursor position.</source>
        <translation>Generuj sugestię QodeAssist w bieżącej pozycji kursora.</translation>
    </message>
    <message>
        <source>Request QodeAssist Suggestion</source>
        <translation>Żądaj sugestii QodeAssist</translation>
    </message>
    <message>
        <source>Refactor code using QodeAssist</source>
        <translation>Refaktoryzuj kod przy użyciu QodeAssist</translation>
    </message>
    <message>
        <source>Quick Refactor with QodeAssist</source>
        <translation>Szybki refaktoring z QodeAssist</translation>
    </message>
    <message>
        <source>Open QodeAssist Chat as an editor tab</source>
        <translation>Otwórz czat QodeAssist jako kartę edytora</translation>
    </message>
    <message>
        <source>Show QodeAssist Chat</source>
        <translation>Pokaż czat QodeAssist</translation>
    </message>
    <message>
        <source>Close QodeAssist Chat</source>
        <translation>Zamknij czat QodeAssist</translation>
    </message>
    <message>
        <source>Open QodeAssist Chat in Separate Window</source>
        <translation>Otwórz czat QodeAssist w osobnym oknie</translation>
    </message>
    <message>
        <source>Open the QodeAssist chat in a separate window</source>
        <translation>Otwórz czat QodeAssist w osobnym oknie</translation>
    </message>
    <message>
        <source>New QodeAssist Chat</source>
        <translation>Nowy czat QodeAssist</translation>
    </message>
    <message>
        <source>Open a fresh chat in a new editor tab</source>
        <translation>Otwórz nowy czat w nowej karcie edytora</translation>
    </message>
    <message>
        <source>Send QodeAssist Chat Message</source>
        <translation>Wyślij wiadomość czatu QodeAssist</translation>
    </message>
    <message>
        <source>Send the current message to the LLM</source>
        <translation>Wyślij bieżącą wiadomość do LLM</translation>
    </message>
    <message>
        <source>Clear QodeAssist Chat Session</source>
        <translation>Wyczyść sesję czatu QodeAssist</translation>
    </message>
    <message>
        <source>Clear the current chat session</source>
        <translation>Wyczyść bieżącą sesję czatu</translation>
    </message>
    <message>
        <source>QodeAssist Chat</source>
        <translation>Czat QodeAssist</translation>
    </message>
    <message>
        <source>Chat in Bottom Panel</source>
        <translation>Czat w dolnym panelu</translation>
    </message>
    <message>
        <source>Chat in Sidebar</source>
        <translation>Czat na pasku bocznym</translation>
    </message>
    <message>
        <source>Open Chat in Editor</source>
        <translation>Otwórz czat w edytorze</translation>
    </message>
    <message>
        <source>Open Chat in Separate Window</source>
        <translation>Otwórz czat w osobnym oknie</translation>
    </message>
    <message>
        <source>Select LLM Provider</source>
        <translation>Wybierz dostawcę LLM</translation>
    </message>
    <message>
        <source>Providers:</source>
        <translation>Dostawcy:</translation>
    </message>
    <message>
        <source>Select LLM Model</source>
        <translation>Wybierz model LLM</translation>
    </message>
    <message>
        <source>Models:</source>
        <translation>Modele:</translation>
    </message>
    <message>
        <source>Select Template</source>
        <translation>Wybierz szablon</translation>
    </message>
    <message>
        <source>Templates:</source>
        <translation>Szablony:</translation>
    </message>
    <message>
        <source>Switch AI configuration</source>
        <translation>Przełącz konfigurację AI</translation>
    </message>
    <message>
        <source>Enable/Disable AI Tools</source>
        <translation>Włącz/wyłącz narzędzia AI</translation>
    </message>
    <message>
        <source>Enable/Disable Thinking Mode</source>
        <translation>Włącz/wyłącz tryb myślenia</translation>
    </message>
    <message>
        <source>Open Quick Refactor Settings</source>
        <translation>Otwórz ustawienia szybkiego refaktoringu</translation>
    </message>
    <message>
        <source>Your Current Instruction:</source>
        <translation>Twoja bieżąca instrukcja:</translation>
    </message>
    <message>
        <source>Type or edit your instruction...</source>
        <translation>Wpisz lub edytuj swoją instrukcję...</translation>
    </message>
    <message>
        <source>Or Load saved:</source>
        <translation>Lub wczytaj zapisaną:</translation>
    </message>
    <message>
        <source>Search saved instructions...</source>
        <translation>Szukaj zapisanych instrukcji...</translation>
    </message>
    <message>
        <source>Add Custom Instruction</source>
        <translation>Dodaj niestandardową instrukcję</translation>
    </message>
    <message>
        <source>Edit Custom Instruction</source>
        <translation>Edytuj niestandardową instrukcję</translation>
    </message>
    <message>
        <source>Delete Custom Instruction</source>
        <translation>Usuń niestandardową instrukcję</translation>
    </message>
    <message>
        <source>Open Instructions Folder</source>
        <translation>Otwórz folder instrukcji</translation>
    </message>
    <message>
        <source>Repeat Last Instructions</source>
        <translation>Powtórz ostatnie instrukcje</translation>
    </message>
    <message>
        <source>Improve Current Code</source>
        <translation>Ulepsz bieżący kod</translation>
    </message>
    <message>
        <source>Suggest Alternative Solution</source>
        <translation>Zasugeruj alternatywne rozwiązanie</translation>
    </message>
    <message>
        <source>Improve the selected code by enhancing readability, efficiency, and maintainability. Follow best practices for C++/Qt and fix any potential issues.</source>
        <translation>Ulepsz wybrany kod, zwiększając czytelność, wydajność i łatwość utrzymania. Postępuj zgodnie z najlepszymi praktykami dla C++/Qt i napraw wszelkie potencjalne problemy.</translation>
    </message>
    <message>
        <source>Suggest an alternative implementation approach for the selected code. Provide a different solution that might be cleaner, more efficient, or uses different Qt/C++ patterns or idioms.</source>
        <translation>Zaproponuj alternatywne podejście do implementacji dla wybranego kodu. Podaj inne rozwiązanie, które może być czystsze, bardziej wydajne lub używa innych wzorców czy idiomów Qt/C++.</translation>
    </message>
    <message>
        <source>Failed to save custom instruction. Check logs for details.</source>
        <translation>Nie udało się zapisać niestandardowej instrukcji. Sprawdź logi, aby uzyskać szczegóły.</translation>
    </message>
    <message>
        <source>No Instruction Selected</source>
        <translation>Nie wybrano instrukcji</translation>
    </message>
    <message>
        <source>Please select an instruction to edit.</source>
        <translation>Wybierz instrukcję do edycji.</translation>
    </message>
    <message>
        <source>Failed to update custom instruction. Check logs for details.</source>
        <translation>Nie udało się zaktualizować niestandardowej instrukcji. Sprawdź logi, aby uzyskać szczegóły.</translation>
    </message>
    <message>
        <source>Please select an instruction to delete.</source>
        <translation>Wybierz instrukcję do usunięcia.</translation>
    </message>
    <message>
        <source>Confirm Deletion</source>
        <translation>Potwierdź usunięcie</translation>
    </message>
    <message>
        <source>Are you sure you want to delete the instruction &apos;%1&apos;?</source>
        <translation>Czy na pewno chcesz usunąć instrukcję &apos;%1&apos;?</translation>
    </message>
    <message>
        <source>Failed to delete custom instruction. Check logs for details.</source>
        <translation>Nie udało się usunąć niestandardowej instrukcji. Sprawdź logi, aby uzyskać szczegóły.</translation>
    </message>
    <message>
        <source>Current</source>
        <translation>Bieżąca</translation>
    </message>
    <message>
        <source>Current (%1)</source>
        <translation>Bieżąca (%1)</translation>
    </message>
    <message>
        <source>No Instruction</source>
        <translation>Brak instrukcji</translation>
    </message>
    <message>
        <source>Please type an instruction or select a saved one.</source>
        <translation>Wpisz instrukcję lub wybierz zapisaną.</translation>
    </message>
    <message>
        <source>Enter instruction name...</source>
        <translation>Wprowadź nazwę instrukcji...</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>Nazwa:</translation>
    </message>
    <message>
        <source>Instruction Body:</source>
        <translation>Treść instrukcji:</translation>
    </message>
    <message>
        <source>Enter the refactoring instruction that will be sent to the LLM...</source>
        <translation>Wprowadź instrukcję refaktoringu, która zostanie wysłana do LLM...</translation>
    </message>
    <message>
        <source>Set as default instruction</source>
        <translation>Ustaw jako instrukcję domyślną</translation>
    </message>
    <message>
        <source>This instruction will be automatically selected when opening Quick Refactor dialog</source>
        <translation>Ta instrukcja zostanie automatycznie wybrana przy otwieraniu okna szybkiego refaktoringu</translation>
    </message>
    <message>
        <source>Invalid Input</source>
        <translation>Nieprawidłowe wejście</translation>
    </message>
    <message>
        <source>Instruction name cannot be empty.</source>
        <translation>Nazwa instrukcji nie może być pusta.</translation>
    </message>
    <message>
        <source>Instruction body cannot be empty.</source>
        <translation>Treść instrukcji nie może być pusta.</translation>
    </message>
</context>
<context>
    <name>RootItem</name>
    <message>
        <source>Compressing chat…</source>
        <translation>Kompresowanie czatu…</translation>
    </message>
    <message>
        <source>next ~%1  ·  session ↑%2 ↓%3 ↻%4</source>
        <translation>następne ~%1  ·  sesja ↑%2 ↓%3 ↻%4</translation>
    </message>
    <message>
        <source>next ~%1  ·  session ↑%2 ↓%3</source>
        <translation>następne ~%1  ·  sesja ↑%2 ↓%3</translation>
    </message>
    <message>
        <source>next request (estimate)  ·  session prompt ↑ / completion ↓ / cached ↻ (provider cache hits)</source>
        <translation>następne żądanie (szacunek)  ·  sesyjny prompt ↑ / uzupełnienie ↓ / z pamięci podręcznej ↻ (trafienia w pamięć podręczną dostawcy)</translation>
    </message>
    <message>
        <source>next request (estimate)  ·  session prompt ↑ / completion ↓</source>
        <translation>następne żądanie (szacunek)  ·  sesyjny prompt ↑ / uzupełnienie ↓</translation>
    </message>
    <message>
        <source>Сhat name: %1</source>
        <translation>Nazwa czatu: %1</translation>
    </message>
    <message>
        <source>Move this chat to an editor tab</source>
        <translation>Przenieś ten czat do karty edytora</translation>
    </message>
    <message>
        <source>Move this chat to a separate window</source>
        <translation>Przenieś ten czat do osobnego okna</translation>
    </message>
    <message>
        <source>Type your message here... (%1 to send)</source>
        <translation>Wpisz tutaj swoją wiadomość... (%1 aby wysłać)</translation>
    </message>
    <message>
        <source>Cut</source>
        <translation>Wytnij</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>Paste</source>
        <translation>Wklej</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>Zaznacz wszystko</translation>
    </message>
    <message>
        <source>Clear</source>
        <translation>Wyczyść</translation>
    </message>
    <message>
        <source>Send</source>
        <translation>Wyślij</translation>
    </message>
    <message>
        <source>Stop</source>
        <translation>Zatrzymaj</translation>
    </message>
    <message>
        <source>Send message to LLM %1</source>
        <translation>Wyślij wiadomość do LLM %1</translation>
    </message>
    <message>
        <source>Compress Chat</source>
        <translation>Kompresuj czat</translation>
    </message>
    <message>
        <source>Create a summarized copy of this chat?

The summary will be generated by LLM and saved as a new chat file.</source>
        <translation>Utworzyć podsumowaną kopię tego czatu?

Podsumowanie zostanie wygenerowane przez LLM i zapisane jako nowy plik czatu.</translation>
    </message>
    <message>
        <source>Copied</source>
        <translation>Skopiowano</translation>
    </message>
</context>
<context>
    <name>SplitDropZone</name>
    <message numerus="yes">
        <source>%n file(s) to drop</source>
        <translation>
            <numerusform>%n plików do upuszczenia</numerusform>
            <numerusform>%n plików do upuszczenia</numerusform>
            <numerusform>%n plików do upuszczenia</numerusform>
        </translation>
    </message>
    <message>
        <source>Attach</source>
        <translation>Dołącz</translation>
    </message>
    <message>
        <source>Images &amp; Text Files</source>
        <translation>Obrazy i pliki tekstowe</translation>
    </message>
    <message>
        <source>(for one-time use)</source>
        <translation>(do jednorazowego użytku)</translation>
    </message>
    <message>
        <source>LINK</source>
        <translation>POŁĄCZ</translation>
    </message>
    <message>
        <source>Text Files</source>
        <translation>Pliki tekstowe</translation>
    </message>
    <message>
        <source>(added to context)</source>
        <translation>(dodane do kontekstu)</translation>
    </message>
</context>
<context>
    <name>TextBlock</name>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>Zaznacz wszystko</translation>
    </message>
</context>
<context>
    <name>ThinkingBlock</name>
    <message>
        <source>Thinking (Redacted)</source>
        <translation>Myślenie (zredagowane)</translation>
    </message>
    <message>
        <source>Thinking</source>
        <translation>Myślenie</translation>
    </message>
    <message>
        <source>Thinking content was redacted by safety systems</source>
        <translation>Treść myślenia została zredagowana przez systemy bezpieczeństwa</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>Zwiń</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>Rozwiń</translation>
    </message>
</context>
<context>
    <name>ToolBlock</name>
    <message>
        <source>Tool: %1</source>
        <translation>Narzędzie: %1</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>Kopiuj</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>Zaznacz wszystko</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>Zwiń</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>Rozwiń</translation>
    </message>
</context>
<context>
    <name>TopBar</name>
    <message>
        <source>Unpin chat window</source>
        <translation>Odepnij okno czatu</translation>
    </message>
    <message>
        <source>Pin chat window to the top</source>
        <translation>Przypnij okno czatu na górze</translation>
    </message>
    <message>
        <source>Clean chat</source>
        <translation>Wyczyść czat</translation>
    </message>
    <message>
        <source>Open new chat in a new tab</source>
        <translation>Otwórz nowy czat w nowej karcie</translation>
    </message>
    <message>
        <source>Switch saved AI configuration</source>
        <translation>Przełącz zapisaną konfigurację AI</translation>
    </message>
    <message>
        <source>Switch agent role (different system prompts)</source>
        <translation>Przełącz rolę agenta (różne prompty systemowe)</translation>
    </message>
    <message>
        <source>Tools are disabled in General Settings</source>
        <translation>Narzędzia są wyłączone w ustawieniach ogólnych</translation>
    </message>
    <message>
        <source>Tools enabled: AI can use tools to read files, search project, and build code</source>
        <translation>Narzędzia włączone: AI może używać narzędzi do odczytu plików, przeszukiwania projektu i budowania kodu</translation>
    </message>
    <message>
        <source>Tools disabled: Simple conversation without tool access</source>
        <translation>Narzędzia wyłączone: prosta rozmowa bez dostępu do narzędzi</translation>
    </message>
    <message>
        <source>Thinking Mode enabled (Check model list support it)</source>
        <translation>Tryb myślenia włączony (sprawdź, czy lista modeli go obsługuje)</translation>
    </message>
    <message>
        <source>Thinking Mode disabled</source>
        <translation>Tryb myślenia wyłączony</translation>
    </message>
    <message>
        <source>Thinking Mode is not available for this provider</source>
        <translation>Tryb myślenia nie jest dostępny dla tego dostawcy</translation>
    </message>
    <message>
        <source>Open Chat Assistant Settings</source>
        <translation>Otwórz ustawienia asystenta czatu</translation>
    </message>
    <message>
        <source>Save chat to *.json file</source>
        <translation>Zapisz czat do pliku *.json</translation>
    </message>
    <message>
        <source>Load chat from *.json file</source>
        <translation>Wczytaj czat z pliku *.json</translation>
    </message>
    <message>
        <source>Show in system</source>
        <translation>Pokaż w systemie</translation>
    </message>
    <message>
        <source>View chat context (system prompt, role, rules)</source>
        <translation>Wyświetl kontekst czatu (prompt systemowy, rola, reguły)</translation>
    </message>
    <message>
        <source>Current amount tokens in chat and LLM limit threshold</source>
        <translation>Aktualna ilość tokenów w czacie i próg limitu LLM</translation>
    </message>
</context>
</TS>
