diff --git a/static/i18n.js b/static/i18n.js index b7437cb34..1690624af 100644 --- a/static/i18n.js +++ b/static/i18n.js @@ -19114,7 +19114,7 @@ const LOCALES = { cancelling: 'Anulowanie…', cancel_failed: 'Anulowanie nie powiodło się: ', mic_denied: 'Odmowa dostępu do mikrofonu. Sprawdź uprawnienia przeglądarki.', - mic_insecure_origin: 'Voice input needs a secure connection. Open Hermes over HTTPS or from localhost to use the microphone.', // TODO: translate + mic_insecure_origin: 'Wprowadzanie głosowe wymaga bezpiecznego połączenia. Otwórz Hermes przez HTTPS lub z localhost, aby użyć mikrofonu.', mic_no_speech: 'Nie wykryto mowy. Spróbuj ponownie.', mic_network: 'Rozpoznawanie mowy jest niedostępne.', mic_error: 'Błąd wejścia głosowego: ', @@ -19228,7 +19228,7 @@ const LOCALES = { pdf_no_pages: 'Plik PDF nie ma stron', pdf_error: 'Nie udało się wyrenderować podglądu PDF', pdf_download: 'Pobierz PDF', - pdf_truncated: 'Showing the first {0} of {1} pages — download for the full document', + pdf_truncated: 'Pokazywanie pierwszych {0} z {1} stron — pobierz pełny dokument', // HTML sandbox preview (#482) html_loading: 'Ładowanie podglądu HTML…', html_too_large: 'Plik HTML jest zbyt duży, aby wyświetlić jego podgląd', @@ -19254,7 +19254,7 @@ const LOCALES = { approval_btn_deny: 'Odmów', approval_btn_deny_title: 'Odmów — nie uruchamiaj tego polecenia', approval_responding: 'Odpowiadanie…', - approval_gateway_unsupported: 'Approvals require a newer gateway. Upgrade the connected Hermes gateway to enable this.', + approval_gateway_unsupported: 'Zatwierdzenia wymagają nowszej bramy. Zaktualizuj połączoną bramę Hermes, aby włączyć tę funkcję.', approval_gateway_unsupported_label: 'Zatwierdzenia nie są obsługiwane', clarify_heading: 'Wymagane wyjaśnienie', clarify_hint: 'Wybierz opcję lub wpisz własną odpowiedź poniżej.', @@ -19392,16 +19392,16 @@ const LOCALES = { cmd_steer_delivered: 'Korekta dostarczona — agent zobaczy ją przy następnym wyniku narzędzia', steer_leftover_queued: 'Korekta dodana do kolejki na następną turę', busy_steer_fallback: 'Korekta niedostępna — przywrócono szkic', - steer_fail_no_cached_agent: 'No agent cached for this session — try refreshing', - steer_fail_agent_lacks_steer: 'This agent version does not support steer', - steer_fail_session_not_found: 'Session not found — it may have expired', - steer_fail_not_running: 'Agent is not currently running', - steer_fail_stream_dead: 'The agent stream has ended', - steer_fail_steer_error: 'Steer delivery failed — the agent may have finished', - steer_fail_network_error: 'Network error — check your connection', - steer_fail_unknown: 'Steer unavailable', - steer_recovery_retry: 'Retry', - steer_recovery_dismiss: 'Dismiss', + steer_fail_no_cached_agent: 'Brak buforowanego agenta dla tej sesji — spróbuj odświeżyć', + steer_fail_agent_lacks_steer: 'Ta wersja agenta nie obsługuje sterowania (steer)', + steer_fail_session_not_found: 'Nie znaleziono sesji — mogła wygasnąć', + steer_fail_not_running: 'Agent nie jest obecnie uruchomiony', + steer_fail_stream_dead: 'Strumień agenta zakończył się', + steer_fail_steer_error: 'Dostarczenie sterowania nie powiodło się — agent mógł już zakończyć pracę', + steer_fail_network_error: 'Błąd sieci — sprawdź połączenie', + steer_fail_unknown: 'Sterowanie niedostępne', + steer_recovery_retry: 'Spróbuj ponownie', + steer_recovery_dismiss: 'Odrzuć', busy_interrupt_confirm: 'Przerwano — wysyłanie nowej wiadomości', settings_label_busy_input_mode: 'Tryb wprowadzania przy zajętości', settings_desc_busy_input_mode: 'Kontroluje, co dzieje się, gdy wysyłasz wiadomość, podczas gdy agent pracuje. Kolejkowanie czeka; Przerwanie anuluje i zaczyna od nowa; Kierowanie (Steer) wprowadza korektę w środku tury bez przerywania (cofa się do kolejkowania, gdy agent lub strumień jest niedostępny).', @@ -19559,9 +19559,9 @@ const LOCALES = { downloading: (name) => `Pobieranie ${name}…`, double_click_rename: 'Kliknij dwukrotnie, aby zmienić nazwę', symlink_link_to: 'Symlink → {target}', - external_link_open_confirm: 'This symlink points outside the workspace. Open it in a read-only external view for this browser session?', - external_link_read_only: 'This external view is read-only. Create, rename, move, delete, upload, reveal, and editor actions stay disabled here.', - external_link_grant_expired: 'This external view expired. Reopen the escape-target symlink to authorize it again.', + external_link_open_confirm: 'To dowiązanie symboliczne (symlink) wskazuje poza obszar roboczy. Czy chcesz je otworzyć w zewnętrznym widoku tylko do odczytu na czas tej sesji przeglądarki?', + external_link_read_only: 'Ten zewnętrzny widok jest tylko do odczytu. Tworzenie, zmiana nazwy, przenoszenie, usuwanie, przesyłanie i akcje edytora pozostają tutaj wyłączone.', + external_link_grant_expired: 'Ten zewnętrzny widok wygasł. Otwórz ponownie docelowe dowiązanie symboliczne (symlink), aby autoryzować go ponownie.', session_rename_failed_no_row: 'Nie można rozpocząć zmiany nazwy — nie znaleziono wiersza.', renamed_to: 'Nazwa zmieniona na ', rename_failed: 'Zmiana nazwy nie powiodła się: ', @@ -19706,51 +19706,51 @@ const LOCALES = { settings_desc_session_endless_scroll: 'Gdy ta opcja jest włączona, starsze wiadomości ładują się automatycznie przy przewijaniu w górę. Gdy jest wyłączona, użyj przycisku wczytywania starszych wiadomości.', settings_label_auto_scroll_follow: 'Automatycznie podążaj za nową treścią', settings_desc_auto_scroll_follow: 'Gdy włączone, widok przewija się na dół w miarę napływania nowych tokenów. Gdy wyłączone, sam kontrolujesz pozycję przewijania.', - settings_label_render_user_markdown: 'Render markdown in user messages', - settings_label_show_titlebar_profile: 'Show profile switcher in titlebar', // TODO: translate - settings_desc_show_titlebar_profile: 'When enabled, a profile switcher button appears in the top-left app titlebar so you can change profiles from any tab. Off by default; the composer footer always has a profile switcher regardless of this setting.', // TODO: translate - settings_desc_render_user_markdown: 'When enabled, bold, italic, links, and other markdown in your own messages are rendered. Off by default; fenced code blocks and math always render regardless of this setting.', - settings_label_structured_code: 'JSON/YAML code blocks', - settings_option_structured_code_auto: 'Auto: Tree for long blocks', - settings_option_structured_code_on: 'Tree by default', - settings_option_structured_code_off: 'Raw by default', - settings_label_structured_code_auto_lines: 'Auto threshold lines', - settings_desc_structured_code: 'When Auto is selected, JSON/YAML blocks with at least this many lines open in Tree view. Tree always opens the structured viewer; Raw keeps the syntax-highlighted text. You can still switch Tree/Raw on each block.', + settings_label_render_user_markdown: 'Renderuj markdown w wiadomościach użytkownika', + settings_label_show_titlebar_profile: 'Pokaż przełącznik profili na pasku tytułu', + settings_desc_show_titlebar_profile: 'Gdy ta opcja jest włączona, w lewym górnym rogu paska tytułu aplikacji pojawia się przycisk przełącznika profili, umożliwiający zmianę profilu z dowolnej karty. Domyślnie wyłączone; stopka edytora zawsze zawiera przełącznik profili, niezależnie od tego ustawienia.', + settings_desc_render_user_markdown: 'Gdy opcja jest włączona, tekst pogrubiony, pochylony, linki i inne elementy markdown w Twoich wiadomościach będą renderowane. Domyślnie wyłączone; bloki kodu i zapisy matematyczne są zawsze renderowane niezależnie od tego ustawienia.', + settings_label_structured_code: 'Bloki kodu JSON/YAML', + settings_option_structured_code_auto: 'Automatycznie: Widok drzewa dla długich bloków', + settings_option_structured_code_on: 'Domyślnie widok drzewa', + settings_option_structured_code_off: 'Domyślnie widok źródła', + settings_label_structured_code_auto_lines: 'Próg wierszy dla trybu automatycznego', + settings_desc_structured_code: 'Gdy wybrano tryb automatyczny, bloki JSON/YAML o długości przynajmniej podanej liczby wierszy zostaną otwarte w widoku drzewa. Widok drzewa zawsze otwiera strukturyzowaną przeglądarkę; widok źródła zachowuje podświetlony składniowo tekst. Nadal możesz przełączać tryby dla każdego bloku osobno.', settings_label_worklog_details_expanded_default: 'Otwieraj szczegóły Worklog automatycznie', settings_desc_worklog_details_expanded_default: 'Gdy ta opcja jest włączona, nowe szczegóły Worklog zaczynają rozwinięte, dzięki czemu karty narzędzi, Thinking i postępu są widoczne bez dodatkowego kliknięcia. Gdy jest wyłączona, szczegóły Worklog pozostają domyślnie zwinięte. Ręczne decyzje o zwinięciu/rozwinięciu w danej turze mają pierwszeństwo.', - settings_label_chat_activity_display_mode: 'Activity display', - settings_desc_chat_activity_display_mode: 'Compact Worklog groups supporting activity into a quiet summary. Transparent Stream keeps each thinking/tool event as its own chronological expandable row.', - first_token_time: 'Time to first token', - processed_elapsed: _i18nProcessedElapsedEn, - worklog_thinking: 'Thinking', - tool_target_skill_suffix: 'skill', - tool_action_label: _i18nToolActionLabelEn, - tool_worklog_summary: _i18nToolWorklogSummaryEn, - tool_summary_join: _i18nToolSummaryJoinEn, - done: 'Done', - settings_option_compact_worklog: 'Compact Worklog', - settings_option_transparent_stream: 'Transparent Stream', + settings_label_chat_activity_display_mode: 'Wyświetlanie aktywności', + settings_desc_chat_activity_display_mode: 'Kompaktowy dziennik pracy grupuje aktywność wspierającą w dyskretne podsumowanie. Transparentny strumień zachowuje każde zdarzenie myślenia/narzędzia jako osobny chronologiczny wiersz z możliwością rozwinięcia.', + first_token_time: 'Czas do pierwszego tokenu', + processed_elapsed: _i18nProcessedElapsedPl, + worklog_thinking: 'Myślenie', + tool_target_skill_suffix: 'umiejętność', + tool_action_label: _i18nToolActionLabelPl, + tool_worklog_summary: _i18nToolWorklogSummaryPl, + tool_summary_join: _i18nToolSummaryJoinPl, + done: 'Gotowe', + settings_option_compact_worklog: 'Kompaktowy dziennik pracy', + settings_option_transparent_stream: 'Transparentny strumień', settings_label_tab_visibility: 'Karty paska bocznego', settings_desc_tab_visibility: 'Wybierz, które karty pojawiają się na pasku bocznym i szynie. Przeciągnij elementy, aby zmienić ich kolejność. Czat i Ustawienia są zawsze widoczne.', - settings_label_composer_controls: 'Chat footer controls', - settings_desc_composer_controls: 'Toggle which controls are shown in the chat footer. Reordering is not supported.', - settings_label_composer_situational_controls: 'Situational footer controls', - settings_desc_composer_situational_controls: 'These controls do not always appear, depending on viewport, mode, or runtime state. You can still toggle them off if needed.', - composer_control_attach: 'Attach', - composer_control_saved_prompts: 'Saved prompts', - composer_control_mic: 'Mic', - composer_control_profile: 'Profile', - composer_control_workspace: 'Workspace', + settings_label_composer_controls: 'Kontrolki stopki czatu', + settings_desc_composer_controls: 'Przełączaj kontrolki wyświetlane w stopce czatu. Zmiana kolejności nie jest obsługiwana.', + settings_label_composer_situational_controls: 'Sytuacyjne kontrolki stopki', + settings_desc_composer_situational_controls: 'Te kontrolki nie zawsze się pojawiają, w zależności od obszaru roboczego, trybu lub stanu środowiska uruchomieniowego. Nadal możesz je wyłączyć, jeśli to konieczne.', + composer_control_attach: 'Załącz', + composer_control_saved_prompts: 'Zapisane prompty', + composer_control_mic: 'Mikrofon', + composer_control_profile: 'Profil', + composer_control_workspace: 'Obszar roboczy', composer_control_model: 'Model', - composer_control_reasoning: 'Reasoning', - composer_control_context: 'Context', - composer_control_voice_mode: 'Voice mode', + composer_control_reasoning: 'Rozumowanie', + composer_control_context: 'Kontekst', + composer_control_voice_mode: 'Tryb głosowy', composer_control_yolo: 'YOLO', - composer_control_bg_badge: 'Background badge', - composer_control_mobile_config: 'Mobile config', - composer_control_quota_chip: 'Quota chip', - composer_control_toolsets: 'Toolsets', + composer_control_bg_badge: 'Odznaka w tle', + composer_control_mobile_config: 'Konfiguracja mobilna', + composer_control_quota_chip: 'Limit użycia', + composer_control_toolsets: 'Zestawy narzędzi', composer_control_status: 'Status', open_in_browser: 'Otwórz w przeglądarce', settings_dropdown_conversation: 'Konwersacja', @@ -19762,25 +19762,25 @@ const LOCALES = { settings_tab_appearance: 'Wygląd', settings_tab_preferences: 'Preferencje', settings_tab_plugins: 'Wtyczki', - settings_tab_extensions: 'Extensions', // TODO: translate - settings_extensions_gallery_tab: 'Gallery', - settings_extensions_installed_tab: 'Installed', - settings_extensions_diagnostics_tab: 'Diagnostics', - settings_extensions_gallery_loading: 'Loading gallery…', - settings_extensions_gallery_empty: 'No extensions found in the registry.', - settings_extensions_gallery_error: 'Failed to load gallery.', - ext_gallery_install: 'Install', - ext_gallery_installing: 'Installing…', - ext_gallery_installed: 'Installed', - ext_gallery_uninstall: 'Uninstall', - ext_gallery_uninstalling: 'Uninstalling…', - ext_gallery_restart_required: 'Restart required', - ext_gallery_permissions_show: 'Permissions', - ext_gallery_permissions_hide: 'Hide permissions', + settings_tab_extensions: 'Rozszerzenia', + settings_extensions_gallery_tab: 'Galeria', + settings_extensions_installed_tab: 'Zainstalowane', + settings_extensions_diagnostics_tab: 'Diagnostyka', + settings_extensions_gallery_loading: 'Ładowanie galerii…', + settings_extensions_gallery_empty: 'Nie znaleziono rozszerzeń w rejestrze.', + settings_extensions_gallery_error: 'Nie udało się załadować galerii.', + ext_gallery_install: 'Zainstaluj', + ext_gallery_installing: 'Instalowanie…', + ext_gallery_installed: 'Zainstalowane', + ext_gallery_uninstall: 'Odinstaluj', + ext_gallery_uninstalling: 'Odinstalowywanie…', + ext_gallery_restart_required: 'Wymagany restart', + ext_gallery_permissions_show: 'Uprawnienia', + ext_gallery_permissions_hide: 'Ukryj uprawnienia', ext_gallery_permissions_empty: 'Nie zadeklarowano dodatkowych uprawnień.', - ext_gallery_version: 'Version', - ext_gallery_author: 'Author', - ext_gallery_capabilities: 'Capabilities', + ext_gallery_version: 'Wersja', + ext_gallery_author: 'Autor', + ext_gallery_capabilities: 'Możliwości', ext_gallery_next_step: 'Następny krok', ext_gallery_after_install: 'Po instalacji', ext_gallery_local_component_required: 'To rozszerzenie ma komponent lokalny. Po instalacji uruchom wymaganą aplikację lokalną lub sidecar.', @@ -19791,8 +19791,8 @@ const LOCALES = { ext_gallery_open_setup_guide: 'Otwórz przewodnik konfiguracji', ext_gallery_install_restart_required: 'Rozszerzenie zainstalowane. Do zastosowania wymagany jest restart.', ext_gallery_install_followup: 'Rozszerzenie zainstalowane. Sprawdź kartę, aby zobaczyć kolejne kroki.', - ext_gallery_install_ok: 'Extension installed successfully.', - ext_gallery_uninstall_ok: 'Extension uninstalled.', + ext_gallery_install_ok: 'Rozszerzenie zainstalowane pomyślnie.', + ext_gallery_uninstall_ok: 'Rozszerzenie zostało odinstalowane.', settings_plugins_title: 'Wtyczki', plugins_enable_toggle: 'Włącz', settings_plugins_meta: 'Zobacz zainstalowane wtyczki Hermes oraz rejestrowane przez nie haki cyklu życia. Ten panel jest tylko do odczytu.', @@ -19837,62 +19837,62 @@ const LOCALES = { settings_aux_save_failed: 'Nie udało się zapisać modelu pomocniczego', settings_aux_saved: 'Zaktualizowano modele pomocnicze', settings_aux_no_changes: 'Brak zmian do zastosowania', - settings_aux_task_vision: 'Vision', - settings_aux_task_vision_desc: 'image/screenshot analysis', - settings_aux_task_compression: 'Compression', - settings_aux_task_compression_desc: 'context summarization', - settings_aux_task_web_extract: 'Web extract', - settings_aux_task_web_extract_desc: 'web page summarization', - settings_aux_task_session_search: 'Session search', - settings_aux_task_session_search_desc: 'past-conversation recall', - settings_aux_task_approval: 'Approval', - settings_aux_task_approval_desc: 'smart command approval', + settings_aux_task_vision: 'Analiza obrazu', + settings_aux_task_vision_desc: 'analiza obrazów/zrzutów ekranu', + settings_aux_task_compression: 'Kompresja', + settings_aux_task_compression_desc: 'streszczanie kontekstu', + settings_aux_task_web_extract: 'Ekstrakcja treści z sieci', + settings_aux_task_web_extract_desc: 'streszczanie stron internetowych', + settings_aux_task_session_search: 'Wyszukiwanie sesji', + settings_aux_task_session_search_desc: 'przywoływanie minionych konwersacji', + settings_aux_task_approval: 'Zatwierdzanie', + settings_aux_task_approval_desc: 'inteligentne zatwierdzanie poleceń', settings_aux_task_mcp: 'MCP', - settings_aux_task_mcp_desc: 'MCP tool reasoning', - settings_aux_task_title_generation: 'Title generation', - settings_aux_task_title_generation_desc: 'session titles', - settings_aux_task_skills_hub: 'Skills hub', - settings_aux_task_skills_hub_desc: 'skills search/install', - settings_aux_task_curator: 'Curator', - settings_aux_task_curator_desc: 'skill-usage review pass', - settings_aux_task_kanban_decomposer: 'Kanban decomposer', - settings_aux_task_kanban_decomposer_desc: 'task decomposition', - settings_aux_task_profile_describer: 'Profile describer', - settings_aux_task_profile_describer_desc: 'profile summaries', - settings_aux_task_triage_specifier: 'Triage specifier', - settings_aux_task_triage_specifier_desc: 'issue/task triage specs', - settings_main_advanced_button_aria: 'Advanced options for main model', - settings_main_advanced_title: 'Main model options', - settings_main_advanced_subtitle: 'Advanced config for the default chat model.', - settings_main_advanced_saved: 'Main model options saved', - settings_main_advanced_save_failed: 'Failed to save main model options', - settings_main_advanced_service_tier: 'Service tier', - settings_main_advanced_service_tier_desc: 'Optional request setting for OpenAI-family providers.', - settings_main_advanced_service_tier_default: 'Default / off', - settings_main_advanced_service_tier_priority: 'Priority (fast)', - settings_aux_advanced_button_title: 'Advanced options', - settings_aux_advanced_button_aria: 'Advanced options for {task}', - settings_aux_advanced_title: '{task} options', - settings_aux_advanced_subtitle: 'Advanced config for auxiliary.', - settings_aux_advanced_save: 'Save options', - settings_aux_advanced_base_url: 'Base URL', - settings_aux_advanced_base_url_desc: 'Optional provider endpoint override.', - settings_aux_advanced_timeout: 'Timeout seconds', - settings_aux_advanced_timeout_desc: 'Request timeout for this auxiliary task. Blank uses Hermes default.', - settings_aux_advanced_download_timeout: 'Download timeout seconds', - settings_aux_advanced_download_timeout_desc: 'Only relevant for tasks that download media/content, e.g. vision. Blank uses default.', - settings_aux_advanced_max_concurrency: 'Max concurrency', - settings_aux_advanced_max_concurrency_desc: 'Optional per-task concurrency limit. Blank uses default.', - settings_aux_advanced_extra_body: 'Extra body JSON', - settings_aux_advanced_extra_body_desc: 'Optional JSON object merged into the model request body.', - settings_aux_advanced_api_key: 'API key override', - settings_aux_advanced_api_key_set_hint: 'API key is set. Leave blank to keep it, or use clear to remove it.', - settings_aux_advanced_api_key_empty_hint: 'Leave blank to use provider/default credentials.', - settings_aux_advanced_api_key_clear: 'Clear existing API key override', - settings_aux_advanced_extra_body_invalid_json: 'Extra body must be valid JSON', - settings_aux_advanced_extra_body_object_required: 'Extra body must be a JSON object', - settings_aux_advanced_saved: 'Auxiliary options saved', - settings_aux_advanced_save_failed: 'Failed to save auxiliary options', + settings_aux_task_mcp_desc: 'rozumowanie narzędzi MCP', + settings_aux_task_title_generation: 'Generowanie tytułów', + settings_aux_task_title_generation_desc: 'tytuły sesji', + settings_aux_task_skills_hub: 'Centrum umiejętności', + settings_aux_task_skills_hub_desc: 'wyszukiwanie/instalowanie umiejętności', + settings_aux_task_curator: 'Kurator', + settings_aux_task_curator_desc: 'przegląd użycia umiejętności', + settings_aux_task_kanban_decomposer: 'Dekompozytor Kanban', + settings_aux_task_kanban_decomposer_desc: 'dekompozycja zadań', + settings_aux_task_profile_describer: 'Opisywanie profili', + settings_aux_task_profile_describer_desc: 'podsumowania profili', + settings_aux_task_triage_specifier: 'Klasyfikator zadań', + settings_aux_task_triage_specifier_desc: 'specyfikacje klasyfikacji problemów/zadań', + settings_main_advanced_button_aria: 'Zaawansowane opcje dla głównego modelu', + settings_main_advanced_title: 'Opcje głównego modelu', + settings_main_advanced_subtitle: 'Zaawansowana konfiguracja dla domyślnego modelu czatu.', + settings_main_advanced_saved: 'Zapisano opcje głównego modelu', + settings_main_advanced_save_failed: 'Nie udało się zapisać opcji głównego modelu', + settings_main_advanced_service_tier: 'Poziom usługi (service tier)', + settings_main_advanced_service_tier_desc: 'Opcjonalne ustawienie żądania dla dostawców z rodziny OpenAI.', + settings_main_advanced_service_tier_default: 'Domyślny / wyłączony', + settings_main_advanced_service_tier_priority: 'Priorytetowy (szybki)', + settings_aux_advanced_button_title: 'Zaawansowane opcje', + settings_aux_advanced_button_aria: 'Zaawansowane opcje dla {task}', + settings_aux_advanced_title: '{task} — opcje', + settings_aux_advanced_subtitle: 'Zaawansowana konfiguracja dla funkcji pomocniczych.', + settings_aux_advanced_save: 'Zapisz opcje', + settings_aux_advanced_base_url: 'Bazowy adres URL', + settings_aux_advanced_base_url_desc: 'Opcjonalne nadpisanie punktu końcowego dostawcy.', + settings_aux_advanced_timeout: 'Limit czasu w sekundach', + settings_aux_advanced_timeout_desc: 'Limit czasu żądania dla tego zadania pomocniczego. Puste pole oznacza użycie domyślnej wartości Hermes.', + settings_aux_advanced_download_timeout: 'Limit czasu pobierania w sekundach', + settings_aux_advanced_download_timeout_desc: 'Ma zastosowanie tylko do zadań pobierających media/zawartość, np. analizy obrazu. Puste pole oznacza użycie wartości domyślnej.', + settings_aux_advanced_max_concurrency: 'Maksymalna współbieżność', + settings_aux_advanced_max_concurrency_desc: 'Opcjonalny limit współbieżności dla zadania. Puste pole oznacza użycie wartości domyślnej.', + settings_aux_advanced_extra_body: 'Dodatkowa treść (JSON) żądania', + settings_aux_advanced_extra_body_desc: 'Opcjonalny obiekt JSON scalany z treścią żądania do modelu.', + settings_aux_advanced_api_key: 'Nadpisanie klucza API', + settings_aux_advanced_api_key_set_hint: 'Klucz API jest ustawiony. Pozostaw puste, aby go zachować, lub wyczyść, aby go usunąć.', + settings_aux_advanced_api_key_empty_hint: 'Pozostaw puste, aby użyć poświadczeń dostawcy/domyślnych.', + settings_aux_advanced_api_key_clear: 'Wyczyść istniejące nadpisanie klucza API', + settings_aux_advanced_extra_body_invalid_json: 'Dodatkowa treść musi być poprawnym kodem JSON', + settings_aux_advanced_extra_body_object_required: 'Dodatkowa treść musi być obiektem JSON', + settings_aux_advanced_saved: 'Zapisano opcje pomocnicze', + settings_aux_advanced_save_failed: 'Nie udało się zapisać opcji pomocniczych', settings_label_send_key: 'Klawisz wysyłania', settings_label_theme: 'Motyw', settings_label_skin: 'Skórka', @@ -19975,8 +19975,8 @@ const LOCALES = { kanban_no_matching_tasks: 'Brak pasujących zadań', kanban_no_data: 'Brak danych Kanban', kanban_work_queue_hint: 'To jest kolejka pracy Agenta Hermes. Utwórz zadanie lub dokonaj triażu, przypisz je, przenieś do statusu "Gotowe", a następnie pozwól dyspozytorowi je pobrać.', - kanban_tasks_hidden_by_filters: 'Tasks hidden by filters', - kanban_clear_filters: 'Clear filters', + kanban_tasks_hidden_by_filters: 'Zadania ukryte przez filtry', + kanban_clear_filters: 'Wyczyść filtry', kanban_unavailable: 'Kanban niedostępny', kanban_read_only: 'Widok tylko do odczytu', kanban_empty: 'Puste', @@ -20010,11 +20010,11 @@ const LOCALES = { kanban_priority_hint: 'Wyższe liczby są uruchamiane jako pierwsze. Domyślnie 0.', kanban_title_required: 'Tytuł jest wymagany.', kanban_new_task: 'Nowe zadanie', - kanban_view_lanes: 'Lanes by profile', - kanban_view_consolidated: 'Consolidated view', - kanban_view_lanes_saved: 'Kanban view: lanes by profile', - kanban_view_consolidated_saved: 'Kanban view: consolidated', - kanban_view_update_failed: 'Failed to update Kanban view: ', + kanban_view_lanes: 'Tory według profili', + kanban_view_consolidated: 'Widok skonsolidowany', + kanban_view_lanes_saved: 'Widok Kanban: tory według profili', + kanban_view_consolidated_saved: 'Widok Kanban: skonsolidowany', + kanban_view_update_failed: 'Nie udało się zaktualizować widoku Kanban: ', kanban_edit_task: 'Edytuj zadanie', kanban_status_original_hint: 'Rzeczywisty status: {0}. To okno dialogowe obsługuje wyłącznie edycję dla "Do weryfikacji" / "Do zrobienia" / "Gotowe".', kanban_run_dispatcher: 'Uruchom dyspozytora', @@ -20034,17 +20034,17 @@ const LOCALES = { kanban_dispatch_timed_out: 'przekroczono limit czasu', kanban_dispatch_crashed: 'awaria', kanban_add_comment: 'Dodaj komentarz', - kanban_workspace_kind: 'Workspace kind', - kanban_workspace_path: 'Workspace path', - kanban_workspace_path_placeholder: 'Path to workspace', - kanban_workspace_scratch: 'Scratch', + kanban_workspace_kind: 'Rodzaj obszaru roboczego', + kanban_workspace_path: 'Ścieżka obszaru roboczego', + kanban_workspace_path_placeholder: 'Ścieżka do obszaru roboczego', + kanban_workspace_scratch: 'Scratch (tymczasowy)', kanban_workspace_worktree: 'Worktree', - kanban_workspace_dir: 'Directory', - kanban_workspace_path_required: 'Workspace path is required for non-scratch workspaces.', - kanban_add_dependency: 'Add dependency', - kanban_remove_dependency: 'Remove dependency', - kanban_dependency_placeholder: 'Task ID to link', - kanban_dependency_self: 'A task cannot depend on itself', + kanban_workspace_dir: 'Katalog', + kanban_workspace_path_required: 'Ścieżka do obszaru roboczego jest wymagana dla obszarów innych niż tymczasowe (scratch).', + kanban_add_dependency: 'Dodaj zależność', + kanban_remove_dependency: 'Usuń zależność', + kanban_dependency_placeholder: 'Identyfikator zadania do powiązania', + kanban_dependency_self: 'Zadanie nie może zależeć od samego siebie', kanban_only_mine: 'Tylko moje', kanban_bulk_action: 'Działanie zbiorcze', kanban_nudge_dispatcher: 'Podgląd dyspozytora', @@ -20076,7 +20076,7 @@ const LOCALES = { dashboard_loopback_warning: 'Pulpit nawigacyjny na serwerze jest dostępny wyłącznie lokalnie (loopback). Przeglądaj bezpośrednio z serwera lub uruchom go ponownie z flagą --host 0.0.0.0 (niebezpieczne).', tab_logs: 'Logi', tab_settings: 'Ustawienia', - close_menu: 'Close menu', // TODO: translate + close_menu: 'Zamknij menu', new_conversation: 'Nowa konwersacja', filter_conversations: 'Filtruj konwersacje...', markdown_table_filter: 'Filtruj tabelę', @@ -20138,7 +20138,7 @@ const LOCALES = { insights_model_sessions: 'Sesje', insights_model_tokens: 'Tokeny', insights_model_cost: 'Koszt', - insights_model_cache: 'Cache', + insights_model_cache: 'Pamięć podręczna', insights_cache_hit: 'Współczynnik trafień pamięci podręcznej promptów', insights_model_share: 'Udział', insights_no_usage_data: 'Brak danych o zużyciu', @@ -20214,10 +20214,10 @@ const LOCALES = { outline_title: 'Zarys', outline_empty: 'Nie ma jeszcze pytań.', outline_loading: 'Ładowanie…', - wiki_browse: 'Browse wiki', - wiki_search_placeholder: 'Search pages...', - wiki_no_pages: 'No wiki pages found', - wiki_not_configured: 'Wiki not configured', + wiki_browse: 'Przeglądaj wiki', + wiki_search_placeholder: 'Szukaj stron...', + wiki_no_pages: 'Nie znaleziono stron wiki', + wiki_not_configured: 'Wiki nie jest skonfigurowane', settings_sidebar_density_compact: 'Kompaktowa', settings_sidebar_density_detailed: 'Szczegółowa', settings_desc_sidebar_density: 'Kontroluje, ile metadanych wyświetla lista sesji na lewym pasku bocznym.', @@ -20495,7 +20495,7 @@ const LOCALES = { cron_job_updated: 'Zadanie zaktualizowane', cron_model_label: 'Zastąpienie modelu', cron_model_hint: 'Zastępuje domyślny model dla tego zadania.', - cron_model_no_agent_hint: 'No-agent jobs run the configured script directly; model is unused.', + cron_model_no_agent_hint: 'Zadania bez agenta uruchamiają skonfigurowany skrypt bezpośrednio; model nie jest używany.', cron_model_use_default: 'Domyślny (użyj domyślnego profilu/systemu)', cron_delete_confirm_title: 'Usuń zadanie cron', cron_delete_confirm_message: 'Tej operacji nie można cofnąć.', @@ -22518,6 +22518,46 @@ function _i18nToolActionLabelVi(kind, state, target, display, failed) { function _i18nToolWorklogSummaryVi(kind, state, count) { return _i18nToolWorklogSummaryFromMap(_I18N_TOOL_SUMMARY_TEXT_VI, kind, state, count); } + +const _I18N_TOOL_ACTION_TEXT_PL = { + shell: { running: 'Uruchamianie', done: 'Uruchomiono', fail: 'uruchomić', fallback: 'polecenie' }, + read: { running: 'Odczytywanie', done: 'Odczytano', fail: 'odczytać', fallback: 'plik' }, + list: { running: 'Listowanie', done: 'Wylistowano', fail: 'wylistować', fallback: 'plik' }, + search: { running: 'Przeszukiwanie', done: 'Przeszukano', fail: 'przeszukać', fallback: 'obszar roboczy' }, + web: { running: 'Sprawdzanie', done: 'Sprawdzono', fail: 'sprawdzić', fallback: 'dane internetowe' }, + write: { running: 'Zapisywanie', done: 'Zapisano', fail: 'zapisać', fallback: 'plik' }, + skill: { running: 'Wczytywanie', done: 'Wczytano', fail: 'wczytać', fallback: 'umiejętność' }, + memory: { running: 'Zapisywanie', done: 'Zapisano', fail: 'zapisać', fallback: 'pamięć' }, + delegate: { running: 'Delegowanie', done: 'Delegowano', fail: 'delegować', fallback: 'zadanie' }, + unknown: { running: 'Uruchamianie', done: 'Uruchomiono', fail: 'uruchomić', fallback: 'narzędzie' }, +}; +const _I18N_TOOL_SUMMARY_TEXT_PL = { + shell: { running: ['Uruchamianie polecenia', 'Uruchamianie {n} poleceń'], done: ['Uruchomiono polecenie', 'Uruchomiono {n} poleceń'] }, + read: { running: ['Odczytywanie pliku', 'Odczytywanie {n} plików'], done: ['Odczytano plik', 'Odczytano {n} plików'] }, + list: { running: ['Listowanie pliku', 'Listowanie {n} plików'], done: ['Wylistowano plik', 'Wylistowano {n} plików'] }, + search: { running: ['Przeszukiwanie obszaru roboczego', 'Przeszukiwanie {n}-krotne obszaru roboczego'], done: ['Przeszukano obszar roboczy', 'Przeszukano {n}-krotnie obszar roboczy'] }, + web: { running: ['Sprawdzanie stron', 'Sprawdzanie {n} stron'], done: ['Sprawdzono strony', 'Sprawdzono {n} stron'] }, + write: { running: ['Zapisywanie pliku', 'Zapisywanie {n} plików'], done: ['Zapisano plik', 'Zapisano {n} plików'] }, + skill: { running: ['Wczytywanie umiejętności', 'Wczytywanie {n} umiejętności'], done: ['Wczytano umiejętność', 'Wczytano {n} umiejętności'] }, + memory: { running: ['Zapisywanie pamięci', 'Zapisywanie {n} wpisów pamięci'], done: ['Zapisano pamięć', 'Zapisano {n} wpisów pamięci'] }, + delegate: { running: ['Delegowanie zadania', 'Delegowanie {n} zadań'], done: ['Delegowano zadanie', 'Delegowano {n} zadań'] }, + unknown: { running: ['Uruchamianie narzędzia', 'Uruchamianie {n} narzędzi'], done: ['Uruchomiono narzędzie', 'Uruchomiono {n} narzędzi'] }, +}; +function _i18nProcessedElapsedPl(duration) { + return _i18nProcessedElapsed('Przetworzono', duration); +} +function _i18nToolActionLabelPl(kind, state, target, display, failed) { + const verbs = _I18N_TOOL_ACTION_TEXT_PL[kind] || _I18N_TOOL_ACTION_TEXT_PL.unknown; + const object = target || verbs.fallback || display || 'narzędzie'; + if (failed) return `Nie udało się ${verbs.fail || 'uruchomić'} ${object}`; + return `${verbs[state] || verbs.running} ${object}`; +} +function _i18nToolWorklogSummaryPl(kind, state, count) { + return _i18nToolWorklogSummaryFromMap(_I18N_TOOL_SUMMARY_TEXT_PL, kind, state, count); +} +function _i18nToolSummaryJoinPl(parts) { + return Array.isArray(parts) ? parts.filter(Boolean).join(', ') : ''; +} function _i18nToolSummaryJoinVi(parts) { return Array.isArray(parts) ? parts.filter(Boolean).join(', ') : ''; }