Files
descrybe/apps/web/src/lib/i18n/messages/pl.ts
T

5623 lines
388 KiB
TypeScript
Raw Normal View History

import type { MessageDict } from "./types";
/** Polish (pl) UI pack — keys must stay in sync with en.ts. */
export const pl: MessageDict = {
"app.name": "Descrybe",
"app.home": "Strona główna Descrybe",
"common.cancel": "Anuluj",
"common.save": "Zapisz zmiany",
"common.saveShort": "Zapisz",
"common.continue": "Kontynuuj",
"common.open": "Otwórz",
"common.markDone": "Oznacz jako ukończone",
"common.viewAll": "Zobacz wszystko",
"common.close": "Zamknij",
"common.askAdmin": "Zapytaj administratora firmy",
"common.you": "Ty",
"common.active": "Aktywny",
"common.pending": "Oczekujące",
"common.email": "E-mail",
"common.password": "Hasło",
"common.name": "Twoje imię i nazwisko",
"common.viewPricing": "Zobacz cennik",
"common.backToSignIn": "Powrót do logowania",
"common.signingOut": "Wylogowywanie…",
"common.signOutAndContinue": "Wyloguj się i kontynuuj",
"common.staySignedIn": "Pozostań zalogowany",
"a11y.skipToContent": "Przejdź do treści",
"theme.switchToDark": "Przełącz na ciemny motyw",
"theme.switchToLight": "Przełącz na jasny motyw",
"header.signOut": "Wyloguj się",
"header.signingOut": "Wylogowywanie…",
"status.emDash": "—",
"status.pending": "Oczekujące",
"status.processing": "Przetwarzanie",
"status.completed": "Ukończono",
"status.failed": "Niepowodzenie",
"status.cancelled": "Anulowano",
"nav.section.overview": "Przegląd",
"nav.section.catalog": "Katalog",
"nav.section.feeds": "Feedy",
"nav.section.stores": "Sklepy",
"nav.section.processing": "Przetwarzanie",
"nav.section.marketing": "Marketing",
"nav.section.integrations": "Integracje",
"nav.section.account": "Konto",
"nav.section.platform": "Platforma",
"nav.dashboard": "Panel",
"nav.products": "Produkty",
"nav.categories": "Kategorie",
"nav.attributes": "Atrybuty",
"nav.fields": "Pola",
"nav.feeds": "Feedy",
"nav.exports": "Eksporty",
"nav.stores": "Sklepy",
"nav.jobs": "Zadania",
"nav.campaigns": "Kampanie",
"nav.calendar": "Kalendarz",
"nav.seo": "SEO",
"nav.brand": "Marka",
"nav.reviews": "Recenzje",
"nav.ai": "AI",
"nav.email": "E-mail",
"nav.billing": "Rozliczenia",
"nav.settings": "Ustawienia",
"nav.support": "Wsparcie",
"nav.admin": "Admin",
"nav.main": "Główna nawigacja",
"nav.sidebar": "Pasek boczny aplikacji",
"nav.close": "Zamknij nawigację",
"nav.closeMenu": "Zamknij menu",
"nav.open": "Otwórz nawigację",
"nav.commandPalette": "Szukaj stron",
"nav.commandPaletteLabel": "Szukaj",
"auth.login.title": "Zaloguj się",
"auth.login.description": "Użyj adresu e-mail i hasła Descrybe.",
"auth.login.submit": "Zaloguj się",
"auth.login.submitting": "Logowanie…",
"auth.login.failed": "Logowanie nie powiodło się",
"auth.login.passwordNotSet": "To konto nadal wymaga hasła. Otwórz link zaproszenia lub poproś administratora o wystawienie nowego.",
"auth.login.setPasswordFirstTitle": "Najpierw ustaw hasło:",
"auth.login.setPasswordFirstBody": "użyj linku zaproszenia z e-maila. Jeśli link poszedł na stary adres (dryf e-mail), poproś administratora firmy o ponowne wystawienie zaproszenia do ustawienia hasła na {email}.",
"auth.login.yourEmail": "twój e-mail",
"auth.login.platformAdminsReissue": "Administratorzy platformy mogą ponownie wystawić z",
"auth.login.adminUsersLink": "Admin → Użytkownicy",
"auth.login.haveToken": "Masz token? Otwórz akceptację zaproszenia",
"auth.login.noAccount": "Brak konta?",
"auth.login.createCompany": "Utwórz firmę",
"auth.login.haveInvite": "Masz zaproszenie lub link do ustawienia hasła?",
"auth.login.acceptInvite": "Zaakceptuj zaproszenie",
"auth.login.forgotPassword": "Nie pamiętasz hasła?",
"auth.login.forgotPasswordHelp": "Podaj e-mail na stronie resetu. Jeśli nigdy nie ustawiłeś hasła, użyj linku zaproszenia / ustawienia hasła.",
"auth.forgot.title": "Nie pamiętam hasła",
"auth.forgot.description": "Podaj e-mail konta. Jeśli pasuje do aktywnego konta, wyślemy link resetujący.",
"auth.forgot.submit": "Wyślij link resetujący",
"auth.forgot.submitting": "Wysyłanie…",
"auth.forgot.failed": "Nie udało się poprosić o reset",
"auth.forgot.sentTitle": "Sprawdź e-mail",
"auth.forgot.sentBody": "Jeśli konto dla tego adresu istnieje, link resetujący jest w drodze. Link wygasa po godzinie.",
"auth.forgot.backToSignIn": "Wróć do logowania",
"auth.reset.title": "Zresetuj hasło",
"auth.reset.description": "Wybierz nowe hasło do konta Descrybe (co najmniej 8 znaków).",
"auth.reset.submit": "Zapisz nowe hasło",
"auth.reset.submitting": "Zapisywanie…",
"auth.reset.failed": "Nie udało się zresetować hasła",
"auth.reset.doneTitle": "Hasło zaktualizowane",
"auth.reset.doneDescription": "Zaloguj się e-mailem i nowym hasłem.",
"auth.reset.goToSignIn": "Przejdź do logowania",
"auth.reset.passwordConfirm": "Potwierdź hasło",
"auth.reset.passwordMismatch": "Hasła nie są zgodne",
"auth.reset.missingTitle": "Brak linku resetu",
"auth.reset.missingDescription": "Otwórz link z e-maila, aby wybrać nowe hasło.",
"auth.reset.requestNewLink": "Poproś o nowy link resetu",
"auth.reset.tokenMissing": "Nie podano linku resetu. Użyj linku z e-maila albo poproś o nowy.",
"auth.reset.tokenInvalid": "Ten link resetu jest nieprawidłowy lub wygasł. Poproś o nowy na stronie nie pamiętam hasła.",
"auth.reset.linkRecognized": "Rozpoznano link resetowania. Wprowadź nowe hasło poniżej — sekret nie jest wyświetlany na tej stronie.",
"auth.reset.tokenLabel": "Token resetu",
"auth.reset.passwordHint": "Co najmniej 8 znaków. Bez innych reguł złożoności.",
"auth.register.title": "Utwórz firmę",
"auth.register.description": "Rejestruje firmę i jej użytkownika administratora.",
"auth.register.companyName": "Nazwa firmy",
"auth.register.submit": "Utwórz konto",
"auth.register.submitting": "Tworzenie…",
"auth.register.failed": "Rejestracja nie powiodła się",
"auth.register.haveAccount": "Masz już konto?",
"auth.register.signIn": "Zaloguj się",
"auth.invite.title": "Zaakceptuj zaproszenie",
"auth.invite.setPasswordTitle": "Ustaw hasło",
"auth.invite.description": "Ustaw hasło, aby dołączyć do firmy. Administrator przypisał rolę Członek (codzienna praca) lub Admin (zespół i rozliczenia).",
"auth.invite.setPasswordDescription": "Wybierz hasło do zmigrowanego konta Descrybe (co najmniej 8 znaków).",
"auth.invite.checking": "Sprawdzanie zaproszenia…",
"auth.invite.forEmail": "Zaproszenie dla {email}.",
"auth.invite.linkRecognized": "Rozpoznano link zaproszenia. Wprowadź hasło poniżej, aby kontynuować — sekret nie jest wyświetlany na tej stronie.",
"auth.invite.resetLinkRecognized": "Rozpoznano link resetowania. Wprowadź hasło poniżej, aby kontynuować — sekret nie jest wyświetlany na tej stronie.",
"auth.invite.tokenLabel": "Token zaproszenia",
"auth.invite.resetTokenLabel": "Token resetowania",
"auth.invite.tokenHelp": "Wklej token z e-maila z zaproszeniem. Jest maskowany w tym polu.",
"auth.invite.passwordHint": "Co najmniej 8 znaków. Brak innych reguł złożoności.",
"auth.invite.submit": "Zaakceptuj zaproszenie",
"auth.invite.setPasswordSubmit": "Ustaw hasło",
"auth.invite.accepting": "Akceptowanie…",
"auth.invite.saving": "Zapisywanie…",
"auth.invite.verifyFailed": "Nie można zweryfikować zaproszenia",
"auth.invite.verifySetPasswordFailed": "Nie można zweryfikować linku ustawienia hasła",
"auth.invite.acceptFailed": "Nie można zaakceptować zaproszenia",
"auth.invite.setPasswordFailed": "Nie można ustawić hasła",
"auth.invite.expired": "To zaproszenie jest nieprawidłowe lub wygasło. Poproś administratora firmy o nowe zaproszenie, a następnie otwórz nowy link (lub wklej nowy token poniżej).",
"auth.invite.setPasswordExpired": "Ten link do ustawienia hasła jest nieprawidłowy lub wygasł. Poproś administratora firmy lub platformy o ponowne wystawienie, a następnie otwórz nowy link (lub wklej nowy token poniżej).",
"auth.invite.emailMismatchDefault": "Jesteś zalogowany na inny e-mail niż w tym zaproszeniu.",
"auth.invite.expiredFooter": "Wygasły link? Poproś administratora o ponowne wystawienie — nie ma API samodzielnego ponownego wysyłania. Administratorzy platformy:",
"auth.invite.adminUsersLink": "Admin → Użytkownicy",
"auth.invite.doneTitle": "Jesteś w zespole",
"auth.invite.doneSetPasswordTitle": "Hasło zapisane",
"auth.invite.doneDescription": "Twoje konto jest gotowe. Następnie otwórz panel, aby pracować z feedami i produktami, lub przejrzyj ustawienia firmy.",
"auth.invite.doneSetPasswordDescription": "Zaloguj się e-mailem i nowym hasłem, aby otworzyć przestrzeń roboczą.",
"auth.invite.openDashboard": "Otwórz panel",
"auth.invite.companySettings": "Ustawienia firmy",
"auth.invite.goToSignIn": "Przejdź do logowania",
"auth.invite.afterSignInNote": "Po zalogowaniu trafiasz do przestrzeni roboczej — pomijana jest wycieczka po konfiguracji początkowej.",
"auth.invite.mismatchTitle": "Złe konto dla tego zaproszenia",
"auth.invite.mismatchDescription": "Ten link jest dla innego e-maila niż ten, na który jesteś zalogowany. Wyloguj się, aby kontynuować jako zaproszony użytkownik, albo pozostań zalogowany i poproś administratora o ponowne wystawienie zaproszenia.",
"auth.invite.mismatchDetail": "Zalogowano jako {session}, ale to zaproszenie jest dla {invite}.",
"auth.invite.mismatchFallback": "E-mail sesji nie pasuje do tego zaproszenia.",
"auth.invite.switchAccountTitle": "Zmień konto:",
"auth.invite.switchAccountBody": "wyloguj się, a następnie dokończ ten formularz zaproszonym e-mailem{emailSuffix}.",
"auth.invite.reissueTitle": "Ścieżka ponownego wystawienia:",
"auth.invite.reissueBody": "jeśli zmienił się Twój prawdziwy e-mail logowania (dryf e-mail), poproś administratora firmy o unieważnienie tego zaproszenia i wysłanie nowego na e-mail używany do logowania. Administratorzy platformy mogą też ponownie wystawiać linki ustawienia hasła w Admin → Użytkownicy.",
"locale.switcher": "Język interfejsu",
"locale.menu": "Wybierz język interfejsu",
"locale.label": "Język panelu",
"locale.help": "Zmienia etykiety w nawigacji i ustawieniach. Język generowanych treści ustawia się osobno w Firmie.",
"settings.contentLanguage": "Język treści",
"settings.contentLanguageHelp": "Język używany do tytułów, opisów i innych generowanych treści",
"settings.tab.profile": "Profil",
"settings.tab.company": "Firma",
"settings.tab.alerts": "Alerty",
"settings.tab.apiKeys": "Klucze API",
"settings.tab.team": "Zespół",
"settings.title": "Ustawienia",
"settings.description": "Konto, firma, klucze API i zespół.",
"settings.accessDenied": "Nie masz uprawnień do otwarcia ustawień firmy. Poproś administratora firmy o pomoc.",
"settings.loadFailed": "Nie udało się wczytać ustawień",
"settings.profileHeading": "Profil",
"settings.personalInfo": "Dane osobowe",
"settings.personalInfoHelp": "Zaktualizuj swoje dane osobowe",
"settings.firstName": "Imię",
"settings.firstNamePlaceholder": "Twoje imię",
"settings.lastName": "Nazwisko",
"settings.lastNamePlaceholder": "Twoje nazwisko",
"settings.email": "E-mail",
"settings.profileUpdated": "Profil zaktualizowany.",
"settings.profileUpdateFailed": "Nie można zaktualizować profilu",
"settings.role.member": "Członek",
"settings.role.admin": "Admin",
"settings.teamHeading": "Członkowie zespołu",
"settings.inviteUser": "Zaproś użytkownika",
"settings.teamAdminOnly": "Tylko administratorzy firmy mogą zapraszać, awansować, degradować lub usuwać członków zespołu.",
"settings.shareAcceptLink": "Udostępnij link akceptacji",
"settings.shareAcceptLinkHelp": "Wychodzący e-mail nie jest skonfigurowany. Skopiuj ten jednorazowy link i wyślij go zaproszonemu. Ustawi hasło (co najmniej 8 znaków) i dołączy z wybraną przez Ciebie rolą.",
"settings.acceptLinkLabel": "Jednorazowy link akceptacji zaproszenia",
"settings.copyLink": "Kopiuj link",
"settings.linkCopied": "Skopiowano link akceptacji.",
"settings.table.email": "E-mail",
"settings.table.role": "Rola",
"settings.table.status": "Stan",
"settings.table.joined": "Dołączył / wygasa",
"settings.table.actions": "Akcje",
"settings.teamForbidden": "Nie masz uprawnień do przeglądania listy zespołu. Poproś administratora firmy o pomoc.",
"settings.noTeammates": "Brak jeszcze członków zespołu",
"settings.noTeammatesHelp": "Zapraszaj współpracowników jako Członek (produkty i feedy) lub Admin (zespół i ustawienia firmy). Oczekujące zaproszenia są tu widoczne do akceptacji.",
"settings.noTeammatesMemberHelp": "Brak jeszcze członków zespołu na liście. Poproś administratora firmy o wysłanie zaproszeń.",
"settings.memberActions": "Akcje członka",
"settings.makeAdmin": "Uczyń adminem",
"settings.makeMember": "Uczyń członkiem",
"settings.removeMember": "Usuń",
"settings.revokeInvite": "Unieważnij zaproszenie",
"settings.needOneAdmin": "Firmy potrzebują co najmniej jednego administratora",
"settings.expires": "Wygasa {date}",
"settings.invalidEmail": "Wprowadź prawidłowy adres e-mail.",
"settings.inviteCreatedNoMail": "Utworzono zaproszenie dla {email} jako {role}. Skopiuj link akceptacji poniżej i udostępnij go — wychodzący e-mail nie jest skonfigurowany.",
"settings.inviteSent": "Wysłano zaproszenie do {email} jako {role}. Osoba powinna otworzyć e-mail i zaakceptować przed wygaśnięciem.",
"settings.inviteFailed": "Nie można wysłać zaproszenia",
"settings.revokeConfirm": "Unieważnić to zaproszenie?",
"settings.revoked": "Zaproszenie unieważnione.",
"settings.revokeFailed": "Nie można unieważnić zaproszenia",
"settings.removeConfirm": "Usunąć {email} z tej firmy?",
"settings.memberRemoved": "Usunięto {email}.",
"settings.removeFailed": "Nie można usunąć użytkownika",
"settings.roleChangeConfirm": "{action} {email} do {role}?",
"settings.roleChanged": "{email} jest teraz {role}.",
"settings.roleChangeFailed": "Nie można zaktualizować roli",
"settings.promote": "Awansuj",
"settings.demote": "Degraduj",
"settings.inviteTitle": "Zaproś członka zespołu",
"settings.inviteDescription": "Otrzymają link do ustawienia hasła (co najmniej 8 znaków) i dołączenia do tej firmy.",
"settings.inviteEmail": "E-mail",
"settings.inviteEmailPlaceholder": "kolega@przyklad.com",
"settings.inviteRole": "Rola",
"settings.inviteRoleHint": "Członkowie zarządzają produktami i feedami. Administratorzy mogą też zapraszać współpracowników i zmieniać ustawienia firmy.",
"settings.sendInvite": "Wyślij zaproszenie",
"settings.companyHeading": "Ustawienia firmy",
"settings.activeCompany": "Aktywna firma",
"settings.creditsOverview": "Przegląd kredytów",
"settings.plan": "Plan taryfowy",
"settings.used": "Użyte",
"settings.companyInfo": "Informacje o firmie",
"settings.companyInfoHelp": "Zaktualizuj dane firmy",
"settings.companyName": "Nazwa firmy",
"settings.companyNamePlaceholder": "Nazwa Twojej firmy",
"settings.contentSettings": "Ustawienia treści",
"settings.mergeProducts": "Scal produkty z tym samym GTIN",
"settings.emailIntegration": "Integracja e-mail",
"settings.aiIntegrations": "Integracje AI",
"settings.alertsHeading": "Alerty operatora",
"settings.inAppToasts": "Powiadomienia w aplikacji",
"settings.emailAlerts": "Alerty e-mail",
"settings.apiKeysHeading": "Klucze API",
"settings.createApiKey": "Utwórz klucz API",
"settings.createApiKeyShort": "Utwórz klucz API",
"settings.createApiKeyTitle": "Utwórz klucz API",
"settings.apiKeyLabel": "Klucz API",
"settings.keyName": "Nazwa klucza",
"settings.storeKeySafe": "Przechowuj go w bezpiecznym miejscu — nie zobaczysz już pełnego sekretu.",
"settings.apiKeysIntro": "Utwórz firmowy klucz API, aby wywoływać publiczne endpointy /api/v1. Pełny sekret jest pokazywany tylko raz przy tworzeniu — skopiuj go od razu.",
"settings.apiKeysUseWhere": "Wysyłaj go jako Authorization: Bearer <key> (zalecane) lub X-API-Key.",
"settings.apiKeysDocsLink": "Dokumentacja uwierzytelniania API",
"settings.apiKeyOnceWarning": "To jedyna chwila, gdy pełny sekret jest widoczny. Skopiuj go teraz, zanim zamkniesz to okno.",
"settings.table.name": "Nazwa",
"settings.table.key": "Klucz",
"settings.table.lastUsed": "Ostatnio użyty",
"dashboard.demoSandbox": "Piaskownica demo",
"dashboard.demoEmptyTitle": "Piaskownica demo jest pusta",
"dashboard.demoEmptyHint": "Piaskownica demo jest pusta — przełącz na A1 lub podłącz feed, aby zobaczyć realne statystyki katalogu.",
"dashboard.overviewTitle": "Przegląd",
"dashboard.quickLinks": "Szybkie linki",
"dashboard.whatsNew": "Co nowego",
"dashboard.startTutorial": "Uruchom samouczek",
"dashboard.resumeTutorial": "Wznów samouczek",
"dashboard.restartTutorial": "Uruchom ponownie samouczek",
"dashboard.tourTopics": "Tematy wycieczki",
"dashboard.browseTutorialSections": "Przeglądaj sekcje samouczka",
"dashboard.connectFeed": "Podłącz feed",
"dashboard.processProducts": "Przetwarzaj produkty",
"dashboard.openProducts": "Otwórz produkty",
"dashboard.welcomeTo": "Witamy w {name}",
"dashboard.trialBadge": "Okres próbny",
"dashboard.actions": "Akcje panelu",
"dashboard.emptyPaygHint": "Descrybe wciąga katalog, wzbogaca i przetwarza, a potem eksportuje lub wypycha do sklepów. Użyj Pierwsze kroki poniżej.",
"dashboard.emptyCreditsHint": "Descrybe wciąga katalog, wzbogaca i przetwarza, a potem eksportuje lub wypycha do sklepów. Masz {credits} — zacznij od Pierwsze kroki poniżej.",
"dashboard.workflowTitle": "Przepływ katalogu",
"dashboard.recentActivity": "Ostatnia aktywność",
"dashboard.loadFailed": "Nie udało się wczytać panelu",
"dashboard.workspaceFallback": "Ta przestrzeń robocza",
"dashboard.jobFallback": "Zadanie {id}",
"dashboard.workflow.feeds.connect": "Podłącz źródło",
"dashboard.workflow.feeds.sources": "{count} źródło",
"dashboard.workflow.feeds.sourcesPlural": "{count} źródeł",
"dashboard.workflow.products.build": "Zbuduj katalog",
"dashboard.workflow.products.count": "{count} w katalogu",
"dashboard.workflow.map": "Map",
"dashboard.workflow.map.detail": "Dopasuj kolumny po dodaniu feedu",
"dashboard.workflow.map.ready": "Otwórz Map na feedzie",
"dashboard.workflow.sync": "Sync",
"dashboard.workflow.sync.detail": "Pobierz próbkę po mapowaniu",
"dashboard.workflow.sync.ready": "Zsynchronizuj próbkę do produktów",
"dashboard.workflow.process": "Przetwórz",
"dashboard.workflow.processActive": "{count} aktywnych",
"dashboard.workflow.processWaiting": "{count} oczekujących",
"dashboard.workflow.processDone": "{count} ukończonych",
"dashboard.workflow.processRun": "Uruchom zadania AI",
"dashboard.workflow.export": "Eksportuj",
"dashboard.workflow.exportReady": "Szablony i pobieranie",
"dashboard.workflow.exportMap": "Mapuj, potem eksportuj",
"dashboard.workflowHint": "Katalog wejściowy → wzbogacenie / przetwarzanie → eksport lub wypchnięcie do sklepów. Przejdź do następnego kroku dla {name}.",
"dashboard.overviewHint": "Bieżące sumy dla {name}",
"dashboard.demoEmptyMessage": "Przełącz na A1 (lub inną firmę z danymi) w nagłówku albo podłącz tu feed, aby wypełnić tę piaskownicę.",
"dashboard.emptyTitle": "Wciągnij katalog",
"dashboard.emptyMessage": "Katalog wejściowy → wzbogacenie / przetwarzanie → eksport lub wypchnięcie do sklepów. Zacznij od Pierwsze kroki poniżej (lub podłącz feed / prześlij CSV).",
"dashboard.connectFeedAnyway": "Podłącz feed mimo to",
"dashboard.connectFeedShort": "Podłącz feed",
"dashboard.uploadCsv": "Prześlij CSV",
"dashboard.goToBilling": "Przejdź do rozliczeń",
"dashboard.freePlanTitle": "Korzystasz z planu Free",
"dashboard.freePlanMessageWithLimit": "Użyto {used} z {max} produktów. Mapowanie feedów, podstawowe czyszczenie i etykiety energetyczne UE (EPREL) są wliczone; ulepsz plan o tytuły i opisy AI oraz większą pojemność.",
"dashboard.freePlanMessage": "Mapowanie feedów, podstawowe czyszczenie i etykiety energetyczne UE (EPREL) są wliczone; ulepsz plan o tytuły i opisy AI oraz większą pojemność.",
"dashboard.outOfCreditsTitle": "Skończyły Ci się kredyty AI",
"dashboard.outOfCreditsMessage": "Kup więcej kredytów lub ulepsz plan, aby kontynuować przetwarzanie.",
"dashboard.productLimitTitle": "Osiągnięto limit produktów",
"dashboard.productLimitMessage": "Twój plan {plan} pozwala na {max} produktów ({count} w katalogu). Ulepsz, aby przetwarzać więcej.",
"dashboard.productLimitMessageFull": "Osiągnięto limit produktów planu {plan}. Ulepsz, aby przetwarzać więcej.",
"dashboard.comparePlans": "Porównaj plany",
"dashboard.viewPlans": "Zobacz plany",
"dashboard.trialTitle": "Okres próbny · {plan}",
"dashboard.trialMessageDated": "Okres próbny kończy się {date}. Pozostało {credits} kredytów.",
"dashboard.trialMessage": "Pozostało {credits} kredytów w okresie próbnym.",
"dashboard.lowCreditsTitle": "Kończą się kredyty",
"dashboard.lowCreditsMessage": "Pozostało {remaining} z {total} kredytów. Doładuj lub ulepsz, zanim zadania się zatrzymają.",
"dashboard.latestJobs": "Najnowsze zadania przetwarzania",
"dashboard.noJobsEmpty": "Brak jeszcze zadań — najpierw zaimportuj produkty.",
"dashboard.noJobsReady": "Brak ostatnich zadań. Uruchom jedno w Produktach, gdy będziesz gotowy.",
"dashboard.startJob": "Uruchom zadanie z Produktów",
"dashboard.quickLinksHint": "Feedy, produkty, zadania i eksport.",
"dashboard.feedsImportMap": "Importuj i mapuj",
"dashboard.productsBrowse": "Przeglądaj i przetwarzaj",
"dashboard.jobsMonitor": "Monitoruj zadania",
"dashboard.exportsTemplates": "Szablony i pobieranie",
"activation.title": "Pierwsze kroki",
"activation.description": "Descrybe wciąga katalog, wzbogaca i przetwarza, a potem eksportuje lub wypycha do sklepów. Dokończ bieżący krok i kontynuuj — tour demo wyjaśnia ekrany bez zmiany postępu listy.",
"activation.descriptionShort": "Zacznij od podświetlonego kroku poniżej — jedna akcja naraz. Połączenie sklepu jest opcjonalne.",
"activation.nextCta": "Wykonaj ten krok",
"activation.valueProp": "Descrybe wciąga katalog, wzbogaca i przetwarza, a potem eksportuje lub wypycha do Twoich sklepów.",
"activation.alreadyDone": "Już zrobione",
"activation.skipForNow": "Pomiń na razie",
"activation.showAllSteps": "Pokaż wszystkie {total} kroki",
"activation.showFewerSteps": "Pokaż mniej kroków",
"activation.corePathLabel": "W skrócie",
"activation.corePath": "Katalog wejściowy → Wzbogacenie / przetwarzanie → Eksport lub wypchnięcie do sklepów",
"activation.storeWizardHint": "Nie jest wymagane do feedów ani eksportów — pomiń, chyba że chcesz wysyłać produkty do żywego sklepu.",
"activation.storeWizardCta": "Uruchom konfigurację przewodnią",
"activation.focus.map": "Dalej: otwórz Map na feedzie, dopasuj kolumny i zapisz. Najpierw dodaj feed, jeśli lista jest pusta.",
"activation.focus.sync": "Dalej: zsynchronizuj próbkę po zapisaniu mapowania. Użyj Sync na zmapowanym feedzie — unikaj niezmapowanych źródeł.",
"activation.focus.dismiss": "Zamknij podpowiedź",
"activation.dismiss": "Ukryj listę",
"hypercare.report.title": "Hypercare cutover",
"hypercare.report.message": "Brakujące lub błędne dane po migracji? Zgłoś to, abyśmy mogli naprawić Twój workspace.",
"hypercare.report.cta": "Zgłoś brakujące lub błędne dane",
"hypercare.report.dismiss": "Odrzuć",
"hypercare.report.adminTriage": "Otwórz kolejkę hypercare",
"etl.gaps.title": "What did not migrate",
"etl.gaps.message": "These areas were intentionally left empty or partial after the Descrybe platform cutover. Nothing is “broken” — recreate or reconnect as needed.",
"etl.gaps.dismiss": "Dismiss",
"etl.gaps.apiKeys.title": "API keys",
"etl.gaps.apiKeys.body": "Legacy API key secrets were not migrated. Create a new key to restore API access — the secret is shown only once.",
"etl.gaps.apiKeys.cta": "Open API keys",
"etl.gaps.blobs.title": "File contents (blobs)",
"etl.gaps.blobs.body": "Upload records may exist as metadata only. File bytes were not copied — re-upload CSVs or resync object storage if you need the originals.",
"etl.gaps.blobs.countHint": "{count} file records are metadata-only (bytes were not migrated).",
"etl.gaps.blobs.cta": "Open Files",
"etl.gaps.jobs.title": "Processing history",
"etl.gaps.jobs.body": "Legacy job and task history was not backfilled for cutover. New jobs you start here will appear normally.",
"etl.gaps.jobs.emptyHint": "Optional jobs domain was not run — empty history is expected.",
"etl.gaps.jobs.migratedHint": "{count} jobs were tagged migrated from an optional backfill.",
"etl.gaps.jobs.cta": "Open Processing",
"etl.gaps.woo.title": "Store credentials",
"etl.gaps.woo.body": "WooCommerce and Shopify secrets may need to be re-entered after cutover — that is a reconnect step, not a broken sync.",
"etl.gaps.woo.cta": "Open Stores",
"etl.gaps.settings.title": "Company settings",
"etl.gaps.settings.body": "Only language and merge-products settings were imported. Re-check other company preferences in Settings.",
"etl.gaps.settings.cta": "Open company settings",
"activation.progress": "{done} z {total} ukończonych",
"activation.stepsLabel": "Kroki aktywacji",
"activation.pausedTitle": "Pierwsze kroki wstrzymane",
"activation.pausedBody": "Wznów w dowolnym momencie — od pól produktu do eksportu. Połączenie sklepu pozostaje opcjonalne.",
"activation.resume": "Wznów listę",
"activation.step.enable-fields.title": "Włącz pola produktów",
"activation.step.enable-fields.body": "Wybierz, które standardowe kolumny produktów Descrybe ma mapować i czyścić.",
"activation.step.connect-source.title": "Dodaj feed produktów",
"activation.step.connect-source.body": "Dodaj katalogowy feed CSV lub XML, aby produkty trafiały do Descrybe. Podłączenie żywego sklepu to późniejszy opcjonalny krok.",
"activation.step.map.title": "Mapuj kolumny feedu",
"activation.step.map.body": "W Feeds otwórz Map na swoim feedzie, dopasuj kolumny dostawcy do pól Descrybe i zapisz.",
"activation.step.sync-sample.title": "Synchronizuj próbkę",
"activation.step.sync-sample.body": "W Feeds zsynchronizuj małą próbkę z zmapowanego feedu, aby sprawdzić mapowanie przed pełnym uruchomieniem.",
"activation.step.process.title": "Przetwarzaj produkty",
"activation.step.process.body": "Otwórz nieprzetworzone produkty i uruchom przetwarzanie, aby wygenerować oczyszczoną treść katalogu.",
"activation.step.store-connect.title": "Połącz sklep",
"activation.step.store-connect.body": "Opcjonalne. Połącz WooCommerce lub Shopify, aby wysyłać produkty do sklepu. Pomiń, jeśli używasz tylko feedów i eksportów.",
"activation.step.export.title": "Utwórz eksport",
"activation.step.export.body": "Utwórz feed eksportu, aby pobierać lub publikować oczyszczone produkty jako XML lub CSV.",
"stats.products": "Zaimportowane produkty",
"stats.categories": "Kategorie",
"stats.attributes": "Atrybuty",
"stats.feeds": "Feedy",
"stats.credits": "Kredyty",
"stats.openCatalog": "Otwórz katalog",
"stats.productsHint": "Katalog {processed} · kolejka {unprocessed} (osobne liczniki)",
"stats.catalogTree": "Drzewo katalogu",
"stats.attributeLibrary": "Biblioteka atrybutów",
"stats.importSources": "Źródła importu",
"stats.payAsYouGo": "Pay as you go",
"stats.walletBilling": "Portfel · Rozliczenia",
"stats.enterpriseBilling": "Enterprise · Rozliczenia",
"stats.usedBilling": "{used} użytych · Rozliczenia",
"processing.jobStatus.processing": "Przetwarzanie",
"processing.jobStatus.completed": "Ukończono",
"processing.jobStatus.failed": "Niepowodzenie",
"processing.jobStatus.cancelled": "Anulowano",
"processing.jobStatus.pending": "Oczekujące",
"processing.jobStatus.queued": "W kolejce",
"processing.jobStatus.skipped": "Pominięto",
"processing.jobStatus.unknown": "Nieznane",
"processing.job.error.all_failed": "Wszystkie {count} produktów nie powiodło się.",
"processing.job.error.partial_failed": "{count} produktów nie powiodło się.",
"processing.step.normalize": "Normalizuj",
"processing.step.parse_specs": "Parsuj specs",
"processing.step.fill_fields": "Wypełnij pola",
"processing.step.eprel": "EPREL",
"processing.step.ai_enhance": "Ulepszenie AI",
"processing.type.full": "Pełne przetwarzanie",
"processing.type.enhance_only": "Tylko ulepsz",
"processing.type.title": "Tylko tytuł",
"processing.type.description": "Tylko opis",
"processing.type.attributes": "Atrybuty",
"processing.type.category": "Kategoria",
"processing.type.eprel": "EPREL",
"processing.type.seo": "SEO",
"processing.type.normalize": "Normalizuj",
"errors.requestFailed": "Żądanie nie powiodło się",
"errors.maintenance": "System jest w konserwacji. Spróbuj ponownie później.",
"errors.readOnly": "System jest w trybie tylko do odczytu. Zmiany są tymczasowo wyłączone.",
"errors.companyAdminDenied": "Tylko administratorzy firmy mogą {action}. Poproś administratora o pomoc.",
"errors.companyAdminDenied.actionDefault": "to zrobić",
"docs.tryIt.memberCannotCreate": "Tylko admini firmy mogą tworzyć klucze API. Starsze nie zostały zmigrowane — wklej klucz poniżej lub poproś admina o nowy.",
"docs.tryIt.noKeysLegacyAdmin": "Starsze klucze API nie zostały zmigrowane. Utwórz nowy przez Use my API key lub Ustawienia → Klucze API — sekret pokazywany jest tylko raz.",
"docs.tryIt.noKeysLegacyMember": "Brak kluczy API. Starsze nie zostały zmigrowane — poproś admina o utworzenie lub wklej klucz dk_.",
"errors.couldNotUpdateLanguage": "Nie można zaktualizować języka",
"toast.support.replyTitle": "Odpowiedź wsparcia",
"toast.support.replyBody": "Zespół odpowiedział na Twoje zgłoszenie wsparcia.",
"toast.support.replyRe": "Re: {subject}",
"toast.support.statusTitle": "Zaktualizowano status zgłoszenia",
"toast.support.statusBody": "Status Twojego zgłoszenia wsparcia się zmienił.",
"toast.support.updateTitle": "Aktualizacja wsparcia",
"assistant.label": "Asystent",
"assistant.open": "Otwórz asystenta systemu",
"assistant.close": "Zamknij asystenta systemu",
"tutorial.demoTour": "Wycieczka demo",
"tutorial.jumpToTopic": "Przejdź do tematu",
"tutorial.whereNeedHelp": "W czym potrzebujesz pomocy?",
"tutorial.skipTour": "Pomiń wycieczkę",
"tutorial.skipAria": "Pomiń samouczek",
"tutorial.pickerBody": "Wybierz sekcję, aby ponownie otworzyć tę część demo. Przeglądanie wycieczki nie zmienia danych konta.",
"tutorial.sectionsAria": "Sekcje samouczka",
"tutorial.open": "Otwórz",
"tutorial.close": "Zamknij",
"tutorial.resumeLastStep": "Wznów ostatni krok",
"tutorial.startFromBeginning": "Zacznij od początku",
"tutorial.stepOf": "Krok {current} z {total}",
"tutorial.jumpTo": "Przejdź do…",
"tutorial.jumpToSectionAria": "Przejdź do sekcji",
"tutorial.back": "Wstecz",
"tutorial.pause": "Wstrzymaj",
"tutorial.continue": "Kontynuuj",
"tutorial.finishTour": "Zakończ wycieczkę",
"tutorial.missingTargetHint": "Ten element sterujący nie jest jeszcze na tym ekranie. Możesz mimo to Kontynuować — wycieczka nigdy nie wymaga zapisu ani synchronizacji.",
"tutorial.section.welcome": "Welcome",
"tutorial.section.catalog": "Catalog setup",
"tutorial.section.sources": "Feeds",
"tutorial.section.mapping": "Map & sync",
"tutorial.section.products": "Process",
"tutorial.section.export": "Export & stores",
"tutorial.section.grow": "Grow",
"tutorial.section.done": "Done",
"tutorial.step.welcome.title": "Witamy w Descrybe",
"tutorial.step.welcome.body": "Główna pętla Descrybe to Feeds → Process → Export / Stores. Ta prowadzona demo podświetla te ekrany na prawdziwym panelu — bez zapisywania, synchronizacji, włączania pól ani tworzenia feedów. Wstrzymaj w dowolnym momencie; wznów z nagłówka. Przejdź do sekcji, gdy potrzebujesz pomocy tylko w jednym temacie.",
"tutorial.step.welcome.tip": "Demo tour — your data stays unchanged until you choose to act outside the tour.",
"tutorial.step.welcome.nextLabel": "Start tour",
"tutorial.step.welcome.missingHint": "Youre on the dashboard — continue when ready.",
"tutorial.step.dashboard-overview.title": "Twoje centrum dowodzenia",
"tutorial.step.dashboard-overview.body": "Pas workflow katalogu pokazuje codzienną ścieżkę: Feeds → Map → Sync → Process. Getting started śledzi prawdziwy postęp workspace (osobno od tej demo). Gdy jesteś gotowy, użyj Manage feeds lub Start processing — potem eksportuj lub podłącz sklep.",
"tutorial.step.dashboard-overview.tip": "Completing this tour does not mark checklist steps done — only real workspace progress does.",
"tutorial.step.dashboard-overview.missingHint": "The workflow strip and checklist appear after the dashboard loads.",
"tutorial.step.enable-fields.title": "Pola standardowe",
"tutorial.step.enable-fields.body": "Standard Fields to kolumny produktów, które Descrybe mapuje, przetwarza i eksportuje — tytuł, opis, GTIN, obrazy i więcej. Enable recommended włącza rozsądny zestaw domyślny dla większości katalogów. Listę możesz później dopracować bez psucia istniejących mapowań.",
"tutorial.step.enable-fields.tip": "In the demo you dont need to click Enable recommended — Continue when you understand the idea.",
"tutorial.step.enable-fields.warning": "Enabling or disabling fields affects mapping and processing for this company. Prefer Enable recommended once, then tweak carefully.",
"tutorial.step.enable-fields.missingHint": "Wait for the Fields page to load, or open Fields from the Catalog section in the sidebar.",
"tutorial.step.catalog-depth.title": "Kategorie i atrybuty",
"tutorial.step.catalog-depth.body": "W sekcji Catalog paska bocznego znajdziesz też Categories i Attributes. Categories organizują katalog; atrybuty napędzają filtry i strukturalne opisy. Nie musisz ich konfigurować, by dokończyć ten tour.",
"tutorial.step.catalog-depth.tip": "Return to this section anytime from Jump to… if you revisit taxonomy later.",
"tutorial.step.catalog-depth.missingHint": "Expand Catalog in the sidebar to open Categories or Attributes after the tour.",
"tutorial.step.connect-source.title": "Dodaj źródło produktów",
"tutorial.step.connect-source.body": "Feedy to sposób, w jaki katalogi dostawców trafiają do Descrybe — pliki CSV, XML lub URL. Add Feed tworzy nowe źródło; każdy wiersz pokazuje status (gotowy do mapowania, zmapowany, aktywny). Map otwiera ekran dopasowania pól dla tego feedu.",
"tutorial.step.connect-source.tip": "You dont need to add a feed for the demo. When ready for real setup, add one sample file first.",
"tutorial.step.connect-source.warning": "Avoid deleting live feeds unless you intend to remove that source and its sync history.",
"tutorial.step.connect-source.missingHint": "Open Feeds from the sidebar if this screen hasnt loaded.",
"tutorial.step.map.title": "Mapuj pola źródła",
"tutorial.step.map.body": "Na ekranie Map feedu dopasowujesz kolumny dostawcy do standard fields Descrybe. Auto-map sugeruje dopasowania z nazw kolumn; potwierdź rozmyte, potem popraw resztę. Save Mappings zapisuje mapę, by sync i przetwarzanie wiedziały, jak czytać każdy wiersz.",
"tutorial.step.map.tip": "Demo tip: open Map on a feed when you have one — you are not required to save.",
"tutorial.step.map.warning": "Dont Save Mappings until Auto-map looks right — a bad map makes bad products.",
"tutorial.step.map.missingHint": "Add a feed and click Map to see the mapping UI; or Continue to keep learning.",
"tutorial.step.sync-sample.title": "Zsynchronizuj próbkę (gdy gotowe)",
"tutorial.step.sync-sample.body": "Po zapisaniu mapowań Sync + Process sample pobiera małą partię i uruchamia przetwarzanie, by sprawdzić tytuły, obrazy i atrybuty przed pełnym uruchomieniem. Full Sync now na liście feedów służy większym importom, gdy próbka wygląda dobrze.",
"tutorial.step.sync-sample.tip": "Skip Sync during the demo — use it only after Save Mappings on a real feed.",
"tutorial.step.sync-sample.warning": "Syncing writes products into this company. Prefer a sample first; avoid Sync now on unmapped feeds.",
"tutorial.step.sync-sample.missingHint": "Sync controls appear on feed rows and on the mapping screen footer.",
"tutorial.step.process.title": "Przeglądaj produkty",
"tutorial.step.process.body": "Products listuje zsynchronizowane i przetworzone pozycje. Filtruj według statusu, otwórz wiersz po szczegóły i używaj odznak EPREL, gdy są dane etykiety energetycznej. Tu wychwytujesz błędy mapowania przed eksportem lub sync sklepu.",
"tutorial.step.process.tip": "Browsing products is read-only for exploration — editing a row changes live catalog data.",
"tutorial.step.process.missingHint": "Wait for the products table, or Continue if the catalog is still empty.",
"tutorial.step.processing-hub.title": "Przetwarzanie w tle",
"tutorial.step.processing-hub.body": "Joby w Processing pokazują postęp AI i pipeline: ukończone uruchomienia i błędy. Uruchamiaj joby z panelu lub produktów, gdy świadomie chcesz wydać kredyty na partię.",
"tutorial.step.processing-hub.tip": "Jobs consume credits — watch Billing before large runs.",
"tutorial.step.processing-hub.missingHint": "Open Jobs from the Processing section in the sidebar if the page is empty.",
"tutorial.step.stores-hub.title": "Sklepy i platformy",
"tutorial.step.stores-hub.body": "Po przetworzeniu Stores łączy WooCommerce lub Shopify, by wypchnąć oczyszczony katalog do sklepu. Używaj, gdy marketplace/CMS jest celem — albo przejdź do Export feeds, gdy partnerzy potrzebują tylko pliku/URL.",
"tutorial.step.stores-hub.tip": "Reconnect banners appear if a token expires — fix those before relying on sync.",
"tutorial.step.stores-hub.missingHint": "Open Stores from the sidebar to see connection cards.",
"tutorial.step.export.title": "Eksportuj oczyszczone produkty",
"tutorial.step.export.body": "Export feeds publikują oczyszczone produkty jako XML lub CSV dla kanałów, partnerów lub sklepu. Utwórz eksport, wybierz format i filtry, potem udostępnij URL feedu lub pobierz. Eksporty czytają przetworzone dane katalogu — najpierw mapuj i przetwarzaj dla najlepszych wyników.",
"tutorial.step.export.tip": "You dont need to create an export during the demo.",
"tutorial.step.export.warning": "Creating or deleting export feeds affects what partners can download — avoid deleting production feeds casually.",
"tutorial.step.export.missingHint": "Wait for Export feeds to load, or open Exports from the Feeds section in the sidebar.",
"tutorial.step.billing-hub.title": "Kredyty i rozliczenia",
"tutorial.step.billing-hub.body": "Billing pokazuje plan, portfel i pozostałe kredyty. Przetwarzanie i niektóre funkcje AI czerpią z tego salda. Pilnuj użycia przed dużymi uruchomieniami katalogu.",
"tutorial.step.billing-hub.tip": "Demo accounts may show unlimited or large balances — treat production credits carefully.",
"tutorial.step.billing-hub.missingHint": "Open Billing from the Account section in the sidebar.",
"tutorial.step.grow-hub.title": "Kampanie, SEO i recenzje",
"tutorial.step.grow-hub.body": "W Marketing: Campaigns generuje treści, Content calendar planuje posty, SEO sprawdza listingi, a Reviews łączy się z WooCommerce. Opierają się na zdrowym zmapowanym katalogu — dokończ Feeds → Process → Export / Stores, zanim na nich polegasz.",
"tutorial.step.grow-hub.tip": "Jump back here when youre ready to market, not during first mapping.",
"tutorial.step.grow-hub.missingHint": "Open Campaigns from Marketing in the sidebar, or Continue.",
"tutorial.step.tour-done.title": "Gotowy do eksploracji",
"tutorial.step.tour-done.body": "To mapa produktu: Feeds → Map → Sync → Process → Export / Stores. Użyj Getting started na panelu do prawdziwej konfiguracji. Wznów lub uruchom ponownie tour z nagłówka, albo Jump to… sekcję. Skip tour kończy demo bez zmiany checklisty.",
"tutorial.step.tour-done.tip": "Demo complete — no cleanup needed. Your account was not modified by Continue alone.",
"tutorial.step.tour-done.nextLabel": "Finish tour",
"tutorial.step.tour-done.missingHint": "Return to the dashboard to finish.",
"news.uxImprovements.title": "Ulepszenia doświadczenia użytkownika",
"flash.contentLanguageUpdated": "Zaktualizowano język treści.",
"theme.darkMode": "Tryb ciemny",
"theme.lightMode": "Tryb jasny",
"forbidden.title.accessRestricted": "Dostęp ograniczony",
"forbidden.title.permissionDenied": "Odmowa uprawnień",
"forbidden.message.support": "Ten obszar jest dostępny tylko dla wsparcia i administratorów platformy.",
"forbidden.message.platform": "Ten obszar jest dostępny tylko dla administratorów platformy.",
"forbidden.message.company": "Nie masz uprawnień. Poproś administratora firmy o pomoc.",
"forbidden.backToDashboard": "Powrót do panelu",
"admin.chrome.platformOps": "Ops platformy",
"admin.chrome.sidebar": "Pasek boczny ops platformy",
"admin.chrome.nav": "Ops platformy",
"admin.chrome.mobileMenu": "Menu mobilne ops platformy",
"admin.chrome.opsBadge": "Ops",
"admin.chrome.backToApp": "Powrót do aplikacji",
"admin.chrome.uiLanguage": "Język UI",
"admin.chrome.staff.supportDesk": "Biurko wsparcia",
"admin.chrome.staff.platformAdmin": "Admin platformy",
"admin.chrome.staff.staff": "Personel",
"admin.chrome.staff.admin": "Admin",
"admin.nav.section.overview": "Przegląd",
"admin.nav.section.directory": "Katalog",
"admin.nav.section.support": "Wsparcie",
"admin.nav.section.ops": "Operacje",
"admin.nav.section.commerce": "Handel",
"admin.nav.section.system": "Warstwa systemu",
"admin.nav.commandCenter": "Centrum dowodzenia",
"admin.nav.analytics": "Analityka",
"admin.nav.usersOrgs": "Użytkownicy i org",
"admin.nav.tickets": "Zgłoszenia",
"admin.nav.knowledge": "Wiedza",
"admin.nav.diagnostics": "Diagnostyka",
"admin.nav.stuckProducts": "Zablokowane produkty",
"admin.nav.orphanProcessed": "Orphan processed",
"admin.nav.billing": "Rozliczenia",
"admin.nav.sales": "Sales",
"admin.nav.translations": "Tłumaczenia",
"admin.nav.settings": "Ustawienia",
"admin.sales.title": "Sales leads",
"admin.sales.description": "Inbound Contact sales messages and custom payment quotes.",
"admin.sales.listTitle": "Leads",
"admin.sales.listDesc": "{total} matching leads",
"admin.sales.searchPlaceholder": "Search name, email, company…",
"admin.sales.statusAll": "All statuses",
"admin.sales.status.new": "New",
"admin.sales.status.contacted": "Contacted",
"admin.sales.status.quoted": "Quoted",
"admin.sales.status.won": "Won",
"admin.sales.status.closed": "Closed",
"admin.sales.empty": "No sales leads yet.",
"admin.sales.loadError": "Could not load sales leads.",
"admin.sales.saveError": "Could not save lead.",
"admin.sales.saved": "Lead updated.",
"admin.sales.notFound": "Lead not found.",
"admin.sales.leadTitle": "Lead details",
"admin.sales.estimatedSkus": "Estimated SKUs",
"admin.sales.linkCompany": "Link company",
"admin.sales.noCompany": "No company linked",
"admin.sales.adminNotes": "Admin notes",
"admin.sales.companyRequired": "Link a company before creating a payment quote.",
"admin.sales.prepareQuote": "Prepare custom plan",
"admin.sales.prepareQuoteDesc": "Creates an is_custom plan and optional Stripe Checkout link (one-time or installments).",
"admin.sales.planName": "Plan name",
"admin.sales.monthlyCredits": "Monthly AI credits",
"admin.sales.maxProducts": "Max SKUs",
"admin.sales.unlimitedHint": "Leave blank for unlimited",
"admin.sales.totalUsd": "Total price (USD)",
"admin.sales.termMonths": "Term (months)",
"admin.sales.installmentCount": "Installments",
"admin.sales.installmentInterval": "Interval",
"admin.sales.interval.month": "Monthly",
"admin.sales.interval.quarter": "Quarterly",
"admin.sales.interval.year": "Yearly",
"admin.sales.prepareCheckoutNow": "Create Stripe Checkout link now",
"admin.sales.createQuote": "Create quote",
"admin.sales.quoteCreated": "Quote created.",
"admin.sales.quoteError": "Could not create quote.",
"admin.sales.quotesTitle": "Quotes",
"admin.sales.noQuotes": "No quotes yet for this lead.",
"admin.sales.prepareCheckout": "Prepare Checkout",
"admin.sales.checkoutReady": "Checkout link ready.",
"admin.sales.checkoutError": "Could not prepare Checkout.",
"admin.sales.markSent": "Mark sent",
"admin.sales.markedSent": "Quote marked as sent.",
"admin.sales.col.name": "Name",
"admin.sales.col.email": "Email",
"admin.sales.col.company": "Company",
"admin.sales.col.status": "Status",
"admin.sales.col.created": "Created",
"sales.contact.title": "Contact sales",
"sales.contact.lead": "Tell us about your catalog and capacity needs — we will prepare a custom plan you can pay online.",
"sales.contact.formTitle": "Send a message",
"sales.contact.formLead": "Enterprise and custom deals are prepared by our team, then paid via Stripe Checkout.",
"sales.contact.name": "Name",
"sales.contact.email": "Work email",
"sales.contact.company": "Company",
"sales.contact.phone": "Phone (optional)",
"sales.contact.estimatedSkus": "Estimated SKUs (optional)",
"sales.contact.message": "How can we help?",
"sales.contact.submit": "Send message",
"sales.contact.submitting": "Sending…",
"sales.contact.error": "Could not send your message. Please try again.",
"sales.contact.toast.success": "Message sent — we will follow up soon.",
"sales.contact.thanksTitle": "Thanks — we got your message",
"sales.contact.thanksBody": "A platform admin will review your request and can send a Checkout link for a custom plan.",
"sales.contact.bookDemo": "Book a live demo",
"sales.contact.orBookDemo": "Or book a Calendly demo",
"sales.contact.backPricing": "Back to pricing",
"admin.overview.eyebrow": "Centrum dowodzenia",
"admin.overview.title": "Przegląd platformy",
"admin.overview.description": "Na żywo impuls platformy z podsumowania analityki — skocz do ops, insight i wsparcia.",
"admin.overview.tokens": "Tokeny",
"admin.overview.tokensHint": "Cały okres · okres",
"admin.overview.credits": "Kredyty",
"admin.overview.creditsHint": "We wszystkich firmach",
"admin.overview.jobs": "Zadania",
"admin.overview.jobsHint": "Migawka kolejki",
"admin.overview.platform": "Platforma",
"admin.overview.platformHint": "Najemcy · wolumen",
"admin.overview.signals": "Ostatnie sygnały",
"admin.overview.shortcuts": "Skróty ops",
"admin.overview.providers": "Mix dostawców AI",
"admin.overview.internalAi": "Wewnętrzne AI",
"admin.overview.internalAiHint": "Ustawienia platformy",
"admin.overview.popularKeys": "Popularne klucze",
"admin.overview.popularKeysHint": "Popularni dostawcy najemcy",
"admin.overview.customUrl": "Niestandardowy URL",
"admin.overview.customUrlHint": "Niestandardowy bazowy URL najemcy",
"admin.overview.linkBilling": "Rozliczenia",
"admin.overview.linkSettings": "Ustawienia",
"admin.overview.shortcut.diagnostics.title": "Diagnostyka",
"admin.overview.shortcut.diagnostics.desc": "Kontrole zdrowia, kolejka, niedawne błędy",
"admin.overview.shortcut.analytics.title": "Analityka",
"admin.overview.shortcut.analytics.desc": "Tokeny, zadania, rejestracje, dostawcy",
"admin.overview.shortcut.knowledge.title": "Wiedza",
"admin.overview.shortcut.knowledge.desc": "Artykuły, szablony, auto-odpowiedź",
"admin.overview.shortcut.users.title": "Użytkownicy i org",
"admin.overview.shortcut.users.desc": "Konta, firmy, zaproszenia",
"admin.overview.shortcut.stuck.title": "Zablokowane produkty",
"admin.overview.shortcut.stuck.desc": "Działa dłużej niż 2 godziny",
"admin.overview.signal.stuckTitle": "{count} zablokowane zadanie",
"admin.overview.signal.stuckTitlePlural": "{count} zablokowane zadania",
"admin.overview.signal.stuckDetail": "Działa dłużej niż 2 godziny — sprawdź i zresetuj w razie potrzeby.",
"admin.overview.signal.stuckCta": "Otwórz zablokowane zadania",
"admin.overview.signal.failedTitle": "{count} nieudanych w ostatnich {days} d",
"admin.overview.signal.failedDetail": "{completed} ukończonych w tym samym oknie.",
"admin.overview.signal.failedDetailRate": "{rate}% wskaźnik błędów · {completed} ukończonych.",
"admin.overview.signal.failedCta": "Otwórz diagnostykę",
"admin.overview.signal.runningTitle": "{count} zadanie w toku",
"admin.overview.signal.runningTitlePlural": "{count} zadań w toku",
"admin.overview.signal.runningDetail": "Aktywne zadania przetwarzania w tej chwili.",
"admin.overview.signal.runningCta": "Zobacz kolejkę",
"admin.overview.signal.ticketsTitle": "{count} otwarte zgłoszenie wsparcia",
"admin.overview.signal.ticketsTitlePlural": "{count} otwarte zgłoszenia wsparcia",
"admin.overview.signal.ticketsDetail": "Otwarte lub oczekujące zgłoszenia w biurku wsparcia.",
"admin.overview.signal.ticketsCta": "Otwórz wsparcie",
"admin.overview.signal.clearTitle": "Brak podwyższonych sygnałów",
"admin.overview.signal.clearDetail": "Brak zablokowanych zadań, błędów okresu ani otwartych zgłoszeń w podsumowaniu na żywo (ostatnie {days} d).",
"admin.overview.signal.clearCta": "Potwierdź w diagnostyce",
"admin.overview.badge.action": "Akcja",
"admin.overview.badge.watch": "Obserwuj",
"admin.overview.badge.live": "Na żywo",
"admin.overview.badge.clear": "Wyczyść",
"admin.overview.summaryLoadFailed": "Nie udało się wczytać podsumowania na żywo. Skróty poniżej nadal działają.",
"admin.overview.keyMetrics": "Kluczowe metryki",
"admin.overview.summaryWindow": "Ostatnie {days} d · endpoint podsumowania",
"admin.overview.tokensPeriod": "{count} w ostatnich {days} d",
"admin.overview.creditsFoot": "{remaining} pozostało z {allocated} przydzielonych",
"admin.overview.jobsFoot": "{failed} nieudanych · {running} działających · {stuck} zablokowanych",
"admin.overview.platformFoot": "{users} użytkowników · {processed} przetworzonych · {feeds} feedów wejściowych",
"admin.overview.fullDiagnostics": "Pełna diagnostyka",
"admin.overview.also": "Także:",
"admin.overview.linkSupport": "Biurko wsparcia",
"admin.overview.charts": "Wykresy",
"admin.overview.providerFoot": "{jobs} zadań · {products} produktów",
"admin.analytics.eyebrow": "Wgląd",
"admin.analytics.title": "Analityka i raporty",
"admin.analytics.description": "KPI i trendy platformy na żywo z tokenów, zadań, rejestracji, feedów, zgłoszeń i rozliczeń.",
"admin.analytics.period": "Okres",
"admin.analytics.refreshing": "Odświeżanie…",
"admin.analytics.llmTokens": "Tokeny LLM",
"admin.analytics.credits": "Kredyty",
"admin.analytics.jobs": "Zadania",
"admin.analytics.volume": "Wolumen",
"admin.analytics.failureRate": "Wskaźnik błędów",
"admin.analytics.stuckJobs": "Zablokowane zadania",
"admin.analytics.apiKeys": "Klucze API",
"admin.analytics.signups": "Rejestracje",
"admin.analytics.internalAi": "Wewnętrzne AI",
"admin.analytics.internalAiHint": "OpenAI platformy (ustawienia admina)",
"admin.analytics.popularKeys": "Popularne klucze",
"admin.analytics.popularKeysHint": "OpenAI / Groq / … najemcy",
"admin.analytics.customUrl": "Niestandardowy URL/model",
"admin.analytics.customUrlHint": "Bazowy URL najemcy + model + klucz",
"admin.analytics.tokensByDay": "Tokeny wg dnia",
"admin.analytics.tokensByProvider": "Tokeny według klasy dostawcy",
"admin.analytics.tokensByProviderAria": "Tokeny według klasy dostawcy",
"admin.analytics.internalCount": "Wewnętrzne {count}",
"admin.analytics.popularCount": "Popularne {count}",
"admin.analytics.customCount": "Niestandardowe {count}",
"admin.analytics.jobsByDay": "Zadania wg dnia",
"admin.analytics.jobsByDayHint": "Utworzone zadania (drugorzędne = nieudane).",
"admin.analytics.signupsByDay": "Rejestracje wg dnia",
"admin.analytics.signupsByDayHint": "Nowi użytkownicy (główne) i firmy (drugorzędne)",
"admin.analytics.processingJobsStatus": "processing_jobs według statusu",
"admin.analytics.feedSyncStatus": "feed_sync_jobs według statusu",
"admin.analytics.ticketsStatus": "support_tickets według statusu",
"admin.analytics.providerDetail": "Szczegóły dostawcy",
"admin.analytics.providerDetailHint": "Główne tryby dostawców (ograniczone ze względu na rozmiar payloadu).",
"admin.analytics.noProviderRows": "Brak wierszy dostawcy",
"admin.analytics.provider": "Dostawca",
"admin.analytics.class": "Klasa",
"admin.analytics.tokensCol": "Tokeny",
"admin.analytics.productsCol": "Produkty",
"admin.analytics.companiesHint": "Najważniejsze firmy wg tokenów z podziałem dostawców",
"admin.analytics.noCompanies": "Brak firm",
"admin.analytics.noCompaniesMsg": "Lista firm jest pusta.",
"admin.analytics.company": "Firma",
"admin.analytics.internal": "Wewnętrzne",
"admin.analytics.popular": "Popularne",
"admin.analytics.custom": "Niestandardowe",
"admin.analytics.noBillingCycles": "Brak cykli rozliczeniowych",
"admin.analytics.linkDiagnostics": "Diagnostyka",
"admin.analytics.linkStuck": "Zablokowane produkty",
"admin.users.eyebrow": "Admin platformy",
"admin.users.title": "Użytkownicy i organizacje",
"admin.users.description": "Katalog użytkowników platformy, role personelu i przypisania planów firm.",
"admin.users.staffRoleUnavailable": "Aktualizacje ról personelu nie są jeszcze dostępne w tym wdrożeniu. Skontaktuj się z administratorem platformy, jeśli ich potrzebujesz.",
"admin.users.search": "Szukaj",
"admin.users.tabUsers": "Użytkownicy",
"admin.users.tabCompanies": "Firmy",
"admin.users.filterWithoutPlan": "Without plan",
"admin.users.filterWithoutApiKeys": "Keys needing reissue",
"admin.users.needsApiKeyReissue": "Needs API key reissue",
"admin.users.colName": "Nazwa",
"admin.users.colStaffRole": "Rola personelu",
"admin.users.colStatus": "Stan",
"admin.users.colCreated": "Utworzono",
"admin.users.colActions": "Akcje",
"admin.users.mustSetPassword": "Trzeba ustawić hasło",
"admin.users.inactive": "Nieaktywny",
"admin.users.reissueInvite": "Wystaw zaproszenie ponownie",
"admin.users.setLocalPassword": "Ustaw lokalne hasło",
"admin.users.switchToUser": "Przełącz na użytkownika",
"admin.users.colCompany": "Firma",
"admin.users.colPlan": "Plan taryfowy",
"admin.users.colCredits": "Kredyty",
"admin.users.colLanguage": "Język",
"admin.users.assignPlan": "Przypisz plan",
"admin.users.noUsers": "Żaden użytkownik nie pasuje do tego filtra.",
"admin.users.noCompanies": "Żadna firma nie pasuje do tego filtra.",
"admin.users.assignRoleTitle": "Przypisz rolę personelu",
"admin.users.assignRoleDesc": "Role platformy sterują panelem admina (Admin i Developer) oraz biurkiem wsparcia (personel wsparcia).",
"admin.users.staffRole": "Rola personelu",
"admin.users.saveRole": "Zapisz rolę",
"admin.users.assignPlanTitle": "Przypisz plan",
"admin.users.assignPlanDesc": "Dołącz publiczny, legacy lub niestandardowy plan do tej firmy.",
"admin.users.selectPlan": "Wybierz plan",
"admin.users.assign": "Przypisz",
"admin.settings.title": "Ustawienia platformy",
"admin.settings.description": "Poświadczenia platformy, role AI, poczta i integracje dla tego wdrożenia",
"admin.settings.intro": "Skonfiguruj tu role AI platformy, SMTP, OAuth, EPREL, Pinecone i Stripe. Puste pola sekretów zachowują zapisaną wartość. Klucze firm pozostają w Integracjach najemcy.",
"admin.settings.aiRolesUnavailable": "Pełne role AI nie są jeszcze dostępne w tym wdrożeniu. Przetwarzanie nadal zapisuje się przez ustawienia OpenAI platformy; inne role będą utrwalane po wsparciu.",
"admin.settings.tab.integrations": "Przegląd",
"admin.settings.tab.ai": "Role AI",
"admin.settings.tab.mail": "Poczta",
"admin.settings.tab.other": "Inne",
"admin.settings.tab.admins": "Użytkownicy admin",
"admin.settings.mailCardDesc": "Zaproszenia do ustawienia hasła i wychodzącą pocztę platformy",
"admin.settings.integrationsCardDesc": "OAuth, EPREL, Pinecone, Stripe, feedy",
"admin.settings.tenantVsPlatform": "Najemca vs platforma",
"admin.settings.hostSecrets": "Sekrety bazy, sesji i podpisu serwera — konfiguruj tylko na hoście",
"admin.settings.linkAi": "AI",
"admin.settings.linkEmail": "Adres e-mail",
"admin.settings.linkBilling": "Rozliczenia",
"admin.settings.provider": "Dostawca",
"admin.settings.model": "Model",
"admin.settings.baseUrl": "Bazowy URL",
"admin.settings.apiKey": "Klucz API",
"admin.settings.embeddingDims": "Wymiary embeddingu (opcjonalne)",
"admin.settings.smtpHost": "Host SMTP",
"admin.settings.port": "Port",
"admin.settings.username": "Nazwa użytkownika",
"admin.settings.fromAddress": "Adres nadawcy",
"admin.settings.testRecipient": "Odbiorca testowy (opcjonalnie)",
"admin.settings.testRecipientPlaceholder": "Domyślnie Twój e-mail admina",
"admin.settings.googleOauth": "Google OAuth",
"admin.settings.googleOauthDesc": "Opcjonalne poświadczenia klienta Google OAuth platformy.",
"admin.settings.clientId": "Client ID",
"admin.settings.eprel": "EPREL",
"admin.settings.timeout": "Limit czasu",
"admin.settings.ficheLanguage": "Język karty",
"admin.settings.pinecone": "Pinecone",
"admin.settings.host": "Host",
"admin.settings.namespace": "Namespace",
"admin.settings.namespacePlaceholder": "opcjonalne",
"admin.settings.stripe": "Stripe",
"admin.settings.priceStarterMo": "ID ceny miesięcznej Starter",
"admin.settings.priceStarterYr": "ID ceny rocznej Starter",
"admin.settings.pricePlusMo": "Plus monthly price ID",
"admin.settings.pricePlusYr": "Plus yearly price ID",
"admin.settings.priceGrowthMo": "ID ceny miesięcznej Growth",
"admin.settings.priceGrowthYr": "ID ceny rocznej Growth",
"admin.settings.priceBusinessMo": "ID ceny miesięcznej Business",
"admin.settings.priceBusinessYr": "ID ceny rocznej Business",
"admin.settings.priceScaleMo": "Scale monthly price ID",
"admin.settings.priceScaleYr": "Scale yearly price ID",
"admin.settings.creditPackPrices": "AI credit pack price IDs (one-time)",
"admin.settings.creditPackPricesHint": "Create one-time Prices in Stripe (mode=payment products). Paste Price IDs here — same sync path as plan subscriptions.",
"admin.settings.syncCreditPacks": "Sync Stripe packs",
"admin.settings.syncCreditPacksOk": "Synced {count} credit pack price(s) ({mode} mode).",
"admin.settings.syncCreditPacksModeHint": "Stripe mode for this sync: {mode}. Switch the secret key (sk_test_ vs sk_live_) to sync the other environment.",
"admin.settings.syncCreditPacksFailed": "Could not sync credit packs to Stripe.",
"admin.settings.pricePackSmall": "Starter pack (500 credits) price ID",
"admin.settings.pricePackMedium": "Growth pack (2,000 credits) price ID",
"admin.settings.pricePackLarge": "Catalog pack (10,000 credits) price ID",
"admin.settings.pricePackXL": "Scale pack (40,000 credits) price ID",
"admin.settings.feedAllowlist": "Allowlista prywatnych URL feedów",
"admin.settings.allowlist": "Allowlista",
"admin.settings.platformAdmins": "Administratorzy platformy",
"admin.settings.colUserId": "ID użytkownika",
"admin.settings.colEmail": "Adres e-mail",
"admin.settings.colName": "Nazwa",
"admin.settings.colAddedOn": "Dodano",
"admin.settings.colRole": "Rola",
"admin.settings.platformAdminBadge": "Admin platformy",
"admin.settings.noAdmins": "Nie znaleziono użytkowników admin",
"admin.settings.adminStatusCheck": "Sprawdzenie statusu admina",
"admin.settings.bootstrapPage": "strona bootstrap",
"admin.readiness.title": "Gotowość cutover",
"admin.readiness.detail": "Liczniki hypercare, które wciąż wymagają uwagi przed przełączeniem DNS.",
"admin.readiness.mustSetPassword": "{count} użytkowników musi ustawić hasło",
"admin.readiness.withoutAdmin": "{count} firm bez admina",
"admin.readiness.withoutPlan": "{count} firm bez aktywnego planu",
"admin.readiness.withoutApiKeys": "{count} companies needing API key reissue",
"admin.readiness.linksAria": "Deep linki gotowości",
"admin.readiness.linkUsers": "Użytkownicy",
"admin.readiness.linkBilling": "Rozliczenia",
"admin.readiness.linkSettings": "Ustawienia",
"admin.readiness.linkApiKeys": "Keys needing reissue",
"admin.diagnostics.eyebrow": "Platforma",
"admin.diagnostics.title": "Diagnostyka",
"admin.diagnostics.description": "Konsola ops zdrowia aplikacji, głębokości kolejki, niedawnych zadań i flag konfiguracji. Sekrety i DSN nigdy nie są pokazywane; błędy zadań są oczyszczane.",
"admin.diagnostics.filterAria": "Filtr statusu zadania",
"admin.diagnostics.queue": "Kolejka",
"admin.diagnostics.noJobsInQueue": "Brak zadań w kolejce.",
"admin.diagnostics.sanitizedErrors": "Oczyszczone błędy · maks. 25",
"admin.diagnostics.colId": "ID",
"admin.diagnostics.colCompany": "Firma",
"admin.diagnostics.colStatus": "Stan",
"admin.diagnostics.colProgress": "Postęp",
"admin.diagnostics.colUpdated": "Zaktualizowano",
"admin.diagnostics.colError": "Błąd",
"admin.diagnostics.colTicket": "Zgłoszenie",
"admin.diagnostics.colWhen": "Kiedy",
"admin.diagnostics.noJobsFilter": "Brak zadań dla tego filtra.",
"admin.stuck.title": "Zablokowane produkty",
"admin.stuck.description": "Przejrzyj niedawne zadania przetwarzania i zresetuj zablokowane dłużej niż 2 godziny",
"admin.stuck.noJobs": "Nie znaleziono zadań.",
"admin.stuck.filterAria": "Filtruj zadania według statusu",
"admin.orphan.title": "Orphan processed",
"admin.orphan.description": "Cutover ops #7 — report stale catalog rows first (dry-run), then confirm delete only if needed.",
"admin.orphan.cutoverHint": "Safe by default: refresh and dry-run never delete. Confirm delete sends confirm=true only after you approve the dialog.",
"admin.orphan.refreshReport": "Refresh report",
"admin.orphan.dryRunBtn": "Dry-run cleanup",
"admin.orphan.deleteBtn": "Confirm delete…",
"admin.orphan.loadFailed": "Could not load orphan report",
"admin.orphan.dryRunFailed": "Dry-run cleanup failed",
"admin.orphan.deleteFailed": "Confirmed orphan cleanup failed",
"admin.orphan.metric.total": "Total orphans",
"admin.orphan.metric.missingRaw": "Missing raw",
"admin.orphan.metric.unprocessedRaw": "Unprocessed raw",
"admin.orphan.samplesTitle": "Sample rows",
"admin.orphan.samplesDesc": "Up to 25 most recently updated orphan catalog rows",
"admin.orphan.cleanBadge": "Clean",
"admin.orphan.needsCleanupBadge": "Needs cleanup",
"admin.orphan.noneFound": "No orphan processed rows — cutover ops #7 report is clean.",
"admin.orphan.noSamples": "No sample rows in this report.",
"admin.orphan.colProcessed": "Processed ID",
"admin.orphan.colCompany": "Company",
"admin.orphan.colRaw": "Raw ID",
"admin.orphan.colReason": "Reason",
"admin.orphan.colRawStatus": "Raw status",
"admin.orphan.reason.missingRaw": "Missing raw",
"admin.orphan.reason.unprocessedRaw": "Unprocessed raw",
"admin.orphan.reason.other": "Other",
"admin.orphan.rawProcessedYes": "is_processed=true",
"admin.orphan.rawProcessedNo": "is_processed=false",
"admin.orphan.confirmTitle": "Delete orphan processed rows?",
"admin.orphan.confirmDesc": "This permanently deletes {total} processed_products row(s) whose raw is missing or unprocessed. Job product links use ON DELETE SET NULL.",
"admin.orphan.confirmDelete": "Delete orphans",
"admin.billing.title": "Admin rozliczeń",
"admin.billing.description": "Zarządzaj planami, kredytami, uprawnieniami funkcji w pakietach i przełącznikami funkcji całej platformy.",
"admin.billing.noCompanies": "Nie znaleziono firm.",
"admin.billing.noCompaniesFilter": "Żadna firma nie pasuje do tego filtra.",
"admin.billing.assignPlanTitle": "Przypisz plan",
"admin.billing.assignPlanDesc": "Dołącz plan rozliczeniowy do firmy. Opcjonalne kredyty próbne resetują saldo firmy na okres próbny.",
"admin.billing.creditsTitle": "Dodaj / dostosuj kredyty",
"admin.billing.creditsDesc": "Uznaj lub obciąż saldo firmy.",
"admin.billing.searchCompany": "Szukaj firmy…",
"admin.knowledge.draft": "Szkic",
"admin.knowledge.badge.draft": "Szkic",
"admin.knowledge.newArticle": "Nowy artykuł",
"admin.knowledge.editArticle": "Edytuj artykuł",
"admin.knowledge.noMatchingArticles": "Brak pasujących artykułów",
"admin.knowledge.noArticles": "Brak artykułów wiedzy",
"admin.knowledge.emptyCategoryMsg": "Kategoria „{category}” jest gotowa — dodaj szkielet artykułu do uzupełnienia przez agenta treści.",
"admin.knowledge.emptyArticlesMsg": "Dodaj szkielety FAQ z kategoriami i słowami kluczowymi. Zostaw placeholdery w treści dla agentów.",
"admin.knowledge.col.title": "Tytuł",
"admin.knowledge.col.name": "Nazwa",
"admin.knowledge.edit": "Edytuj",
"admin.knowledge.newTemplate": "Nowy szablon",
"admin.knowledge.editTemplate": "Edytuj szablon",
"admin.knowledge.allCategories": "Wszystko",
"admin.settings.enablePlatformSmtp": "Włącz SMTP platformy",
"admin.plans.title": "Plany subskrypcji",
"admin.plans.description": "Publiczny ladder, A1 / Legacy, Platforma Demo, and custom deals. Ephemeral test and obsolete ladder rows stay under Ukryty.",
"admin.plans.searchPlaceholder": "Szukaj nazwy lub opisu…",
"admin.plans.searchAria": "Szukaj planów",
"admin.plans.filterAria": "Filtruj plany według widoczności",
"admin.plans.filter.catalog": "Katalog",
"admin.plans.filter.public": "Publiczny",
"admin.plans.filter.legacy": "Legacy",
"admin.plans.filter.custom": "Niestandardowe",
"admin.plans.filter.hidden": "Ukryte",
"admin.plans.filter.all": "Wszystko",
"admin.plans.col.plan": "Plan taryfowy",
"admin.plans.col.visibility": "Widoczność",
"admin.plans.col.monthlyCredits": "Miesięczne kredyty",
"admin.plans.col.maxProducts": "Maks. produktów",
"admin.plans.col.term": "Okres",
"admin.plans.customPackageFlag": "Flaga pakietu niestandardowego",
"admin.plans.visibility.public": "Publiczny",
"admin.plans.visibility.legacy": "Legacy",
"admin.plans.visibility.hidden": "Ukryte",
"admin.plans.visibility.custom": "Niestandardowe",
"admin.plans.edit": "Edytuj",
"admin.plans.editAria": "Edytuj {name}",
"admin.plans.assign": "Przypisz",
"admin.plans.assignAria": "Przypisz {name}",
"admin.plans.permissions": "Uprawnienia planu",
"admin.plans.permissionsAria": "Edytuj uprawnienia planu for {name}",
"admin.plans.showing": "Wyświetlanie {filtered} z {total} planów",
"admin.plans.unlimited": "Bez limitu",
"admin.plans.optionLabel": "{name} ({credits} kredytów) · {kind}",
"admin.permissions.noteStrong": "Tylko uprawnienia planu.",
"admin.permissions.noteBody": "These toggles set what this package may include. Platforma-wide on/wył. masters are on the {global} tab — a plan can enable a feature that still stays wył. when the platform switch is wyłączone.",
"admin.permissions.globalTab": "Przełączniki globalne",
"admin.permissions.title": "Uprawnienia planu",
"admin.permissions.descCount": "{enabled}/{total} włączonych",
"admin.permissions.matchesProfile": "pasuje do {profile}",
"admin.permissions.customizedOverrides": "niestandardowe nadpisania",
"admin.permissions.planDefaults": "domyślne planu",
"admin.permissions.badge.legacy": "Zmigrowany pakiet legacy",
"admin.permissions.badge.publicLadder": "Publiczny ladder",
"admin.permissions.badge.ladderCustom": "Publiczny ladder · niestandardowe flag",
"admin.permissions.badge.customDeal": "Niestandardowe deal",
"admin.permissions.badge.clientDeal": "Umowa z klientem",
"admin.permissions.badge.customOverrides": "Niestandardowe overrides",
"admin.permissions.badge.defaults": "Domyślne",
"admin.permissions.badge.customFlag": "Niestandardowe flag",
"admin.permissions.package": "Pakiet",
"admin.permissions.noPlans": "Brak planów",
"admin.permissions.suffix.legacy": "· legacy",
"admin.permissions.suffix.default": " · domyślne",
"admin.permissions.suffix.custom": " · niestandardowe",
"admin.permissions.section": "Sekcja",
"admin.permissions.allSections": "Wszystkie sekcje",
"admin.permissions.state": "Stan",
"admin.permissions.stateAll": "Wszystko",
"admin.permissions.stateOn": "Włączone",
"admin.permissions.stateOff": "Wyłączone",
"admin.permissions.stateDiffers": "Różni się from default",
"admin.permissions.search": "Szukaj",
"admin.permissions.searchPlaceholder": "Filtruj według klucza lub etykiety",
"admin.permissions.profilesAria": "Profile funkcji planu",
"admin.permissions.applyProfile": "Zastosuj profil",
"admin.permissions.applyLegacy": "Zastosuj profil legacy",
"admin.permissions.profilesHint": "One-click matrices for public ladder packages and migrated legacy navigation. Zapiszs overrides for the wybrane package only.",
"admin.permissions.applyNamed": "Zastosuj {label}",
"admin.permissions.applyGeneric": "Zastosuj profil",
"admin.permissions.enableAll": "Włącz wszystko",
"admin.permissions.disableAll": "Wyłącz wszystko",
"admin.permissions.clearOverrides": "Wyczyść nadpisania",
"admin.permissions.globallyOff": "Globally wył.",
"admin.permissions.enableSection": "Włącz sekcję",
"admin.permissions.disableSection": "Wyłącz sekcję",
"admin.permissions.noMatch": "Żadne funkcje nie pasują do bieżących filtrów.",
"admin.permissions.differs": "Różni się",
"admin.permissions.platformOffHint": "Wył. w całej platformie even if this plan enables it.",
"admin.permissions.sectionToggled": "{label} {state} dla tego planu.",
"admin.permissions.state.enabled": "włączone",
"admin.permissions.state.disabled": "wyłączone",
"admin.permissions.loadFailed": "Nie udało się załadować uprawnienia planu",
"admin.permissions.saveFailed": "Nie udało się zapisać feature",
"admin.permissions.enableAllFailed": "Włącz wszystko nie powiodło się",
"admin.permissions.disableAllFailed": "Wyłącz wszystko nie powiodło się",
"admin.permissions.profileFailed": "Nie udało się apply profile",
"admin.permissions.resetFailed": "Nie udało się reset defaults",
"admin.permissions.sectionFailed": "Sekcja update nie powiodło się",
"admin.profile.legacy.label": "Legacy",
"admin.profile.legacy.description": "Migrated legacy navigation: catalog, feedy, rozliczenia, and ustawienia; no Wsteczground Tasks, sklepy, or marketing.",
"admin.profile.free.label": "Bezpłatny",
"admin.profile.free.description": "Publiczny Free ladder — AI, klucz APIs, live email, and own-key AI wył..",
"admin.profile.starter.label": "Starter",
"admin.profile.starter.description": "Publiczny Starter — AI on; own-key AI wył..",
"admin.profile.growth.label": "Growth",
"admin.profile.growth.description": "Wszystkie funkcje katalogu włączone.",
"admin.profile.business.label": "Business",
"admin.profile.business.description": "Wszystkie funkcje katalogu włączone.",
"admin.profile.enterprise.label": "Enterprise / wszystko włączone",
"admin.profile.enterprise.description": "Full macierz funkcji (custom and Enterprise default).",
"admin.gates.noteStrong": "Platforma-wide masters.",
"admin.gates.noteBody": "Te przełączniki dotyczą każdego pakietu. Efektywny dostęp to {combo}. Uprawnienia per pakiet pozostają na karcie {permissions}.",
"admin.gates.combo": "uprawnienie planu ORAZ sekcja globalna ORAZ funkcja globalna",
"admin.gates.permissionsTab": "Uprawnienia planu",
"admin.gates.sectionsOff": "{count} section wył.",
"admin.gates.sectionsOffPlural": "{count} sections wył.",
"admin.gates.featuresOff": "{count} feature master wył.",
"admin.gates.featuresOffPlural": "{count} feature masters wył.",
"admin.gates.title": "Globalne mastery funkcji",
"admin.gates.description": "Disable a feature here to turn it wył. for every package, even when a plan enables it.",
"admin.gates.section": "Sekcja",
"admin.gates.allSections": "Wszystkie sekcje",
"admin.gates.search": "Szukaj",
"admin.gates.searchPlaceholder": "Filtruj według klucza lub etykiety",
"admin.gates.sectionOff": "Sekcja wył.",
"admin.gates.noMatch": "Żadne funkcje nie pasują do bieżących filtrów.",
"admin.gates.featureAria": "{label} globalne",
"admin.gates.sectionsTitle": "Globalne przełączniki sekcji",
"admin.gates.sectionsDesc": "Turn an entire produkt area on or wył. for all packages. “Sekcja + features” also updates every feature master in that section.",
"admin.gates.sectionAria": "Globalna sekcja {label}",
"admin.gates.enableSectionFeatures": "Włącz sekcję + funkcje",
"admin.gates.disableSectionFeatures": "Wyłącz sekcję + funkcje",
"admin.gates.sectionSuccess": "{label} {state} dla wszystkich pakietów.",
"admin.gates.sectionSuccessWithFeatures": "{label} {state} dla wszystkich pakietów (mastery sekcji i funkcji).",
"admin.gates.featureSuccess": "{key} {state} globalnie.",
"admin.gates.state.enabled": "włączone",
"admin.gates.state.disabled": "wyłączone",
"admin.gates.loadFailed": "Nie udało się załadować global feature switches",
"admin.gates.sectionFailed": "Nie udało się update global section",
"admin.gates.saveFailed": "Nie udało się zapisać global feature",
"admin.billing.createPlan": "Utwórz plan",
"admin.billing.assignPlanBtn": "Przypisz plan",
"admin.billing.stat.plans": "Plany",
"admin.billing.stat.catalogHidden": "{catalog} katalog · {hidden} ukryte",
"admin.billing.stat.creditsAllocated": "Kredyty allocated",
"admin.billing.stat.acrossCompanies": "Across firmy on this page (first 50)",
"admin.billing.stat.creditsUsed": "Kredyty used",
"admin.billing.stat.creditsConsumed": "Kredyty consumed on this page",
"admin.billing.stat.noActivePlan": "Brak aktywnego planu",
"admin.billing.stat.noActivePlanHint": "Firmy with no active subscription (this page)",
"admin.billing.tab.plans": "Plany",
"admin.billing.tab.permissions": "Uprawnienia planu",
"admin.billing.tab.global": "Przełączniki globalne",
"admin.billing.tab.companies": "Firmy",
"admin.billing.cyclesTitle": "Rozliczenia cycles",
"admin.billing.cyclesDesc": "Process due renewals for firmy on scheduled cykle rozliczeniowe.",
"admin.billing.runCycles": "Run due cykle rozliczeniowe",
"admin.billing.companiesTitle": "Firmy",
"admin.billing.companiesDesc": "Salda kredytów i status planu — przypisz plany lub dostosuj kredyty.",
"admin.billing.searchCompaniesAria": "Szukaj firmy",
"admin.billing.planStatusAria": "Status planu",
"admin.billing.filter.all": "Wszystko firmy",
"admin.billing.filter.withPlan": "Ma aktywny plan",
"admin.billing.filter.withoutPlan": "Brak aktywnego planu",
"admin.billing.col.company": "Firma",
"admin.billing.col.planStatus": "Status planu",
"admin.billing.col.creditsRemaining": "Pozostałe kredyty",
"admin.billing.col.total": "Razem",
"admin.billing.col.used": "Użyte",
"admin.billing.col.usagePct": "% użycia",
"admin.billing.badge.noPlan": "Brak planu",
"admin.billing.badge.active": "Aktywny",
"admin.billing.assignPlanAria": "Przypisz plan do {name}",
"admin.billing.addCredits": "Dodaj kredyty",
"admin.billing.addCreditsAria": "Dodaj credits for {name}",
"admin.billing.showingCompanies": "Wyświetlanie {filtered} z {total} firm",
"admin.billing.editPlanTitle": "Edytuj plan",
"admin.billing.createPlanTitle": "Utwórz plan",
"admin.billing.editPlanDesc": "Update credits, produkt caps, and whether this plan is marked custom.",
"admin.billing.createPlanDesc": "Utwórz a package. Niestandardowe plans stay hidden from public pricing.",
"admin.billing.field.name": "Nazwa",
"admin.billing.field.description": "Opis",
"admin.billing.field.descriptionPlaceholder": "Opcjonalne short summary for admins",
"admin.billing.field.monthlyCredits": "Miesięczne kredyty",
"admin.billing.field.yearlyCredits": "Roczne kredyty",
"admin.billing.field.maxProducts": "Maks. produktów",
"admin.billing.field.maxProductsPlaceholder": "Puste = bez limitu",
"admin.billing.field.term": "Okres",
"admin.billing.term.monthly": "Miesięcznie",
"admin.billing.term.yearly": "Rocznie",
"admin.billing.customPackage": "Niestandardowe package",
"admin.billing.customPackageHint": "Ukryty from public pricing. Use for client deals; leave wył. for FreeBusiness.",
"admin.billing.previewBadge": "Odznaka podglądu: {preview}.",
"admin.billing.company": "Firma",
"admin.billing.selectCompany": "Wybierz firma",
"admin.billing.noPlanSuffix": "· no plan",
"admin.billing.plan": "Plan taryfowy",
"admin.billing.selectPlan": "Wybierz plan",
"admin.billing.trialAssignment": "Przypisanie trial",
"admin.billing.trialHint": "Opcjonalne trial flag + credit grant for sales or evaluation trials.",
"admin.billing.trialCredits": "Kredyty trial",
"admin.billing.assign": "Przypisz",
"admin.billing.amount": "Kwota",
"admin.billing.amountHint": "Użyj wartości ujemnej, aby obciążyć.",
"admin.billing.apply": "Zastosuj",
"admin.billing.planUpdated": "Zaktualizowano: Plan.",
"admin.billing.planCreated": "Utworzono: Plan.",
"admin.billing.loadFailed": "Nie udało się załadować rozliczenia data",
"admin.billing.updateFailed": "Update plan nie powiodło się",
"admin.billing.createFailed": "Utwórz plan nie powiodło się",
"admin.billing.assignFailed": "Assign nie powiodło się",
"admin.billing.creditsFailed": "Add credits nie powiodło się",
"admin.billing.cyclesFailed": "Run cycles nie powiodło się",
"admin.knowledge.supportInbox": "Wsparcie inbox",
"admin.knowledge.aiRoles": "Role AI",
"admin.knowledge.tab.articles": "Artykuły",
"admin.knowledge.tab.templates": "Szablony",
"admin.knowledge.tab.settings": "Autoresponder",
"admin.knowledge.allStatuses": "Wszystko statuses",
"admin.knowledge.published": "Opublikowano",
"admin.knowledge.createArticle": "Utwórz article",
"admin.knowledge.col.categories": "Kategorie",
"admin.knowledge.col.status": "Stan",
"admin.knowledge.col.keywords": "Słowa kluczowe",
"admin.knowledge.badge.published": "Opublikowano",
"admin.knowledge.createTemplate": "Utwórz template",
"admin.knowledge.badge.active": "Aktywny",
"admin.knowledge.badge.inactive": "Nieaktywny",
"admin.knowledge.autoFirstResponses": "Włącz automatyczne pierwsze odpowiedzi",
"admin.knowledge.faqMatching": "Dopasowanie FAQ / szablonu",
"admin.knowledge.retryOnReply": "Ponów on first customer reply (if no prior auto)",
"admin.knowledge.matchThreshold": "Próg pewności dopasowania",
"admin.knowledge.enableAiFallback": "Włącz zapas AI",
"admin.knowledge.deliveryMode": "Tryb dostawy",
"admin.knowledge.delivery.draft": "Tylko szkic (notatka wewnętrzna)",
"admin.knowledge.delivery.autoSend": "Automatyczne wysyłanie do klienta",
"admin.knowledge.aiThreshold": "Próg pewności AI",
"admin.knowledge.usePlatformRole": "Use platform wsparcie AI role (recommended)",
"admin.knowledge.modelOverride": "Nadpisanie modelu",
"admin.knowledge.providerOverride": "Dostawca override",
"admin.knowledge.baseUrlOverride": "Baza URL override",
"admin.knowledge.supportAiRoleTitle": "Wsparcie AI role (fallback provider)",
"admin.knowledge.configured": "Skonfigurowane",
"admin.knowledge.notReadyBadge": "Niegotowe",
"admin.knowledge.enabled": "Włączone",
"admin.knowledge.disabled": "Wyłączone",
"admin.knowledge.openAiRoles": "Otwórz Platforma ustawienia → AI roles",
"admin.knowledge.field.title": "Tytuł",
"admin.knowledge.field.slug": "Slug",
"admin.knowledge.field.body": "Treść (markdown)",
"admin.knowledge.field.keywords": "Słowa kluczowe",
"admin.knowledge.keywordsPlaceholder": "rozdzielone przecinkami",
"admin.knowledge.field.intents": "Klucze intencji",
"admin.knowledge.intentsPlaceholder": "rozdzielone przecinkami",
"admin.knowledge.field.categories": "Kategoria slugs",
"admin.knowledge.categoriesPlaceholder": "rozliczenia, account…",
"admin.knowledge.field.weight": "Waga priorytetu",
"admin.knowledge.publishedEligible": "Opublikowano (kwalifikuje się do dopasowania)",
"admin.knowledge.field.name": "Nazwa",
"admin.knowledge.field.templateBody": "Treść",
"admin.knowledge.active": "Aktywny",
"admin.settings.card.aiRolesTitle": "Platforma AI roles",
"admin.settings.card.aiRolesDesc": "Przetwarzanie, vectorization, docs/API, and wsparcie — separate keys/models",
"admin.settings.roleOff": " (wył.)",
"admin.settings.roleNotSet": "· not set",
"admin.settings.someRolesUnavailable": "Some AI roles are not dostępne on this deployment yet. Przetwarzanie still uses the platform OtwórzAI ustawienia until all roles are wsparcieed.",
"admin.settings.configure": "Konfiguruj",
"admin.settings.card.smtpTitle": "Platforma SMTP",
"admin.settings.configured": "Skonfigurowane",
"admin.settings.notConfigured": "Nieskonfigurowane",
"admin.settings.source": "źródło: {source}",
"admin.settings.smtpEnabled": "SMTP włączone",
"admin.settings.smtpDisabled": "SMTP wyłączone",
"admin.settings.passwordSet": "· password set",
"admin.settings.card.otherTitle": "Inne integracje",
"admin.settings.oauthSet": "Google OAuth ustawione",
"admin.settings.oauthOff": "Google OAuth wył.",
"admin.settings.eprelOn": "EPREL włączone",
"admin.settings.eprelOff": "EPREL wył.",
"admin.settings.pineconeSet": "Pinecone ustawione",
"admin.settings.pineconeOff": "Pinecone wył.",
"admin.settings.stripeSet": "Stripe ustawione",
"admin.settings.stripeOff": "Stripe wył.",
"admin.settings.password": "Hasło",
"admin.settings.passwordSavedHint": "(zapisano — leave blank to keep)",
"admin.settings.secretKey": "Klucz tajny",
"admin.settings.secretConfiguredHint": "(skonfigurowane — zostaw puste, aby zachować)",
"admin.settings.passwordConfigured": "Hasło configured",
"admin.settings.noSmtpPassword": "Brak hasła SMTP",
"admin.settings.enabled": "Włączone",
"admin.settings.disabled": "Wyłączone",
"admin.settings.saveRole": "Zapisz {label}",
"admin.settings.testConnection": "Testuj połączenie",
"admin.settings.saveMail": "Zapisz mail ustawienia",
"admin.settings.saveIntegrations": "Zapisz integrations",
"admin.settings.eprelEnabled": "EPREL enrichment włączone",
"admin.settings.loadFailed": "Platforma ustawienia could not be loaded. Saving is wyłączone until reload succeeds.",
"admin.settings.testAccepted": "Wiadomość testowa przyjęta przez SMTP",
"admin.stuck.cleanupBtn": "Czyszczenie zablokowanych zadań (>2 godz. działania)",
"admin.stuck.jobsTitle": "Zadania przetwarzania",
"admin.stuck.jobsDesc": "Ostatnie 100 zadań · {running} obecnie działa",
"admin.stuck.filterAll": "Wszystko",
"admin.stuck.filterRunning": "Uruchomione",
"admin.stuck.filterFailed": "Niepowodzenie",
"admin.stuck.filterPending": "Oczekujące",
"admin.stuck.filterCompleted": "Ukończone",
"admin.stuck.colId": "ID",
"admin.stuck.colCompany": "Firma",
"admin.stuck.colStatus": "Stan",
"admin.stuck.colProgress": "Postęp",
"admin.stuck.colUpdated": "Zaktualizowano",
"admin.stuck.colError": "Błąd",
"admin.stuck.loadFailed": "Nie udało się wczytać zadań",
"admin.stuck.cleanupFailed": "Czyszczenie nie powiodło się",
"admin.support.knowledgeLink": "Baza wiedzy i auto-odpowiedź",
"admin.support.queueTitle": "Kolejka zgłoszeń",
"admin.support.queueMeta": "{total} · zakres {scope}",
"admin.support.queueMetaStatus": "· status {status}",
"admin.support.ticketCountOne": "{count} zgłoszenie",
"admin.support.ticketCountMany": "{count} zgłoszenia",
"admin.support.statusAll": "Wszystko statuses",
"admin.support.scopeAll": "Wszystko zgłoszenia",
"admin.support.scopeInbox": "Skrzynka",
"admin.support.scopeMine": "Moje",
"admin.support.scopeUnassigned": "Nieprzypisane",
"admin.support.flagAny": "Dowolny stan auto",
"admin.support.flagNeedsHuman": "Potrzebny człowiek",
"admin.support.flagAiDraft": "Szkic IA",
"admin.support.colSubject": "Temat",
"admin.support.colStatus": "Stan",
"admin.support.colAuto": "Auto",
"admin.support.colPriority": "Priorytet",
"admin.support.colAssignee": "Przypisany",
"admin.support.colCompany": "Firma",
"admin.support.colUpdated": "Zaktualizowano",
"admin.support.colActions": "Akcje",
"admin.support.autoOff": "Auto wyłączone",
"admin.support.claim": "Przejmij",
"admin.support.claimAria": "Przejmij zgłoszenie {subject}",
"admin.support.unassigned": "Nieprzypisane",
"admin.support.you": "Ty",
"admin.support.assigned": "Przypisano",
"admin.support.loadQueueFailed": "Nie udało się wczytać kolejki wsparcia",
"admin.support.claimFailed": "Nie udało się przejąć zgłoszenia",
"admin.support.ticketFallbackTitle": "Wsparcie zgłoszenie",
"admin.support.ticketMeta": "{company} · {requester}",
"admin.support.ticketMetaFallback": "Wątek przeglądu personelu",
"admin.support.companyFallback": "Firma",
"admin.support.requesterFallback": "zgłaszający",
"admin.support.backQueue": "Kolejka",
"admin.support.resolve": "Rozwiąż",
"admin.support.markPending": "Oznacz jako oczekujące",
"admin.support.reopen": "Otwórz ponownie",
"admin.support.assigneeLabel": "Przypisany:",
"admin.support.unassign": "Cofnij przypisanie",
"admin.support.assignToStaff": "Przypisz do personelu",
"admin.support.apply": "Zastosuj",
"admin.support.autoPanelTitle": "Auto-match / asysta IA",
"admin.support.autoPanelDesc": "Wynik tylko dla personelu: dopasowanie FAQ i szkic/wysyłka IA. Klienci nigdy nie widzą szkiców.",
"admin.support.autoDisabledBadge": "Auto wyłączone",
"admin.support.autoStatusLabel": "Stan:",
"admin.support.lastAttempt": "Ostatnia próba:",
"admin.support.reenableAuto": "Włącz ponownie auto",
"admin.support.disableAuto": "Wyłącz auto dla tego zgłoszenia",
"admin.support.aiDraftTitle": "Szkic IA (zatwierdź lub edytuj)",
"admin.support.aiDraftDesc": "Tryb tylko-szkic zostawił notatkę wewnętrzną. Edytuj w razie potrzeby, wyślij do klienta — albo odrzuć i przejmij ręcznie.",
"admin.support.confidence": "Pewność {value}",
"admin.support.statusAfterSend": "Status po wysłaniu",
"admin.support.approveSend": "Zatwierdź i wyślij",
"admin.support.discardDraft": "Odrzuć szkic",
"admin.support.threadTitle": "Wątek",
"admin.support.threadMeta": "{count} · ostatnia aktywność {when}",
"admin.support.messageCountOne": "{count} wiadomość",
"admin.support.messageCountMany": "{count} wiadomości",
"admin.support.replyTitle": "Odpowiedz",
"admin.support.replyDesc": "Publiczne odpowiedzi powiadamiają klienta. Notatki wewnętrzne zostają tylko dla personelu. Domyślny status po publicznej odpowiedzi to oczekujące.",
"admin.support.internalNote": "Notatka wewnętrzna (niewidoczna dla klienta)",
"admin.support.setStatus": "Ustaw status",
"admin.support.statusDefault": "Domyślny",
"admin.support.saveNote": "Zapisz notatkę",
"admin.support.sendReply": "Wyślij odpowiedź",
"admin.support.replyAndResolve": "Odpowiedz i rozwiąż",
"admin.support.closedBanner": "To zgłoszenie jest zamknięte. Otwórz je ponownie, aby kontynuować.",
"admin.support.priorityMeta": "priorytet {priority}",
"admin.support.authorAiDraft": "Szkic IA (tylko personel)",
"admin.support.authorInternal": "Notatka wewnętrzna",
"admin.support.authorStaff": "Personel",
"admin.support.authorCustomer": "Klient",
"admin.support.flash.noteSaved": "Notatka wewnętrzna zapisana.",
"admin.support.flash.replySent": "Odpowiedź wysłana.",
"admin.support.flash.resolved": "Zgłoszenie oznaczone jako rozwiązane.",
"admin.support.flash.pending": "Zgłoszenie oznaczone jako oczekujące (oczekuje na klienta).",
"admin.support.flash.reopened": "Zgłoszenie otwarte ponownie.",
"admin.support.flash.statusSet": "Status zgłoszenia ustawiony na {status}.",
"admin.support.flash.autoDisabled": "Automatyczne odpowiedzi wyłączone dla tego zgłoszenia.",
"admin.support.flash.autoEnabled": "Automatyczne odpowiedzi ponownie włączone dla tego zgłoszenia.",
"admin.support.loadTicketFailed": "Nie udało się wczytać zgłoszenia",
"admin.support.replyFailed": "Nie udało się wysłać odpowiedzi",
"admin.support.statusFailed": "Nie udało się zaktualizować statusu",
"admin.support.unassignFailed": "Nie udało się cofnąć przypisania",
"admin.support.assignFailed": "Nie udało się przypisać zgłoszenia",
"admin.support.autoFailed": "Nie udało się zaktualizować auto-odpowiedzi",
"admin.support.approveFailed": "Nie udało się zatwierdzić szkicu IA",
"admin.support.discardFailed": "Nie udało się odrzucić szkicu IA",
"admin.settings.sourceResolved": "Rozwiązane z {sources}",
"admin.settings.sourceUpdated": " · zaktualizowano {when}",
"admin.settings.updatedAt": "Zaktualizowano {when}",
"admin.settings.tenantDesc": "Klucze IA i e-mail marketingowy firmy pozostają w Integracjach. Sekrety sesji i szyfrowania zostają w środowisku serwera i nie są tu edytowane.",
"admin.settings.perCompanyAiEmail": "IA/e-mail per firmę —",
"admin.settings.plansCredits": "Plany i kredyty —",
"admin.settings.fromDatabase": "Z bazy danych",
"admin.settings.fromEnvironment": "Ze środowiska",
"admin.settings.sourceBadge": "Źródło: {source}",
"admin.settings.storedKey": "Zapisany klucz: {masked}",
"admin.settings.enableRole": "Włącz tę rolę",
"admin.settings.clearApiKey": "Wyczyść zapisany klucz API",
"admin.settings.apiKeyKeepPlaceholder": "•••• zostaw puste, by zachować",
"admin.settings.apiKeyNewPlaceholder": "sk-… lub lokalny",
"admin.settings.smtpCardTitle": "Platforma SMTP",
"admin.settings.smtpCardDesc": "Używane do zaproszeń set-password i wychodzącej poczty platformy. Marketing Resend/SMTP pozostaje per firmę w Integracje → E-mail.",
"admin.settings.smtpBadgeOn": "SMTP włączone",
"admin.settings.smtpBadgeOff": "SMTP wyłączone",
"admin.settings.enableSmtp": "Włącz SMTP platformy",
"admin.settings.storedPassword": "Zapisane hasło: {masked}",
"admin.settings.clearSmtpPassword": "Wyczyść zapisane hasło SMTP",
"admin.settings.sendTestEmail": "Wyślij e-mail testowy",
"admin.settings.enableGoogle": "Włącz Google OAuth",
"admin.settings.clientSecret": "Sekret klienta",
"admin.settings.leaveBlankKeep": "(zostaw puste, by zachować)",
"admin.settings.storedSecret": "Zapisany sekret: {masked}",
"admin.settings.clearClientSecret": "Wyczyść zapisany sekret klienta",
"admin.settings.eprelDesc": "Bezpłatne publiczne dane etykiet energetycznych UE podczas przetwarzania. Domyślnie włączone dla wszystkich planów — bez aktywacji ani płatnego upgradeu. Użyj kontrolek tylko do wyłączenia lub dostrojenia klienta.",
"admin.settings.optionalKeySaved": "Opcjonalny klucz API zapisany",
"admin.settings.noApiKeyNeeded": "Klucz API nie jest wymagany",
"admin.settings.optionalApiKey": "Opcjonalny klucz API",
"admin.settings.optionalApiKeySavedHint": "(zapisano — leave blank to keep)",
"admin.settings.optionalApiKeyPublicHint": "(publiczne API działa bez niej)",
"admin.settings.clearEprelKey": "Wyczyść zapisany klucz API EPREL",
"admin.settings.pineconeDesc": "Opcjonalne sugestie kategorii wektorowych podczas przetwarzania. Wartości środowiska hosta są używane, gdy te pola pozostaną puste.",
"admin.settings.apiKeyConfigured": "Klucz API skonfigurowany",
"admin.settings.noApiKey": "Brak klucza API",
"admin.settings.apiKeyLabel": "Klucz API",
"admin.settings.clearPineconeKey": "Wyczyść zapisany klucz API Pinecone",
"admin.settings.stripeDesc": "Opcjonalne nadpisania konfiguracji Stripe serwera. Preferuj pola hasła; wartości nie są ponownie pokazywane po zapisie.",
"admin.settings.stripeMock": "Wymuś tryb mock Stripe (tylko poza produkcją — wyłącza prawdziwe obciążenia)",
"admin.settings.webhookSecret": "Sekret webhooka",
"admin.settings.clearStripeSecret": "Wyczyść tajny klucz Stripe",
"admin.settings.clearStripeWebhook": "Wyczyść sekret webhooka Stripe",
"admin.settings.feedAllowlistDesc": "Hosty/CIDR oddzielone przecinkami dozwolone dla prywatnych URL feedów.",
"admin.settings.adminsDesc": "Administratorzy platformy w tym wdrożeniu",
"admin.settings.onboardingTitle": "Pomoc onboarding adminów",
"admin.settings.onboardingDesc": "Użyj e-maili zaproszeń set-password, by wdrożyć uprawnionych użytkowników bez hasła.",
"admin.settings.sendInvites": "Wyślij e-maile set-password",
"admin.settings.adminStatusBefore": "Adminów platformy nie można tworzyć z tego ekranu. Potwierdź dostęp na",
"admin.settings.adminStatusAfter": " albo poproś istniejącego admina/ops o awans konta.",
"admin.settings.loadUsersFailed": "Nie udało się wczytać użytkowników admin",
"admin.settings.sendFailed": "Wysyłanie nie powiodło się",
"admin.settings.saveMailFailed": "Nie udało się zapisać ustawień poczty",
"admin.settings.smtpNotConfigured": "SMTP nie jest skonfigurowany — najpierw włącz i zapisz ustawienia poczty.",
"admin.settings.smtpTestFailed": "Test SMTP nie powiódł się",
"admin.settings.testEmailFailed": "Nie udało się wysłać e-maila testowego",
"admin.settings.saveIntegrationFailed": "Nie udało się zapisać ustawień integracji",
"admin.settings.aiSaved": "Zapisano ustawienia AI {label}. Klucze API nie są już pokazywane.",
"admin.settings.aiSaveFailed": "Nie udało się zapisać ustawień IA {label}",
"admin.settings.aiTestOk": "{label}: połączenie OK",
"admin.settings.aiTestSkipped": "{label}: pominięto — zapisz dane (i włącz rolę), aby przetestować.",
"admin.settings.aiTestFailed": "{label}: połączenie nieudane",
"admin.settings.aiTestError": "Nie udało się przetestować połączenia {label}",
"admin.settings.aiRole.processing.label": "Przetwarzanie",
"admin.settings.aiRole.processing.desc": "Chat/completions pipeline produktów (tytuły, opisy, enhance).",
"admin.settings.aiRole.vectorization.label": "Wektoryzacja",
"admin.settings.aiRole.vectorization.desc": "Embeddingi do wyszukiwania / indeksacji Pinecone (dopasuj wymiary indeksu).",
"admin.settings.aiRole.docs_api.label": "Docs / API",
"admin.settings.aiRole.docs_api.desc": "Przyszły slot asystenta docs/API — /docs Ask pozostaje regułowy i nigdy nie powinien wywoływać tej roli.",
"admin.settings.aiRole.support.label": "Wsparcie",
"admin.settings.aiRole.support.desc": "IA zapasowa do auto-odpowiedzi na zgłoszenia — skonfiguruj tu dostawcę/klucz/model; włącz wysyłkę w Wiedza wsparcia → Auto-odpowiedź.",
"admin.settings.providerOption.openai": "OpenAI",
"admin.settings.providerOption.openrouter": "OpenRouter",
"admin.settings.providerOption.azure": "Azure OpenAI",
"admin.settings.providerOption.ollama": "Ollama",
"admin.settings.providerOption.custom": "Niestandardowy / inny",
"admin.support.title": "Centrum wsparcia",
"admin.support.description": "Skrzynka personelu — przejmij z kolejki, filtruj zakres, otwieraj wątki i rozwiązuj",
"admin.support.unavailable": "Kolejka wsparcia jest niedostępna. Skontaktuj się z administratorem platformy, jeśli to trwa.",
"admin.support.noTickets": "Brak zgłoszeń w tej kolejce.",
"admin.support.ticketNotFound": "Nie znaleziono zgłoszenia.",
"admin.support.notAvailable": "Wsparcie nie jest dostępne w tym wdrożeniu.",
"admin.support.loadFailed": "Nie udało się wczytać tego zgłoszenia.",
"admin.support.noMessages": "Brak wiadomości.",
"admin.support.queueScopeAria": "Zakres kolejki",
"admin.support.statusFilterAria": "Filtr statusu",
"admin.support.autoAssistFilterAria": "Filtr auto-asysty",
"admin.support.searchPlaceholder": "Szukaj tematu, e-maila lub firmy",
"admin.support.searchAria": "Szukaj zgłoszeń",
"admin.support.assignStaffAria": "Przypisz do personelu",
"admin.support.aiDraftAria": "Szkic AI",
"admin.support.replyPlaceholder": "Napisz odpowiedź…",
"admin.support.replyAria": "Treść odpowiedzi",
"admin.knowledge.eyebrow": "Admin platformy",
"admin.knowledge.title": "Baza wiedzy wsparcia",
"admin.knowledge.description": "Strukturyzuj artykuły pomocy pod auto-dopasowanie FAQ. Agenci treści wypełniają treści — dbaj o dokładność faktów.",
"admin.knowledge.notReady": "Wiedza wsparcia nie jest gotowa",
"admin.knowledge.noTemplates": "Brak szablonów odpowiedzi",
"admin.knowledge.articleDesc": "Treść Markdown obsługuje obrazy przez bezpieczne przesyłanie. Nie wymyślaj faktów o produktach — zostaw placeholdery dla agentów treści.",
"admin.knowledge.templateDesc": "Dozwolone placeholdery: subject, category.",
"admin.knowledge.searchPlaceholder": "Szukaj tytułu, sluga, słów kluczowych…",
"admin.knowledge.searchAria": "Szukaj artykułów",
"admin.knowledge.publishFilterAria": "Filtr statusu publikacji",
"admin.knowledge.deleteArticleAria": "Usuń artykuł",
"admin.knowledge.deleteTemplateAria": "Usuń szablon",
"admin.support.autoReplyStatus.matched": "Dopasowano FAQ",
"admin.support.autoReplyStatus.aiDraft": "Szkic AI oczekuje",
"admin.support.autoReplyStatus.aiSent": "Wysłano odpowiedź AI",
"admin.support.autoReplyStatus.skipped": "Auto pominięto",
"admin.support.autoReplyStatus.failed": "Auto nie powiodło się",
"admin.support.autoReplyStatus.handedOff": "Potrzebny człowiek",
"admin.support.autoReplyStatus.none": "Brak próby auto",
"admin.support.autoSource.kb": "Baza wiedzy",
"admin.support.autoSource.template": "Szablon",
"admin.support.autoSource.ai": "Wspomagane AI",
"admin.support.autoSource.automated": "Automatyczne",
"admin.knowledge.categoriesHeading": "Kategorie",
"admin.knowledge.categoriesHint": "Puste pojemniki dla agentów treści.",
"admin.knowledge.showingArticles": "Wyświetlanie {shown} artykułów (treść ładuje się przy edycji).",
"admin.knowledge.showingArticlesOf": "Wyświetlanie {shown} z {total} artykułów (treść ładuje się przy edycji).",
"admin.knowledge.templatesHint": "Gotowe odpowiedzi z opcjonalnymi placeholderami {{subject}} / {{category}}.",
"admin.knowledge.faqAutoMatchTitle": "Automatyczne dopasowanie FAQ",
"admin.knowledge.faqAutoMatchDesc": "Dopasowanie słów kluczowych przy tworzeniu zgłoszenia. Domyślny próg 0,78 (zakres 0,500,95).",
"admin.knowledge.aiFallbackTitle": "Zapas AI",
"admin.knowledge.aiFallbackDesc": "Używane, gdy dopasowanie FAQ jest poniżej progu. Odpowiedzi używają roli AI platformy {role}.",
"admin.knowledge.noModel": "brak modelu",
"admin.knowledge.keyLast4": "klucz …{last4}",
"admin.knowledge.sourceLabel": "źródło {source}",
"admin.knowledge.apiKeyNote": "Klucz API zawsze pochodzi z tej roli; nadpisania powyżej zmieniają tylko dostawcę / model / bazowy URL.",
"admin.knowledge.saveAutoSettings": "Zapisz ustawienia auto-odpowiedzi",
"admin.knowledge.insertImage": "Wstaw obraz",
"admin.knowledge.uploading": "Przesyłanie…",
"admin.knowledge.imageUploadHint": "PNG / JPEG / WebP, maks. 2 MiB. Przechowywane w UPLOAD_DIR/support-kb (publiczny URL HMAC).",
"admin.knowledge.unavailableMsg": "Wiedza wsparcia nie jest dostępna w tej instalacji. Skontaktuj się z administratorem platformy.",
"admin.knowledge.loadFailed": "Nie udało się wczytać wiedzy wsparcia",
"admin.knowledge.loadArticleFailed": "Nie udało się wczytać artykułu",
"admin.knowledge.loadTemplateFailed": "Nie udało się wczytać szablonu",
"admin.knowledge.saveArticleFailed": "Nie udało się zapisać artykułu",
"admin.knowledge.saveTemplateFailed": "Nie udało się zapisać szablonu",
"admin.knowledge.deleteArticleFailed": "Nie udało się usunąć artykułu",
"admin.knowledge.deleteTemplateFailed": "Nie udało się usunąć szablonu",
"admin.knowledge.saveAutoFailed": "Nie udało się zapisać ustawień auto-odpowiedzi",
"admin.knowledge.uploadImageFailed": "Nie udało się przesłać obrazu",
"admin.translations.eyebrow": "Platforma",
"admin.translations.title": "Tłumaczenia",
"admin.translations.description": "Przejrzyj pokrycie UI panelu i edytuj pakiety locale oparte na plikach.",
"admin.translations.unavailable": "Tłumaczenia niedostępne",
"admin.translations.sourceOfTruth": "Źródło prawdy",
"admin.translations.sourceOfTruthLabel": "Źródło prawdy:",
"admin.translations.colLocale": "Locale",
"admin.translations.colTranslated": "Przetłumaczone",
"admin.translations.colMissing": "Brakujące",
"admin.translations.colStatus": "Stan",
"admin.translations.badgeBase": "Baza",
"admin.translations.badgeComplete": "Kompletne",
"admin.translations.badgeUnregistered": "Niezarejestrowane",
"admin.translations.badgeGaps": "Luki",
"admin.translations.language": "Język",
"admin.translations.show": "Pokaż",
"admin.translations.filterMissing": "Tylko brakujące",
"admin.translations.filterTranslated": "Tylko przetłumaczone",
"admin.translations.filterAll": "Wszystkie klucze",
"admin.translations.search": "Szukaj",
"admin.translations.searchPlaceholder": "Klucz lub tekst…",
"admin.translations.noKeysMatch": "Brak pasujących kluczy",
"admin.translations.badgeMissing": "Brakujące",
"admin.translations.badgeUnsaved": "Niezapisane",
"admin.translations.english": "Angielski",
"admin.bootstrap.title": "Dostęp admin bootstrap",
"admin.bootstrap.description": "Potwierdź, czy Twoje konto ma już dostęp admina platformy. Nowych adminów musi nadać istniejący administrator.",
"admin.bootstrap.statusTitle": "Status admina platformy",
"admin.bootstrap.statusDesc": "Dostęp admina platformy nadaje istniejący administrator. Nie ma self-serve bootstrapu dla tej roli.",
"admin.bootstrap.alreadyAdmin": "Masz już dostęp admina platformy.",
"admin.bootstrap.signedInAs": "Zalogowano jako {email}. Otwórz panel admina, aby kontynuować.",
"admin.bootstrap.signedInAsShort": "Zalogowano jako {email}",
"admin.bootstrap.notAdminTitle": "Nie jesteś adminem platformy",
"admin.bootstrap.notAdminMsg": "Twoje konto jest zalogowane, ale nie jest oznaczone jako admin platformy. Poproś istniejącego admina o dostęp, wyloguj się i zaloguj ponownie.",
"admin.bootstrap.goToPanel": "Przejdź do panelu admina",
"admin.bootstrap.loadFailed": "Nie udało się wczytać profilu",
"admin.migrate.title": "Migracja organizacji",
"admin.migrate.description": "To narzędzie migracji jest wycofane i nie zmienia żadnych danych.",
"admin.migrate.notAvailable": "Niedostępne",
"admin.migrate.body": "Migracja organizacji z poprzedniego dostawcy tożsamości nie jest już potrzebna. Firmy i lokalne auth są zarządzane w Użytkownicy i organizacje.",
"admin.migrate.hint": "Jeśli otworzyłeś to ze starej zakładki, kontynuuj w Użytkownicy i organizacje, Rozliczenia platformy lub Zablokowane produkty.",
"admin.migrate.adminHome": "Start admina",
"admin.migrate.users": "Użytkownicy",
"admin.redirect.diagnostics": "Przekierowanie do Diagnostyki…",
"admin.redirect.stuck": "Przekierowanie do Zablokowanych produktów…",
"common.refresh": "Odśwież",
"common.delete": "Usuń",
"common.clearSearch": "Wyczyść wyszukiwanie",
"common.loading": "Ładowanie…",
"common.never": "Nigdy",
"common.back": "Wstecz",
"common.startOver": "Zacznij od nowa",
"common.create": "Utwórz",
"common.required": "Wymagane",
"common.actions": "Akcje",
"common.status": "Stan",
"common.nameCol": "Nazwa",
"common.products": "Produkty",
"common.more": "+{count} więcej",
"feeds.title": "Twoje feedy",
"feeds.loadingDesc": "Ładowanie feedów dostawcy…",
"feeds.desc": "{page} na tej stronie · {total} feedów łącznie — URL CSV/XML dostawcy i przesłania. Połącz ze Sklepów, aby uzyskać opcje z przewodnikiem.",
"feeds.storesHub": "Hub sklepów",
"feeds.addFeed": "Dodaj Feed",
"feeds.searchPlaceholder": "Szukaj feedów...",
"feeds.emptyTitle": "Brak feedów produktów",
"feeds.emptyMessage": "Połącz URL CSV/XML dostawcy lub prześlij plik, aby zsynchronizować produkty do katalogu.",
"feeds.connectFeed": "Podłącz feed",
"feeds.uploadCsvCta": "Prześlij CSV",
"feeds.noMatchTitle": "Brak pasujących feedów",
"feeds.noMatchMessage": "Spróbuj innej frazy wyszukiwania albo wyczyść wyszukiwanie, aby zobaczyć wszystkie feedy.",
"feeds.col.source": "Źródło",
"feeds.col.mapping": "Mapowanie",
"feeds.col.lastData": "Ostatnia sync",
"feeds.copyUrl": "Kopiuj URL",
"feeds.fieldsMapped": "{count} pól",
"feeds.fieldsMappedTitle": "{count} pole zamapowane",
"feeds.fieldsMappedTitlePlural": "{count} pól zamapowanych",
"feeds.mappingsSaved": "Zapisano mapowania pól",
"feeds.mapped": "Zmapowano",
"feeds.notMapped": "Niezamapowane",
"feeds.notMappedTitle": "Brak mapowań pól — otwórz Mapuj, aby skonfigurować",
"feeds.productsFromFeed": "{count} produktów z tego feedu",
"feeds.noProductsYet": "Nie zaimportowano jeszcze produktów z tego feedu",
"feeds.syncing": "Synchronizacja…",
"feeds.syncingShort": "Synchronizacja",
"feeds.syncingHint": "Przy dużych feedach może potrwać kilka minut",
"feeds.liveSync": "Sync feedu",
"feeds.productData": "Dane katalogu",
"feeds.mapFields": "Mapuj pola",
"feeds.map": "Mapuj",
"feeds.sync": "Synchronizuj",
"feeds.syncNow": "Synchronizuj teraz",
"feeds.syncManualTitle": "Uruchom jednorazową synchronizację teraz. Auto-sync używa interwału ustawionego przy edycji feedu.",
"feeds.syncInProgress": "Sync w toku",
"feeds.addTitle": "Dodaj Feed",
"feeds.addDesc": "Połącz URL feedu produktów lub prześlij CSV. Użyj próbek poniżej, aby dopasować oczekiwaną strukturę.",
"feeds.field.name": "Nazwa",
"feeds.field.namePlaceholder": "Mój feed produktów",
"feeds.tab.url": "URL feedu",
"feeds.tab.file": "Plik CSV",
"feeds.field.url": "URL feedu",
"feeds.field.urlPlaceholder": "https://…",
"feeds.field.type": "Typ",
"feeds.field.file": "Plik CSV",
"feeds.fileHint": "Maks. 5 MiB. Po utworzeniu zmapuj kolumny, potem synchronizuj — ten sam przepływ co feedy URL.",
"feeds.field.interval": "Interwał auto-synchronizacji (minuty)",
"feeds.field.intervalHint": "Jak często Descrybe ma automatycznie pobierać ten feed, gdy jest aktywny. Sync na liście uruchamia jednorazowe pobranie — nie zmienia tego harmonogramu.",
"feeds.createFeed": "Utwórz feed",
"feeds.editTitle": "Edytuj Feed",
"feeds.editDesc": "Zaktualizuj nazwę, typ, harmonogram auto-sync lub URL źródła. Sync na liście feedów uruchamia jednorazowe pobranie.",
"feeds.csvSource": "Źródło CSV",
"feeds.uploadedCsv": "Przesłany CSV",
"feeds.replaceFileHint": "Aby zastąpić plik, utwórz nowy feed. Sync ponownie odczytuje zapisany upload.",
"feeds.csvTypeLocked": "Przesłane feedy CSV pozostają typu CSV.",
"feeds.saveChanges": "Zapisz zmiany",
"feeds.historyTitle": "Historia sync",
"feeds.historyDesc": "Niedawne zadania sync dla „{name}”.",
"feeds.historyLastSynced": "Ostatnia udana sync {relative} ({absolute}).",
"feeds.historyNeverSynced": "Brak udanej sync.",
"feeds.historyLoading": "Ładowanie historii sync…",
"feeds.historyEmpty": "Brak zadań sync.",
"feeds.history.started": "Uruchomiono",
"feeds.history.completed": "Ukończone",
"feeds.loadFailed": "Nie udało się wczytać feedów",
"feeds.copyFailed": "Nie można skopiować URL",
"feeds.created": "Utworzono feed",
"feeds.updated": "Feed zaktualizowany.",
"feeds.mapBeforeSync": "Zmapuj pola przed synchronizacją tego feedu.",
"feeds.activateBeforeSync": "Aktywuj feed przed synchronizacją.",
"feeds.syncFinished": "Synchronizacja zakończona",
"feeds.viewProducts": "Zobacz produkty",
"feeds.processing": "Przetwarzanie",
"feeds.syncFailed": "Synchronizacja nie powiodła się",
"feeds.statusUpdateFailed": "Nie udało się zaktualizować statusu",
"feeds.deleteConfirm": "Usunąć feed „{name}”? Tego nie można cofnąć.",
"feeds.deleted": "Feed usunięty.",
"feeds.deleteFailed": "Nie udało się usunąć feedu",
"feeds.historyLoadFailed": "Nie udało się wczytać historii sync",
"feeds.ftpUnsupported": "Sync FTP/FTPS nie jest obsługiwana. Poproś dostawcę o publiczny HTTPS URL feedu, prześlij tu feed CSV lub zaimportuj plik z Uploads.",
"feeds.ftpUnsupportedShort": "Sync FTP niedostępna",
"feeds.ftpBadge": "FTP",
"feeds.ftpMigrateBanner": "Niektóre feedy nadal używają FTP/FTPS. Descrybe nie może ich pobrać. Przełącz na publiczny HTTPS URL, dodaj feed CSV lub prześlij z Uploads.",
"feeds.ftpUploadCta": "Przejdź do Uploads",
"feeds.ftpHttpsCta": "Dodaj feed HTTPS",
"feeds.ftpCsvCta": "Prześlij feed CSV",
"feeds.status.mappingIncomplete": "Mapowanie niekompletne",
"feeds.status.readyForMapping": "Gotowe do mapowania",
"feeds.status.mapped": "Zmapowano",
"feeds.status.active": "Aktywny",
"feeds.status.inactive": "Nieaktywny",
"feeds.status.error": "Błąd",
"feeds.status.unknown": "Nieznane",
"feeds.actions.menu": "Akcje feedu",
"feeds.actions.menuSyncing": "Akcje feedu (sync w toku)",
"feeds.actions.editFeed": "Edytuj Feed",
"feeds.actions.editMapping": "Edytuj mapowanie",
"feeds.actions.syncNow": "Synchronizuj teraz",
"feeds.actions.syncInProgress": "Sync w toku…",
"feeds.actions.activateToSync": "Aktywuj feed do synchronizacji",
"feeds.actions.viewHistory": "Zobacz historię sync",
"feeds.actions.deactivate": "Dezaktywuj feed",
"feeds.actions.activate": "Aktywuj feed",
"feeds.actions.delete": "Usuń feed",
"feeds.stats.totalFeeds": "Łącznie feedów",
"feeds.stats.activeMapped": "{active} aktywne · {mapped} zamapowane",
"feeds.stats.activeOnly": "{active} aktywne",
"feeds.stats.totalProducts": "Zaimportowane produkty",
"feeds.stats.acrossFeeds": "Surowe wiersze (nie katalog + kolejka)",
"feeds.stats.processed": "W katalogu",
"feeds.stats.readyCatalog": "Wiersze katalogu — nie część zaimportowanych",
"feeds.stats.unprocessed": "Oczekuje na przetwarzanie",
"feeds.stats.waiting": "Surowa kolejka — nie część zaimportowanych",
"feeds.format.howTo": "Jak ustrukturyzować feed",
"feeds.format.required": "Wymagane:",
"feeds.preview.title": "Podgląd źródła feedu",
"feeds.preview.truncated": "Skrócone",
"feeds.preview.refresh": "Odśwież podgląd",
"feeds.preview.copy": "Kopiuj podgląd",
"feeds.preview.loading": "Ładowanie podglądu…",
"feeds.preview.empty": "Wyodrębnij schemat, aby podejrzeć źródło feedu.",
"feeds.schema.search": "Szukaj pól…",
"feeds.schema.fieldName": "Nazwa pola",
"feeds.schema.sourcePath": "Ścieżka źródła",
"feeds.schema.confirm": "Potwierdź",
"feeds.schema.apply": "Zastosuj",
"feeds.preflight.missingItemPath": "Wybierz ścieżkę elementu produktu przed synchronizacją.",
"feeds.preflight.emptyMappings": "Zmapuj co najmniej jedno pole źródłowe przed synchronizacją.",
"feeds.preflight.missingRequired": "Zmapuj wymagane pola przed synchronizacją: {fields}.",
"feeds.preflight.unknownSource": "Niektóre zmapowane źródła nie znaleziono w wyodrębnionym schemacie: {fields}{more}. Wyodrębnij ponownie lub popraw ścieżki przed poleganiem na wartościach próbnych.",
"feeds.preflight.emptySample": "Wymagane pola mają puste wartości próbne: {fields}. Sprawdź kolumny źródłowe przed pełną sync.",
"feeds.preflight.fix": "Popraw mapowania pól przed synchronizacją.",
"mapping.title": "Mapowanie feedu",
"mapping.titleNamed": "Mapuj: {name}",
"mapping.description": "Wybierz powtarzający się element produktu, wyodrębnij pola źródłowe, a następnie zmapuj je na pola produktu Descrybe.",
"mapping.autoMap": "Mapuj automatycznie",
"mapping.fuzzy": "{count} przybliżonych",
"mapping.extractSchema": "Wyodrębnij schemat",
"mapping.backToFeeds": "Wróć do Feedów",
"mapping.ftpStillEdit": "{message} Nadal możesz edytować mapowania. Aby odświeżyć produkty, przejdź na HTTPS lub prześlij plik.",
"mapping.ftpUploadCta": "Przejdź do Uploads",
"mapping.ftpHttpsCta": "Dodaj feed HTTPS",
"mapping.ftpCsvCta": "Prześlij feed CSV",
"mapping.loading": "Ładowanie szczegółów feedu…",
"mapping.step1": "Wybierz element produktu",
"mapping.step2": "Mapuj pola",
"mapping.step1Heading": "Krok 1: Wybierz element produktu",
"mapping.csvHint": "Feedy CSV używają nagłówków kolumn jako pól źródłowych. Wyodrębnij schemat, aby wczytać kolumny, a następnie przejdź do mapowania.",
"mapping.howToSelect": "Jak wybrać element produktu:",
"mapping.howToHint": "Opcjonalny przewodnik",
"mapping.howTo.1": "Wyodrębnij schemat lub kliknij powtarzający się tag w podglądzie",
"mapping.howTo.2": "Każdy element powinien zawierać dane pojedynczego produktu",
"mapping.howTo.3": "Potwierdź ścieżkę (na przykład",
"mapping.howTo.4": "Przejdź do mapowania pól źródłowych na pola produktu",
"mapping.productElementPath": "Ścieżka elementu produktu",
"mapping.pathPlaceholder": "np. rss/channel/item lub products/product",
"mapping.continue": "Kontynuuj →",
"mapping.continueFields": "Przejdź do mapowania pól →",
"mapping.discovered": "Wykryto {fields} pól źródłowych z {rows} wiersza(-y) próbki.",
"mapping.suggestionsCount": "· {count} sugestia(-e) automatycznego mapowania",
"mapping.step2Heading": "Krok 2: Mapuj pola",
"mapping.requiredFieldsBadge": "{count} wymaganych pól",
"mapping.unmappedRequired": "{count} wymaganych niezamapowanych",
"mapping.sourceFieldsBadge": "{count} pól źródłowych",
"mapping.suggestedBadge": "{count} sugerowanych",
"mapping.step2Help": "Mapuj kolumny źródłowe lub węzły XPath na pola produktu. Wymagane pola są oznaczone *. Najedź na ikonę pomocy, aby zobaczyć krótką wskazówkę ze słownika.",
"mapping.requiredFields": "Wymagane pola",
"mapping.requiredMapped": "· {mapped}/{total} zmapowanych",
"mapping.requiredProgressDone": "Wszystkie wymagane pola zmapowane — gotowe do następnego kroku.",
"mapping.requiredProgressHint": "Pola oznaczone * muszą być zmapowane, zanim ten feed będzie mógł synchronizować produkty.",
"mapping.requiredProgressAria": "Postęp wymaganych pól: {mapped} z {total} zmapowanych",
"mapping.nextAfterSaveReady": "Mappings saved. Next, sync a small sample to check products look right.",
"mapping.nextAfterSaveIncomplete": "Mappings saved. Finish the remaining required fields, then sync a sample.",
"mapping.nextCtaSyncSample": "Sync + process sample",
"mapping.nextCtaFinishRequired": "Show missing required fields",
"mapping.highConfidence": "{count} mapowanie o wysokiej pewności gotowe",
"mapping.highConfidencePlural": "{count} mapowania o wysokiej pewności gotowe",
"mapping.highConfidenceHelp": "Dokładne dopasowania i aliasy (na przykład EAN → GTIN). Zastosuj wszystkie albo akceptuj chipy w wierszach tabeli.",
"mapping.reviewMappings": "Przejrzyj mapowania",
"mapping.needItemPath": "Wprowadź ścieżkę elementu produktu przed mapowaniem pól.",
"mapping.removeMapping": "Usuń mapowanie",
"mapping.sourcePlaceholder": "nazwa kolumny lub xpath",
"mapping.processAfterSync": "Produkty do przetworzenia po synchronizacji",
"mapping.noFuzzyLeft": "Brak przybliżonych dopasowań do potwierdzenia.",
"mapping.syncedQueued": "Zsynchronizowano feed i dodano {queued} produkt(ów) do kolejki przetwarzania{jobId}.",
"mapping.saveMappings": "Zapisz mapowania",
"mapping.syncProcessSample": "Synchronizuj + przetwórz próbkę",
"mapping.badgeCsv": "CSV",
"mapping.requiredAria": "Pomoc dotycząca wymaganych pól",
"mapping.applySuggestions": "Zastosuj sugestie ({count})",
"mapping.confirmFuzzy": "Potwierdź przybliżone ({count})",
"mapping.fuzzyNeedConfirm": "{count} przybliżone dopasowanie wymaga potwierdzenia",
"mapping.fuzzyNeedConfirmPlural": "{count} przybliżonych dopasowań wymaga potwierdzenia",
"mapping.fuzzyHelp": "Dopasowania nazw o niskiej pewności nie są stosowane automatycznie. Potwierdź tutaj lub zaakceptuj w wierszach tabeli.",
"mapping.missingRequiredTitle": "Wymagane pola nadal potrzebują mapowania źródła:",
"mapping.applyTip": "Wskazówka: zastosuj sugestie powyżej — wiele wymaganych pól odpowiada typowym nazwom źródeł.",
"mapping.formatLabel": "Format:",
"mapping.itemPathLabel": "Ścieżka elementu:",
"mapping.reExtract": "Wyodrębnij ponownie",
"mapping.manualRows": "Wiersze ręczne",
"mapping.schemaTable": "Tabela schematu",
"mapping.addField": "Dodaj pole",
"mapping.noSchemaYet": "Brak wyodrębnionego schematu.",
"mapping.orManualRows": "lub użyj wierszy ręcznych poniżej.",
"mapping.sourceField": "Pole źródłowe",
"mapping.selectSource": "Wybierz źródło…",
"mapping.mapsTo": "Mapuje na",
"mapping.none": "Brak",
"mapping.backToItem": "← Wróć do wyboru elementu",
"mapping.unsaved": "Niezapisane zmiany",
"mapping.requiredFieldsColon": "Wymagane pola:",
"mapping.sampleOptions": "Opcje próbki",
"mapping.sampleSize": "Rozmiar próbki",
"mapping.noExactAlias": "Brak dokładnych sugestii/aliasów do zastosowania. Przejrzyj przybliżone dopasowania poniżej.",
"mapping.noSuggestionsExtract": "Brak sugestii — najpierw wyodrębnij schemat.",
"mapping.schemaExtracted": "Wyodrębniono schemat: {fields} pól z {rows} wiersza(-y) próbki.",
"mapping.saved": "Zapisano mapowania pól{version}.",
"mapping.savedVersion": " (v{version})",
"mapping.syncNoProducts": "Synchronizacja zakończona; brak produktów do przetworzenia.",
"mapping.jobSuffix": " (zadanie {jobId})",
"mapping.appliedReplace": "Zastosowano {count} mapowań {kind}.",
"mapping.appliedNew": "Zastosowano {count} nowych mapowań {kind} (łącznie {total}).",
"mapping.kindHighConfidence": "o wysokiej pewności",
"mapping.kindFuzzy": "przybliżonych",
"mapping.fuzzyConfirmFlash": "{count} przybliżone dopasowanie wymaga potwierdzenia — użyj Potwierdź przybliżone poniżej lub chipów w wierszach.",
"mapping.fuzzyConfirmFlashPlural": "{count} przybliżonych dopasowań wymaga potwierdzenia — użyj Potwierdź przybliżone poniżej lub chipów w wierszach.",
"mapping.formatHelp.title": "Jak ustrukturyzować feed",
"mapping.formatHelp.required": "Wymagane:",
"mapping.formatHelp.requiredBody": "{gtin} (EAN/UPC), {title} (lub {name}), {brand}",
"mapping.formatHelp.https": "Używaj publicznych adresów URL HTTPS dla zdalnych feedów (nie FTP ani localhost). Przesyłanie CSV działa dla plików lokalnych.",
"mapping.formatHelp.specs": "Specyfikacje jako pary Etykieta: wartość (np. {ram}). Wymiary: {height}, {width}, {depth}, {mass}",
"mapping.formatHelp.also": "Obsługiwane także: ceny, stany magazynowe, obrazy, kategoria, gwarancja, ID EPREL, opisy HTML, dodatkowe obrazy, URL wideo i więcej — pobierz pełną próbkę.",
"mapping.formatHelp.downloadXml": "Pobierz przykładowy XML",
"mapping.formatHelp.downloadCsv": "Pobierz przykładowy CSV",
"mapping.formatHelp.xmlExample": "Przykład XML",
"mapping.formatHelp.csvExample": "Przykład CSV (nagłówek + wiersze)",
"mapping.sourcePreview.title": "Podgląd źródła feedu",
"mapping.sourcePreview.truncated": "Skrócone",
"mapping.sourcePreview.refresh": "Odśwież podgląd",
"mapping.sourcePreview.copy": "Kopiuj podgląd",
"mapping.sourcePreview.loading": "Ładowanie próbki feedu…",
"mapping.sourcePreview.errorHint": "Nadal możesz ręcznie wprowadzić ścieżkę elementu produktu. Wyodrębnij schemat, gdy URL feedu będzie dostępny.",
"mapping.sourcePreview.retry": "Ponów",
"mapping.sourcePreview.empty": "Brak podglądu",
"mapping.sourcePreview.emptyHintXml": "Kliknij „Wyodrębnij schemat”, aby pobrać próbkę i wykryć pola, albo wprowadź ścieżkę elementu ręcznie.",
"mapping.sourcePreview.emptyHintCsv": "Kliknij „Wyodrębnij schemat”, aby pobrać próbkę i wykryć pola.",
"mapping.sourcePreview.selectPath": "Wybierz ścieżkę: {path}",
"mapping.sourcePreview.clickTag": "Kliknij wiersz tagu, aby ustawić ścieżkę elementu produktu.",
"mapping.table.search": "Szukaj pól…",
"mapping.table.all": "Wszystkie pola",
"mapping.table.mapped": "Zmapowano",
"mapping.table.unmapped": "Niezamapowane",
"mapping.table.fieldName": "Nazwa pola",
"mapping.table.sourcePath": "Ścieżka źródła",
"mapping.table.sampleValues": "Przykładowe wartości",
"mapping.table.type": "Typ",
"mapping.table.mapTo": "Mapuj na",
"mapping.table.emptySchema": "Wyodrębnij schemat feedu, aby wypełnić pola źródłowe, albo dodaj mapowania ręcznie.",
"mapping.table.noMatch": "Żadne pola nie pasują do kryteriów.",
"mapping.table.unique": "{count} unikalnych",
"mapping.table.nested": "zagnieżdżone",
"mapping.table.apply": "Zastosuj",
"mapping.table.confirm": "Potwierdź",
"mapping.table.suggestedMatch": "Sugerowane dopasowanie {confidence}",
"mapping.table.confirmFuzzyMatch": "Potwierdź przybliżone dopasowanie ({percent}%)",
"mapping.preview.title": "Podgląd mapowania",
"mapping.preview.subtitle": "Przykładowy kształt produktu na podstawie bieżących mapowań pól",
"mapping.preview.usingSamples": "· przy użyciu wyodrębnionych próbek",
"mapping.preview.formatCsv": "format: csv",
"mapping.preview.item": "element: {path}",
"mapping.preview.sourceFields": "· {count} pól źródłowych",
"mapping.preview.empty": "Brak zmapowanych pól",
"mapping.preview.emptyHint": "Mapuj kolumny źródłowe lub węzły XPath na pola produktu. Tutaj pojawi się podgląd przykładowego produktu.",
"mapping.preview.rawSample": "Surowy fragment próbki",
"imports.title": "Przesyłania",
"imports.description": "Importy CSV zapisane dla tego obszaru roboczego — produkty, kategorie i atrybuty.",
"imports.importProducts": "Importuj produkty",
"imports.emptyTitle": "Brak jeszcze przesłań",
"imports.emptyMessage": "Importy CSV produktów, kategorii i atrybutów pojawią się tutaj po przesłaniu.",
"imports.goProducts": "Przejdź do produktów",
"imports.categories": "Kategorie",
"imports.recent": "Ostatnie przesyłania",
"imports.fileCount": "{count} plik",
"imports.fileCountPlural": "{count} plików",
"imports.col.fileName": "Nazwa pliku",
"imports.col.kind": "Rodzaj",
"imports.col.uploaded": "Przesłano",
"imports.col.size": "Rozmiar",
"imports.actions": "Akcje przesyłania",
"imports.loadFailed": "Nie udało się wczytać przesłań",
"imports.metadataOnlyNotice": "{count} upload records are metadata-only — file bytes were not migrated. Re-upload or resync storage if you need the originals.",
"imports.metadataOnlyBadge": "Metadata only (blob not migrated)",
"imports.deleteConfirm": "Usunąć „{name}”? Usuwa rekord przesłania (oraz lokalny blob, jeśli istnieje).",
"imports.deleted": "Usunięto przesłanie.",
"imports.deleteFailed": "Nie udało się usunąć przesłania",
"imports.status.uploaded": "Przesłano",
"reviews.redirectLoading": "Otwieranie recenzji WooCommerce…",
"reviews.tab": "Recenzje",
"reviews.syncTitle": "Import opinii (sklep → Descrybe)",
"reviews.syncDesc": "Import przychodzący — pobierz recenzje produktów WooCommerce do Descrybe na potrzeby kampanii i reputacji",
"reviews.syncQueued": "Sync recenzji w kolejce",
"reviews.statusBadge": "Recenzje: {status}",
"reviews.syncedCount": "Zsynchronizowano {count}",
"reviews.lastSync": "Ostatnia sync: {date}",
"reviews.noSyncYet": "Żadna sync recenzji nie została jeszcze ukończona.",
"reviews.needsReconnect": "Import recenzji nie może działać, dopóki dane logowania nie zostaną ponownie połączone po migracji. W zakładce Połączenie: Zapisz, potem Przetestuj połączenie.",
"reviews.queueImport": "Dodaj import opinii do kolejki (sklep → Descrybe)",
"reviews.queueing": "Kolejkowanie...",
"reviews.saveTestFirst": "Zapisz dane logowania i przetestuj połączenie przed sync",
"reviews.refreshList": "Odśwież listę",
"reviews.loading": "Ładowanie recenzji…",
"reviews.emptyTitle": "Brak jeszcze recenzji",
"reviews.emptyMessage": "Dodaj synchronizację recenzji do kolejki po połączeniu sklepu. Ta karta działa także z pustą listą.",
"reviews.col.product": "Produkt",
"reviews.col.reviewer": "Recenzent",
"reviews.col.rating": "Ocena",
"reviews.col.review": "Przejrzyj",
"reviews.queuedSuccess": "Synchronizacja recenzji w kolejce. Uruchomi się wkrótce.",
"reviews.queueFailed": "Nie można dodać synchronizacji recenzji do kolejki",
"campaigns.title": "Kampanie",
"campaigns.description": "Twórz sezonowe kampanie e-mail z katalogu — wybierz sezon, produkty, odbiorców i wygeneruj treść.",
"campaigns.new": "Nowa kampania",
"campaigns.loading": "Ładowanie kampanie…",
"campaigns.loadFailed": "Nie udało się załadować kampanie",
"campaigns.deleteConfirm": "Usunąć kampanię „{name}”? Tej operacji nie można cofnąć.",
"campaigns.deleted": "Kampania usunięta",
"campaigns.deleteFailed": "Nie udało się usunąć kampanii",
"campaigns.partialUnavailable": "Kampanie nie są teraz w pełni dostępne. Generowanie i wysyłka mogą się nie udać, dopóki usługa nie wróci.",
"campaigns.searchPlaceholder": "Szukaj kampanie…",
"campaigns.unavailableTitle": "Kampanie niedostępne",
"campaigns.unavailableMessage": "Usługa kampanii jest niedostępna. Możesz otworzyć kreator, ale generowanie i wysyłka poczekają na powrót usługi.",
"campaigns.openWizard": "Otwórz kreator tworzenia",
"campaigns.backDashboard": "Powrót do panelu",
"campaigns.browseProducts": "Przeglądaj produkty",
"campaigns.emptyTitle": "Brak kampanie",
"campaigns.noMatches": "Brak dopasowań",
"campaigns.emptyMessage": "Utwórz kampanię Black Friday, świąteczną lub własną w kilku krokach — sezonowe ustawienia domyślne są gotowe na start.",
"campaigns.noMatchesMessage": "Spróbuj innej nazwy, sezonu lub statusu.",
"campaigns.create": "Utwórz kampania",
"campaigns.col.season": "Sezon",
"campaigns.col.updated": "Zaktualizowano",
"campaigns.scheduled": "Zaplanowano {date}",
"campaigns.newTitle": "Nowa kampania",
"campaigns.newDesc": "Wybierz sezon, produkty i odbiorców, napisz prompt, a następnie wygeneruj, przetestuj i zaplanuj.",
"campaigns.editTitle": "Edytuj kampania",
"campaigns.editDesc": "Zaktualizuj sezon, produkty i odbiorców — potem wygeneruj ponownie, wyślij test lub zaplanuj.",
"campaignWizard.loading": "Ładowanie kreatora kampanii…",
"campaignWizard.apiMissing": "API kampanii jest tymczasowo niedostępne. Możesz przeglądać kreator; zapis / generowanie / wysyłka wymagają dostępnego /api/campaigns.",
"campaignWizard.upgradeTitle": "Kampanie AI to funkcja płatna",
"campaignWizard.upgradeMessage": "Plany Free mogą przygotować sezony i odbiorców, ale Generuj AI wymaga Starter lub wyżej. Ulepsz, aby odblokować szkice e-mail AI.",
"campaignWizard.comparePlans": "Porównaj plany",
"campaignWizard.step.season": "Sezon",
"campaignWizard.step.catalog": "Produkty",
"campaignWizard.step.audience": "Odbiorcy",
"campaignWizard.step.prompt": "Prompt",
"campaignWizard.step.preview": "Podgląd",
"campaignWizard.step.send": "Wyślij",
"campaignWizard.pickSeason": "Wybierz sezon",
"campaignWizard.pickSeasonHelp": "Zacznij od szablonu — wszystko edytujesz później.",
"campaignWizard.name": "Nazwa kampanii",
"campaignWizard.namePlaceholder": "Black Friday 2026",
"campaignWizard.catalogTitle": "Kategorie i produkty",
"campaignWizard.catalogHelp": "Wybierz, co ma wyróżnić ten e-mail. Same kategorie wystarczą na szybki start.",
"campaignWizard.categories": "Kategorie",
"campaignWizard.noCategories": "Brak kategorii — dodaj je w Katalogu.",
"campaignWizard.categoriesSelected": "{count} kategoria wybrana",
"campaignWizard.categoriesSelectedPlural": "{count} kategorie wybrane",
"campaignWizard.productsOptional": "Produkty (opcjonalnie)",
"campaignWizard.selectedCount": "{count} wybrano",
"campaignWizard.searchProducts": "Szukaj produktów…",
"campaignWizard.noProducts": "Nie znaleziono: produkty.",
"campaignWizard.audienceTitle": "Kto powinien to otrzymać?",
"campaignWizard.audienceHelp": "Domyślnie wszyscy. Zawęż kategoriami lub dawnymi nabywcami, gdy zamówienia są sync.",
"campaignWizard.audience.all": "Wszystkie kontakty",
"campaignWizard.audience.allHint": "Wyślij do całej listy (gdy skonfigurowano dostawcę e-mail).",
"campaignWizard.audience.byCategory": "Według zainteresowania kategorią",
"campaignWizard.audience.byCategoryHint": "Osoby powiązane z wybranymi kategoriami.",
"campaignWizard.audience.purchased": "Zakupiono w kategorii",
"campaignWizard.audience.purchasedHint": "Klienci, którzy kupili produkty w kategoriach odbiorców (z zamówień sync).",
"campaignWizard.audience.notPurchased": "Jeszcze nie zakupiono",
"campaignWizard.audience.notPurchasedHint": "Kontakty, które nie kupiły tych kategorii — świetne do win-back.",
"campaignWizard.ordersHint": "Targeting kupione / niekupione pojawia się po sync zamówień WooCommerce.",
"campaignWizard.audienceCategories": "Kategorie odbiorców",
"campaignWizard.promptTitle": "Prompt e-mail",
"campaignWizard.promptHelp": "Wypełniliśmy solidne domyślne dla {season}. Edytuj swobodnie lub zostaw.",
"campaignWizard.promptSeasonFallback": "ten sezon",
"campaignWizard.useDefaultPrompt": "Użyj domyślnego promptu sezonowego",
"campaignWizard.promptLabel": "Prompt",
"campaignWizard.advanced": "Opcje zaawansowane",
"campaignWizard.advancedHelp": "Generowanie AI używa zestawu marki (jeśli ustawiony) i wybranych produktów. Podgląd tylko szablonu pomija AI i działa jako szkielet layoutu.",
"campaignWizard.planFree": "Bezpłatny",
"campaignWizard.planPaid": "Płatne",
"campaignWizard.planLine": "Plan:",
"campaignWizard.aiLocked": "— Generuj AI jest zablokowane.",
"campaignWizard.generateAi": "Generuj AI",
"campaignWizard.templatePreview": "Podgląd szablonu",
"campaignWizard.saveDraft": "Zapisz szkic",
"campaignWizard.previewTitle": "Podgląd",
"campaignWizard.status": "Stan:",
"campaignWizard.generateToSee": "Wygeneruj szkic, aby zobaczyć treść e-maila.",
"campaignWizard.noPreview": "Brak podglądu. Wróć do Prompt i uruchom Generuj AI lub Podgląd szablonu.",
"campaignWizard.backToPrompt": "Wróć do promptu",
"campaignWizard.subject": "Temat",
"campaignWizard.emailPreview": "Podgląd e-maila",
"campaignWizard.regenerateAi": "Wygeneruj ponownie z AI",
"campaignWizard.regenerate": "Wygeneruj ponownie",
"campaignWizard.continueSend": "Kontynuuj do wysyłki",
"campaignWizard.testSend": "Wysyłka testowa",
"campaignWizard.testSendHelp": "Wyślij sobie kopię przed zaplanowaniem.",
"campaignWizard.testEmail": "E-mail testowy",
"campaignWizard.testEmailPlaceholder": "ty@firma.com",
"campaignWizard.sendTest": "Wyślij test",
"campaignWizard.scheduleTitle": "Zaplanuj",
"campaignWizard.scheduleHelp": "Wybierz, kiedy ta kampania ma wyjść.",
"campaignWizard.sendAt": "Wyślij o",
"campaignWizard.schedule": "Zaplanuj kampanię",
"campaignWizard.generateToContinue": "Wygeneruj, aby kontynuować",
"campaignWizard.done": "Gotowe",
"campaignWizard.loadFailed": "Nie udało się wczytać kreatora",
"campaignWizard.pickCatalog": "Wybierz co najmniej jedną kategorię lub produkt",
"campaignWizard.pickAudienceCats": "Wybierz kategorie odbiorców dla tego filtra",
"campaignWizard.completeStep": "Ukończ ten krok, aby kontynuować",
"campaignWizard.aiDraftReady": "Wygenerowano szkic AI",
"campaignWizard.templateReady": "Podgląd szablonu gotowy",
"campaignWizard.unavailableSave": "Kampanie są teraz niedostępne. Szkiców nie można zapisać, dopóki funkcja nie będzie aktywna.",
"campaignWizard.generateFailed": "Generowanie nie powiodło się",
"campaignWizard.generateFirst": "Najpierw wygeneruj podgląd",
"campaignWizard.enterTestEmail": "Wprowadź testowy adres e-mail",
"campaignWizard.testFailed": "Wysłanie testowe nie powiodło się",
"campaignWizard.pickSchedule": "Wybierz datę i godzinę",
"campaignWizard.scheduled": "Kampania zaplanowana",
"campaignWizard.scheduleFailed": "Planowanie nie powiodło się",
"campaignWizard.draftSaved": "Zapisano szkic",
"campaignWizard.unavailableShort": "Kampanie są teraz niedostępne.",
"campaignWizard.saveFailed": "Zapis nie powiódł się",
"marketing.calendarTitle": "Kalendarz treści",
"marketing.calendarDesc": "Połącz kampanie sezonowe z datami, potem przygotuj feed eksportu z domyślnymi shopping.",
"marketing.loadFailed": "Nie udało się wczytać kalendarza",
"marketing.prepared": "Kampania przygotowana",
"marketing.alreadyReady": "Kampania jest już gotowa",
"marketing.exportFeedsHint": "{name} → Feedy eksportu",
"marketing.prepareFailed": "Nie można przygotować kampanii",
"marketing.requestFailed": "Żądanie nie powiodło się",
"marketing.emptyTitle": "Brak presetów sezonowych",
"marketing.emptyMessage": "Presety kalendarza pojawią się tutaj, gdy API marketingowe będzie dostępne.",
"marketing.openCampaigns": "Otwórz kampanie e-mail",
"marketing.window": "Okno:",
"marketing.linkedExport": "Powiązany eksport:",
"marketing.openPrepared": "Otwórz przygotowany feed",
"marketing.preparing": "Przygotowywanie…",
"marketing.prepareNamed": "Przygotuj kampanię {name}",
"marketing.footer": "Kampanie e-mail pozostają pod {link} — ta strona tylko przygotowuje feedy eksportu katalogu.",
"common.done": "Gotowe",
"common.copied": "Skopiowano do schowka.",
"common.copyFailed": "Nie można skopiować. Zaznacz tekst i skopiuj ręcznie.",
"common.submitting": "Wysyłanie…",
"common.sending": "Wysyłanie…",
"settings.companyAdminOnlyView": "Tylko admini firmy mogą zmieniać ustawienia firmy. Możesz zobaczyć szczegóły bieżącego obszaru roboczego.",
"settings.activeCompanyHelp": "Obszar roboczy katalogu, feedów, rozliczeń i kluczy API. Przełączaj w dowolnej chwili stąd lub z nagłówka.",
"settings.noCompanySelected": "Nie wybrano firmy",
"settings.creditsOverviewHelp": "Saldo kredytów AI aktywnej firmy. Szczegółowe użycie jest w Rozliczeniach.",
"settings.billingLabel": "Rozliczenia",
"settings.remainingLabel": "Pozostało",
"settings.creditsUnavailable": "Saldo kredytów nie jest jeszcze dostępne dla tego obszaru roboczego.",
"settings.openBilling": "Otwórz użycie i rozliczenia",
"settings.companyNameHelp": "Ta nazwa pojawia się w zaproszeniach i ustawieniach organizacji",
"settings.contentSettingsHelp": "Skonfiguruj język i dopasowanie produktów dla generowanych treści",
"settings.mergeProductsHelp": "Gdy włączone, importy CSV łączą wiersze z tym samym GTIN w jeden produkt. Wyłącz, aby każdy wiersz był osobny.",
"settings.emailIntegrationHelp": "Skonfiguruj Resend lub SMTP do zaproszeń, kampanii i poczty transakcyjnej.",
"settings.configureEmail": "Skonfiguruj e-mail",
"settings.aiIntegrationsHelp": "Kredyty platformy lub własny klucz oraz edytowalne prompty do tytułów, opisów, SEO i kampanii. Klucze szyfrowane w spoczynku.",
"settings.openAiIntegrations": "Otwórz integracje AI",
"settings.companyNameRequired": "Wprowadź nazwę firmy.",
"settings.companySaved": "Zapisano ustawienia firmy.",
"settings.companyUpdateFailed": "Nie udało się zaktualizować firmy",
"settings.mergeOn": "Produkty z tym samym GTIN zostaną scalone między feedami.",
"settings.mergeOff": "Produkty z tym samym GTIN pozostają osobne.",
"settings.mergeUpdateFailed": "Nie udało się zaktualizować ustawienia scalania",
"settings.inAppToastsHelp": "Tylko w tej przeglądarce. Błędy domyślnie włączone; ukończenia wyciszone, by zmniejszyć szum. Feedback formularzy i Cofnij nigdy nie są wyciszane.",
"settings.emailAlertsHelp": "Preferencje alertów e-mail wkrótce. Alerty błędów domyślnie włączone (jak w aplikacji); maile o ukończeniu wyłączone, chyba że się zapiszesz.",
"settings.emailAlertsBody": "Na razie skonfiguruj mail transakcyjny w Firma → Integracja e-mail. Alerty in-app powyżej nadal obowiązują.",
"settings.apiKeysLegacyNotice": "Starsze klucze API nie zostały zmigrowane. Utwórz nowy — sekret pokazywany jest tylko raz.",
"settings.apiKeysAdminOnly": "Tylko administratorzy firmy mogą tworzyć lub unieważniać klucze API. Możesz przeglądać istniejące prefiksy.",
"settings.apiKeysCopyUnavailableNotice": "Kopiowanie niedostępne dla istniejących kluczy — przechowywany jest tylko prefiks. Utwórz nowy, skopiuj sekret raz, potem unieważnij stary w razie potrzeby.",
"settings.apiKeysForbidden": "Nie masz uprawnień do przeglądania kluczy API. Poproś administratora firmy o pomoc.",
"settings.noApiKeys": "Brak kluczy API",
"settings.noApiKeysHelpAdmin": "Starsze klucze API nie zostały zmigrowane. Utwórz nowy do uwierzytelniania żądań Descrybe (X-API-Key). Pełny sekret pokazywany jest tylko raz.",
"settings.noApiKeysHelpMember": "Brak jeszcze kluczy API dla tej firmy. Starsze nie zostały zmigrowane — poproś administratora o utworzenie.",
"settings.unnamedKey": "Klucz bez nazwy",
"settings.neverUsed": "Nigdy nie użyto",
"settings.apiKeyActions": "Akcje klucza API",
"settings.copyUnavailable": "Kopiowanie niedostępne",
"settings.copyUnavailableTitle": "Pełny sekret jest pokazywany tylko raz przy utworzeniu klucza",
"settings.revoke": "Unieważnij",
"settings.apiKeyNameRequired": "Wprowadź nazwę tego klucza API.",
"settings.apiKeyCreatedOnce": "Utworzono klucz API. Skopiuj teraz — nie będzie już pokazywany.",
"settings.apiKeyCreated": "Utworzono klucz API.",
"settings.apiKeyCreateFailed": "Nie można utworzyć klucza API",
"settings.apiKeyRevokeConfirm": "Unieważnić ten klucz API? Żądania go używające przestaną działać.",
"settings.apiKeyRevoked": "Unieważniono klucz API.",
"settings.apiKeyRevokeFailed": "Nie można unieważnić klucza API",
"settings.apiKeyCopied": "Skopiowano klucz API.",
"settings.createApiKeyOnceHelp": "Skopiuj ten klucz teraz — nie będzie już pokazywany. Używaj jako Authorization: Bearer lub X-API-Key na /api/v1.",
"settings.createApiKeyNameHelp": "Nazwij klucz, by później go rozróżnić. Po utworzeniu wysyłaj jako Authorization: Bearer (zalecane) lub X-API-Key.",
"settings.keyNamePlaceholder": "np. Production",
"settings.newApiKeyAria": "Nowy klucz API pokazany raz",
"settings.copyApiKeyAria": "Kopiuj klucz API",
"settings.alert.sync_fail.title": "Błędy sync",
"settings.alert.sync_fail.description": "Gdy synchronizacja feedu przekroczy czas lub API zwróci błąd.",
"settings.alert.sync_done.title": "Sync zakończona",
"settings.alert.sync_done.description": "Gdy synchronizacja feedu zakończy się pomyślnie.",
"settings.alert.ai_fail.title": "Błędy AI / przetwarzania",
"settings.alert.ai_fail.description": "Gdy uruchomienie lub przebieg zadania przetwarzania nie powiedzie się.",
"settings.alert.ai_done.title": "AI / przetwarzanie zakończone",
"settings.alert.ai_done.description": "Gdy zadanie w tle zakończy się pomyślnie. Toasty startu zawsze włączone, by Cofnij było dostępne.",
"settings.alert.export_fail.title": "Błędy eksportu",
"settings.alert.export_fail.description": "Gdy eksport produktu lub feedu eksportu nie powiedzie się.",
"settings.alert.export_done.title": "Eksport zakończony",
"settings.alert.export_done.description": "Gdy eksport zakończy się pomyślnie.",
"settings.alert.support_reply.title": "Odpowiedzi personelu wsparcia",
"settings.alert.support_reply.description": "Gdy agent platformy odpowie na Twoje zgłoszenie wsparcia.",
"settings.alert.support_status.title": "Zmiany statusu wsparcia",
"settings.alert.support_status.description": "Gdy zgłoszenie wsparcia przejdzie do oczekujące lub rozwiązane.",
"empty.forbidden.title.company": "Odmowa uprawnień",
"empty.forbidden.title.platform": "Dostęp ograniczony",
"empty.forbidden.message.company": "Nie masz uprawnień. Poproś administratora firmy o pomoc.",
"empty.forbidden.message.platform": "Ten obszar jest dostępny tylko dla administratorów platformy.",
"empty.forbidden.message.support": "Ten obszar jest dostępny tylko dla wsparcia i administratorów platformy.",
"empty.forbidden.backDashboard": "Powrót do panelu",
"empty.forbidden.apiKeys": "Nie masz uprawnień do przeglądania kluczy API. Poproś administratora firmy o pomoc.",
"empty.forbidden.ai": "Nie masz uprawnień do ustawień dostawcy AI. Poproś administratora firmy o pomoc.",
"empty.forbidden.email": "Nie masz uprawnień do ustawień dostawcy e-mail. Poproś administratora firmy o pomoc.",
"confirm.defaultTitle": "Potwierdź usunięcie",
"confirm.defaultDescription": "Czy na pewno?",
"confirm.defaultConfirm": "Potwierdź",
"confirm.deleteFeed": "Usunąć feed „{name}”? Tego nie można cofnąć.",
"confirm.deleteCampaign": "Usunąć kampanię „{name}”? Tej operacji nie można cofnąć.",
"confirm.deleteExportFeed": "Czy na pewno chcesz usunąć ten feed eksportu?",
"confirm.rotateExportToken": "Obrocic token URL feedu? Stary publiczny URL przestanie dzialac natychmiast.",
"confirm.deleteUpload": "Usunąć „{name}”? Usuwa rekord przesłania (oraz lokalny blob, jeśli istnieje).",
"confirm.revokeApiKey": "Unieważnić ten klucz API? Żądania go używające przestaną działać.",
"confirm.deleteKnowledgeArticle": "Usunąć ten artykuł bazy wiedzy?",
"confirm.deleteReplyTemplate": "Usunąć ten szablon odpowiedzi?",
"confirm.deleteStructuredField": "Czy na pewno chcesz usunąć to pole? Tej operacji nie można cofnąć.",
"toast.campaign.pickAudience": "Wybierz co najmniej jedną kategorię lub produkt",
"toast.campaign.pickCategories": "Wybierz kategorie odbiorców dla tego filtra",
"toast.campaign.completeStep": "Ukończ ten krok, aby kontynuować",
"toast.campaign.aiDraft": "Wygenerowano szkic AI",
"toast.campaign.templatePreview": "Podgląd szablonu gotowy",
"toast.campaign.generateFirst": "Najpierw wygeneruj podgląd",
"toast.campaign.testSent": "E-mail testowy wysłano na {email}",
"toast.campaign.scheduled": "Kampania zaplanowana",
"toast.campaign.draftSaved": "Zapisano szkic",
"toast.campaign.deleted": "Kampania usunięta",
"toast.campaign.prepared": "Kampania przygotowana",
"toast.campaign.alreadyReady": "Kampania jest już gotowa",
"toast.campaign.prepareFailed": "Nie można przygotować kampanii",
"toast.campaign.deleteFailed": "Nie udało się usunąć kampanii",
"toast.feed.copyFailed": "Nie można skopiować URL",
"toast.feed.created": "Utworzono feed",
"toast.feed.updated": "Feed zaktualizowany.",
"toast.feed.mapBeforeSync": "Zmapuj pola przed synchronizacją tego feedu.",
"toast.feed.activateBeforeSync": "Aktywuj feed przed synchronizacją.",
"toast.feed.syncFinished": "Synchronizacja zakończona",
"toast.feed.deleted": "Feed usunięty.",
"toast.feed.mappingLoadFailed": "Nie można wczytać mapowań. Otwórz mapowanie, aby naprawić przed synchronizacją.",
"toast.feed.syncFailed": "Synchronizacja nie powiodła się",
"toast.feed.statusFailed": "Nie udało się zaktualizować statusu",
"toast.feed.deleteFailed": "Nie udało się usunąć feedu",
"toast.feed.beforeSampling": "Przed samplingiem",
"toast.processing.jobCompleted": "Przetwarzanie zakończone",
"toast.processing.jobFailed": "Przetwarzanie nie powiodło się",
"toast.products.startFailed": "Nie udało się uruchomić przetwarzania",
"toast.products.jobStarted": "Uruchomiono zadanie przetwarzania",
"toast.products.acceptUndone": "Cofnięto akceptację",
"toast.products.resetComplete": "Reset zakończony",
"toast.products.nameAcceptUndone": "Cofnięto akceptację nazwy",
"toast.products.descAcceptUndone": "Cofnięto akceptację opisu",
"toast.products.cancelOne": "Przetwarzanie anulowane",
"toast.products.cancelMany": "Anulowano zadania przetwarzania",
"toast.products.startJobFailed": "Nie udało się uruchomić zadania przetwarzania",
"toast.products.acceptFailed": "Nie udało się zaakceptować wzbogacenia",
"toast.products.updateFailed": "Nie udało się zaktualizować produktu",
"toast.products.undoAcceptFailed": "Nie udało się cofnąć akceptacji",
"toast.products.undoFieldAcceptFailed": "Nie udało się cofnąć akceptacji pola",
"toast.products.undoFieldDiscardFailed": "Nie udało się cofnąć odrzucenia pola",
"toast.products.rejectFailed": "Nie udało się odrzucić wzbogacenia",
"toast.products.exportFailed": "Nie można wyeksportować wybranych produktów",
"toast.products.resetFailed": "Nie udało się zresetować produktów",
"toast.products.cancelFailed": "Nie można anulować zadania przetwarzania",
"toast.support.ticketCreated": "Utworzono zgłoszenie",
"toast.support.replySent": "Odpowiedź wysłana",
"toast.support.thanksFeedback": "Dziękujemy za opinię",
"toast.support.createFailed": "Nie można utworzyć zgłoszenia",
"toast.support.unavailable": "Wsparcie niedostępne",
"toast.support.loadFailed": "Nie udało się wczytać zgłoszeń wsparcia",
"toast.support.loadTicketFailed": "Nie udało się wczytać zgłoszenia",
"toast.support.replyFailed": "Nie można wysłać odpowiedzi",
"toast.support.ratingUnavailable": "Ocena niedostępna",
"toast.support.alreadyRated": "Już oceniono",
"toast.support.ratingFailed": "Nie można przesłać oceny",
"toast.structured.fieldAdded": "Dodano pole",
"toast.structured.fieldAddedBody": "Dodano pole strukturalnego opisu.",
"toast.structured.fieldDeleted": "Usunięto pole",
"toast.structured.fieldDeletedBody": "Usunięto pole strukturalnego opisu.",
"toast.structured.addFailed": "Nie udało się dodać pola",
"toast.structured.deleteFailed": "Nie udało się usunąć pola",
"toast.brand.saved": "Zapisano zestaw marki",
"toast.brand.logoUploaded": "Przesłano logo",
"toast.brand.saveFailed": "Nie udało się zapisać zestawu marki",
"toast.brand.uploadFailed": "Nie udało się przesłać logo",
"toast.vector.indexCreated": "Utworzono indeks wektorowy",
"toast.vector.dbInitialized": "Zainicjalizowano bazę wektorową",
"toast.vector.indexFailed": "Nie udało się utworzyć indeksu wektorowego",
"toast.vector.initFailed": "Nie udało się zainicjalizować bazy wektorowej",
"toast.vector.searchFailed": "Nie udało się wyszukać kategorii",
"toast.export.refreshFailed": "Nie udało się odświeżyć feedu",
"toast.mapping.loadFailed": "Nie udało się wczytać mapowania feedu",
"toast.mapping.extractFailed": "Nie udało się wyodrębnić schematu",
"toast.mapping.saveFailed": "Nie udało się zapisać mapowań pól",
"toast.mapping.sampleFailed": "Synchronizacja + przetwarzanie próbki nie powiodły się",
"toast.attrs.createFailed": "Tworzenie nie powiodło się",
"toast.attrs.importFailed": "Import nie powiódł się",
"toast.attrs.updateFailed": "Aktualizacja nie powiodła się",
"toast.attrs.deleteFailed": "Usuwanie nie powiodło się",
"toast.switcher.loadUsersFailed": "Nie można wczytać użytkowników do przełączenia",
"toast.switcher.switchFailed": "Nie można przełączyć użytkownika",
"toast.switcher.returnFailed": "Nie można wrócić do pierwotnego użytkownika",
"toast.switcher.companyFailed": "Nie można przełączyć firmy",
"toast.requestFailed": "Żądanie nie powiodło się",
"flash.campaign.unavailableDraft": "Kampanie są teraz niedostępne. Szkiców nie można zapisać, dopóki funkcja nie będzie aktywna.",
"flash.campaign.testEmailRequired": "Wprowadź testowy adres e-mail",
"flash.campaign.scheduleRequired": "Wybierz datę i godzinę",
"flash.campaign.unavailable": "Kampanie są teraz niedostępne.",
"flash.campaign.generateFailed": "Generowanie nie powiodło się",
"flash.campaign.testFailed": "Wysłanie testowe nie powiodło się",
"flash.campaign.scheduleFailed": "Planowanie nie powiodło się",
"flash.campaign.saveFailed": "Zapis nie powiódł się",
"flash.feed.copyFailed": "Nie można skopiować URL",
"flash.feed.csvRequired": "Wybierz plik .csv.",
"flash.feed.csvFileRequired": "Wybierz plik CSV.",
"flash.feed.urlRequired": "URL feedu jest wymagany.",
"flash.feed.updated": "Feed zaktualizowany.",
"flash.feed.syncFinishedNamed": "Synchronizacja zakończona dla \"{name}\" ({status}: {products}).",
"flash.feed.deleted": "Feed usunięty.",
"flash.feed.createFailed": "Nie można utworzyć feedu",
"flash.feed.updateFailed": "Nie można zaktualizować feedu",
"flash.settings.companyNameRequired": "Wprowadź nazwę firmy.",
"flash.settings.companySaved": "Zapisano ustawienia firmy.",
"flash.settings.companyFailed": "Nie udało się zaktualizować firmy",
"flash.settings.mergeFailed": "Nie udało się zaktualizować ustawienia scalania",
"flash.settings.apiKeyNameRequired": "Wprowadź nazwę tego klucza API.",
"flash.settings.apiKeyCreatedFailed": "Nie można utworzyć klucza API",
"flash.settings.apiKeyRevoked": "Unieważniono klucz API.",
"flash.settings.apiKeyRevokeFailed": "Nie można unieważnić klucza API",
"flash.settings.copyFailed": "Nie można skopiować. Zaznacz tekst i skopiuj ręcznie.",
"flash.products.accepted": "Zaakceptowano {count} produkt(ów) — przeniesiono do Przetworzone.",
"flash.products.updated": "Zaktualizowano produkt.",
"flash.products.enrichmentAccepted": "Zaakceptowano wzbogacenie — przeniesiono do Przetworzonych.",
"flash.products.originalEmpty": "Wartość oryginalna jest pusta; wzbogacenia nie można wyczyścić przez PATCH.",
"flash.products.selectExport": "Wybierz co najmniej jeden produkt do eksportu.",
"flash.products.exported": "Wyeksportowano {count} produkt(ów) przez feed eksportu.",
"flash.support.missingId": "Brak identyfikatora zgłoszenia",
"flash.support.notFound": "Nie znaleziono zgłoszenia",
"flash.support.unavailable": "Wsparcie jest tymczasowo niedostępne.",
"flash.support.ratingUnavailable": "Ocena jest tymczasowo niedostępna. Spróbuj ponownie później.",
"flash.support.alreadyRated": "Już oceniłeś to zgłoszenie.",
"flash.support.queueUnavailable": "Kolejka wsparcia nie jest dostępna w tej instalacji.",
"flash.support.deploymentUnavailable": "Wsparcie nie jest dostępne w tym wdrożeniu.",
"flash.support.replyRequired": "Treść odpowiedzi jest wymagana.",
"flash.support.draftRequired": "Treść szkicu jest wymagana przed zatwierdzeniem.",
"flash.support.claimed": "Przejęto zgłoszenie.",
"flash.support.unassigned": "Cofnięto przypisanie zgłoszenia.",
"flash.support.assigneeCleared": "Wyczyszczono przypisanego.",
"flash.support.assigneeUpdated": "Zaktualizowano przypisanego.",
"flash.support.draftApproved": "Zatwierdzono szkic AI i wysłano do klienta.",
"flash.support.draftSent": "Wysłano szkic jako odpowiedź personelu.",
"flash.support.draftDiscarded": "Odrzucono szkic AI. Zgłoszenie przekazano do kolejki ludzkiej.",
"flash.support.autoReplyDisabled": "Wyłączono auto-odpowiedź (szkic jako notatka wewnętrzna).",
"flash.structured.keyRequired": "Klucz pola jest wymagany",
"flash.category.nameRequired": "Nazwa i unikalne ID są wymagane.",
"flash.category.textEmpty": "Tekst nie może być pusty",
"flash.export.noConfigs": "Brak feedów eksportu. Utwórz jeden w Feedach eksportu, potem wróć, aby wyeksportować zaznaczenie.",
"flash.export.selectFormat": "Wybierz feed eksportu.",
"flash.files.deleted": "Usunięto przesłanie.",
"flash.mapping.noSuggestions": "Brak sugestii — sprawdź nazwy pól źródłowych.",
"flash.mapping.allMapped": "Wszystkie sugestie są już zmapowane. Sprawdź chipy pewności w tabeli.",
"flash.mapping.extractFirst": "Brak sugestii — najpierw wyodrębnij schemat.",
"flash.mapping.pathRequired": "Wprowadź ścieżkę elementu produktu przed mapowaniem pól.",
"flash.billing.checkoutCanceled": "Checkout został anulowany. Nie wprowadzono żadnych zmian.",
"flash.billing.portalReturn": "Powrót z portalu rozliczeń. Zarządzaj planem tutaj lub w Plans.",
"flash.billing.invalidAmount": "Wprowadź prawidłową liczbę kredytów.",
"flash.billing.companyNotFound": "Nie znaleziono firmy.",
"flash.billing.creditsAdded": "Dodano {amount} kredytów.",
"flash.unsubscribe.missingToken": "Brak tokenu wypisania.",
"flash.unsubscribe.loadFailed": "Nie można wczytać statusu wypisania.",
"flash.unsubscribe.failed": "Wypisanie nie powiodło się.",
"flash.seo.filledMeta": "Wypełniono meta dla „{label}” ({mode}).",
"flash.shopify.saved": "Zapisano ustawienia Shopify.",
"flash.woo.saved": "Zapisano ustawienia WooCommerce.",
"flash.woo.syncSaved": "Zapisano ustawienia synchronizacji.",
"flash.woo.autoCategories": "Automatycznie zmapowano {count} kategorii.",
"flash.woo.autoAttributes": "Automatycznie zmapowano {count} atrybutów.",
"flash.ai.promptsSaved": "Zapisano szablony promptów. Obowiązują przy następnym uruchomieniu AI.",
"flash.ai.promptRestored": "Przywrócono wbudowany domyślny prompt.",
"flash.ai.connectionOk": "Połączenie OK ({detail}).",
"flash.ai.connectionByok": ", własny klucz",
"flash.email.saved": "Zapisano dostawcę e-mail. Zweryfikuj domenę, potem wyślij test.",
"flash.email.testDryRun": "Zapisano test w trybie dry-run — nie wysłano e-maila.",
"flash.email.testSent": "Wysłano e-mail testowy. Adres nadawcy jest oznaczany jako zweryfikowany po udanym doręczeniu.",
"flash.fields.apiUnavailable": "API pól standardowych jest niedostępna. Zmian nie można zapisać.",
"flash.fields.updated": "Zaktualizowano pole",
"flash.fields.created": "Utworzono pole",
"flash.fields.enabledRecommended": "Włączono zalecane pola ecommerce",
"flash.fields.deleted": "Usunięto pole",
"flash.fields.groupUpdated": "Zaktualizowano grupę",
"flash.fields.groupCreated": "Utworzono grupę",
"flash.fields.groupDeleted": "Usunięto grupę",
"flash.processing.cancelled": "Anulowano \"{name}\".",
"flash.processing.retried": "\"{name}\" w kolejce do ponowienia.",
"flash.admin.staffRoleUpdated": "Zaktualizowano rolę personelu dla {email}.",
"flash.admin.staffRoleUnavailable": "Aktualizacje ról personelu nie są jeszcze dostępne na tym serwerze.",
"flash.admin.planAssigned": "Przypisano plan do {name}.",
"flash.admin.planAssignedShort": "Przypisano plan.",
"flash.admin.creditsUpdated": "Zaktualizowano kredyty.",
"flash.admin.cyclesProcessed": "Przetworzono cykle rozliczeniowe: {count}",
"flash.admin.invitesSummary": "Zaproszenia do ustawienia hasła: {parts}. Dostarczanie e-mail: {smtp}.",
"flash.admin.smtpOn": "wł.",
"flash.admin.smtpOff": "wył.",
"flash.admin.localPasswordSet": "Ustawiono lokalne hasło dla {email}.",
"flash.admin.localPasswordUnavailable": "Narzędzia lokalnego hasła nie są dostępne w tym środowisku.",
"flash.admin.switchedUser": "Przełączono użytkownika. Przeładowywanie…",
"flash.admin.switchUnavailable": "Przełączanie użytkownika nie jest dostępne w tym środowisku.",
"flash.admin.diagnosticsRateLimit": "Osiągnięto limit diagnostyki (20/min). Poczekaj minutę i odśwież.",
"flash.admin.smtpSaved": "Zapisano ustawienia SMTP platformy. Hasła pozostają ukryte.",
"flash.admin.integrationSaved": "Zapisano ustawienia integracji. Pola tajne nigdy nie są ponownie wyświetlane w całości.",
"flash.admin.aiSaved": "Zapisano ustawienia AI {label}. Klucze API nie są już pokazywane.",
"flash.admin.cleanup": "Czyszczenie: {jobs} zadań nieudanych, zresetowano {products} produktów.",
"flash.admin.orphanDryRun": "Dry-run only — {total} orphan(s) would be deleted. Nothing removed.",
"flash.admin.orphanDeleted": "Deleted {deleted} orphan row(s). Remaining: {remaining}.",
"flash.admin.articleUpdated": "Zaktualizowano artykuł.",
"flash.admin.articleCreated": "Utworzono artykuł.",
"flash.admin.templateUpdated": "Zaktualizowano szablon.",
"flash.admin.templateCreated": "Utworzono szablon.",
"flash.admin.articleDeleted": "Usunięto artykuł.",
"flash.admin.templateDeleted": "Usunięto szablon.",
"flash.admin.autoReplySaved": "Zapisano ustawienia auto-odpowiedzi.",
"flash.admin.imageUploaded": "Przesłano obraz i wstawiono do markdown.",
"flash.admin.translationsSaved": "Zapisano {count} ciąg(ów) dla {locale}. Zrób commit paczki, gdy będzie gotowa.",
"flash.admin.featuresUpdated": "Zaktualizowano {key}.",
"flash.admin.featuresAllOn": "Włączono wszystkie funkcje dla tego planu.",
"flash.admin.featuresAllOff": "Wyłączono wszystkie funkcje dla tego planu.",
"flash.admin.profileApplied": "Zastosowano profil {label} do {name}.",
"flash.admin.overridesCleared": "Wyczyszczono nadpisania — używane są domyślne nazwy planu.",
"empty.plans.none": "Nie znaleziono planów.",
"empty.plans.noMatch": "Żaden plan nie pasuje do tego filtra.",
"empty.plans.selectPackage": "Wybierz pakiet, aby edytować funkcje.",
"empty.products.processingTitle": "Brak produktów w przetwarzaniu",
"empty.products.processingMessageCan": "Postęp na żywo jest na stronie Przetwarzanie. Otwórz tam uruchomione zadanie, by zobaczyć status kroków; ta karta wylistuje produkty w toku, gdy filtr pozycji będzie dostępny.",
"empty.products.processingMessageCannot": "Produkty w zadaniu pojawiają się tutaj po uruchomieniu przetwarzania z katalogu.",
"empty.products.reviewTitle": "Brak produktów do przeglądu",
"empty.products.reviewMessage": "Po zadaniu wzbogacone produkty trafiają tutaj. Otwórz wiersz, porównaj oryginał ze wzbogaceniem, potem Zaakceptuj, edytuj lub Odrzuć.",
"empty.products.errorTitle": "Brak produktów z błędami",
"empty.products.errorMessage": "Gdy zadanie nie powiedzie się dla produktu, pojawi się tutaj, aby można było ponowić.",
"empty.products.filterTitleUnprocessed": "Brak nieprzetworzonych dopasowań",
"empty.products.filterTitle": "Żaden produkt nie pasuje",
"empty.products.filterMessage": "Spróbuj innego wyszukiwania, kategorii lub feedu — albo wyczyść filtry, by zobaczyć wszystko.",
"empty.products.unprocessedTitle": "Brak nieprzetworzonych produktów",
"empty.products.unprocessedMessage": "Podłącz feed dostawcy lub prześlij CSV, aby zaimportować produkty.",
"empty.products.noneTitle": "Brak produktów",
"empty.products.noneMessageStores": "Zaimportuj z feedu lub sklepu, potem uruchom zadanie, by zbudować katalog.",
"empty.products.noneMessage": "Zaimportuj z feedu lub prześlij CSV, potem uruchom zadanie.",
"empty.products.viewJobs": "Zobacz zadania",
"empty.products.startJob": "Uruchom zadanie",
"empty.products.clearFilters": "Wyczyść filtry",
"empty.products.viewProcessed": "Zobacz przetworzone",
"empty.products.retryCatalog": "Ponów z katalogu",
"empty.products.connectFeed": "Podłącz feed",
"empty.products.addProduct": "Dodaj produkt",
"empty.products.uploadCsv": "Prześlij CSV",
"empty.feeds.noneTitle": "Brak feedów produktów",
"empty.feeds.noneMessage": "Połącz URL CSV/XML dostawcy lub prześlij plik. Dalej: Map → Sync → Process.",
"empty.feeds.noMatchTitle": "Brak pasujących feedów",
"empty.feeds.noMatchMessage": "Spróbuj innej frazy wyszukiwania albo wyczyść wyszukiwanie, aby zobaczyć wszystkie feedy.",
"empty.export.loadFailedTitle": "Nie można wczytać feedów eksportu",
"empty.export.loadFailedMessage": "Coś poszło nie tak podczas wczytywania eksportów. Spróbuj ponownie lub sprawdź błąd powyżej, aby uzyskać szczegóły.",
"empty.export.noneTitle": "Brak feedów eksportu",
"empty.export.noneMessage": "Utwórz feed Google Shopping, Meta lub własny CSV/XML, aby wybrać produkty i pola. Wygeneruj publiczny URL do Merchant Center lub partnera — albo wyeksportuj podzbiór z Produktów.",
"empty.export.noMatchTitle": "Brak pasujących feedów",
"empty.export.noMatchMessage": "Spróbuj innego hasła wyszukiwania.",
"empty.files.noneTitle": "Brak jeszcze przesłań",
"empty.files.noneMessage": "Importy CSV produktów, kategorii i atrybutów pojawiają się tu po przesłaniu. Po migracji platformy zawartość plików (blob) nie została skopiowana — prześlij ponownie, jeśli jej potrzebujesz.",
"empty.files.uploadCta": "Prześlij CSV",
"empty.export.fromProductsCta": "Eksportuj z Produktów",
"empty.dashboard.noJobsTitle": "Brak ostatnich zadań",
"empty.dashboard.noJobsMessage": "Zadania pojawiają się tutaj po starcie przetwarzania w Produktach. Wzbogać tytuły i opisy przed eksportem.",
"empty.stores.noneTitle": "Brak podłączonego sklepu",
"empty.stores.noneMessage": "Połącz WooCommerce lub Shopify, by synchronizować katalog i zamówienia. Plik dostawcy? Użyj URL feedu lub przesyłania CSV.",
"empty.stores.noneTitleMember": "Brak podłączonego sklepu",
"empty.stores.noneMessageMember": "Tylko admini firmy mogą podłączyć WooCommerce lub Shopify. Poproś admina o pomoc albo użyj Feed URL/CSV, jeśli Twoja rola na to pozwala.",
"empty.woo.openConnection": "Otwórz ustawienia połączenia",
"empty.shopify.openConnection": "Otwórz ustawienia połączenia",
"empty.processing.noneTitle": "Brak jeszcze zadań",
"empty.processing.noneMessage": "Uruchom zadanie z Produktów, gdy będziesz gotowy. Postęp i historia pojawią się tutaj.",
"empty.campaigns.unavailableTitle": "Kampanie niedostępne",
"empty.campaigns.unavailableMessage": "Usługa kampanii jest niedostępna. Możesz otworzyć kreator, ale generowanie i wysyłka poczekają na powrót usługi.",
"empty.calendar.noneTitle": "Brak presetów sezonowych",
"empty.calendar.noneMessage": "Presety kalendarza pojawią się tutaj, gdy API marketingowe będzie dostępne.",
"empty.seo.noneTitle": "Brak katalogu do oceny",
"empty.seo.noneMessage": "Najpierw przetwórz produkty lub dodaj kategorie. Wyniki SEO pojawią się, gdy będą dane katalogu.",
"empty.vector.unavailableTitle": "Kategorie wektorowe niedostępne",
"empty.vector.noMatchTitle": "Brak jeszcze dopasowań",
"empty.vector.noMatchMessage": "Wprowadź opis produktu i wyszukaj, by zobaczyć dopasowania kategorii wektorowych.",
"empty.structured.unavailableTitle": "Opisy strukturalne niedostępne",
"empty.structured.unavailableMessage": "To API nie jest jeszcze na tym backendzie. Nie możesz zarządzać polami Export ID, dopóki /api/structured-descriptions nie będzie podłączone.",
"empty.structured.noneTitle": "Brak jeszcze pól strukturalnego opisu",
"empty.structured.noneMessage": "Dodaj pole tutaj lub utwórz Export ID w formule opisu kategorii — pojawią się do użycia w feedach eksportu.",
"empty.support.unavailableTitle": "Wsparcie niedostępne",
"empty.support.noneTitle": "Brak jeszcze zgłoszeń",
"empty.support.unavailableMessage": "API wsparcia jest niedostępne. Spróbuj wkrótce lub otwórz nowe zgłoszenie, gdy usługa wróci.",
"empty.support.filterMessage": "Żadne zgłoszenie nie pasuje do tego statusu. Spróbuj innego filtra lub utwórz nowe.",
"empty.support.noneMessage": "Opisz problem — zespół odpowie w tym wątku. Dostaniesz też powiadomienie w aplikacji, gdy personel odpowie.",
"empty.support.createTicket": "Utwórz zgłoszenie",
"empty.support.clearFilter": "Wyczyść filtr",
"empty.support.ticketNotFoundTitle": "Nie znaleziono zgłoszenia",
"empty.support.ticketNotFoundMessage": "To zgłoszenie mogło zostać usunięte albo nie masz dostępu.",
"empty.support.noMessagesTitle": "Brak wiadomości",
"empty.support.noMessagesMessage": "Ten wątek nie ma jeszcze wiadomości.",
"empty.settings.noApiKeysTitle": "Brak kluczy API",
"empty.shopify.noOrdersTitle": "Brak zamówień",
"empty.shopify.noOrdersMessage": "Zamówienia pojawiają się po połączeniu Shopify i uruchomieniu importu. Puste listy są normalne do pierwszego sync.",
"empty.woo.noOrdersTitle": "Brak zamówień",
"empty.woo.noOrdersMessage": "Zamówienia pojawiają się po połączeniu WooCommerce i uruchomieniu synchronizacji. Puste listy są normalne do pierwszego sync.",
"empty.woo.noReviewsTitle": "Brak jeszcze recenzji",
"empty.woo.noReviewsMessage": "Opinie pojawiają się po kolejkowaniu importu z podłączonego sklepu. Ta karta działa także przy pustej liście.",
"empty.admin.noProviderTitle": "Brak wierszy dostawcy",
"empty.admin.noProviderMessage": "Tokeny pojawiają się tutaj, gdy produkty zapiszą typ dostawcy.",
"empty.admin.noCompaniesTitle": "Brak firm",
"empty.admin.noCompaniesMessage": "Lista firm jest pusta.",
"empty.admin.noCyclesTitle": "Brak cykli rozliczeniowych",
"empty.admin.noCyclesMessage": "Cykle pojawiają się, gdy przebiegi rozliczeń utworzą historyczne wiersze.",
"empty.admin.noCompaniesFound": "Nie znaleziono firm.",
"empty.admin.noCompaniesMatch": "Żadna firma nie pasuje do tego filtra.",
"empty.admin.notPlatformTitle": "Nie jesteś adminem platformy",
"empty.admin.notPlatformMessage": "Twoje konto jest zalogowane, ale nie jest oznaczone jako admin platformy. Poproś istniejącego admina o dostęp, wyloguj się i zaloguj ponownie.",
"empty.admin.noJobsFilter": "Brak zadań dla tego filtra.",
"empty.admin.noAdminUsers": "Nie znaleziono użytkowników admin",
"empty.admin.noJobs": "Nie znaleziono zadań.",
"empty.admin.queueUnavailable": "Kolejka wsparcia jest niedostępna. Skontaktuj się z administratorem platformy, jeśli to trwa.",
"empty.admin.noTicketsQueue": "Brak zgłoszeń w tej kolejce.",
"empty.admin.knowledgeTitle": "Baza wiedzy wsparcia",
"empty.admin.knowledgeNotReadyTitle": "Wiedza wsparcia nie jest gotowa",
"empty.admin.knowledgeNotReadyMessage": "Artykuły i auto-odpowiedź nie są jeszcze skonfigurowane w tej instalacji.",
"empty.admin.noTemplatesTitle": "Brak szablonów odpowiedzi",
"empty.admin.noTemplatesMessage": "Szablony są dopasowywane jak artykuły i publikowane jako oznaczone odpowiedzi automatyczne.",
"empty.admin.ticketNotFound": "Nie znaleziono zgłoszenia.",
"empty.admin.supportUnavailable": "Wsparcie nie jest dostępne w tym wdrożeniu.",
"empty.admin.ticketLoadFailed": "Nie udało się wczytać tego zgłoszenia.",
"empty.admin.noMessages": "Brak wiadomości.",
"empty.admin.translationsUnavailableTitle": "Tłumaczenia niedostępne",
"empty.admin.translationsUnavailableMessage": "Endpoint katalogu tłumaczeń nie jest dostępny w tym buildzie.",
"empty.admin.noKeysMatchTitle": "Brak pasujących kluczy",
"empty.admin.noKeysMatchMessage": "Spróbuj innego filtra lub wyszukiwania, albo odśwież po dodaniu nowych kluczy do angielskiego.",
"empty.admin.noUsersMatch": "Żaden użytkownik nie pasuje do tego filtra.",
"empty.admin.noCompaniesMatchFilter": "Żadna firma nie pasuje do tego filtra.",
"blast.title": "Potwierdź masową wysyłkę",
"blast.dryRunDescription": "Tryb dry-run jest aktywny — żadne prawdziwe e-maile nie opuszczą Descrybe. Potwierdź, aby zapisać wysyłkę testową.",
"blast.liveDescription": "To wyśle prawdziwe e-maile do odbiorców. Wpisz I understand, aby kontynuować.",
"blast.recipients": "Odbiorcy w tym żądaniu: {count}",
"blast.typePhrase": "Wpisz „I understand”",
"blast.placeholder": "I understand",
"blast.runDryRun": "Uruchom dry-run",
"blast.send": "Wyślij blast",
"marketing.footerBefore": "Kampanie e-mail pozostają pod",
"marketing.footerAfter": "— ta strona tylko przygotowuje feedy eksportu katalogu.",
"support.title": "Centrum wsparcia",
"support.description": "Otwórz a zgłoszenie for rozliczenia, bugs, or account help. Personel replies show here and as in-app notifications.",
"support.newTicket": "New zgłoszenie",
"support.createTicket": "Utwórz zgłoszenie",
"support.loadingTickets": "Ładowanie zgłoszenia…",
"support.loadFailed": "Nie udało się wczytać zgłoszeń wsparcia",
"support.unavailableBanner": "Wsparcie is not fully dostępne yet. You can still prepare a zgłoszenie; submitting may wait until the service is ready.",
"support.yourTickets": "Twoje zgłoszenia",
"support.ticketCount": "{count} zgłoszenia",
"support.ticketCountOne": "{count} zgłoszenie",
"support.statusFilterSuffix": "· status {status}",
"support.filterByStatus": "Filtruj by status",
"support.unavailableTitle": "Wsparcie niedostępne",
"support.emptyTitle": "Brak jeszcze zgłoszeń",
"support.unavailableEmpty": "API wsparcia jest niedostępne. Spróbuj wkrótce lub otwórz nowe zgłoszenie, gdy usługa wróci.",
"support.emptyFiltered": "Żadne zgłoszenie nie pasuje do tego statusu. Spróbuj innego filtra lub utwórz nowe.",
"support.emptyHelp": "Opisz problem — zespół odpowie w tym wątku. Dostaniesz też powiadomienie w aplikacji, gdy personel odpowie.",
"support.clearFilter": "Wyczyść filtr",
"support.table.subject": "Temat",
"support.table.category": "Kategoria",
"support.table.status": "Stan",
"support.table.priority": "Priorytet",
"support.table.updated": "Zaktualizowano",
"support.openTicketAria": "Otwórz zgłoszenie {subject}",
"support.status.all": "Wszystko",
"support.status.open": "Otwórz",
"support.status.pending": "Oczekujące",
"support.status.resolved": "Rozwiązane",
"support.status.closed": "Zamknięte",
"support.new.title": "Nowe zgłoszenie wsparcia",
"support.new.description": "Powiedz, z czym potrzebujesz pomocy. Dołącz kroki, komunikaty błędów lub dane faktury, jeśli pasują.",
"support.new.back": "Wstecz to zgłoszenia",
"support.new.details": "Zgłoszenie details",
"support.new.detailsHelp": "Status zaczyna się jako otwarty. Najpierw możesz dostać automatyczną odpowiedź; człowiek z zespołu może przejąć w dowolnym momencie w tym samym wątku.",
"support.new.subject": "Temat",
"support.new.subjectPlaceholder": "Krótkie podsumowanie",
"support.new.category": "Kategoria",
"support.new.priority": "Priorytet",
"support.new.optional": "Opcjonalne details",
"support.new.optionalHint": "(SKU, tagi — pomaga w routingu)",
"support.new.relatedSku": "Powiązane SKU",
"support.new.relatedSkuPlaceholder": "np. ABC-123",
"support.new.relatedSkuHelp": "Produkt or feed SKU if this is about a specific item.",
"support.new.tags": "Tagi",
"support.new.tagsPlaceholder": "login, faktura (oddzielone przecinkami)",
"support.new.tagsHelp": "Do 10 krótkich etykiet. Normalizujemy spacje i interpunkcję.",
"support.new.tagsWillSend": "Zostanie wysłane: {tags}",
"support.new.message": "Wiadomość",
"support.new.messagePlaceholder": "Opisz problem, czego oczekiwałeś i co pomoże go odtworzyć.",
"support.new.createdTitle": "Utworzono zgłoszenie",
"support.new.createdBody": "Odpowiemy w tym wątku. Sprawdzaj powiadomienia in-app.",
"support.new.viewTicket": "View zgłoszenie",
"support.new.unavailable": "Wsparcie is temporarily niedostępne. Your message was not submitted — try again shortly.",
"support.new.unavailableTitle": "Wsparcie niedostępne",
"support.new.createFailed": "Nie można utworzyć zgłoszenia",
"support.ticket.fallbackTitle": "Wsparcie zgłoszenie",
"support.ticket.description": "Conversation thread with Descrybe wsparcie.",
"support.ticket.meta": "{category} · {priority} · Zaktualizowano {when}",
"support.ticket.allTickets": "Wszystko zgłoszenia",
"support.ticket.loading": "Ładowanie zgłoszenie…",
"support.ticket.missingId": "Brak identyfikatora zgłoszenia",
"support.ticket.notFound": "Nie znaleziono zgłoszenia",
"support.ticket.notFoundMessage": "To zgłoszenie mogło zostać usunięte albo nie masz dostępu.",
"support.ticket.backCenter": "Wstecz to Wsparcie Center",
"support.ticket.unavailable": "Wsparcie jest tymczasowo niedostępne.",
"support.ticket.loadFailed": "Nie udało się wczytać zgłoszenia",
"support.ticket.openedMeta": "Otwórzed {when} · {category} · {priority} priority",
"support.ticket.sku": "SKU {sku}",
"support.ticket.messagesAria": "Zgłoszenie messages",
"support.ticket.noMessages": "Brak wiadomości",
"support.ticket.noMessagesHelp": "Ten wątek nie ma jeszcze wiadomości.",
"support.ticket.yourReply": "Twoja odpowiedź",
"support.ticket.replyPlaceholder": "Add details or reply to wsparcie…",
"support.ticket.sendReply": "Wyślij odpowiedź",
"support.ticket.replySent": "Odpowiedź wysłana",
"support.ticket.reopened": "Zgłoszenie reopened for staff review.",
"support.ticket.replyAdded": "Twoja wiadomość została dodana do wątku.",
"support.ticket.replyFailed": "Nie można wysłać odpowiedzi",
"support.ticket.reopenHint": "Replying reopens this zgłoszenie for staff.",
"support.ticket.humanHint": "Replying asks a human teammate to continue from tutaj.",
"support.ticket.closedBanner": "This zgłoszenie is closed. Utwórz a new zgłoszenie if you still need help.",
"support.kind.you": "Ty",
"support.kind.human": "Wsparcie",
"support.kind.auto": "Automatyczne",
"support.kind.ai": "Wspomagane AI",
"support.kind.system": "Warstwa systemu",
"support.kind.autoBadge": "Automatyczna odpowiedź",
"support.kind.aiBadge": "Wspomagane AI",
"support.progress.closed.title": "Zgłoszenie closed",
"support.progress.closed.message": "This conversation is closed. Otwórz a new zgłoszenie if you still need help.",
"support.progress.resolved.title": "Oznaczono jako rozwiązane",
"support.progress.resolved.message": "Uważamy, że sprawa jest załatwiona. Odpowiedz, by otworzyć ponownie, albo zostaw szybką ocenę poniżej.",
"support.progress.quickAnswer.title": "Wysłano szybką odpowiedź",
"support.progress.quickAnswer.message": "We shared an automated reply below. If it does not solve it, reply tutaj — a human will take over.",
"support.progress.onIt.title": "Zajmujemy się tym",
"support.progress.onIt.handedMessage": "A wsparcie teammate has your zgłoszenie and will reply in this thread.",
"support.progress.onIt.pendingMessage": "Wsparcie is reviewing your message. You will see updates in this thread.",
"support.progress.received.title": "Zgłoszenie received",
"support.progress.received.message": "Dzięki — mamy Twoje zgłoszenie. Wkrótce może pojawić się automatyczna pomoc albo odpowie kolega z zespołu.",
"support.category.billing": "Rozliczenia",
"support.category.billing.help": "Faktury, payment methods, plan changes, and Stripe receipts.",
"support.category.billing_credits": "Rozliczenia / credits",
"support.category.billing_credits.help": "Saldo kredytów, limity użycia i doładowania.",
"support.category.bug": "Bug / błąd",
"support.category.bug.help": "Nieoczekiwane błędy, zepsute ekrany lub kroki, które zawsze zawodzą.",
"support.category.account": "Konto / dostęp",
"support.category.account.help": "Login, invites, firma membership, and permissions.",
"support.category.integrations": "Integracje",
"support.category.integrations.help": "WooCommerce, Shopify, publiczne API lub konfiguracja konektora.",
"support.category.processing": "Przetwarzanie / AI",
"support.category.processing.help": "Produkt przetwarzanie, AI prompts, and generation quality.",
"support.category.export": "Eksportuj / channels",
"support.category.export.help": "Eksportuj feedy, channels, and sync destinations.",
"support.category.migration": "Migracja / dane",
"support.category.migration.help": "Brakujące lub błędne dane po cutover — produkty, feedy, sklepy, rozliczenia lub zespół.",
"support.category.other": "Inne",
"support.category.other.help": "Cokolwiek innego — przekierujemy do właściwej osoby.",
"support.priority.low": "Niski",
"support.priority.low.help": "Mile widziane lub nieblokujące — zajmiemy się kolejno.",
"support.priority.normal": "Normalny",
"support.priority.normal.help": "Standard request. Most zgłoszenia use this.",
"support.priority.high": "Wysoki",
"support.priority.high.help": "Blokuje pracę lub przychody — używaj oszczędnie.",
"support.csat.thanks": "Dziękujemy za opinię",
"support.csat.unavailable": "Ocena jest tymczasowo niedostępna. Spróbuj ponownie później.",
"support.csat.unavailableTitle": "Ocena niedostępna",
"support.csat.alreadyRated": "Już oceniłeś to zgłoszenie.",
"support.csat.alreadyRatedTitle": "Już oceniono",
"support.csat.submitFailed": "Nie można przesłać oceny",
"support.csat.yourRating": "Twoja ocena",
"support.csat.ratedOutOf": "You rated this zgłoszenie {score} out of 5",
"support.csat.howDidWeDo": "Jak nam poszło?",
"support.csat.formHelp": "This zgłoszenie is {status}. Rate your experience (15). Opcjonalne comment helps us improve.",
"support.csat.rating": "Ocena",
"support.csat.scoreAria": "{value} — {label}",
"support.csat.whatWentWrong": "What went wrong? (opcjonalne)",
"support.csat.whatWentWrongPlaceholder": "Krótka notatka pomaga nam w follow-upie.",
"support.csat.anythingElse": "Anything else? (opcjonalne)",
"support.csat.optionalFeedback": "Opcjonalne feedback",
"support.csat.submit": "Wyślij ocenę",
"support.csat.score.1": "Bardzo niezadowolony",
"support.csat.score.2": "Niezadowolony",
"support.csat.score.3": "OK",
"support.csat.score.4": "Zadowolony",
"support.csat.score.5": "Bardzo zadowolony",
"catalog.delete": "Usuń",
"catalog.deleting": "Usuwanie…",
"catalog.saving": "Zapisywanie…",
"catalog.adding": "Dodawanie…",
"catalog.assigning": "Przypisywanie…",
"catalog.uploading": "Przesyłanie…",
"catalog.create": "Utwórz",
"catalog.createFailed": "Tworzenie nie powiodło się",
"catalog.updateFailed": "Aktualizacja nie powiodła się",
"catalog.deleteFailed": "Usuwanie nie powiodło się",
"catalog.importFailed": "Import nie powiódł się",
"catalog.confirm": "Potwierdź",
"catalog.confirmDeletion": "Potwierdź usunięcie",
"catalog.areYouSure": "Czy na pewno?",
"catalog.previous": "Wstecz",
"catalog.next": "Dalej",
"catalog.expand": "Rozwiń",
"catalog.collapse": "Zwiń",
"catalog.clearSearch": "Wyczyść wyszukiwanie",
"catalog.clearFilters": "Wyczyść filtry",
"catalog.clearSelection": "Wyczyść zaznaczenie",
"catalog.add": "Dodaj",
"catalog.update": "Aktualizuj",
"catalog.edit": "Edytuj",
"catalog.accept": "Zaakceptuj",
"catalog.reject": "Odrzuć",
"catalog.reset": "Resetuj",
"catalog.undo": "Cofnij",
"catalog.close": "Zamknij",
"catalog.closePanel": "Zamknij panel",
"catalog.closeMenus": "Zamknij menu",
"catalog.openMenu": "Otwórz menu",
"catalog.loading": "Ładowanie…",
"catalog.empty": "Puste",
"catalog.required": "Wymagane",
"catalog.optional": "Opcjonalne",
"catalog.features": "Funkcje",
"catalog.csvImportFinished": "Import CSV zakończony.",
"catalog.comparePlans": "Porównaj plany",
"catalog.saveChanges": "Zapisz zmiany",
"catalog.saveFormula": "Zapisz formułę",
"catalog.saveFormulaShort": "Zapisz formułę",
"catalog.noResults": "Brak wyników",
"products.title": "Produkty",
"products.description": "Przeglądaj, sprawdzaj i przetwarzaj katalog.",
"products.loadFailed": "Nie udało się wczytać produktów",
"products.unnamed": "Produkt bez nazwy",
"products.tabs.navLabel": "Widoki produktów",
"products.tab.processed": "Przetworzone",
"products.tab.processedHint": "Gotowe produkty do eksportu lub synchronizacji",
"products.tab.needsReview": "Do przeglądu",
"products.tab.needsReviewHint": "Wzbogacone produkty do zaakceptowania, edycji lub odrzucenia",
"products.tab.needsReviewShort": "Przejrzyj",
"products.tab.error": "Błędy",
"products.tab.errorHint": "Produkty, które nie powiodły się w zadaniu",
"products.tab.processing": "W toku",
"products.tab.processingHint": "Produkty w trwającym zadaniu",
"products.tab.busy": "W toku",
"products.tab.unprocessed": "Nieprzetworzone",
"products.tab.unprocessedHint": "Produkty katalogu jeszcze nieprzetworzone",
"products.tab.raw": "Nieprzetworzone",
"products.status.processed": "Przetworzone",
"products.status.needsReview": "Do przeglądu",
"products.status.processing": "Przetwarzanie",
"products.status.error": "Błąd",
"products.status.failed": "Niepowodzenie",
"products.status.unprocessed": "Nieprzetworzone",
"products.status.pending": "Oczekujące",
"products.status.unknown": "Nieznane",
"products.pagination.showing": "Pokazano {start}{end} z {total}",
"products.empty.processing.title": "Brak jeszcze zadań",
"products.empty.processing.messageJobs": "Nic teraz nie działa. Uruchom zadanie z Nieprzetworzone albo otwórz Przetwarzanie, by śledzić postęp.",
"products.empty.processing.messageBasic": "Produkty pojawiają się tutaj, gdy zadanie jest w toku.",
"products.empty.needsReview.title": "Brak produktów do przeglądu",
"products.empty.needsReview.message": "Po zadaniu wzbogacone produkty trafiają tutaj. Otwórz wiersz, porównaj oryginał ze wzbogaceniem, potem Zaakceptuj, edytuj lub Odrzuć.",
"products.empty.error.title": "Brak produktów z błędami",
"products.empty.error.message": "Gdy zadanie nie powiedzie się dla produktu, pojawi się tutaj, aby można było ponowić.",
"products.empty.noUnprocessedMatches": "Brak nieprzetworzonych dopasowań",
"products.empty.noMatch": "Żaden produkt nie pasuje",
"products.empty.filtersHint": "Spróbuj innego wyszukiwania, kategorii lub feedu — albo wyczyść filtry, by zobaczyć wszystko.",
"products.empty.noUnprocessed.title": "Brak nieprzetworzonych produktów",
"products.empty.noUnprocessed.message": "Podłącz feed dostawcy lub prześlij CSV, aby zaimportować produkty.",
"products.empty.none.title": "Brak produktów",
"products.empty.none.messageStores": "Najpierw dokończ Feeds → Map → Sync, potem Process. Importuj z feedu lub sklepu.",
"products.empty.none.messageBasic": "Najpierw dokończ Feeds → Map → Sync, potem Process. Podłącz feed lub prześlij CSV.",
"products.actions.viewJobs": "Zobacz zadania",
"products.actions.startJob": "Uruchom zadanie",
"products.actions.viewProcessed": "Zobacz przetworzone",
"products.actions.retryFromCatalog": "Ponów z katalogu",
"products.actions.connectFeed": "Podłącz feed",
"products.actions.addProduct": "Dodaj produkt",
"products.actions.uploadCsv": "Prześlij CSV",
"products.actions.exportSelected": "Eksportuj zaznaczone",
"products.export.title": "Eksportuj wybrane produkty",
"products.export.confirm": "Potwierdź eksport",
"products.export.loadFailed": "Nie udało się wczytać opcji feedu eksportu. Spróbuj ponownie.",
"products.export.noneFound": "Brak feedów eksportu. Utwórz jeden w Feedach eksportu, potem wróć, aby wyeksportować zaznaczenie.",
"products.export.selectFormat": "Wybierz feed eksportu.",
"products.export.failed": "Nie można wyeksportować wybranych produktów",
"products.upload.title": "Prześlij CSV",
"products.upload.description": "Importuj produkty z pliku CSV (GTIN/EAN, nazwa, kategoria, …). Pobierz przykładowy plik, aby zobaczyć pełny zestaw kolumn.",
"products.upload.submit": "Prześlij i importuj",
"products.upload.chooseFirst": "Najpierw wybierz plik CSV.",
"products.upload.csvOnly": "Prześlij plik CSV.",
"products.upload.tooLarge": "CSV must be 5 MB or smaller.",
"products.processing.started": "Uruchomiono zadanie przetwarzania",
"products.processing.startFailed": "Nie udało się uruchomić przetwarzania",
"products.processing.startJobFailed": "Nie udało się uruchomić zadania przetwarzania",
"products.processing.cancelled": "Przetwarzanie anulowane",
"products.processing.jobsCancelled": "Anulowano zadania przetwarzania",
"products.processing.cancelFailed": "Nie można anulować zadania przetwarzania",
"products.processing.justCancelled": "Właśnie uruchomione zadanie zostało anulowane.",
"products.processing.viewInProcessing": "Zobacz w Przetwarzaniu",
"products.processing.confirm": "Potwierdź przetwarzanie",
"products.processing.freePlanTitle": "Plan Free — przetwarzanie bez AI",
"products.processing.freePlanBody": "Normalnyize, specs, fill, and EPREL run at no credit cost. AI titles/descriptions require a paid plan or credits.",
"products.enrichment.acceptTitle": "Zaakceptować wzbogacenie?",
"products.enrichment.acceptConfirm": "Potwierdź akceptację wzbogacenia",
"products.enrichment.acceptSelected": "Zaakceptować wzbogacenie dla {count} zaznaczonych produktów? Trafią do Przetworzonych.",
"products.enrichment.rejectConfirm": "Potwierdź odrzucenie wzbogacenia",
"products.enrichment.rejectBody": "Odrzucić wzbogacenie i przywrócić ten produkt do nieprzetworzonych? Później możesz ponownie uruchomić przetwarzanie.",
"products.enrichment.rejectSelectedConfirm": "Potwierdź odrzucenie zaznaczonych",
"products.enrichment.resetConfirm": "Potwierdź reset do nieprzetworzonych",
"products.enrichment.resetSelected": "Zresetować {count} zaznaczonych produktów do nieprzetworzonych? Pojawią się ponownie jako nieprzetworzone.",
"products.enrichment.accepted": "Zaakceptowano wzbogacenie — przeniesiono do Przetworzonych.",
"products.enrichment.rejected": "Odrzucono wzbogacenie — produkt wrócił do nieprzetworzonych.",
"products.enrichment.acceptFailed": "Nie udało się zaakceptować wzbogacenia",
"products.enrichment.rejectFailed": "Nie udało się odrzucić wzbogacenia",
"products.enrichment.acceptUndone": "Cofnięto akceptację",
"products.enrichment.undoAcceptFailed": "Nie udało się cofnąć akceptacji",
"products.enrichment.resetDone": "Produkt wrócił do nieprzetworzonych.",
"products.enrichment.resetFailed": "Nie udało się zresetować produktów",
"products.enrichment.valueReset": "Wzbogacona wartość zresetowana do oryginału.",
"products.enrichment.originalEmpty": "Wartość oryginalna jest pusta; wzbogacenia nie można wyczyścić przez PATCH.",
"products.enrichment.staysNeedsReview": "Produkt pozostaje w Needs Review, dopóki nie Zaakceptujesz wszystkiego.",
"products.field.nameAcceptUndone": "Cofnięto akceptację nazwy",
"products.field.descriptionAcceptUndone": "Cofnięto akceptację opisu",
"products.field.nameDiscardUndone": "Cofnięto odrzucenie nazwy",
"products.field.descriptionDiscardUndone": "Cofnięto odrzucenie opisu",
"products.field.undoAcceptFailed": "Nie udało się cofnąć akceptacji pola",
"products.field.undoDiscardFailed": "Nie udało się cofnąć odrzucenia pola",
"products.updateFailed": "Nie udało się zaktualizować produktu",
"products.keyboardTips": "Skróty klawiszowe",
"products.keyboardTipsShort": "Skróty klawiszowe (?)",
"products.option.categories": "Kategorie",
"products.option.attributes": "Atrybuty / specyfikacje",
"products.option.titlesAi": "Tytuły (AI)",
"products.option.descriptionsAi": "Opisy (AI)",
"products.enrichment.piece.name": "Nazwa",
"products.enrichment.piece.description": "Opis",
"products.enrichment.piece.attributes": "Atrybuty",
"products.enrichment.piece.category": "Kategoria",
"products.enrichment.state.processed": "Przetworzone",
"products.enrichment.state.feed": "Z feedu",
"products.enrichment.state.missing": "Brakujące",
"products.enrichment.help.name": "Tytuł produktu. Zielony = nazwa przetworzona przez AI; pomarańczowy = tylko nazwa z feedu/oryginał; szary = brak.",
"products.enrichment.help.description": "Opis produktu. Zielony = przetworzony przez AI; pomarańczowy = tylko feed/oryginał; szary = brak.",
"products.enrichment.help.attributes": "Specyfikacje i atrybuty. Zielony = atrybuty AI/wzbogacone; pomarańczowy = tylko z feedu; szary = brak.",
"products.enrichment.help.category": "Przypisana kategoria. Zielony = kategoria ustawiona; szary = brak.",
"products.enrichment.chipTitle": "{label}: {state}. {help}",
"products.enrichment.complete": "Kompletne — {parts}",
"products.enrichment.missingSummary": "Brakuje {missing} — {parts}",
"products.issue.title": "tytuł",
"products.issue.gtin": "GTIN",
"products.issue.category": "kategoria",
"products.filters.allCategories": "Wszystkie kategorie",
"products.filters.allFeeds": "Wszystkie feedy",
"products.filters.allCoverage": "Całe pokrycie",
"products.filters.anyFeedChange": "Każda zmiana feedu",
"products.filters.eprelAll": "EPREL: wszystkie",
"products.filters.feedChangesAll": "Zmiany feedu: wszystkie",
"products.filters.byCategory": "Filtruj według kategorii",
"products.filters.byCoverage": "Filtruj by coverage",
"products.filters.byFeed": "Filtruj wg feedu",
"products.filters.byEprel": "Filtruj wg EPREL",
"products.filters.byFeedSync": "Filtruj by feed sync changes",
"products.filters.coverageHint": "Filtruj według kompletności Nazwa / Opis / Atrybuty / Kategoria",
"products.filters.feedSyncHint": "Filtruj by price/stock/title changes from the latest feed sync",
"products.filters.eprelHint": "Filtruj produkty, które mają lub nie mają id rejestru EPREL etykiety energetycznej",
"products.filters.availabilityChanged": "Dostępność zmieniona",
"products.eprel.badgeTitle": "Id EPREL obecne przy tym produkcie (European Product Registry for Energy Labelling).",
"products.eprel.help": "Id European Product Registry for Energy Labelling (EPREL) jest obecne na tym produkcie.",
"products.feedData": "Dane feedu",
"attributes.title": "Atrybuty",
"attributes.description": "Zdefiniuj pola produktów, wartości list i przypisania kategorii.",
"attributes.loadFailed": "Nie udało się wczytać atrybutów",
"attributes.loading": "Ładowanie atrybutów…",
"attributes.zero": "0 atrybutów",
"attributes.addNew": "Dodaj nowy atrybut",
"attributes.create": "Utwórz atrybut",
"attributes.edit": "Edytuj atrybut",
"attributes.delete": "Usuń atrybut",
"attributes.displayName": "Nazwa wyświetlana atrybutu",
"attributes.actions": "Akcje atrybutu",
"attributes.created": "Utworzono atrybut.",
"attributes.createdAssignFailed": "Atrybut utworzony, ale przypisanie kategorii nie powiodło się.",
"attributes.updated": "Zaktualizowano atrybut.",
"attributes.deleted": "Usunięto atrybut.",
"attributes.addValue": "Dodaj wartość",
"attributes.manageValues": "Dodawaj, edytuj lub usuwaj wartości dla tego atrybutu listy.",
"attributes.valueTypeHint": "Wybierz, jak wartości są wprowadzane dla tego atrybutu.",
"attributes.createDescription": "Utwórz nową definicję atrybutu. Możesz przypisać ją do kategorii podczas tworzenia.",
"attributes.assignToCategories": "Przypisz atrybuty do kategorii",
"attributes.assignFailed": "Nie można przypisać atrybutu do wybranej kategorii.",
"attributes.bulkAssignFailed": "Masowe przypisanie nie powiodło się",
"attributes.filterByCategory": "Filtruj według kategorii",
"attributes.saveValueFailed": "Nie można zapisać wartości",
"attributes.deleteValueFailed": "Nie można usunąć wartości",
"attributes.csvNeedHeader": "CSV musi zawierać nagłówek i co najmniej jeden wiersz",
"attributes.csvNeedColumns": "CSV musi zawierać kolumny \"category_id\" i \"attribute_key\"",
"attributes.type.string": "Tekst",
"attributes.type.stringHint": "Tekst wolny — nazwy, modele, krótkie notatki",
"attributes.type.number": "Liczba",
"attributes.type.numberHint": "Wartość liczbowa; dodaj jednostkę, gdy to przydatne (cm, kg, W)",
"attributes.type.boolean": "Tak / Nie",
"attributes.type.booleanHint": "Prawda lub fałsz — np. ma GPS, ładowanie bezprzewodowe",
"attributes.type.date": "Data",
"attributes.type.dateHint": "Data kalendarzowa (premiera, koniec gwarancji, …)",
"attributes.type.list": "Lista rozwijana",
"attributes.type.listHint": "Wybierz dokładnie jedną opcję z zdefiniowanej listy",
"attributes.type.multiselect": "Wybór wielokrotny",
"attributes.type.multiselectHint": "Wybierz jedną lub więcej opcji z listy",
"attributes.color": "Kolor",
"categories.title": "Kategorie",
"categories.description": "Organizuj hierarchię katalogu. Edytuj kategorię, aby otworzyć formuły tytułu/opisu i prompty AI.",
"categories.loadFailed": "Nie udało się wczytać kategorii",
"categories.add": "Dodaj kategorię",
"categories.edit": "Edytuj kategorię",
"categories.delete": "Usuń kategorię",
"categories.deleteConfirm": "Czy na pewno chcesz usunąć tę kategorię? Tej operacji nie można cofnąć.",
"categories.name": "Nazwa kategorii",
"categories.namePlaceholder": "Nazwa kategorii",
"categories.descriptionPlaceholder": "Opcjonalny opis kategorii",
"categories.uniqueIdPlaceholder": "Opcjonalny unikalny identyfikator",
"categories.searchPlaceholder": "Szukaj po nazwie lub ID...",
"categories.created": "Utworzono {name}.",
"categories.updated": "Kategoria została pomyślnie zaktualizowana.",
"categories.deleted": "Kategoria została pomyślnie usunięta.",
"categories.notFound": "Nie znaleziono kategorii.",
"categories.loadCategoryFailed": "Nie udało się wczytać kategorii",
"categories.noCategoriesYet": "Brak kategorii",
"categories.noMatch": "Żadna kategoria nie pasuje do „{query}”. Wyczyść wyszukiwanie lub spróbuj innego hasła.",
"categories.emptyHint": "Dodaj kategorię lub zaimportuj CSV, aby zbudować drzewo.",
"categories.promptCountOne": "{count} kategoria ma prompt generowania AI. Otwórz menu ⋮ → Edytuj prompt AI lub edytuj kategorię i wybierz Edytuj prompt AI.",
"categories.promptCountMany": "{count} kategorie ma prompt generowania AI. Otwórz menu ⋮ → Edytuj prompt AI lub edytuj kategorię i wybierz Edytuj prompt AI.",
"categories.actions": "Akcje kategorii",
"categories.chooseCsv": "Wybierz CSV",
"categories.createSingleOrImport": "Utwórz jedną kategorię lub zaimportuj wiele z CSV.",
"categories.createSingle": "Utwórz jedną kategorię.",
"categories.missingNameColumn": "Brak wymaganej kolumny 'name'",
"categories.missingUniqueIdColumn": "Brak wymaganej kolumny 'unique_id'",
"categories.nameAndIdRequired": "Nazwa i unikalne ID są wymagane.",
"categories.csvNeedRows": "Plik musi zawierać wiersz nagłówka i co najmniej jeden wiersz danych",
"categories.titleFormula": "Formuła tytułu",
"categories.descriptionFormula": "Formuła opisu",
"categories.setTitleFormula": "Ustaw formułę tytułu",
"categories.editTitleFormula": "Edytuj formułę tytułu",
"categories.setDescriptionFormula": "Ustaw formułę opisu",
"categories.editDescriptionFormula": "Edytuj formułę opisu",
"categories.setAiPrompt": "Ustaw prompt AI",
"categories.editAiPrompt": "Edytuj prompt AI",
"categories.editAiPromptShort": "Edytuj prompt AI",
"categories.aiPromptSet": "Ustawiono prompt generowania AI",
"categories.aiPromptTitle": "Prompt AI kategorii",
"categories.aiPromptDescription": "Szablon generowania per kategorię używany przy wzbogacaniu produktów w tej kategorii.",
"categories.aiPromptSaved": "Prompt AI zapisany.",
"categories.aiPromptCleared": "Wyczyszczono prompt AI (zastosuje się domyślny firmy).",
"categories.aiPromptSaveFailed": "Nie udało się zapisać promptu",
"categories.aiPromptAssignFailed": "Nie udało się przypisać promptu",
"categories.assignAiPrompt": "Przypisz prompt AI",
"categories.assignAiPromptHelp": "Skopiuj ten prompt generowania AI do innych kategorii.",
"categories.loadingPrompt": "Ładowanie promptu…",
"categories.brandVoice": "Głos marki",
"categories.productName": "Nazwa produktu",
"categories.gtin": "GTIN",
"categories.backToCategories": "Wróć do kategorii",
"categories.cancelReturn": "Anuluj i wróć do kategorii",
"categories.assignFormula": "Przypisz formułę",
"categories.assignFormulaOther": "Przypisz formułę do innych kategorii",
"categories.assignTitleFormula": "Przypisz formułę tytułu",
"categories.assignDescriptionFormula": "Przypisz formułę opisu",
"categories.assignSelectHelp": "Wybierz kategorie, do których zastosować ten szablon.",
"categories.assignTitleHelp": "Wybierz kategorie dla tego szablonu formuły tytułu.",
"categories.assignDescriptionHelp": "Wybierz kategorie dla tego szablonu formuły opisu.",
"categories.searchCategories": "Szukaj kategorii…",
"categories.matching": " pasujące",
"categories.titleFormulaHelp": "Buduj tytuły produktów ze zmiennych i stałego tekstu dla tej kategorii.",
"categories.descriptionFormulaHelp": "Zdefiniuj tekst meta SEO i sekcje treści, które AI ma wygenerować dla tej kategorii.",
"categories.loadingFormula": "Ładowanie formuły…",
"categories.titleFormulaSaved": "Zapisano formułę tytułu",
"categories.titleFormulaRemoved": "Usunięto formułę tytułu",
"categories.titleFormulaSaveFailed": "Nie udało się zapisać formuły tytułu",
"categories.titleFormulaAssignFailed": "Nie udało się przypisać formuły tytułu",
"categories.descriptionFormulaRemoved": "Usunięto formułę opisu",
"categories.descriptionFormulaSaved": "Formuła opisu została pomyślnie zapisana",
"categories.descriptionFormulaSavedWithExports": "Formuła opisu została pomyślnie zapisana i zsynchronizowano {count} ID eksportu",
"categories.descriptionFormulaSaveFailed": "Nie udało się zapisać formuły opisu",
"categories.descriptionFormulaAssignFailed": "Nie udało się przypisać formuły opisu",
"categories.seoTitlePlaceholder": "Powiedz AI, jak napisać tytuł SEO…",
"categories.seoDescriptionPlaceholder": "Powiedz AI, jak napisać opis SEO…",
"categories.sectionPromptPlaceholder": "Co AI ma napisać w tej sekcji?",
"categories.sectionKeyPlaceholder": "np. short_description (litery, cyfry, _)",
"categories.formulaElementTypes": "Typy elementów formuły",
"categories.formulaElements": "Elementy formuły",
"categories.elementSeparator": "Separator elementów",
"categories.elementSeparatorHint": "Spacja, myślnik itd.",
"categories.dragToReorder": "Przeciągnij, aby zmienić kolejność",
"categories.addCustomVariable": "Dodaj zmienną niestandardową",
"categories.editCustomVariable": "Edytuj zmienną niestandardową",
"categories.customVariableHelp": "Zdefiniuj wielokrotną zmienną do formuł tytułu.",
"categories.manageVariables": "Zarządzaj zmiennymi",
"categories.manageVariablesHelp": "Przeglądaj, edytuj i dodawaj zmienne do formuł tytułu.",
"categories.searchVariables": "Szukaj zmiennych…",
"categories.variableAdded": "Dodano zmienną",
"categories.variableUpdated": "Zaktualizowano zmienną",
"categories.variableDeleted": "Usunięto zmienną",
"categories.variableDeleteFailed": "Nie udało się usunąć zmiennej",
"categories.variableNameRequired": "Nazwa zmiennej jest wymagana",
"categories.displayNameRequired": "Nazwa wyświetlana jest wymagana",
"categories.variableNamePattern": "Nazwa może zawierać tylko litery, cyfry i podkreślenia",
"categories.deleteVariableConfirm": "Czy na pewno chcesz usunąć tę zmienną? Może to wpłynąć na formuły, które jej używają.",
"categories.removeElementConfirm": "Czy na pewno chcesz usunąć ten element z formuły?",
"categories.addTextElement": "Dodaj element tekstowy",
"categories.addTextElementHelp": "Dodaj statyczny element tekstowy do formuły.",
"categories.editTextElement": "Edytuj element tekstowy",
"categories.editTextElementHelp": "Edytuj element tekstowy w formule.",
"categories.staticTextPlaceholder": "Wprowadź tekst stały",
"categories.textCannotBeEmpty": "Tekst nie może być pusty",
"categories.exampleProductName": "Nazwa produktu",
"categories.exampleWidget": "Acme Widget Pro (przykład)",
"fields.title": "Pola standardowe",
"fields.description": "Zdefiniuj standardowe pola produktu i pogrupuj je",
"fields.loading": "Ładowanie pól standardowych…",
"fields.loadFailed": "Nie udało się wczytać pól",
"fields.loadGroupsFailed": "Nie udało się wczytać grup pól",
"fields.addField": "Dodaj nowe pole",
"fields.addGroup": "Dodaj nową grupę",
"fields.createField": "Utwórz pole",
"fields.createGroup": "Utwórz grupę",
"fields.editField": "Edytuj pole",
"fields.editGroup": "Edytuj grupę",
"fields.basicInfo": "Informacje podstawowe",
"fields.createFieldHelp": "Utwórz nowe pole standardowe dla danych produktu",
"fields.editFieldHelp": "Zaktualizuj szczegóły tego pola standardowego",
"fields.createGroupHelp": "Utwórz nową grupę do organizacji pól standardowych",
"fields.editGroupHelp": "Zaktualizuj szczegóły tej grupy pól",
"fields.dataTypeHint": "Typ danych tego pola",
"fields.defaultValueOptional": "Wartość domyślna (opcjonalnie)",
"fields.fieldDescriptionPlaceholder": "Wprowadź opis tego pola",
"fields.groupDescriptionPlaceholder": "Wprowadź opis tej grupy",
"fields.keyHint": "Tylko małe litery, cyfry i podkreślenia",
"fields.exampleTitle": "Tytuł produktu",
"fields.noFields": "Nie znaleziono pól. Kliknij \"Dodaj pole\", aby utworzyć.",
"fields.noFieldsMatch": "Żadne pole nie pasuje do wyszukiwania",
"fields.noGroups": "Nie znaleziono grup. Utwórz pierwszą grupę.",
"fields.noGroupsMatch": "Żadna grupa nie pasuje do wyszukiwania",
"fields.fieldCreated": "Utworzono pole",
"fields.fieldUpdated": "Zaktualizowano pole",
"fields.fieldDeleted": "Usunięto pole",
"fields.groupCreated": "Utworzono grupę",
"fields.groupUpdated": "Zaktualizowano grupę",
"fields.groupDeleted": "Usunięto grupę",
"fields.saveFieldFailed": "Nie udało się zapisać pola",
"fields.saveGroupFailed": "Nie udało się zapisać grupy",
"fields.updateFieldFailed": "Nie udało się zaktualizować pola",
"fields.updateUnitFailed": "Nie udało się zaktualizować jednostki",
"fields.deleteFieldFailed": "Nie udało się usunąć pola",
"fields.deleteGroupFailed": "Nie udało się usunąć grupy",
"fields.bulkUpdateFailed": "Masowa aktualizacja nie powiodła się",
"fields.enableRecommendedFailed": "Nie udało się włączyć zalecanych pól",
"fields.enabledRecommended": "Włączono zalecane pola ecommerce",
"fields.deleteFieldConfirm": "Tej operacji nie można cofnąć. Trwale usunie pole i usunie je z wszelkich szablonów, które go używają.",
"fields.deleteGroupConfirm": "Tej operacji nie można cofnąć. Trwale usunie grupę. Pola w tej grupie będą wymagały ponownego przypisania.",
"fields.type.string": "Tekst",
"fields.type.stringHint": "Tekst wolny — nazwy, kody, krótkie notatki",
"fields.type.number": "Liczba",
"fields.type.numberHint": "Wartość liczbowa; dodaj jednostkę, gdy to pomocne (EUR, pcs)",
"fields.type.boolean": "Tak / Nie",
"fields.type.booleanHint": "Prawda lub fałsz",
"fields.type.date": "Data",
"fields.type.dateHint": "Data kalendarzowa",
"fields.type.url": "URL",
"fields.type.urlHint": "Link internetowy (strona produktu, wideo, producent)",
"fields.type.image": "Obraz",
"fields.type.imageHint": "URL obrazu lub obraz galerii",
"fields.type.dimension": "Wymiar",
"fields.type.dimensionHint": "Pomiar długości (szerokość, wysokość, głębokość)",
"fields.type.weight": "Waga",
"fields.type.weightHint": "Masa / waga wysyłkowa",
"fields.type.color": "Kolor",
"fields.type.colorHint": "Nazwa lub kod koloru",
"fields.type.custom": "Niestandardowe",
"fields.type.customHint": "Pole specjalne / swobodne",
"empty.admin.knowledgeHeading": "Baza wiedzy wsparcia",
"empty.admin.translationsHeading": "Tłumaczenia",
"flash.attrs.createdLinkFailed": "Atrybut utworzony, ale przypisanie kategorii nie powiodło się.",
"flash.attrs.created": "Utworzono atrybut.",
"flash.attrs.csvImported": "Import CSV zakończony.",
"flash.attrs.updated": "Zaktualizowano atrybut.",
"flash.attrs.deleted": "Usunięto atrybut.",
"flash.attrs.valueDeleted": "Usunięto wartość.",
"flash.attrs.assignedLinks": "Przypisano {count} powiązań kategoriaatrybut.",
"flash.brand.saved": "Zapisano zestaw marki.",
"flash.brand.logoType": "Logo musi być PNG, JPEG lub WebP",
"flash.brand.logoSize": "Logo przekracza limit 2 MiB",
"flash.brand.logoUploaded": "Przesłano logo.",
"flash.categories.updated": "Kategoria została pomyślnie zaktualizowana.",
"flash.categories.deleted": "Kategoria została pomyślnie usunięta.",
"flash.categories.csvImported": "Import CSV zakończony.",
"flash.products.csvImported": "Product CSV import finished.",
"flash.categories.descFormulaAssigned": "Formułę opisu przypisano do {count} kategorii",
"flash.categories.promptAssigned": "Przypisano prompt do {count} {noun}.",
"flash.categories.promptNounOne": "kategoria",
"flash.categories.promptNounMany": "kategorie",
"flash.categories.titleFormulaAssigned": "Formułę tytułu przypisano do {count} {noun}",
"flash.categories.variableDeleted": "Usunięto zmienną",
"flash.export.updated": "Zaktualizowano feed eksportu.",
"flash.export.created": "Utworzono feed eksportu.",
"flash.export.urlCopied": "Skopiowano publiczny URL feedu {format}. Wklej go do dowolnego systemu pobierającego feedy produktów.",
"flash.export.copyFailed": "Nie udało się skopiować URL do schowka",
"flash.export.refreshed": "Odświeżono feed.",
"flash.export.refreshedWithCount": "Feed odświeżony ({count} produktów).",
"flash.export.deleted": "Usunięto feed eksportu.",
"flash.export.tokenRotated": "Token publicznego URL feedu zostal obrocony. Zaktualizuj systemy uzywajace starego URL.",
"common.edit": "Edytuj",
"common.previous": "Wstecz",
"common.next": "Dalej",
"common.saving": "Zapisywanie…",
"common.deleting": "Usuwanie…",
"common.adding": "Dodawanie…",
"common.processing": "Przetwarzanie…",
"common.upload": "Prześlij",
"common.expand": "Rozwiń",
"common.collapse": "Zwiń",
"common.optional": "Opcjonalne",
"common.enabled": "Włączone",
"common.on": "Włączone",
"common.off": "Wyłączone",
"common.system": "Warstwa systemu",
"common.type": "Typ",
"common.unit": "Jednostka",
"common.group": "Grupa",
"common.search": "Szukaj",
"common.openMenu": "Otwórz menu",
"common.areYouSure": "Czy na pewno?",
"common.selectGroup": "Wybierz grupę",
"attributes.addAttribute": "Dodaj atrybut",
"attributes.searchPlaceholder": "Szukaj atrybutów…",
"attributes.searchAria": "Szukaj atrybutów (naciśnij Enter, aby wyszukać)",
"attributes.filterCategoryAria": "Filtruj według kategorii",
"attributes.allCategories": "Wszystkie kategorie",
"attributes.col.name": "Nazwa",
"attributes.col.key": "Klucz atrybutu",
"attributes.col.type": "Typ",
"attributes.col.unit": "Jednostka",
"attributes.col.categories": "Kategorie",
"attributes.col.updated": "Ostatnia aktualizacja",
"attributes.col.actions": "Akcje",
"attributes.emptyTitle": "Nie znaleziono atrybutów",
"attributes.emptyFiltered": "Spróbuj wyczyścić wyszukiwanie lub filtr kategorii.",
"attributes.emptyHint": "Dodaj atrybut lub zaimportuj CSV, aby zacząć.",
"attributes.noValues": "Brak wartości",
"attributes.actionsAria": "Akcje atrybutu",
"attributes.editDetails": "Edytuj szczegóły",
"attributes.loadingValues": "Ładowanie wartości...",
"attributes.noValuesYetHint": "Nie dodano jeszcze wartości. Użyj \"Manage Values\", aby dodać wartości.",
"attributes.pageZero": "0 atrybutów",
"attributes.pageShowing": "Wyświetlanie {from}{to} z {total} atrybutów",
"attributes.linkCategoryFailed": "Nie można przypisać atrybutu do wybranej kategorii.",
"attributes.createdLinkFailed": "Atrybut utworzony, ale przypisanie kategorii nie powiodło się.",
"attributes.createFailed": "Tworzenie nie powiodło się",
"attributes.importFinished": "Import CSV zakończony.",
"attributes.importFailed": "Import nie powiódł się",
"attributes.updateFailed": "Aktualizacja nie powiodła się",
"attributes.deleteFailed": "Usuwanie nie powiodło się",
"attributes.valueUpdated": "Zaktualizowano wartość.",
"attributes.valueAdded": "Dodano wartość.",
"attributes.valueSaveFailed": "Nie można zapisać wartości",
"attributes.valueDeleted": "Usunięto wartość.",
"attributes.valueDeleteFailed": "Nie można usunąć wartości",
"attributes.csvNeedRows": "CSV musi zawierać nagłówek i co najmniej jeden wiersz",
"attributes.rowUnknown": "Wiersz {row}: nieznana kategoria lub atrybut",
"attributes.rowLinkFailed": "Wiersz {row}: {detail}",
"attributes.linkFailedShort": "błąd powiązania",
"attributes.assignedLinks": "Przypisano {count} powiązań kategoriaatrybut.",
"attributes.rowsFailed": "{count} wiersz(y) nie powiodło się.",
"attributes.addTitle": "Dodaj nowy atrybut",
"attributes.addDesc": "Utwórz nową definicję atrybutu. Możesz przypisać ją do kategorii podczas tworzenia.",
"attributes.tab.single": "Pojedynczy",
"attributes.tab.bulk": "Import zbiorczy",
"attributes.field.key": "Klucz atrybutu",
"attributes.field.keyPlaceholder": "atrybut-key",
"attributes.field.displayName": "Nazwa wyświetlana",
"attributes.field.displayNamePlaceholder": "Nazwa wyświetlana atrybutu",
"attributes.field.type": "Typ",
"attributes.field.typeDefaultHint": "Wybierz, jak wartości są wprowadzane dla tego atrybutu.",
"attributes.field.category": "Kategoria",
"attributes.field.categoryPlaceholder": "Wybierz kategorię…",
"attributes.field.categoryHint": "Wybierz kategorię, do której należy ten atrybut. Atrybuty powinny być przypisane do kategorii.",
"attributes.field.unitOptional": "Jednostka (opcjonalnie)",
"attributes.field.unitPlaceholder": "np. cm, kg itd.",
"attributes.field.exampleOptional": "Przykład (opcjonalnie)",
"attributes.field.examplePlaceholder": "np. 100x200",
"attributes.createAttribute": "Utwórz atrybut",
"attributes.bulk.fileLabel": "Plik CSV lub TSV",
"attributes.bulk.downloadCsv": "Pobierz szablon CSV",
"attributes.bulk.downloadTsv": "Pobierz szablon TSV",
"attributes.bulk.uploadHint": "Prześlij plik CSV lub TSV z następującymi kolumnami:",
"attributes.bulk.col.key": "Unikalny identyfikator (wymagany)",
"attributes.bulk.col.name": "Nazwa wyświetlana (wymagana)",
"attributes.bulk.col.valueType": "string (Tekst), number, boolean (Tak/Nie), date, list (Lista rozwijana), multiselect",
"attributes.bulk.col.categoryId": "Unikalne ID kategorii",
"attributes.bulk.col.unitExample": "opcjonalne",
"attributes.bulk.col.parentKey": "Klucz nadrzędny dla wartości listy",
"attributes.editTitle": "Edytuj atrybut",
"attributes.editDesc": "Zaktualizuj szczegóły atrybutu \"{name}\"",
"attributes.field.keyHint": "Unikalny identyfikator tego atrybutu",
"attributes.field.displayNameHint": "Nazwa, która będzie wyświetlana użytkownikom",
"attributes.deleteTitle": "Usuń atrybut",
"attributes.deleteDesc": "Czy na pewno chcesz usunąć \"{name}\"? Tej czynności nie można cofnąć.",
"attributes.deleteWarningValues": "Ostrzeżenie: spowoduje to także usunięcie wszystkich wartości powiązanych z tym atrybutem.",
"attributes.manageTitleNamed": "Zarządzaj wartościami dla {name}",
"attributes.manageTitle": "Zarządzaj wartościami",
"attributes.manageDesc": "Dodawaj, edytuj lub usuwaj wartości dla tego atrybutu listy.",
"attributes.valueKey": "Klucz wartości",
"attributes.valueKeyHint": "Unikalny identyfikator tej wartości",
"attributes.displayValue": "Wartość wyświetlana",
"attributes.displayValuePlaceholder": "Wartość do wyświetlenia",
"attributes.displayValueHint": "Nazwa wyświetlana, która będzie pokazywana dla tej wartości",
"attributes.updateValue": "Aktualizuj wartość",
"attributes.noValuesYet": "Brak wartości.",
"attributes.assignTitle": "Przypisz atrybuty do kategorii",
"attributes.assignDesc": "Prześlij CSV mapujący unikalne ID kategorii na klucze atrybutów.",
"attributes.downloadTemplate": "Pobierz szablon",
"attributes.csvFile": "Plik CSV",
"attributes.assignSuccess": "Przypisania zastosowano pomyślnie.",
"attributes.assigning": "Przypisywanie…",
"attributes.uploadAndAssign": "Prześlij i przypisz",
"attributes.type.string.label": "Tekst",
"attributes.type.string.hint": "Tekst wolny — nazwy, modele, krótkie notatki",
"attributes.type.number.label": "Liczba",
"attributes.type.number.hint": "Wartość liczbowa; dodaj jednostkę, gdy to przydatne (cm, kg, W)",
"attributes.type.boolean.label": "Tak / Nie",
"attributes.type.boolean.hint": "Prawda lub fałsz — np. ma GPS, ładowanie bezprzewodowe",
"attributes.type.date.label": "Data",
"attributes.type.date.hint": "Data kalendarzowa (premiera, koniec gwarancji, …)",
"attributes.type.list.label": "Lista rozwijana",
"attributes.type.list.hint": "Wybierz dokładnie jedną opcję z zdefiniowanej listy",
"attributes.type.multiselect.label": "Wybór wielokrotny",
"attributes.type.multiselect.hint": "Wybierz jedną lub więcej opcji z listy",
"standardFields.title": "Pola standardowe",
"standardFields.description": "Zdefiniuj standardowe pola produktu i pogrupuj je",
"standardFields.apiUnavailable": "API pól standardowych jest niedostępna. Zmian nie można zapisać.",
"standardFields.apiUnreachable": "API pól standardowych jest teraz niedostępne. Tworzenie/edycja pozostaje wyłączone, dopóki /api/standard-fields i /api/field-groups nie odpowiedzą.",
"standardFields.loading": "Ładowanie pól standardowych…",
"standardFields.tab.fields": "Pola",
"standardFields.tab.groups": "Grupy",
"standardFields.heading": "Pola standardowe",
"standardFields.headingHint": "Włącz pola do mapowania i przetwarzania — jeden przełącznik na wiersz.",
"standardFields.enableRecommended": "Włącz zalecane",
"standardFields.enableSelected": "Włącz zaznaczone ({count})",
"standardFields.disableSelected": "Wyłącz zaznaczone",
"standardFields.addField": "Dodaj pole",
"standardFields.searchFields": "Szukaj pól...",
"standardFields.col.enabled": "Włączone",
"standardFields.col.name": "Nazwa",
"standardFields.col.key": "Klucz",
"standardFields.col.type": "Typ",
"standardFields.col.unit": "Jednostka",
"standardFields.col.group": "Grupa",
"standardFields.col.status": "Stan",
"standardFields.emptySearch": "Żadne pole nie pasuje do wyszukiwania",
"standardFields.emptyHint": "Nie znaleziono pól. Kliknij \"Dodaj pole\", aby utworzyć.",
"standardFields.selectFieldAria": "Wybierz {name}",
"standardFields.enableFieldAria": "Włącz {name}",
"standardFields.systemFieldTitle": "Pole systemowe — nie można usunąć",
"standardFields.groupsHeading": "Grupy pól",
"standardFields.addGroup": "Dodaj grupę",
"standardFields.searchGroups": "Szukaj grup...",
"standardFields.col.description": "Opis",
"standardFields.col.displayOrder": "Kolejność wyświetlania",
"standardFields.emptyGroupsSearch": "Żadna grupa nie pasuje do wyszukiwania",
"standardFields.emptyGroupsHint": "Nie znaleziono grup. Utwórz pierwszą grupę.",
"standardFields.unknownGroup": "Nieznana grupa",
"standardFields.loadGroupsFailed": "Nie udało się wczytać grup pól",
"standardFields.loadFieldsFailed": "Nie udało się wczytać pól",
"standardFields.fieldUpdated": "Zaktualizowano pole",
"standardFields.fieldCreated": "Utworzono pole",
"standardFields.saveFieldFailed": "Nie udało się zapisać pola",
"standardFields.enabledNamed": "Włączono {name}",
"standardFields.disabledNamed": "Wyłączono {name}",
"standardFields.updateFieldFailed": "Nie udało się zaktualizować pola",
"standardFields.updateUnitFailed": "Nie udało się zaktualizować jednostki",
"standardFields.bulkEnabled": "Włączono {count} pole/pól",
"standardFields.bulkDisabled": "Wyłączono {count} pole/pól",
"standardFields.bulkFailed": "Masowa aktualizacja nie powiodła się",
"standardFields.recommendedEnabled": "Włączono zalecane pola ecommerce",
"standardFields.recommendedFailed": "Nie udało się włączyć zalecanych pól",
"standardFields.fieldDeleted": "Usunięto pole",
"standardFields.deleteFieldFailed": "Nie udało się usunąć pola",
"standardFields.groupUpdated": "Zaktualizowano grupę",
"standardFields.groupCreated": "Utworzono grupę",
"standardFields.saveGroupFailed": "Nie udało się zapisać grupy",
"standardFields.groupDeleted": "Usunięto grupę",
"standardFields.deleteGroupFailed": "Nie udało się usunąć grupy",
"standardFields.editField": "Edytuj pole",
"standardFields.addNewField": "Dodaj nowe pole",
"standardFields.editFieldDesc": "Zaktualizuj szczegóły tego pola standardowego",
"standardFields.addFieldDesc": "Utwórz nowe pole standardowe dla danych produktu",
"standardFields.field.name": "Nazwa",
"standardFields.field.namePlaceholder": "Tytuł produktu",
"standardFields.field.nameHint": "Nazwa wyświetlana tego pola",
"standardFields.field.key": "Klucz",
"standardFields.field.keyPlaceholder": "tytul_produktu",
"standardFields.field.keyTitle": "Tylko małe litery, cyfry i podkreślenia",
"standardFields.field.keyHint": "Unikalny identyfikator (małe litery, bez spacji)",
"standardFields.field.type": "Typ",
"standardFields.field.typeDefaultHint": "Typ danych tego pola",
"standardFields.field.group": "Grupa",
"standardFields.field.groupHint": "Grupa, do której należy to pole",
"standardFields.field.enabled": "Włączone",
"standardFields.field.enabledHint": "Używaj tego pola w mapowaniu i przetwarzaniu",
"standardFields.field.required": "Pole wymagane",
"standardFields.field.requiredHint": "Wymagane pola muszą być zmapowane w każdym feedzie, zanim produkty będą mogły się synchronizować.",
"standardFields.field.unit": "Jednostka",
"standardFields.field.unitPlaceholder": "kg, EUR, cm…",
"standardFields.field.unitHint": "Opcjonalna jednostka wyświetlana z tym polem",
"standardFields.field.description": "Opis",
"standardFields.field.descriptionPlaceholder": "Wprowadź opis tego pola",
"standardFields.field.default": "Wartość domyślna",
"standardFields.field.defaultPlaceholder": "Wartość domyślna (opcjonalnie)",
"standardFields.field.defaultHint": "Wartość domyślna, gdy nie podano wartości",
"standardFields.saveUnavailable": "Zapisz (niedostępne)",
"standardFields.updateField": "Aktualizuj pole",
"standardFields.createField": "Utwórz pole",
"standardFields.editGroup": "Edytuj grupę",
"standardFields.addNewGroup": "Dodaj nową grupę",
"standardFields.editGroupDesc": "Zaktualizuj szczegóły tej grupy pól",
"standardFields.addGroupDesc": "Utwórz nową grupę do organizacji pól standardowych",
"standardFields.group.name": "Nazwa",
"standardFields.group.namePlaceholder": "Informacje podstawowe",
"standardFields.group.nameHint": "Nazwa wyświetlana tej grupy",
"standardFields.group.description": "Opis",
"standardFields.group.descriptionPlaceholder": "Wprowadź opis tej grupy",
"standardFields.group.descriptionHint": "Opcjonalny opis wyjaśniający cel tej grupy",
"standardFields.group.order": "Kolejność wyświetlania",
"standardFields.group.orderHint": "Niższe numery pojawiają się pierwsze",
"standardFields.updateGroup": "Aktualizuj grupę",
"standardFields.createGroup": "Utwórz grupę",
"standardFields.deleteFieldDesc": "Tej operacji nie można cofnąć. Trwale usunie pole i usunie je z wszelkich szablonów, które go używają.",
"standardFields.deleteGroupDesc": "Tej operacji nie można cofnąć. Trwale usunie grupę. Pola w tej grupie będą wymagały ponownego przypisania.",
"standardFields.type.string.label": "Tekst",
"standardFields.type.string.hint": "Tekst wolny — nazwy, kody, krótkie notatki",
"standardFields.type.number.label": "Liczba",
"standardFields.type.number.hint": "Wartość liczbowa; dodaj jednostkę, gdy to pomocne (EUR, pcs)",
"standardFields.type.boolean.label": "Tak / Nie",
"standardFields.type.boolean.hint": "Prawda lub fałsz",
"standardFields.type.date.label": "Data",
"standardFields.type.date.hint": "Data kalendarzowa",
"standardFields.type.url.label": "URL",
"standardFields.type.url.hint": "Link internetowy (strona produktu, wideo, producent)",
"standardFields.type.image.label": "Obraz",
"standardFields.type.image.hint": "URL obrazu lub obraz galerii",
"standardFields.type.dimension.label": "Wymiar",
"standardFields.type.dimension.hint": "Pomiar długości (szerokość, wysokość, głębokość)",
"standardFields.type.weight.label": "Waga",
"standardFields.type.weight.hint": "Masa / waga wysyłkowa",
"standardFields.type.color.label": "Kolor",
"standardFields.type.color.hint": "Nazwa lub kod koloru",
"standardFields.type.custom.label": "Niestandardowe",
"standardFields.type.custom.hint": "Pole specjalne / swobodne",
"standardFields.fallback.gtin": "GTIN/EAN",
"standardFields.fallback.title": "Nazwa produktu",
"standardFields.fallback.brand": "Marka",
"standardFields.fallback.description": "Opis",
"standardFields.fallback.product_model": "Model produktu",
"standardFields.fallback.price": "Cena",
"standardFields.fallback.sale_price": "Cena promocyjna",
"standardFields.fallback.purchase_price": "Cena zakupu",
"standardFields.fallback.currency": "Waluta",
"standardFields.fallback.image_url": "URL obrazu",
"standardFields.fallback.main_image": "Główny obraz",
"standardFields.fallback.additional_image_urls": "Dodatkowe obrazy",
"standardFields.fallback.product_url": "URL produktu",
"standardFields.fallback.official_link": "Oficjalny link",
"standardFields.fallback.sku": "SKU",
"standardFields.fallback.mpn": "MPN",
"standardFields.fallback.category": "Kategoria",
"standardFields.fallback.availability": "Dostępność",
"standardFields.fallback.stock": "Stan magazynowy",
"standardFields.fallback.color": "Kolor",
"standardFields.fallback.size": "Rozmiar",
"standardFields.fallback.material": "Materiał",
"standardFields.fallback.warranty": "Gwarancja",
"standardFields.fallback.service": "Usługa",
"standardFields.fallback.weight": "Waga",
"standardFields.fallback.net_depth": "Głębokość netto",
"standardFields.fallback.net_height": "Wysokość netto",
"standardFields.fallback.net_width": "Szerokość netto",
"standardFields.fallback.net_mass": "Masa netto",
"standardFields.fallback.video_url": "URL wideo",
"standardFields.fallback.eprel_id": "ID EPREL",
"standardFields.fallback.specs": "Specyfikacje",
"standardFields.fallback.specifications": "Specyfikacje (legacy)",
"standardFields.tip.gtin": "Global Trade Item Number — kod kreskowy/EAN/UPC identyfikujący produkt.",
"standardFields.tip.title": "Nazwa produktu dla klienta, widoczna w katalogach i kanałach.",
"standardFields.tip.brand": "Nazwa producenta lub marki (nie sprzedawcy).",
"standardFields.tip.description": "Dłuższy tekst produktu; do wzbogacania i listingów kanałów.",
"standardFields.tip.product_model": "Nazwa/numer modelu od producenta.",
"standardFields.tip.price": "Regularna cena sprzedaży (liczbowa; waluta mapowana osobno).",
"standardFields.tip.sale_price": "Cena obniżona lub promocyjna w trakcie wyprzedaży.",
"standardFields.tip.purchase_price": "Twój koszt / cena zakupu (wewnętrzna).",
"standardFields.tip.currency": "Kod ISO waluty dla pól ceny (np. EUR, USD).",
"standardFields.tip.image_url": "URL głównego obrazu produktu.",
"standardFields.tip.main_image": "URL głównego obrazu galerii (alias image).",
"standardFields.tip.additional_image_urls": "Dodatkowe URL obrazów (oddzielone przecinkami lub powtórzone węzły).",
"standardFields.tip.product_url": "Publiczny URL strony produktu w sklepie lub witrynie.",
"standardFields.tip.official_link": "URL strony produktu producenta lub marki.",
"standardFields.tip.sku": "Stock Keeping Unit — Twój wewnętrzny kod pozycji.",
"standardFields.tip.mpn": "Manufacturer Part Number — kod części dostawcy.",
"standardFields.tip.category": "Kategoria produktu lub ścieżka taksonomii.",
"standardFields.tip.availability": "Status typu dostępny / niedostępny / przedsprzedaż.",
"standardFields.tip.stock": "Liczbowa ilość zapasów.",
"standardFields.tip.color": "Atrybut koloru dla wariantów.",
"standardFields.tip.size": "Atrybut rozmiaru dla wariantów.",
"standardFields.tip.material": "Główny materiał lub skład.",
"standardFields.tip.warranty": "Okres lub tekst gwarancji.",
"standardFields.tip.service": "Notatki serwisowe lub wsparcia.",
"standardFields.tip.weight": "Waga wysyłkowa lub netto.",
"standardFields.tip.eprel_id": "Identyfikator produktu etykiety energetycznej UE (EPREL).",
"standardFields.tip.specs": "Ustrukturyzowane specyfikacje techniczne.",
"standardFields.tip.specifications": "Dziedziczone pole specs; preferuj specs, gdy oba istnieją.",
"export.dialog.title": "Eksportuj wybrane produkty",
"export.dialog.description": "Eksportuj {count} zaznaczonych produktów. Wybierz feed eksportu określający format i pola — jak wybór tego, co synchronizować, ale do pobrania lub partnera.",
"export.dialog.loadFailed": "Nie udało się wczytać opcji feedu eksportu. Spróbuj ponownie.",
"export.dialog.selectPlaceholder": "Wybierz feed eksportu…",
"export.dialog.help": "Zaznaczenie wybiera produkty; feed wybiera format kanału i zmapowane pola.",
"export.dialog.emptyTitle": "Brak feedów eksportu",
"export.dialog.emptyMessage": "Utwórz feed eksportu, aby wybrać format i pola, potem wróć, aby wyeksportować to zaznaczenie.",
"export.dialog.createFeedCta": "Utwórz feed eksportu",
"export.dialog.confirmAria": "Potwierdź eksport",
"export.dialog.export": "Eksportuj",
"billing.title": "Użycie i rozliczenia",
"billing.loadFailed": "Nie udało się wczytać rozliczeń",
"billing.usageLoadFailed": "Nie udało się wczytać użycia",
"billing.checkoutComplete": "Checkout zakończony. Plan i kredyty odświeżą się wkrótce.",
"billing.checkoutCompletePlan": "Plan zaktualizowany. Twoje kredyty {plan} są gotowe.",
"billing.checkoutCanceled": "Checkout został anulowany. Nie wprowadzono żadnych zmian.",
"billing.portalReturned": "Powrót z portalu rozliczeń. Zarządzaj planem tutaj lub w Plans.",
"billing.comparePlans": "Porównaj plany",
"billing.managePayment": "Zarządzaj płatnością",
"billing.addCredits": "Dodaj kredyty",
"billing.addingCredits": "Dodawanie…",
"billing.addCreditsTitle": "Dodaj kredyty",
"billing.addCreditsDescription": "Tylko administrator platformy. Kredyty są od razu dostępne na tytuły AI, opisy i inne płatne kroki.",
"billing.creditAmount": "Kwota kredytu",
"billing.invalidCreditAmount": "Wprowadź prawidłową liczbę kredytów.",
"billing.companyNotFound": "Nie znaleziono firmy.",
"billing.creditsAdded": "Dodano {amount} kredytów.",
"billing.addCreditsFailed": "Nie udało się dodać kredytów. Może być wymagany dostęp administratora platformy.",
"billing.planApplied": "Plan zastosowany. Twoje kredyty są gotowe.",
"billing.checkoutFailed": "Checkout nie powiódł się",
"billing.portalFailed": "Nie można otworzyć portalu rozliczeń",
"billing.noPlanAssigned": "Brak przypisanego planu",
"billing.unlimited": "Bez limitu",
"billing.payAsYouGo": "Pay as you go",
"billing.noMonthlyAiCredits": "Brak miesięcznych kredytów AI",
"billing.header.noPlan": "Nie przypisano jeszcze planu. Wybierz plan lub poproś administratora firmy.",
"billing.header.free": "Mapuj feedy i czyść dane produktów bez kredytów AI.",
"billing.header.enterprise": "Nieograniczone produkty i pojemność AI.",
"billing.header.payg": "Pay as you go — kredyty pochodzą z portfela firmy.",
"billing.header.remaining": "{remaining} kredytów AI pozostało w tym okresie.",
"billing.na": "n/d",
"billing.range.7d": "ostatnie 7 dni",
"billing.range.30d": "ostatnie 30 dni",
"billing.range.cycle": "bieżący cykl rozliczeniowy",
"billing.range.all": "cały okres",
"billing.rangeOpt.7d": "Ostatnie 7 dni",
"billing.rangeOpt.30d": "Ostatnie 30 dni",
"billing.rangeOpt.cycle": "Bieżący cykl",
"billing.rangeOpt.all": "Cały okres",
"billing.freeBannerTitle": "Korzystasz z planu Free",
"billing.freeBannerMessage": "Ulepsz plan, aby uzyskać tytuły i opisy AI oraz wyższe limity produktów.",
"billing.outOfCreditsTitle": "Skończyły Ci się kredyty AI",
"billing.productLimitTitle": "Osiągnięto limit produktów",
"billing.outOfCreditsMessage": "Tytuły i opisy AI są wstrzymane, dopóki nie dodasz kredytów lub nie ulepszysz planu.",
"billing.productLimitMessage": "Ulepsz plan, aby zwiększyć pojemność produktów.",
"billing.lowCreditsTitle": "Kończą się kredyty",
"billing.lowCreditsMessage": "Pozostało tylko {remaining} kredytów na {plan}. Ulepsz plan przed następną dużą partią.",
"billing.currentPlan": "Bieżący plan",
"billing.periodEnds": "Okres rozliczeniowy kończy się {date}",
"billing.openEndedContract": "Umowa otwarta",
"billing.creditWallet": "Portfel kredytów",
"billing.creditsRemaining": "Pozostałe kredyty",
"billing.enterpriseCapacity": "Pojemność zarządzana Enterprise",
"billing.paygUsed": "{used} użyto · brak miesięcznej puli",
"billing.trialLeftover": "Kredyty próbne / pozostałe",
"billing.aiLockedFree": "AI zablokowane na Free",
"billing.usedOf": "{used} użyto z {total}",
"billing.noBalanceTitle": "Brak salda kredytów",
"billing.noBalanceBody": "Kredyty Twojego planu pojawią się tutaj, gdy rozliczenia zostaną skonfigurowane dla tej przestrzeni roboczej.",
"billing.needCapacity": "Potrzebujesz większej pojemności?",
"billing.selfServeUpgrade": "Samodzielne ulepszenie do Starter, Growth lub Business",
"billing.viaStripe": "przez Stripe",
"billing.upgradeToGrowth": "Ulepsz do Growth",
"billing.askAdminPlan": "Poproś administratora firmy o zmianę planu.",
"billing.usage": "Użycie",
"billing.productsProcessed": "{count} produktów przetworzonych · {range}",
"billing.updating": "Aktualizacja…",
"billing.productsByDay": "Produkty wg dnia",
"billing.chartAmber": "Bursztyn = tokeny. Zakres: {range}.",
"billing.chartRange": "Zakres: {range}.",
"billing.nothingToChartTitle": "Na razie nic do wykresu",
"billing.nothingToChartBody": "Dodaj produkty lub połącz feed — użycie pojawi się tutaj.",
"billing.dailyChartsHint": "Wykresy dzienne są dostępne za ostatnie 7 dni, 30 dni lub bieżący cykl rozliczeniowy.",
"billing.noNewProducts": "Brak nowych produktów w {range}",
"billing.catalogOverall": "Katalog ma łącznie {count} produktów.",
"billing.chartProducts": "Produkty",
"billing.chartTokens": "Tokeny",
"billing.chartEmpty": "Brak produktów w tym okresie.",
"billing.adminStats": "{tokens} tokenów · {jobs} zadań · {input} feedów wejściowych / {export} eksportu",
"billing.whatUsesCredits": "Co zużywa kredyty",
"billing.burnsCredits": "Zużywa kredyty",
"billing.noCreditCost": "Bez kosztów kredytów",
"billing.publicPricing": "Cennik publiczny",
"billing.managePlanOnPlans": "Zarządzaj planem w Plany",
"billing.recovery.pastDueTitle": "Płatność zaległa",
"billing.recovery.pastDueAdmin": "Płatność za subskrypcję nie powiodła się. Zaktualizuj płatność w Customer Portal — dostęp pozostaje otwarty w tym okresie karencji.",
"billing.recovery.pastDueMember": "Rozliczenia wymagają uwagi. Poproś administratora firmy o aktualizację płatności w Customer Portal. Dostęp pozostaje otwarty w tym okresie karencji.",
"billing.recovery.openPortal": "Otwórz Customer Portal",
"billing.recovery.contactAdmin": "Skontaktuj się z administratorem",
"billing.recovery.goToBilling": "Przejdź do rozliczeń",
"billing.recovery.missingPlanTitle": "Brak przypisanego planu",
"billing.recovery.missingPlanMessage": "Ta firma nie ma aktywnego planu (często po pominiętej migracji). Przypisz plan przez Checkout lub skontaktuj się z pomocą — nie zakładaj pojemności Unlimited.",
"billing.recovery.choosePlan": "Wybierz plan",
"billing.upgrade": "Ulepsz",
"billing.askCompanyAdmin": "Zapytaj administratora firmy",
"billing.memberHint": "Tylko administratorzy firmy mogą zmieniać plany lub otwierać Checkout.",
"billing.unlimitedPlanWallet": "Plan bez limitu · portfel {wallet}",
"billing.creditsSuffix": "{label} kredytów",
"billing.perMonth": "{amount} / miesiąc",
"billing.zeroPerMonth": "0 / miesiąc",
"billing.upTo": "Do {count}",
"billing.skusUnlimited": "{used} SKU (bez limitu)",
"billing.skusOnly": "{used} SKU",
"billing.skusOf": "{used} / {max} SKU",
"billing.planKind.none": "Brak aktywnego planu",
"billing.planKind.enterprise": "Enterprise / niestandardowy",
"billing.planKind.trial": "Okres próbny",
"billing.planKind.standard": "Plan standardowy",
"billing.creditUsage.normalize.label": "Normalizuj, specs i uzupełnij",
"billing.creditUsage.normalize.detail": "Czyszczenie danych i uzupełnianie atrybutów działają bez zużycia kredytów AI.",
"billing.creditUsage.ai.label": "Tytuły i opisy AI",
"billing.creditUsage.ai.detail": "Opłata za produkt na podstawie funkcji AI i ilości wygenerowanego tekstu.",
"billing.creditUsage.eprel.label": "EPREL / etykiety energetyczne",
"billing.creditUsage.eprel.detail": "Bezpłatne publiczne dane EPREL UE na wszystkich planach (bez kredytów).",
"billing.creditUsage.campaign.label": "AI kampanii i zastosowanie marki",
"billing.creditUsage.campaign.detail": "Płatne kroki AI korzystające z zarządzanego modelu zużywają kredyty firmy.",
"exports.title": "Feedy eksportu",
"exports.description": "Wybierz, co publikować w każdym kanale — które produkty i pola — i udostępnij publiczny URL feedu (bez logowania).",
"exports.descriptionFiltered": "Publiczne linki Google Shopping, Meta i niestandardowych feedów. Wyświetlanie {filtered} z {total} feedów.",
"exports.loadFailed": "Nie udało się wczytać feedów eksportu",
"exports.loadFeedFailed": "Nie udało się wczytać feedu eksportu",
"exports.refresh": "Odśwież",
"exports.refreshing": "Odświeżanie…",
"exports.create": "Utwórz feed eksportu",
"exports.edit": "Edytuj feed eksportu",
"exports.editDescription": "Zaktualizuj nazwę, status, uwzględnione produkty i zmapowane pola.",
"exports.howToTitle": "Jak wybrać, co eksportować",
"exports.howTo.choose": "Co trafia do feedu",
"exports.howTo.chooseBody": "— ustaw feed źródłowy i statusy produktów przy tworzeniu/edycji, aby publiczny URL zawierał tylko te produkty.",
"exports.howTo.subset": "Jednorazowy podzbiór",
"exports.howTo.subsetBody": "— w",
"exports.howTo.productsLink": "Produktach",
"exports.howTo.subsetTail": " zaznacz wiersze i Eksportuj, aby pobrać tylko te produkty w formacie i polach feedu.",
"exports.howTo.google": "Google Shopping",
"exports.howTo.googleBody": "— utwórz preset CSV lub XML, Generate, skopiuj publiczny URL do Merchant Center → Products → Feeds → scheduled fetch.",
"exports.howTo.meta": "Katalog Meta",
"exports.howTo.metaBody": "— preset CSV dla źródeł danych Commerce Manager.",
"exports.howTo.custom": "Niestandardowy CSV/XML",
"exports.howTo.customBody": "— dowolny partner; ten sam publiczny URL działa dla pollerów cron / webhook.",
"exports.howTo.rest": "REST",
"exports.howTo.restBody": "— klucze API w",
"exports.howTo.settingsApiKeys": "Ustawienia → Klucze API",
"exports.howTo.restTail": "(klucze legacy nie zostały zmigrowane) pull",
"exports.howTo.openapi": "OpenAPI",
"exports.feedStatus": "Status feedu",
"exports.generating": "Generowanie eksportu — przy dużych katalogach może to chwilę potrwać.",
"exports.generationFailed": "Generowanie nie powiodło się. Zobacz błąd powyżej, a następnie spróbuj ponownie Refresh Feed.",
"exports.exportedProducts": "Wyeksportowano {count} produktów",
"exports.lastGenerated": "Ostatnio wygenerowano: {time}",
"exports.neverGenerated": "Nigdy nie wygenerowano",
"exports.searchPlaceholder": "Szukaj feedów...",
"exports.searchAria": "Szukaj feedów",
"exports.clearSearch": "Wyczyść wyszukiwanie",
"exports.loading": "Ładowanie feedów…",
"exports.loadErrorTitle": "Nie można wczytać feedów eksportu",
"exports.loadErrorBody": "Coś poszło nie tak podczas wczytywania eksportów. Spróbuj ponownie lub sprawdź błąd powyżej, aby uzyskać szczegóły.",
"exports.tryAgain": "Spróbuj ponownie",
"exports.emptyTitle": "Brak feedów eksportu",
"exports.emptyBody": "Utwórz feed Google Shopping, Meta lub własny CSV/XML, aby wybrać produkty i pola. Wygeneruj publiczny URL do Merchant Center lub partnera — albo wyeksportuj podzbiór z Produktów.",
"exports.emptyCta": "Utwórz feed Google Shopping",
"exports.noMatchTitle": "Brak pasujących feedów",
"exports.noMatchBody": "Spróbuj innego hasła wyszukiwania.",
"exports.col.name": "Nazwa",
"exports.col.format": "Format",
"exports.col.feedUrl": "URL feedu",
"exports.col.lastGenerated": "Ostatnio wygenerowano",
"exports.col.status": "Stan",
"exports.col.actions": "Akcje",
"exports.working": "W toku.",
"exports.generatingShort": "Generowanie…",
"exports.copyUrl": "Kopiuj URL",
"exports.openMenu": "Otwórz menu",
"exports.preview": "Podgląd",
"exports.download": "Pobierz",
"exports.refreshFeed": "Odśwież feed",
"exports.editAction": "Edytuj",
"exports.delete": "Usuń",
"exports.rotateToken": "Obroc token URL",
"exports.rotateFailed": "Nie udalo sie obrocic tokenu URL feedu",
"exports.deleting": "Usuwanie…",
"exports.channelPreset": "Preset kanału",
"exports.name": "Nazwa",
"exports.format": "Format",
"exports.sourceFeed": "Feed źródłowy (opcjonalnie)",
"exports.sourceFeedHelp": "Ogranicz ten feed do produktów z jednego feedu wejściowego albo zostaw Wszystkie produkty — tak wybierasz, co zawiera publiczny URL.",
"exports.allProducts": "Wszystkie produkty",
"exports.rootElement": "Element główny",
"exports.itemElement": "Element pozycji",
"exports.productStatuses": "Statusy produktów (oddzielone przecinkami)",
"exports.productStatusesHelp": "Uwzględniaj tylko produkty o tych statusach (np. active). Puste = wszystkie statusy.",
"exports.status": "Stan",
"exports.active": "Aktywny",
"exports.inactive": "Nieaktywny",
"exports.fieldMappings": "Mapowania pól",
"exports.addField": "Dodaj pole",
"exports.outputKey": "Klucz wyjściowy",
"exports.source": "Źródło",
"exports.customSource": "Niestandardowe (attr.* / spec.*)",
"exports.removeField": "Usuń pole",
"exports.fieldHelp": "Eksporty odczytują przetworzone produkty (z surowym mapped_data jako zapasem). Użyj eprel_* / energy_* dla pól EPREL, spec.* dla jednej specyfikacji lub specifications.*, aby rozwinąć wszystkie specs jako węzły XML.",
"exports.saving": "Zapisywanie…",
"exports.saveChanges": "Zapisz zmiany",
"exports.createFeed": "Utwórz feed",
"exports.updated": "Zaktualizowano feed eksportu.",
"exports.created": "Utworzono feed eksportu.",
"exports.saveFailed": "Zapis nie powiódł się",
"exports.urlCopied": "Skopiowano publiczny URL feedu {format}. Wklej go do dowolnego systemu pobierającego feedy produktów.",
"exports.copyFailed": "Nie udało się skopiować URL do schowka",
"exports.refreshed": "Feed odświeżony",
"exports.refreshedWithCount": "Feed odświeżony ({count} produktów).",
"exports.refreshFailed": "Nie udało się odświeżyć feedu",
"exports.deleteConfirm": "Czy na pewno chcesz usunąć ten feed eksportu?",
"exports.deleted": "Usunięto feed eksportu.",
"exports.deleteFailed": "Nie udało się usunąć feedu eksportu",
"exports.defaultName": "Nowy feed eksportu",
"exports.fallbackName": "Feed eksportu",
"exports.dialog.selectTitle": "Eksportuj wybrane produkty",
"exports.dialog.selectDescription": "Wybierz konfigurację feedu eksportu dla {count} wybranych produktów.",
"exports.dialog.noneFound": "Nie znaleziono konfiguracji feedów eksportu. Utwórz jedną w sekcji Export Feeds.",
"exports.dialog.loadFailed": "Nie udało się wczytać opcji feedu eksportu. Spróbuj ponownie.",
"exports.dialog.selectRequired": "Wybierz format feedu eksportu.",
"exports.dialog.selectPlaceholder": "Wybierz format feedu eksportu...",
"exports.dialog.confirmAria": "Potwierdź eksport",
"exports.dialog.export": "Eksportuj",
"exports.preset.google_shopping_csv.label": "Google Shopping (CSV)",
"exports.preset.google_shopping_csv.shortLabel": "Google Shopping CSV",
"exports.preset.google_shopping_csv.description": "Feed produktów Merchant Center ze standardowymi kolumnami Google (id, title, price, gtin, …).",
"exports.preset.google_shopping_csv.hint": "Po odświeżeniu feedu skopiuj publiczny URL CSV do Google Merchant Center → Products → Feeds → Add feed → Scheduled fetch.",
"exports.preset.google_shopping_csv.defaultName": "Google Shopping CSV",
"exports.preset.google_shopping_xml.label": "Google Shopping (XML)",
"exports.preset.google_shopping_xml.shortLabel": "Google Shopping XML",
"exports.preset.google_shopping_xml.description": "Te same kolumny Google co elementy XML (g:id, g:title, …) dla feedów XML Merchant Center.",
"exports.preset.google_shopping_xml.hint": "Wklej publiczny URL XML do Merchant Center jako scheduled fetch. W razie potrzeby zmapuj brakujące pola sklepu (link, price) w Field mappings.",
"exports.preset.google_shopping_xml.defaultName": "Google Shopping XML",
"exports.preset.meta_csv.label": "Katalog Meta (CSV)",
"exports.preset.meta_csv.shortLabel": "Meta CSV",
"exports.preset.meta_csv.description": "Kolumny katalogu Facebook / Instagram Commerce (id, title, availability, price, image_link, …).",
"exports.preset.meta_csv.hint": "W Meta Commerce Manager → Catalog → Data sources → Add items → Use data feed wklej publiczny URL CSV.",
"exports.preset.meta_csv.defaultName": "Katalog Meta CSV",
"exports.preset.custom_csv.label": "Niestandardowy CSV",
"exports.preset.custom_csv.shortLabel": "Niestandardowy CSV",
"exports.preset.custom_csv.description": "Wybierz własne kolumny i źródła produktów dla dowolnego partnera lub webhooka.",
"exports.preset.custom_csv.hint": "Dodawaj lub zmieniaj nazwy kluczy wyjściowych dowolnie. Publiczny URL nie wymaga logowania do pobrania.",
"exports.preset.custom_csv.defaultName": "Niestandardowy eksport CSV",
"exports.preset.custom_xml.label": "Niestandardowy XML",
"exports.preset.custom_xml.shortLabel": "Niestandardowy XML",
"exports.preset.custom_xml.description": "Zbuduj niestandardowy kształt XML z własnymi nazwami root/item i mapowaniami pól.",
"exports.preset.custom_xml.hint": "Ustaw nazwy elementów root i item, a następnie zmapuj każdy klucz wyjściowy na źródło produktu.",
"exports.preset.custom_xml.defaultName": "Niestandardowy eksport XML",
"processing.title": "Przetwarzanie",
"processing.description": "Na żywo postęp pipeline dla zadań przetwarzania produktów. Automatyczne odświeżanie, gdy ta karta jest widoczna. Ukończone zadania prowadzą do Needs Review w celu akceptacji / edycji / odrzucenia.",
"processing.refresh": "Odśwież",
"processing.loadFailed": "Nie udało się wczytać zadań przetwarzania",
"processing.tooManyRequests": "Zbyt wiele żądań — poczekaj chwilę i spróbuj ponownie.",
"processing.serverError": "{fallback} (błąd serwera {status}). Spróbuj ponownie wkrótce.",
"processing.httpError": "{fallback} (HTTP {status})",
"processing.cancelFailed": "Nie można anulować tego zadania",
"processing.retryFailed": "Nie można ponowić tego zadania",
"processing.cancelledMsg": "Anulowano \"{name}\".",
"processing.queuedRetry": "\"{name}\" w kolejce do ponowienia.",
"processing.jobFallback": "Zadanie {id}",
"processing.tasks": "Zadania",
"processing.pipelineHint": "Pipeline: normalize → specs → fill → EPREL → AI. Duże starty mogą dzielić się na zadania równoległe.",
"processing.emptyTitle": "Brak jeszcze zadań w tle",
"processing.emptyBody": "Brak jeszcze zadań w tle. Uruchom nowe zadanie z Products, gdy będziesz gotowy.",
"processing.startJob": "Uruchom zadanie",
"processing.connectFeed": "Podłącz feed",
"processing.splitBatch": "Podzielona partia · {jobs} zadań · {products} produktów",
"processing.col.task": "Zadanie",
"processing.col.status": "Stan",
"processing.col.steps": "Kroki",
"processing.col.progress": "Postęp",
"processing.col.started": "Uruchomiono",
"processing.col.completed": "Ukończone",
"processing.col.actions": "Akcje",
"processing.partOfBatch": "· część partii",
"processing.nowStep": "Teraz: {step}",
"processing.skip": "(pomiń)",
"processing.reviewResults": "Przejrzyj wyniki",
"processing.reviewTitle": "Otwórz Needs Review, aby zaakceptować, edytować lub odrzucić wzbogacenie",
"processing.cancel": "Anuluj",
"processing.cancelling": "Anulowanie…",
"processing.cancelTitle": "Anuluj to oczekujące lub uruchomione zadanie",
"processing.retry": "Ponów",
"processing.retrying": "Ponawianie…",
"processing.actions.onPage": "{count} na tej stronie",
"processing.actions.clearSelection": "Wyczyść zaznaczenie",
"processing.actions.processSelected": "Przetwórz zaznaczenie",
"processing.actions.processAria": "Przetwórz zaznaczone produkty",
"processing.actions.processAriaCount": "Przetwórz {count} wybranych produktów{plural} na tej stronie",
"processing.actions.whatToProcess": "Co przetwarzać",
"processing.actions.freeNoAiTitle": "Plan Free — brak kredytów AI",
"processing.actions.freeNoAiBody": "Normalize, specs, fill i EPREL nadal działają. Tytuły/opisy AI wymagają płatnego planu lub kredytów.",
"processing.actions.comparePlans": "Porównaj plany",
"processing.actions.selectAll": "Zaznacz wszystko",
"processing.actions.selectAllAria": "Zaznacz wszystkie tryby przetwarzania",
"processing.actions.upgradeRequired": "{label} (wymagane ulepszenie)",
"processing.actions.upgradeSuffix": " · ulepsz",
"processing.actions.credits": "{credits} kredytów",
"processing.actions.free": "bezpłatne",
"processing.actions.autoCategorizeTitle": "Automatyczne dodawanie kategoryzacji",
"processing.actions.autoCategorizeBody": "{count} produkt(y) wymaga kategoryzacji do przetwarzania {types}",
"processing.actions.aiLocked": "Opcje AI są zablokowane na Free. Ulepsz plan, aby przetwarzać tytuły/opisy.",
"processing.actions.totalCredits": "Łączne kredyty ({count} na tej stronie):",
"processing.actions.starting": "Uruchamianie…",
"processing.actions.processCount": "Przetwórz {count} na tej stronie",
"processing.actions.close": "Zamknij",
"processing.actions.accept": "Zaakceptuj",
"processing.actions.acceptEnrichment": "Zaakceptuj wzbogacenie",
"processing.actions.export": "Eksportuj",
"processing.actions.exportSelected": "Eksportuj zaznaczenie",
"processing.actions.reject": "Odrzuć",
"processing.actions.rejectReset": "Odrzuć (reset)",
"processing.actions.resetUnprocessed": "Resetuj do Nieprzetworzone",
"processing.actions.confirmTitle": "Potwierdź przetwarzanie",
"processing.actions.confirmBody": "Przetwórz {count} produkt(ów) na tej stronie za {credits} kredytów. Kredyty są zużywane przy starcie zadania i nie można ich cofnąć z tej akcji.",
"processing.actions.confirmStart": "Rozpocznij przetwarzanie",
"processing.option.category": "Kategorie",
"processing.option.attributes": "Atrybuty / specs",
"processing.option.title": "Tytuły (AI)",
"processing.option.description": "Opisy (AI)",
"processing.receipt.view": "Zobacz w Przetwarzaniu",
"processing.receipt.undo": "Cofnij",
"processing.receipt.format": "{succeeded} powiodło się · {skipped} pominięto · {failed} niepowodzeń",
"processing.receipt.cancelledOne": "Przetwarzanie anulowane",
"processing.receipt.cancelledMany": "Anulowano zadania przetwarzania",
"processing.receipt.cancelledDesc": "Właśnie uruchomione zadanie zostało anulowane.",
"processing.receipt.cancelFailed": "Nie można anulować zadania przetwarzania",
"unsubscribe.title": "Wypisz się",
"unsubscribe.me": "Wypisz mnie",
"unsubscribe.invalidLink": "Nieprawidłowy link",
"unsubscribe.failedShort": "Wypisanie nie powiodło się",
"unsubscribe.already": "Jesteś już wypisany.",
"unsubscribe.confirmPrompt": "Potwierdź poniżej, aby wypisać się z e-maili marketingowych.",
"unsubscribe.done": "Zostałeś wypisany.",
"stores.title": "Sklepy i źródła",
"stores.description": "Połącz dowolny sklep lub dostawcę w jednym miejscu — Woo, Shopify, URL feedu lub CSV. Sklepy live: produkty Descrybe → sklep; zamówienia/opinie sklep → Descrybe. Eksportuj, gdy katalog jest gotowy.",
"stores.allInputFeeds": "Wszystkie feedy wejściowe",
"stores.exportFeeds": "Feedy eksportu",
"stores.migrationNote": "Po migracji platformy Descrybe dane logowania WooCommerce i Shopify mogą wymagać ponownego wprowadzenia — to ponowne połączenie, nie uszkodzona synchronizacja.",
"stores.docsPrefix": "Docs:",
"stores.docsApiOverview": "Przegląd API",
"stores.docsSuffix": "dla publicznego dostępu do produktów; użyj WooCommerce lub Shopify poniżej do live-synchronizacji sklepu.",
"stores.connectorsHeading": "Konektory sklepu i katalogu",
"stores.statusAria": "Status: {label}",
"stores.ctaAria": "{cta}: {title}",
"stores.startTitle": "Od czego zacząć?",
"stores.startBody": "Sklep Woo → WooCommerce. Shopify lub inna platforma → URL feedu lub upload CSV. Gotowe do Merchant Center lub partnerów → Feedy eksportu (preset Google Shopping lub własne pola). Po migracji połącz ponownie Woo/Shopify, zanim oczekujesz działania sync.",
"stores.startBodyMember": "Poproś admina firmy o podłączenie WooCommerce lub Shopify. Nadal możesz otwierać podłączone sklepy (sync/przegląd) oraz używać Feed URL, CSV lub feedów eksportu według planu.",
"stores.wizard.title": "Prowadzona konfiguracja sklepu",
"stores.wizard.description": "Połącz sklep, przetestuj połączenie, ustaw pierwszą synchronizację produktów w kolejce — gotowe.",
"stores.wizard.guidedSetup": "Prowadzona konfiguracja",
"stores.wizard.guidedSetupAria": "Rozpocznij prowadzoną konfigurację sklepu",
"stores.wizard.adminOnly": "Tylko admini firmy mogą uruchomić prowadzoną konfigurację sklepu (zapis poświadczeń i pierwszy sync). Nadal możesz otwierać podłączone sklepy.",
"stores.wizard.pickChannel": "Wybierz konektor sklepu",
"stores.wizard.pickChannelBody": "Wybierz WooCommerce lub Shopify. Dokończ połącz → test → pierwsza sync na stronie konektora, potem wróć tutaj.",
"stores.wizard.channel.shopify": "Shopify",
"stores.wizard.channel.woocommerce": "WooCommerce",
"stores.wizard.channelLabel": "Konfiguracja: {channel}",
"stores.wizard.changeChannel": "Zmień konektor",
"stores.wizard.noChannels": "Brak konektorów sklepu w Twoim planie. Ulepsz plan lub zapytaj admina.",
"stores.wizard.progress": "{done} z {total} ukończone",
"stores.wizard.stepsLabel": "Kroki konfiguracji sklepu",
"stores.wizard.step.connect.title": "Połącz",
"stores.wizard.step.connect.body": "Zapisz dane dostępowe na stronie konektora.",
"stores.wizard.step.test.title": "Test połączenia",
"stores.wizard.step.test.body": "Uruchom Test połączenia, aż się powiedzie.",
"stores.wizard.step.sync.title": "Pierwsza synchronizacja",
"stores.wizard.step.sync.body": "Ustaw pierwszą sync produktów w kolejce (włącz sync, jeśli trzeba).",
"stores.wizard.step.done.title": "Gotowe",
"stores.wizard.step.done.body": "Sklep jest połączony, a synchronizacja została uruchomiona lub zakończona.",
"stores.wizard.openConnector": "Otwórz konektor",
"stores.wizard.viewProducts": "Zobacz produkty",
"stores.wizard.backToHub": "Wróć do sklepów",
"stores.wizard.banner.generic": "Prowadzona konfiguracja: dokończ ten krok, potem wróć do kreatora.",
"stores.wizard.banner.test": "Prowadzona konfiguracja — przetestuj połączenie, potem wróć do kreatora.",
"stores.wizard.banner.sync": "Prowadzona konfiguracja — ustaw pierwszą sync produktów, potem wróć do kreatora.",
"stores.wizard.banner.return": "Wróć do kreatora",
"stores.wizard.banner.dismiss": "Zamknij",
"stores.woo.title": "WooCommerce",
"stores.woo.description": "Wypychaj produkty Descrybe → WooCommerce. Pobieraj zamówienia i opinie WooCommerce → Descrybe.",
"stores.woo.ctaReconnect": "Połącz Woo ponownie",
"stores.woo.ctaOpen": "Otwórz Woo",
"stores.woo.ctaConnect": "Połącz Woo",
"stores.woo.ctaView": "Zobacz Woo",
"stores.shopify.title": "Shopify",
"stores.shopify.description": "Wypychaj produkty Descrybe → Shopify. Pobieraj zamówienia Shopify → Descrybe. Opinie nie są dostępne przez Admin API Shopify.",
"stores.shopify.ctaReconnect": "Połącz Shopify ponownie",
"stores.shopify.ctaOpen": "Otwórz Shopify",
"stores.shopify.ctaConnect": "Połącz Shopify",
"stores.shopify.ctaView": "Zobacz Shopify",
"stores.feedUrl.title": "URL feedu",
"stores.feedUrl.description": "Pull any supplier or sklep catalog from a public CSV or XML URL on a schedule. Map fields, then sync.",
"stores.feedUrl.cta": "Dodaj URL feedu",
"stores.csv.title": "Przesyłanie CSV",
"stores.csv.description": "Prześlij CSV produktów jako feed wejściowy. Najlepsze do jednorazowych plików dostawcy lub eksportów z admina Shopify.",
"stores.csv.cta": "Prześlij CSV",
"stores.export.title": "Eksport / REST",
"stores.export.description": "Opublikuj Google Shopping lub własny CSV/XML z publicznym URL. Albo pobieraj produkty kluczem API (/api/v1).",
"stores.export.cta": "Otwórz eksporty",
"stores.apiKeys.title": "Klucze API",
"stores.apiKeys.description": "Stare klucze API nie zostały zmigrowane. Utwórz nowy klucz w Ustawieniach, aby przywrócić dostęp do /api/v1 — sekret jest pokazany tylko raz.",
"stores.apiKeys.descriptionMember": "Firmowe klucze API dla /api/v1. Starsze nie zostały zmigrowane — tylko admini mogą tworzyć lub unieważniać; prefiksy zobaczysz w Ustawieniach.",
"stores.apiKeys.cta": "Zarządzaj kluczami API",
"stores.apiKeys.ctaView": "Zobacz klucze API",
"stores.status.needsReconnect": "Wymaga ponownego połączenia",
"stores.status.connected": "Połączono",
"stores.status.notConnected": "Niepołączone",
"stores.status.ready": "Gotowe",
"stores.status.outbound": "Wychodzące",
"stores.status.reissue": "Wystaw ponownie",
"store.tab.connection": "Połączenie",
"store.tab.orders": "Zamówienia",
"store.tab.settings": "Ustawienia",
"store.tab.categories": "Kategorie",
"store.tab.attributes": "Atrybuty",
"store.tab.reviews": "Recenzje",
"store.badge.credentialsOnFile": "Dane logowania zapisane",
"store.badge.syncEnabled": "Wypychanie produktów włączone",
"store.badge.syncDisabled": "Wypychanie produktów wyłączone",
"store.badge.syncQueued": "Wypychanie produktów w kolejce",
"store.badge.dryRun": "Symulacja",
"store.badge.testStatus": "Test: {status}",
"store.badge.syncStatus": "Wypychanie produktów: {status}",
"store.badge.ordersQueued": "Sync zamówień w kolejce",
"store.badge.ordersStatus": "Zamówienia: {status}",
"store.badge.syncedCount": "Zsynchronizowano {count}",
"store.badge.mappedCount": "{count} zmapowane",
"store.badge.productsCount": "{count} produktów",
"store.badge.optionsCount": "{count} opcji",
"store.lastSync": "Ostatnia sync: {date}",
"store.noOrdersSyncYet": "Żadna sync zamówień nie została jeszcze ukończona.",
"store.save": "Zapisz",
"store.saving": "Zapisywanie...",
"store.testing": "Testowanie...",
"store.testConnection": "Testuj połączenie",
"store.queueing": "Kolejkowanie...",
"store.queueProductPush": "Dodaj wypychanie produktów do kolejki (Descrybe → sklep)",
"store.queueFirstProductSync": "Dodaj pierwsze wypychanie produktów do kolejki (Descrybe → sklep)",
"store.queueOrdersImport": "Dodaj import zamówień do kolejki (sklep → Descrybe)",
"store.refreshList": "Odśwież listę",
"store.saveBeforeTest": "Zapisz dane logowania przed testem",
"store.saveTestBeforeQueue": "Zapisz dane logowania i przetestuj połączenie przed sync",
"store.connectionOk": "Połączenie OK",
"store.connectionSuccessful": "Połączenie udane",
"store.connectionSuccessfulDot": "Połączenie udane.",
"store.connectionFailed": "Połączenie nie powiodło się",
"store.connectionFailedDot": "Połączenie nie powiodło się.",
"store.connectionTestFailed": "Test połączenia nie powiódł się",
"store.testFailed": "Test nie powiódł się",
"store.setupSteps": "Kroki konfiguracji",
"store.col.order": "Zamówienie",
"store.col.customer": "Klient",
"store.col.status": "Stan",
"store.col.total": "Razem",
"store.col.date": "Data",
"store.loadingOrders": "Ładowanie zamówień…",
"store.loadingOrdersDot": "Ładowanie zamówień.",
"flash.store.saveFailed": "Nie można zapisać ustawień",
"flash.store.queueSyncFailed": "Nie można dodać synchronizacji do kolejki",
"flash.store.queueOrdersFailed": "Nie można dodać synchronizacji zamówień do kolejki",
"flash.store.connectedTo": "Połączono z {name}.",
"flash.shopify.loadFailed": "Nie udało się wczytać konfiguracji Shopify",
"flash.shopify.productSyncQueued": "Synchronizacja produktów w kolejce. Worker uruchomi ją wkrótce.",
"flash.shopify.ordersSyncQueued": "Synchronizacja zamówień w kolejce. Worker uruchomi ją wkrótce.",
"flash.woo.loadFailed": "Nie udało się wczytać konfiguracji WooCommerce",
"flash.woo.productSyncQueued": "Synchronizacja produktów w kolejce. Uruchomi się wkrótce.",
"flash.woo.ordersSyncQueued": "Synchronizacja zamówień w kolejce. Uruchomi się wkrótce.",
"flash.woo.reviewsSyncQueued": "Synchronizacja recenzji w kolejce. Uruchomi się wkrótce.",
"flash.woo.queueReviewsFailed": "Nie można dodać synchronizacji recenzji do kolejki",
"flash.woo.remoteMapsFailed": "Nie udało się wczytać zdalnych mapowań",
"flash.woo.syncSettingsFailed": "Nie można zapisać ustawień synchronizacji",
"flash.woo.categoryAutoMapFailed": "Automatyczne mapowanie kategorii nie powiodło się",
"flash.woo.attributeAutoMapFailed": "Automatyczne mapowanie atrybutów nie powiodło się",
"shopify.title": "Integracja Shopify",
"shopify.description": "Connect a Shopify store with Dev Dashboard client credentials (recommended) or a legacy Admin API token. Products: Descrybe → Shopify. Orders: Shopify → Descrybe.",
"shopify.adminOnly": "Only firma admins can change Shopify connection ustawienia. Synchronizuj and browse stay dostępne.",
"shopify.lockedTitle": "Połączenie Shopify zablokowane",
"shopify.noCredentialsMember": "Brak danych Shopify. Poproś administratora firmy o podłączenie sklepu. Sync i przeglądanie zamówień będą dostępne po zapisaniu i teście połączenia.",
"shopify.enterToken": "Wprowadź poświadczenia",
"shopify.noCredentials": "Brak danych Shopify. Podaj domenę *.myshopify.com oraz Client ID + secret z Dev Dashboard (lub starszy token Admin API), potem Zapisz i Przetestuj połączenie. Po migracji platformy stare sekrety nie są przenoszone — połącz ponownie świeżym tokenem.",
"shopify.allConnectors": "Wszystkie konektory sklepów",
"shopify.setupDesc": "New Shopify apps are created in the Dev Dashboard (not Develop apps in Admin). Paste Client ID + secret below — Descrybe exchanges them for Admin API tokens and refreshes before they expire.",
"shopify.setup.oauthNote": "Still manual: create/install the app in Shopify and paste Client ID + secret here. Descrybe does not host a one-click App Store install. Legacy permanent shpat_ tokens from older Admin custom apps still work.",
"shopify.setup.scopesTitle": "Wymagane zakresy Admin API",
"shopify.setup.scopesIntro": "Add these scopes on the app version in the Dev Dashboard before you release and install:",
"shopify.setup.step3.scopes": "write_products, read_products, read_orders",
"shopify.setup.step3.mid": ", then",
"shopify.setup.step3.release": "Release",
"shopify.setup.step4.install": "Install app",
"shopify.setup.step5.before": "In app Settings, copy",
"shopify.setup.step5.clientId": "Client ID",
"shopify.setup.step5.and": "and",
"shopify.setup.step5.clientSecret": "Client secret",
"shopify.setup.step5.mid": ". Below: enter shop domain, paste both, enable sync →",
"shopify.setup.step5.save": "Save",
"shopify.setup.step5.arrow": "→",
"shopify.setup.step5.test": "Test Connection",
"shopify.setup.step5.after": ". Descrybe stores secrets encrypted and refreshes the short-lived access token automatically.",
"shopify.setup.step6.products": "Products",
"shopify.setup.step6.productsTail": "Descrybe → Shopify (outbound push).",
"shopify.setup.step6.orders": "Orders",
"shopify.setup.step6.ordersTail": "Shopify → Descrybe (inbound pull).",
"shopify.setup.step7.before": "No live shop yet? Enable",
"shopify.setup.step7.dryRun": "Dry run",
"shopify.setup.step7.after": "(or use the special dry-run access token) to walk through the flow without calling Shopify.",
"shopify.setup.openDevDashboard": "Open Dev Dashboard",
"shopify.setup.openDevelopApps": "Open shop Develop apps",
"shopify.setup.openDevelopAppsNeedDomain": "Enter your shop domain below to unlock a direct Admin link for this store.",
"shopify.setup.openDevelopAppsHint": "Opens Shopify Admin → Develop apps for this shop (legacy apps / install approvals). New apps start in the Dev Dashboard.",
"shopify.setup.copyScopes": "Copy required scopes",
"shopify.setup.scopesCopied": "Scopes copied",
"shopify.setup.docsCreate": "Create app docs",
"shopify.setup.docsTokens": "Access token docs",
"shopify.setup.showLegacyToken": "I have a legacy Admin API access token (shpat_…)",
"shopify.setup.hideLegacyToken": "Hide legacy token field",
"shopify.field.shopDomainHelp": "Admin API host only — use the *.myshopify.com name, not a custom storefront domain.",
"shopify.field.clientId": "Client ID",
"shopify.field.clientSecret": "Client secret",
"shopify.field.clientSecretHelp": "From Dev Dashboard → your app → Settings. Descrybe exchanges these for a short-lived Admin API token and refreshes it automatically.",
"shopify.field.accessTokenHelp": "Only for custom apps created in Shopify Admin before January 2026. New apps should use Client ID + secret instead.",
"shopify.placeholder.clientId": "Client ID from Dev Dashboard",
"shopify.placeholder.clientIdKeep": "Client ID on file — enter a new one to replace",
"shopify.placeholder.clientSecret": "Client secret",
"shopify.placeholder.clientSecretKeep": "Secret on file — enter a new one to replace",
"shopify.setup.scope.write_products": "write_products",
"shopify.setup.scope.write_productsWhy": "Tworzenie i aktualizacja produktów w Shopify (push wychodzący)",
"shopify.setup.scope.read_products": "read_products",
"shopify.setup.scope.read_productsWhy": "Znajdowanie istniejących produktów po SKU przed aktualizacją",
"shopify.setup.scope.read_orders": "read_orders",
"shopify.setup.scope.read_ordersWhy": "Import zamówień do Descrybe (przychodzący)",
"shopify.setup.step1": "Jeśli łączyłeś Shopify przed migracją platformy: utwórz nową aplikację Dev Dashboard (lub połącz ponownie świeżym tokenem legacy) — stare zapisane sekrety nie są przenoszone.",
"shopify.setup.step2.before": "Open the",
"shopify.setup.step2.path": "Shopify Dev Dashboard",
"shopify.setup.step2.after": "→ Apps → Create app → Start from Dev Dashboard (or use the deep link below).",
"shopify.setup.step3.before": "Create a version: set App URL (default home is fine for API-only), add scopes",
"shopify.setup.step3.after": ".",
"shopify.setup.step4.before": "From the app Home tab,",
"shopify.setup.step4.after": "on your store (merchant must approve scopes).",
"shopify.testSectionTitle": "Zweryfikuj połączenie",
"shopify.testHint": "Najpierw zapisz domenę sklepu i token, potem uruchom Testuj połączenie. Udany test potwierdza token i zakresy przed kolejkowaniem sync.",
"shopify.overwriteTitle": "Nadpisać produkty Shopify?",
"shopify.overwriteBodyCount": "To ustawia w kolejce wychodzący push produktów. {count} wcześniej powiązany(ch) produkt(ów) Shopify może zostać zaktualizowany treścią Descrybe.",
"shopify.overwriteBody": "To ustawia w kolejce wychodzący push produktów. Pasujące produkty Shopify mogą zostać zaktualizowane treścią Descrybe.",
"shopify.credentialsTitle": "Poświadczenia sklepu",
"shopify.credentialsDesc.before": "Domena sklepu musi być Twoja",
"shopify.credentialsDesc.code": "*.myshopify.com",
"shopify.credentialsDesc.after": "domain. Prefer Dev Dashboard Client ID + secret; legacy Admin API tokens still work.",
"shopify.field.shopDomain": "Domena sklepu",
"shopify.field.accessToken": "Token dostępu Admin API",
"shopify.field.apiVersion": "Wersja API",
"shopify.placeholder.tokenKeep": "******** (pozostaw puste, aby zachować)",
"shopify.enableSync": "Włącz wypychanie produktów (Descrybe → Shopify)",
"shopify.dryRunLabel": "Dry run (bez live wywołań Shopify)",
"shopify.ordersTitle": "Import zamówień (Shopify → Descrybe)",
"shopify.ordersDesc": "Shopify → Descrybe — pobiera zamówienia i pozycje do Descrybe (nie zapisuje z powrotem do Shopify).",
"shopify.ordersNeedsReconnect": "Import zamówień nie może działać, dopóki dane logowania nie zostaną ponownie połączone po migracji. W zakładce Połączenie: Zapisz, potem Przetestuj połączenie.",
"shopify.notesTitle": "Uwagi",
"shopify.notesDesc": "Możliwości konektora Shopify",
"shopify.notes.productsLabel": "Produkty (Descrybe → Shopify)",
"shopify.notes.productsBody": "— przetworzone produkty Descrybe są tworzone lub aktualizowane w Shopify (dopasowanie SKU przez GraphQL, gdy brak cacheowanego id produktu Shopify). Re-sync może nadpisać pasujące pola zdalne.",
"shopify.notes.ordersLabel": "Zamówienia (Shopify → Descrybe)",
"shopify.notes.ordersBody": "— pobrane do raportów i przyszłych procesów audience.",
"shopify.notes.reviewsLabel": "Recenzje",
"shopify.notes.reviewsBody": "-- not wsparcieed. Shopify has no first-party produkt reviews Admin API (third-party review apps are out of scope here).",
"shopify.notes.encryption.before": "Tokeny are encrypted at rest with",
"woo.title": "Integracja WooCommerce",
"woo.description": "Create a WordPress REST API key, connect your store, then push products (Descrybe → WooCommerce) and pull orders/reviews (WooCommerce → Descrybe).",
"woo.allStores": "Wszystkie sklepy",
"woo.adminOnly": "Tylko administratorzy firmy mogą zmieniać połączenie i mapowanie WooCommerce. Synchronizacja i przeglądanie pozostają dostępne.",
"woo.enterCredentials": "Wprowadź poświadczenia",
"woo.noCredentials": "Brak danych WooCommerce. Podaj URL sklepu, utwórz w WordPress klucz REST API Read/Write, wklej Consumer Key i Secret, potem Zapisz i Przetestuj połączenie. Po migracji platformy stare sekrety nie są przenoszone — połącz ponownie świeżym kluczem.",
"woo.lockedTitle": "Połączenie WooCommerce zablokowane",
"woo.noCredentialsMember": "Brak danych WooCommerce. Poproś administratora firmy o podłączenie sklepu. Sync, zamówienia i recenzje będą dostępne po zapisaniu i teście połączenia.",
"woo.setupDesc": "Follow these steps to create a WooCommerce REST API key in WordPress and connect it here. Descrybe never creates keys on your store for you.",
"woo.setup.step1": "Jeśli łączyłeś WooCommerce przed migracją platformy: utwórz nowy klucz REST API — stare zapisane dane nie są użyteczne.",
"woo.setup.step2.before": "Enter your store",
"woo.setup.step2.path": "HTTPS URL",
"woo.setup.step2.after": "in the form below (example: https://yourstore.com).",
"woo.setup.step3.before": "In WordPress admin, open",
"woo.setup.step3.path": "WooCommerce → Settings → Advanced → REST API",
"woo.setup.step3.after": "(or use the deep link once your store URL is filled in).",
"woo.setup.step4.before": "Click",
"woo.setup.step4.addKey": "Add key",
"woo.setup.step4.mid": ", set permissions to",
"woo.setup.step4.permissions": "Read/Write",
"woo.setup.step4.after": ", then copy the Consumer Key (ck_…) and Consumer Secret (cs_…). The secret is shown only once.",
"woo.setup.step5.before": "Paste the key and secret below, enable sync if ready, then",
"woo.setup.step5.save": "Save",
"woo.setup.step5.arrow": "→",
"woo.setup.step5.test": "Test Connection",
"woo.setup.step5.after": ".",
"woo.setup.step6.products": "Products",
"woo.setup.step6.productsTail": "Descrybe → WooCommerce (outbound push).",
"woo.setup.step6.orders": "Orders",
"woo.setup.step6.and": "and",
"woo.setup.step6.reviews": "reviews",
"woo.setup.step6.inboundTail": "WooCommerce → Descrybe (inbound pull). Sync runs in the background — check status badges on this page.",
"woo.setup.openKeys": "Otwórz klucze REST API",
"woo.setup.addKey": "Dodaj klucz",
"woo.setup.openKeysHint": "Otwiera WordPress admin → WooCommerce → Ustawienia → Zaawansowane → REST API.",
"woo.setup.openKeysNeedUrl": "Najpierw zapisz prawidłowy URL sklepu, aby otworzyć linki admina.",
"woo.setup.docsLink": "Dokumentacja REST API WooCommerce",
"woo.overwriteTitle": "Nadpisać produkty WooCommerce?",
"woo.overwriteBodyCount": "To ustawia w kolejce wychodzący push produktów. {count} wcześniej powiązany(ch) produkt(ów) WooCommerce może zostać zaktualizowany treścią Descrybe.",
"woo.overwriteBody": "To ustawia w kolejce wychodzący push produktów. Pasujące produkty WooCommerce mogą zostać zaktualizowane treścią Descrybe.",
"woo.connectionTitle": "Store connection",
"woo.connectionDesc": "Paste your store URL and a Read/Write REST API key pair. Save, then Test Connection before queuing syncs.",
"woo.enableSync": "Włącz wypychanie produktów (Descrybe → WooCommerce)",
"woo.field.storeUrl": "URL sklepu",
"woo.field.storeUrlHelp": "Publiczny URL witryny z https. Do REST API WooCommerce i głębokich linków do panelu WordPress.",
"woo.field.consumerKey": "Consumer Key",
"woo.field.consumerSecret": "Consumer Secret",
"woo.field.credentialsHelp": "Consumer Key i Secret z odczytem/zapisem. Zostaw puste, aby zachować istniejące dane.",
"woo.placeholder.keep": "******** (bez zmian)",
"woo.keepCredentialsHint": "Pozostaw klucz/sekret puste przy zapisie, aby zachować istniejące poświadczenia.",
"woo.saveConfiguration": "Zapisz konfigurację",
"woo.categoryMappingTitle": "Mapowanie kategorii",
"woo.categoryMappingDesc": "Zmapuj wewnętrzne kategorie na kategorie WooCommerce",
"woo.autoMapCategories": "Automatycznie mapuj kategorie",
"woo.autoMapping": "Automatyczne mapowanie...",
"woo.refreshCategories": "Odśwież kategorie",
"woo.availableCategories": "Dostępne kategorie WooCommerce",
"woo.categoriesEmptyHint": "Przetestuj połączenie, potem odśwież, aby wczytać kategorie WooCommerce.",
"woo.attributeMappingTitle": "Mapowanie atrybutów",
"woo.attributeMappingDesc": "Zmapuj wewnętrzne atrybuty na atrybuty WooCommerce",
"woo.autoMapAttributes": "Automatycznie mapuj atrybuty",
"woo.refreshAttributes": "Odśwież atrybuty",
"woo.availableAttributes": "Dostępne atrybuty WooCommerce",
"woo.attributesEmptyHint": "Przetestuj połączenie, potem odśwież, aby wczytać atrybuty WooCommerce.",
"woo.ordersTitle": "Import zamówień (WooCommerce → Descrybe)",
"woo.ordersDesc": "WooCommerce → Descrybe — pobiera zamówienia i pozycje do Descrybe (nie zapisuje z powrotem do sklepu).",
"woo.ordersNeedsReconnect": "Import zamówień nie może działać, dopóki dane logowania nie zostaną ponownie połączone po migracji. W zakładce Połączenie: Zapisz, potem Przetestuj połączenie.",
"woo.syncSettingsTitle": "Ustawienia sync",
"woo.syncSettingsDesc": "Skonfiguruj, jak produkty są wypychane Descrybe → WooCommerce",
"woo.matchStrategy": "Produkt Matching Strategy",
"woo.matchStrategyHelp": "Wypychanie produktów (Descrybe → WooCommerce) dopasowuje produkty zdalne po SKU lub EAN/GTIN. Kolejkuj sync z karty Połączenie (ręcznie).",
"woo.lastSyncLabel": "Ostatnia sync",
"woo.saveSyncSettings": "Zapisz ustawienia sync",
"woo.match.sku": "SKU",
"woo.match.ean": "EAN/GTIN",
"plan.feature.section.shell": "Powłoka",
"plan.feature.section.dashboard": "Panel",
"plan.feature.section.catalog": "Katalog",
"plan.feature.section.feeds": "Feedy",
"plan.feature.section.stores": "Sklepy",
"plan.feature.section.processing": "Przetwarzanie",
"plan.feature.section.marketing": "Marketing",
"plan.feature.section.integrations": "Integracje",
"plan.feature.section.billing": "Rozliczenia",
"plan.feature.section.settings": "Ustawienia",
"plan.feature.section.support": "Wsparcie",
"plan.feature.section.capabilities": "Możliwości",
"plan.feature.shell.navigation": "Nawigacja boczna",
"plan.feature.shell.command_palette": "Paleta poleceń",
"plan.feature.shell.company_switcher": "Przełącznik firmy",
"plan.feature.shell.support_notifications": "Dzwonek powiadomień wsparcia",
"plan.feature.shell.tutorial": "Samouczek produktu",
"plan.feature.shell.account_menu": "Menu konta",
"plan.feature.shell.billing_recovery_banner": "Baner odzyskiwania rozliczeń",
"plan.feature.dashboard.overview": "Przegląd panelu",
"plan.feature.dashboard.stats": "Karty statystyk",
"plan.feature.dashboard.quick_links": "Szybkie linki",
"plan.feature.dashboard.recent_jobs": "Ostatnie zadania",
"plan.feature.dashboard.news_feed": "Kanał aktualności",
"plan.feature.dashboard.activation_checklist": "Lista aktywacji",
"plan.feature.dashboard.migrated_checklist": "Lista migrowanej kohorty",
"plan.feature.dashboard.etl_gaps": "Panel luk ETL",
"plan.feature.dashboard.store_reconnect": "Baner ponownego połączenia sklepu",
"plan.feature.dashboard.upgrade_banners": "Banery ulepszenia",
"plan.feature.catalog.products": "Produkty",
"plan.feature.catalog.products.tab_processed": "Produkty - zakładka Przetworzone",
"plan.feature.catalog.products.tab_needs_review": "Produkty - zakładka Do sprawdzenia",
"plan.feature.catalog.products.tab_error": "Produkty - zakładka Błąd",
"plan.feature.catalog.products.tab_processing": "Produkty - zakładka Przetwarzanie",
"plan.feature.catalog.products.tab_unprocessed": "Produkty - zakładka Nieprzetworzone",
"plan.feature.catalog.products.process_categories": "Przetwarzaj kategorie",
"plan.feature.catalog.products.process_attributes": "Przetwarzaj atrybuty / specyfikacje",
"plan.feature.catalog.products.process_ai_titles": "Przetwarzaj tytuły AI",
"plan.feature.catalog.products.process_ai_descriptions": "Przetwarzaj opisy AI",
"plan.feature.catalog.products.enrichment_review": "Panel przeglądu wzbogacenia",
"plan.feature.catalog.products.export_selection": "Eksportuj wybrane produkty",
"plan.feature.catalog.products.upgrade_prompt": "Monity ulepszenia produktów",
"plan.feature.catalog.categories": "Kategorie",
"plan.feature.catalog.categories.title_formula": "Formuła tytułu kategorii",
"plan.feature.catalog.categories.description_formula": "Formuła opisu kategorii",
"plan.feature.catalog.attributes": "Atrybuty",
"plan.feature.catalog.attributes.bulk_import": "Masowy import atrybutów",
"plan.feature.catalog.standard_fields": "Pola standardowe",
"plan.feature.catalog.standard_fields.groups": "Grupy pól standardowych",
"plan.feature.catalog.structured_descriptions": "Pola opisu strukturalnego",
"plan.feature.catalog.vector_categories": "Kategorie wektorowe",
"plan.feature.feeds.list": "Feedy importu",
"plan.feature.feeds.add_url": "Dodaj URL feedu",
"plan.feature.feeds.add_csv": "Dodaj feed przez przesłanie CSV",
"plan.feature.feeds.sync": "Synchronizuj feed",
"plan.feature.feeds.mapping": "Mapowanie feedu",
"plan.feature.feeds.mapping.select_item": "Mapowanie - wybierz element item",
"plan.feature.feeds.mapping.map_fields": "Mapowanie - mapuj pola",
"plan.feature.feeds.export_feeds": "Feedy eksportu",
"plan.feature.feeds.export_feeds.create": "Utwórz feed eksportu",
"plan.feature.feeds.export_feeds.generate": "Generuj feed eksportu",
"plan.feature.feeds.uploads": "Przesyłanie plików",
"plan.feature.stores.hub": "Hub sklepów",
"plan.feature.stores.woocommerce": "Integracja WooCommerce",
"plan.feature.stores.woocommerce.connection": "Połączenie WooCommerce",
"plan.feature.stores.woocommerce.categories": "Sync kategorii WooCommerce",
"plan.feature.stores.woocommerce.attributes": "Sync atrybutów WooCommerce",
"plan.feature.stores.woocommerce.orders": "Zamówienia WooCommerce",
"plan.feature.stores.woocommerce.reviews": "Recenzje WooCommerce",
"plan.feature.stores.woocommerce.settings": "Ustawienia WooCommerce",
"plan.feature.stores.shopify": "Integracja Shopify",
"plan.feature.stores.shopify.connection": "Połączenie Shopify",
"plan.feature.stores.shopify.orders": "Zamówienia Shopify",
"plan.feature.stores.shopify.settings": "Ustawienia Shopify",
"plan.feature.processing.monitor": "Monitor przetwarzania",
"plan.feature.marketing.campaigns": "Kampanie",
"plan.feature.marketing.campaigns.create": "Kreator nowej kampanii",
"plan.feature.marketing.campaigns.generate_ai": "Generowanie kampanii AI",
"plan.feature.marketing.campaigns.send": "Wysyłka / blast kampanii",
"plan.feature.marketing.content_calendar": "Kalendarz treści",
"plan.feature.marketing.brand_kit": "Zestaw marki",
"plan.feature.marketing.brand_ai_apply": "Zastosuj markę AI w promptach",
"plan.feature.marketing.seo": "Rekomendacje SEO",
"plan.feature.marketing.seo.template_fill": "Wypełnianie szablonu SEO",
"plan.feature.marketing.seo.ai_rewrite": "Przepisanie SEO AI",
"plan.feature.marketing.reviews": "Recenzje",
"plan.feature.integrations.ai": "Integracje AI",
"plan.feature.integrations.ai.byok": "Własny klucz AI",
"plan.feature.integrations.email": "Wysyłka e-mail",
"plan.feature.integrations.email.test": "Testowa wysyłka e-mail",
"plan.feature.integrations.email.blast": "Masowa wysyłka e-mail",
"plan.feature.billing.overview": "Przegląd rozliczeń",
"plan.feature.billing.customer_portal": "Portal klienta Stripe",
"plan.feature.billing.quick_upgrade": "Szybka płatność ulepszenia",
"plan.feature.billing.plans_compare": "Porównaj plany",
"plan.feature.billing.checkout": "Płatność Stripe",
"plan.feature.settings.profile": "Ustawienia profilu",
"plan.feature.settings.company": "Ustawienia firmy",
"plan.feature.settings.alerts": "Preferencje alertów",
"plan.feature.settings.api_keys": "Klucze API",
"plan.feature.settings.team": "Zarządzanie zespołem",
"plan.feature.settings.team_invite": "Zaproś członka zespołu",
"plan.feature.support.center": "Centrum wsparcia",
"plan.feature.support.ticket_create": "Nowe zgłoszenie wsparcia",
"plan.feature.support.ticket_thread": "Wątek zgłoszenia wsparcia",
"plan.feature.capability.sku_cap": "Limit SKU produktu",
"plan.feature.capability.ai_credits": "Portfel kredytów AI",
"plan.feature.capability.ai_processing": "Zadania przetwarzania AI",
"plan.feature.capability.eprel": "Wzbogacenie EPREL",
"plan.feature.capability.normalize_specs_fill": "Normalizuj / specyfikacje / uzupełnij",
"plan.feature.capability.campaign_ai": "Generowanie kampanii AI",
"plan.feature.capability.email_live_send": "Live dostarczanie e-mail",
"plan.feature.capability.brand_ai_apply": "Głos marki w promptach AI",
"plan.feature.capability.seo_ai_rewrite": "Przepisanie SEO AI",
"plan.feature.capability.feed_source_limit": "Limit źródeł feedu (marketing)",
"plan.feature.capability.export_feed_limit": "Limit feedów eksportu (marketing)",
"plan.feature.capability.storage_limit": "Limit pamięci (marketing)",
"plan.feature.capability.api_access": "Dostęp do API REST (marketing)",
"plan.feature.capability.byok": "Własny klucz AI",
"billing.plan.free": "Bezpłatny",
"products.actions.selectAll": "Zaznacz wszystko",
"products.actions.upgradeSuffix": " · ulepsz",
"products.actions.upgradeRequired": "{label} (wymagane ulepszenie)",
"products.actions.free": "bezpłatne",
"products.actions.credits": "{credits} kredytów",
"products.actions.autoCategorizeTitle": "Automatyczne dodawanie kategoryzacji",
"products.actions.autoCategorizeBody": "{count} produkt(y) wymaga kategoryzacji do przetwarzania {types}",
"products.actions.aiLocked": "Opcje AI są zablokowane na Free. Ulepsz plan, aby przetwarzać tytuły/opisy.",
"products.actions.processSelected": "Przetwórz zaznaczone",
"products.actions.markProcessed": "Oznacz jako przetworzone",
"products.actions.resetUnprocessed": "Zresetuj do nieprzetworzonych",
"products.actions.export": "Eksportuj",
"products.upload.dropHint": "Upuść CSV tutaj lub kliknij, aby przeglądać",
"products.upload.supportsHint": "Obsługuje import produktów .csv (ean, name, category…)",
"products.export.chooseConfig": "Eksportuj {count} zaznaczonych produktów. Wybierz feed eksportu określający format i pola.",
"products.export.selectPlaceholder": "Wybierz feed eksportu…",
"fields.typeLabel": "Typ",
"fields.groupLabel": "Grupa",
"fields.selectGroup": "Wybierz grupę",
"fields.groupBelongsHint": "Grupa, do której należy to pole",
"fields.addFieldShort": "Dodaj pole",
"fields.enableRecommended": "Włącz zalecane",
"feeds.activated": "Aktywowano feed.",
"feeds.deactivated": "Dezaktywowano feed.",
"feeds.syncTimeout": "Synchronizuj timed out waiting for the server. The job may still finish — open Synchronizuj History to check status.",
"feeds.createdMapHint": "Utworzono feed. Zmapuj pola przed synchronizacją.",
"feeds.createdPlain": "Utworzono feed.",
"feeds.createdMapDesc": "Zmapuj kolumny źródłowe na pola produktu, potem synchronizuj.",
"feeds.lastLiveSync": "Ostatnia udana sync feedu: {when}",
"feeds.noLiveSyncProducts": "Brak udanej sync feedu. Katalog ostatnio zaktualizowany {when}.",
"feeds.noDataYet": "Brak sync lub danych katalogu.",
"products.filters.incomplete": "Niekompletne",
"products.filters.complete44": "Kompletne (4/4)",
"products.filters.missingName": "Brak nazwy",
"products.filters.missingDescription": "Brak opisu",
"products.filters.missingAttributes": "Brak atrybutów",
"products.filters.missingCategory": "Brak kategorii",
"products.filters.hasEprel": "Ma EPREL",
"products.filters.noEprel": "Brak EPREL",
"products.filters.priceChanged": "Zmieniono cenę",
"products.filters.stockChanged": "Zmieniono stan",
"products.filters.titleChanged": "Zmieniono tytuł",
"products.filters.newFromFeed": "Nowe z feedu",
"products.filters.otherFieldChange": "Inna zmiana pola",
"products.filters.sortUpdatedNewest": "Zaktualizowano (najnowsze)",
"products.filters.sortUpdatedOldest": "Zaktualizowano (najstarsze)",
"products.filters.sortNameAsc": "Nazwa (A-Z)",
"products.filters.sortNameDesc": "Nazwa (Z-A)",
"products.filters.searchPlaceholder": "Szukaj produktów...",
"products.filters.searchCategories": "Szukaj kategorii...",
"products.filters.selectFeed": "Wybierz feed",
"products.filters.loadingFeeds": "Ładowanie feedów…",
"products.table.loading": "Ładowanie produktów",
"products.table.uncategorized": "Bez kategorii",
"products.table.assignCategory": "Przypisz kategorię",
"products.table.changeCategory": "Zmień kategorię dla {name}",
"products.table.selectCategory": "Wybierz kategorię…",
"products.table.saveCategory": "Zapisz kategorię",
"products.table.cancelCategory": "Anuluj edycję kategorii",
"products.table.categoryRequired": "Wybierz kategorię",
"products.table.noCategoriesAvailable": "Brak kategorii — utwórz jedną w Katalogu",
"products.table.qualityUnavailable": "Jakość niedostępna",
"products.table.full": "Pełny",
"products.table.empty": "Puste",
"products.table.saveName": "Zapisz nazwę",
"products.table.cancelRename": "Anuluj zmianę nazwy",
"products.table.noSyncYet": "Brak sync",
"products.feedSync.feedAndWhen": "{feed} · {when}",
"products.feedSync.syncedWhen": "Zsynchronizowano {when}",
"products.table.productOptions": "Opcje produktu",
"products.edit.details": "Szczegóły produktu",
"products.edit.noEprel": "Brak id EPREL na tym produkcie.",
"products.edit.specsPresent": "Specyfikacje techniczne są obecne na tym produkcie.",
"products.edit.noEnrichedName": "Brak wzbogaconej nazwy",
"products.edit.resetName": "Zresetuj wzbogaconą nazwę do oryginału",
"products.edit.cannotClearName": "Oryginał jest pusty — nie można wyczyścić wzbogaconej nazwy przez PATCH",
"products.edit.showPreview": "Pokaż podgląd",
"products.edit.editHtml": "Edytuj HTML",
"products.edit.noEnrichedDescription": "Brak wzbogaconego opisu",
"products.edit.resetDescription": "Zresetuj wzbogacony opis do oryginału",
"products.edit.cannotClearDescription": "Oryginał jest pusty — nie można wyczyścić wzbogaconego opisu przez PATCH",
"products.edit.unknownFeed": "Nieznany feed",
"products.edit.noProcessedName": "Brak przetworzonej nazwy",
"products.edit.feedNamed": "Feed · {name}",
"products.edit.noAiDescription": "Brak opisu AI",
"products.edit.sourceLabel": "Etykieta źródła",
"products.edit.coverageTitle": "Ile spośród Nazwa, Opis, Atrybuty i Kategoria jest obecnych (feed lub przetworzone).",
"products.edit.coverageReady": "{count}/4 gotowe",
"products.edit.eprelPresentTitle": "Id European Product Registry for Energy Labelling (EPREL) jest obecne na tym produkcie.",
"products.edit.noEprelBadge": "Brak EPREL",
"products.edit.specsBadge": "Specyfikacje",
"products.edit.reviewBannerTitle": "Przejrzyj wzbogacone pola przed akceptacją",
"products.edit.reviewBannerHelp": "Użyj karty Przegląd, aby porównać oryginały z AI. Skróty: A akceptuj · R odrzuć · Alt+1/2 pole · ⌘/Ctrl+Enter zaakceptuj wszystko.",
"products.edit.tab.review": "Przejrzyj",
"products.edit.tab.details": "Szczegóły",
"products.edit.tab.content": "Treść",
"products.edit.tab.attributes": "Atrybuty",
"products.edit.tab.feed": "Feed",
"products.edit.changed": "Zmieniono",
"products.edit.matched": "Dopasowane",
"products.edit.original": "Oryginał",
"products.edit.enriched": "Wzbogacone",
"products.edit.discardName": "Odrzuć nazwę",
"products.edit.acceptName": "Zaakceptuj nazwę",
"products.edit.discardDescription": "Odrzuć opis",
"products.edit.acceptDescription": "Zaakceptuj opis",
"products.edit.noCategory": "No Kategoria",
"products.edit.whatsFilledIn": "Co jest wypełnione",
"products.edit.coverageLegend": "Szary = brak · Pomarańczowy = z feedu · Zielony = przetworzone",
"products.edit.feedSource": "Źródło feedu",
"products.edit.updatedRelative": "· zaktualizowano {when}",
"products.edit.viewAllFeedFields": "Zobacz all feed fields ({filled}/{total})",
"products.edit.productIdentity": "Produkt identity",
"products.edit.aiProcessedName": "Nazwa przetworzona przez AI",
"products.edit.originalName": "Nazwa oryginalna",
"products.edit.productIdSku": "Produkt ID / SKU",
"products.edit.rowUpdated": "Wiersz produktu zaktualizowany {when}",
"products.edit.noRawUpdateTime": "No raw produkt update time",
"products.edit.feedSyncLabel": "· sync feedu {when}",
"products.edit.neverRecorded": "nigdy nie zarejestrowano",
"products.edit.feedFilledCount": "{filled} wypełnione · {total} pól",
"products.edit.noMappedFeedFields": "No mapped feed fields on this produkt.",
"products.edit.fieldCol": "Pole",
"products.edit.valueFromFeed": "Wartość from feed",
"products.edit.core": "Rdzeń",
"products.edit.aiProcessedDescription": "AI-Processed Opis",
"products.edit.originalDescription": "Oryginalny opis",
"products.edit.noAttrsYet": "No atrybut or specification data on this produkt yet.",
"products.edit.fromFeed": "Z feedu",
"products.edit.feedAttrsHelp": "Wartości sparsowane z feedu (specyfikacje HTML, gwarancja, wymiary, EPREL). Klucze są łączone z attribute_key, gdy to możliwe.",
"products.edit.fieldsCount": "{count} pól",
"products.edit.originalAttributes": "Oryginalne atrybuty",
"products.edit.aiAttributes": "Atrybuty AI / wzbogacone",
"products.edit.editableAttributes": "Edytowalne atrybuty",
"products.edit.editableAttributesHelp": "Zmiany zapisują się w mapie atrybutów produktu. Wiersze feedu i AI poniżej pozostają jako odniesienie, gdy się różnią.",
"products.edit.addAttribute": "Dodaj atrybut",
"products.edit.attrKeyPlaceholder": "Klucz",
"products.edit.attrValuePlaceholder": "Wartość",
"products.edit.removeAttribute": "Usuń {key}",
"products.edit.noEditableAttrs": "Brak edytowalnych atrybutów. Dodaj parę klucz/wartość.",
"products.edit.reject": "Odrzuć",
"products.edit.accept": "Zaakceptuj",
"taskIndicator.title": "Zadania w tle",
"taskIndicator.activeOne": "1 zadanie w toku",
"taskIndicator.activeMany": "{count} zadań w toku",
"taskIndicator.view": "Zobacz postęp",
"taskIndicator.expand": "Rozwiń listę zadań",
"taskIndicator.collapse": "Zwiń listę zadań",
"taskIndicator.progressAria": "Postęp zadania {pct} procent",
"taskIndicator.progressCounts": "{done} z {total} produktów",
"attributes.assignBulk": "Przypisz do kategorii",
"products.filters.search": "Szukaj",
"products.filters.sortAria": "Sortowanie: {label}",
"products.filters.sortLabel": "Sortowanie: {label}",
"products.table.colIdName": "ID/Nazwa",
"products.table.colCoverage": "Pokrycie",
"products.table.coverageTitle": "Pokrycie: N=Nazwa, D=Opis, A=Atrybuty, C=Kategoria. Szary=brak, pomarańczowy=z feedu, zielony=przetworzone. EPREL pokazuje id rejestru etykiety energetycznej.",
"products.table.colFeed": "Feed",
"products.table.colCategory": "Kategoria",
"products.table.colStatus": "Stan",
"products.table.colUpdated": "Ostatnia aktualizacja",
"products.table.colActions": "Akcje",
"products.table.loadingDots": "Wczytywanie produktów…",
"products.table.noneFound": "Nie znaleziono: produkty.",
"products.table.selectProduct": "Wybierz produkt {name}",
"products.table.rename": "Zmień nazwę {name}",
"products.table.productNameAria": "Nazwa produktu dla {name}",
"products.table.selectPage": "Wybierz {count} on this page",
"products.table.deselectPage": "Odznacz {count} na tej stronie",
"categories.assign": "Przypisz",
"categories.titleFormulaSubtitle": "Skonfiguruj, jak mają być generowane tytuły produktów dla {name}",
"categories.addText": "Dodaj tekst",
"categories.aboutTitleFormulas": "O formułach tytułu",
"categories.aboutTitleFormulasHelp": "Tytuły są składane od lewej do prawej z poniższych elementów.",
"categories.variablesReplacedHelp": "Zmienne są zastępowane danymi produktu, gdy są dostępne. Brakujące wartości są pomijane.",
"categories.variableTypeHelp": "Dynamiczne pole z danych produktu (przykład: marka).",
"categories.textTypeHelp": "Tekst statyczny, który zawsze pojawia się tak, jak zapisano.",
"categories.assignTitleCopyHelp": "Użyj Przypisz, aby skopiować tę formułę do innych kategorii, które powinny mieć ten sam wzorzec tytułu.",
"categories.titleFormulaInvalid": "Ta strona formuły tytułu wymaga prawidłowej kategorii. Wróć do kategorii i ponownie otwórz Edytuj formułę tytułu.",
"categories.preview.title": "Podgląd tytułu",
"categories.preview.description": "Tak będą strukturyzowane tytuły Twoich produktów",
"categories.preview.exampleTab": "Podgląd przykładowy",
"categories.preview.structureTab": "Struktura formuły",
"categories.preview.noElements": "Nie dodano jeszcze elementów",
"categories.brandTips.title": "Wskazówki związane z marką",
"categories.brandTips.freePlan": "Zestaw marki można edytować w planie Free; zastosowanie AI odblokowuje się w płatnych planach.",
"categories.brandTips.editBrandKit": "Edytuj zestaw marki",
"categories.brandTips.emptyBefore": "Dodaj ton lub preferowane terminy w ",
"categories.brandTips.emptyAfter": ", aby zobaczyć wskazówki tutaj.",
"categories.brandTips.brandKit": "Zestaw marki",
"categories.brandTips.descGuidanceBefore": "Wskazówki z Twojego ",
"categories.brandTips.descGuidanceAfter": " dla sekcji opisu.",
"categories.formulaElementsTitle": "Elementy formuły",
"categories.formulaElementsHelp": "Przeciągnij i upuść elementy, aby zmienić ich kolejność",
"categories.noElementsAdded": "Nie dodano elementów",
"categories.addElementsHint": "Dodaj zmienne lub tekst z panelu po prawej",
"categories.editTextElementAria": "Edytuj element tekstowy {value}",
"categories.removeElementAria": "Usuń element {type} {value}",
"categories.tab.single": "Pojedynczy",
"categories.tab.bulk": "Masowe przesyłanie",
"categories.uniqueIdLabel": "Unikalny ID",
"categories.parentLabel": "Nadrzędna",
"categories.noneRoot": "Brak (główna)",
"categories.descriptionLabel": "Opis",
"categories.csvUploadHelp": "Prześlij CSV z kolumnami name, unique_id oraz opcjonalnie parent_unique_id i description.",
"categories.downloadTemplate": "Pobierz szablon",
"categories.variableNameKey": "Nazwa (klucz)",
"categories.displayName": "Nazwa wyświetlana",
"categories.exampleValue": "Wartość przykładowa",
"categories.variableExists": "Zmienna o nazwie \"{name}\" już istnieje.",
"categories.addVariable": "Dodaj zmienną",
"categories.updateVariable": "Aktualizuj zmienną",
"categories.col.displayName": "Nazwa wyświetlana",
"categories.col.key": "Klucz",
"categories.col.description": "Opis",
"categories.col.example": "Przykład",
"categories.noVariablesFound": "Nie znaleziono zmiennych",
"categories.availableVariables": "Dostępne zmienne",
"categories.manage": "Zarządzaj",
"categories.noVariablesMatch": "Żadna zmienna nie pasuje do „{query}”.",
"categories.noUnusedVariables": "Nie pozostały nieużywane zmienne. Dodaj własną zmienną lub usuń element, aby zwolnić jedną.",
"categories.exampleColon": "Przykład: {value}",
"categories.editVariableAria": "Edytuj {label}",
"categories.deleteVariableAria": "Usun {label}",
"categories.addVariableAria": "Dodaj {label}",
"categories.textLabel": "Tekst",
"categories.textAppearsAsWritten": "Ten tekst pojawi się w tytułach dokładnie tak, jak zapisano",
"categories.addTextButton": "Dodaj tekst",
"categories.updateTextButton": "Aktualizuj tekst",
"categories.structureDescriptionsFor": "Ustrukturyzuj opisy produktów dla {name}",
"categories.metaInformation": "Informacje meta",
"categories.metaInformationHelp": "Instrukcje używane przez AI do tagów tytułu SEO i meta opisu.",
"categories.metaTitleFormula": "Formuła meta tytułu",
"categories.metaTitleHint": "Wyświetlane w wynikach wyszukiwania i kartach przeglądarki (ok. 5060 znaków).",
"categories.metaDescriptionFormula": "Formuła meta opisu",
"categories.metaDescriptionHint": "Wyświetlane pod tytułem w wynikach wyszukiwania (ok. 120155 znaków).",
"categories.resetToDefault": "Przywróć domyślne",
"categories.descriptionSections": "Sekcje opisu",
"categories.descriptionSectionsHelp": "Przeciągnij sekcje, aby ustawić kolejność generowanego opisu.",
"categories.noSectionsYet": "Brak jeszcze sekcji",
"categories.addSectionsHint": "Dodaj nagłówek, akapit lub listę, aby zacząć.",
"categories.aiInstructions": "Instrukcje AI",
"categories.exportIdOptional": "ID eksportu (opcjonalne)",
"categories.exportIdUnique": "ID eksportu musi być unikalne",
"categories.addSection": "Dodaj sekcję",
"categories.aboutDescriptionFormulas": "O formułach opisu",
"categories.aboutDescriptionFormulasHelp": "Te instrukcje mówią AI, jak pisać opisy produktów w tej kategorii.",
"categories.sectionTypesHeading": "Typy sekcji",
"categories.sectionTypeHeadings": "Nagłówki (H1H4):",
"categories.sectionTypeHeadingsHelp": "Tytuły i podtytuły",
"categories.sectionTypeParagraphs": "Akapity:",
"categories.sectionTypeParagraphsHelp": "Główne bloki treści",
"categories.sectionTypeLists": "Listy punktowane:",
"categories.sectionTypeListsHelp": "Cechy i specyfikacje",
"categories.aiInstructionsHeading": "Instrukcje AI",
"categories.aiInstructionsBody": "Napisz jedno jasne zadanie na sekcję (co uwzględnić, ton, długość). Niejasne prompty dają niejasny tekst.",
"categories.exportIdsHeading": "ID eksportu",
"categories.exportIdsBody": "Opcjonalne ID mapują sekcję do feedów eksportu (na przykład short_description).",
"categories.assignDescCopyHelp": "Użyj Przypisz, aby skopiować ten szablon do innych kategorii o tej samej strukturze.",
"categories.descriptionFormulaInvalid": "Ta strona formuły opisu wymaga prawidłowej kategorii. Wróć do kategorii i ponownie otwórz Edytuj formułę opisu.",
"categories.sectionType.h1": "Nagłówek 1",
"categories.sectionType.h2": "Nagłówek 2",
"categories.sectionType.h3": "Nagłówek 3",
"categories.sectionType.h4": "Nagłówek 4",
"categories.sectionType.p": "Akapit",
"categories.sectionType.ul": "Lista punktowana",
"categories.aiGenerationPrompt": "Prompt generowania AI",
"categories.aiPromptOverrides": "Zastępuje firmowy prompt użytkownika ulepszania produktu dla {name}",
"categories.promptTemplate": "Szablon promptu",
"categories.promptTemplateHelp": "Używaj placeholderów jak {{name}} i {{description}}. Zostaw puste, aby użyć domyślnego firmowego z Integracje → AI.",
"categories.clear": "Wyczyść",
"categories.promptLabel": "Prompt",
"categories.charactersCount": "{count} znaków",
"categories.activeOverride": "· aktywne nadpisanie dla tej kategorii",
"categories.usingCompanyDefault": "· używane domyślne firmowe / wbudowane",
"categories.usingCompanyDefaultForLang": "· puste dla tego języka — obowiązuje domyślny firmy / wbudowany",
"categories.aiPromptSavedLang": "Zapisano prompt AI dla {lang}.",
"categories.aiPromptClearedLang": "Wyczyszczono prompt AI dla {lang} (zastosuje się domyślny firmy).",
"contentLang.switcherLabel": "Język treści",
"contentLang.primary": "główny",
"contentLang.hasOverride": "własny",
"contentLang.addLanguage": "Dodaj język…",
"contentLang.add": "Dodaj",
"contentLang.removeLanguage": "Usuń {lang}",
"contentLang.resultsHint": "Przełącz język, aby sprawdzić tytuły i opisy AI dla każdego języka treści.",
"contentLang.settingsTitle": "Języki treści",
"contentLang.settingsHelp": "Język główny jest używany domyślnie. Dodatkowe języki mają własne prompty i wyniki AI (każde uruchomienie zużywa kredyty).",
"ai.prompts.languageHelp": "Edytuj prompty firmowe według języka treści. Pusty język używa wbudowanej wartości domyślnej dla tego języka.",
"header.accountSettingsAria": "Ustawienia konta dla {email}",
"switcher.switchUserAria": "Przełącz użytkownika: {label}",
"switcher.unavailable": "Przełączanie użytkowników jest niedostępne w tym środowisku.",
"switcher.loadFailed": "Nie można wczytać użytkowników.",
"support.notifications.aria": "Powiadomienia wsparcia",
"support.notifications.ariaUnread": "Powiadomienia wsparcia, {count} nieprzeczytanych",
"time.never": "Nigdy",
"time.invalid": "Nieprawidłowa data",
"time.unknown": "Nieznana data",
"time.justNow": "przed chwilą",
"time.neverUsed": "Nigdy nie użyto",
"billing.plan.enterprise": "Enterprise",
"news.heading": "Aktualizacje platformy",
"news.subtitle": "Najnowsze funkcje i ulepszenia",
"news.keyFeatures": "Kluczowe funkcje:",
"news.badge.new": "Nowe",
"news.footer": "To na razie wszystko — zajrzyj po kolejnej wersji.",
"news.category.enhancement": "Ulepszenie",
"news.category.feature": "Funkcja",
"news.category.integration": "Integracja",
"news.category.newFeature": "Nowa funkcja",
"news.category.billing": "Rozliczenia",
"news.uxImprovements.description": "Lepsza użyteczność dzięki sterowaniu wycieczką, ulepszeniom API i lepszej nawigacji.",
"news.uxImprovements.f1": "Pomiń/ukryj wycieczkę",
"news.uxImprovements.f2": "Ulepszenia niezawodności API",
"news.uxImprovements.f3": "Lepsza nawigacja interfejsu",
"news.uxImprovements.f4": "Lepsza efektywność przepływu pracy",
"news.multiselect.title": "Obsługa atrybutów wielokrotnego wyboru",
"news.multiselect.description": "Produkty mogą mieć wiele wartości dla atrybutów typu lista.",
"news.multiselect.f1": "Typ atrybutu wielokrotnego wyboru",
"news.multiselect.f2": "Wybór wielu wartości przy edycji produktu",
"news.multiselect.f3": "Wiele wartości w jednym atrybucie",
"news.multiselect.f4": "Lepsza ekstrakcja pól wielokrotnego wyboru",
"news.multiselect.f5": "Lepsza zgodność feedów eksportu",
"news.csvEan.title": "Przesyłanie EAN z CSV",
"news.csvEan.description": "Przesyłaj pliki CSV z kodami EAN, by przetwarzać setki produktów naraz.",
"news.csvEan.f1": "Przesyłanie CSV przeciągnij i upuść",
"news.csvEan.f2": "Walidacja formatu EAN (EAN-8, EAN-13, UPC-12, GTIN-14)",
"news.csvEan.f3": "Automatyczne wykrywanie duplikatów",
"news.csvEan.f4": "Masowe przetwarzanie produktów",
"news.csvEan.f5": "Szczegółowe statystyki przetwarzania",
"news.brick.title": "Obsługa atrybutów kodu BRICK",
"news.brick.description": "System atrybutów z kodami BRICK do standaryzowanej klasyfikacji i eksportu.",
"news.brick.f1": "Obsługa atrybutów kodu BRICK",
"news.brick.f2": "Automatyczne formatowanie kodów w eksporcie",
"news.brick.f3": "Integracja kodów BRICK w feedach XML",
"news.brick.f4": "Ulepszenia zgodności feedów eksportu",
"news.apiV1.title": "Wydanie API v1",
"news.apiV1.description": "Nowe endpointy API v1 dla kategorii, atrybutów, feedów, produktów i eksportów.",
"news.apiV1.f1": "Endpointy RESTful API v1",
"news.apiV1.f2": "Zarządzanie kategoriami i atrybutami",
"news.apiV1.f3": "Tworzenie i zarządzanie feedami",
"news.apiV1.f4": "Przetwarzanie produktów przez API",
"news.apiV1.f5": "Programowy dostęp do feedów eksportu",
"news.apiV1.f6": "Uwierzytelnianie i autoryzacja",
"news.feedFiltering.title": "Filtrowanie feedów na stronie produktów",
"news.feedFiltering.description": "Strona produktów z optymalnym filtrowaniem feedów, stanami ładowania i lepszą wydajnością.",
"news.feedFiltering.f1": "Lepsze filtrowanie feedów",
"news.feedFiltering.f2": "Lepsze stany ładowania",
"news.feedFiltering.f3": "Zoptymalizowana wydajność zapytań",
"news.feedFiltering.f4": "Lepsza obsługa paginacji",
"news.feedFiltering.f5": "Ulepszenia funkcji eksportu",
"news.exportFeeds.title": "System feedów eksportu",
"news.exportFeeds.description": "Kompleksowy system feedów eksportu XML/CSV z własnymi konfiguracjami.",
"news.exportFeeds.f1": "Formaty eksportu XML i CSV",
"news.exportFeeds.f2": "Niestandardowe mapowanie pól",
"news.exportFeeds.f3": "Podgląd eksportu",
"news.exportFeeds.f4": "Eksport produktów oparty na zadaniach",
"news.exportFeeds.f5": "Integracja danych EPREL",
"news.exportFeeds.f6": "Publiczne adresy URL feedów eksportu",
"news.woocommerce.title": "Integracja WooCommerce",
"news.woocommerce.description": "Synchronizuj produkty, kategorie i atrybuty ze sklepami WooCommerce.",
"news.woocommerce.f1": "Konfiguracja poświadczeń sklepu",
"news.woocommerce.f2": "Mapowanie kategorii i atrybutów",
"news.woocommerce.f3": "Dwukierunkowa synchronizacja produktów",
"news.woocommerce.f4": "Opcje strategii dopasowania",
"news.eprel.title": "Integracja etykiet energetycznych EPREL",
"news.eprel.description": "Integracja z europejskim rejestrem etykiet energetycznych w celu pobierania danych.",
"news.eprel.f1": "Automatyczne przetwarzanie ID EPREL",
"news.eprel.f2": "Pobieranie obrazów etykiet energetycznych",
"news.eprel.f3": "Pobieranie kart energetycznych produktu",
"news.eprel.f4": "Ekstrakcja klasy energetycznej",
"news.eprel.f5": "Obsługa wielu języków",
"news.aiCategorization.title": "Ulepszona kategoryzacja produktów",
"news.aiCategorization.description": "System kategoryzacji AI z lepszą dokładnością i obsługą hierarchii.",
"news.aiCategorization.f1": "Hierarchiczna nawigacja kategorii",
"news.aiCategorization.f2": "Ocena pewności",
"news.aiCategorization.f3": "Obsługa wielu języków",
"news.aiCategorization.f4": "Automatyczna obsługa awaryjna",
"news.standardFields.title": "Zarządzanie polami standardowymi",
"news.standardFields.description": "Zarządzaj standardowymi polami produktu z grupami, walidacją i wartościami domyślnymi.",
"news.standardFields.f1": "Organizowanie w grupy pól",
"news.standardFields.f2": "Pola systemowe i niestandardowe",
"news.standardFields.f3": "Reguły walidacji pól",
"news.standardFields.f4": "Obsługa wartości domyślnych",
"news.standardFields.f5": "Automatyczna konfiguracja pól",
"news.billingSystem.title": "Rozliczenia oparte na kredytach",
"news.billingSystem.description": "Nowy system rozliczeń kredytowych ze śledzeniem użycia i elastycznymi opcjami płatności.",
"news.billingSystem.f1": "Przetwarzanie oparte na kredytach",
"news.billingSystem.f2": "Analityka użycia",
"news.billingSystem.f3": "Elastyczne cykle rozliczeniowe",
"news.billingSystem.f4": "Zarządzanie metodami płatności",
"news.billingSystem.f5": "Generowanie faktur",
"products.pageTitle": "Zarządzanie produktami",
"products.pageDescriptionStoresBefore": "Zarządzaj, przetwarzaj i optymalizuj katalog. Połącz sklep lub zaimportuj CSV przez",
"products.pageDescriptionBasic": "Zarządzaj, przetwarzaj i optymalizuj katalog. Importuj przez Feedy lub prześlij CSV.",
"products.keyboard.esc": "— zamknij panel edycji lub okna dialogowe",
"products.keyboard.toggle": "— przełącz tę wskazówkę",
"products.keyboard.reviewPrefix": "W panelu Needs Review:",
"products.keyboard.acceptAll": "zaakceptuj wszystko",
"products.keyboard.rejectShort": "odrzuć",
"products.keyboard.acceptFields": "zaakceptuj nazwę / opis",
"products.connectStore": "Połącz sklep",
"products.updating": "Aktualizacja…",
"products.needLinkedRaw": "Wybrane produkty wymagają powiązanego surowego produktu do przetworzenia.",
"products.selectToProcess": "Wybierz co najmniej jeden produkt do przetworzenia.",
"products.undoResetHint": "Cofnij przywraca produkt do nieprzetworzonego przez reset.",
"products.field.accepted": "Zaakceptowano {label} w produkcie.",
"products.field.acceptFailed": "Nie można zaakceptować {field}",
"products.field.discarded": "Odrzucono wzbogacenie {label}.",
"products.field.discardFailed": "Nie można odrzucić {field}",
"products.upgradeRequired": "Wymagane ulepszenie planu",
"products.upgradeBody": "Ta funkcja wymaga płatnego planu lub kredytów AI.",
"products.enrichment.rejectTitle": "Odrzucić wzbogacenie?",
"products.enrichment.rejectSelectedTitle": "Odrzucić wybrane produkty?",
"products.enrichment.resetTitle": "Zresetować do nieprzetworzonego?",
"products.selectedOnPage": "Wybrano {count} na tej stronie",
"products.selectionPageOnly": "Pokazano {shown} z {total} — wybór tylko na tej stronie",
"products.edit.coverageHint": "Ile spośród Nazwa, Opis, Atrybuty i Kategoria jest obecnych (feed lub przetworzone).",
"products.edit.noEprelShort": "Brak EPREL",
"products.edit.specs": "Specyfikacje",
"products.edit.reviewBannerBody": "Użyj karty Przegląd, aby porównać oryginały z AI. Skróty: A akceptuj · R odrzuć · Alt+1/2 pole · ⌘/Ctrl+Enter zaakceptuj wszystko.",
"products.edit.whatsFilled": "Co jest wypełnione",
"products.edit.legend": "Szary = brak · Pomarańczowy = z feedu · Zielony = przetworzone",
"products.edit.updatedAgo": "· zaktualizowano {relative}",
"products.edit.status": "Stan",
"products.edit.noRawUpdate": "No raw produkt update time",
"products.edit.feedSyncPart": "· synchronizacja feedu",
"products.edit.filledFields": "{filled} wypełnione · {total} pól",
"products.edit.noMappedFields": "No mapped feed fields on this produkt.",
"products.edit.emptyBadge": "Puste",
"products.edit.coreBadge": "Rdzeń",
"products.edit.feedAttrsHint": "Wartości sparsowane z feedu (specyfikacje HTML, gwarancja, wymiary, EPREL). Klucze są łączone z attribute_key, gdy to możliwe.",
"products.edit.originalAttrs": "Oryginalne atrybuty",
"products.edit.aiAttrs": "Atrybuty AI / wzbogacone",
"mapping.confidence.exact": "Dokładne",
"mapping.confidence.alias": "Alias",
"mapping.confidence.fuzzy": "Przybliżone",
"field.group.basic": "Informacje podstawowe",
"field.group.pricing": "Ceny",
"field.group.media": "Media",
"field.group.taxonomy": "Taksonomia",
"field.group.inventory": "Magazyn",
"field.group.attributes": "Atrybuty",
"field.group.shipping": "Wysyłka",
"field.group.compliance": "Zgodność",
"field.group.other": "Inne",
"common.yes": "Tak",
"common.no": "Nie",
"status.running": "Uruchomione",
"flash.admin.analyticsLoadFailed": "Nie udało się wczytać analityki",
"flash.admin.diagnosticsLoadFailed": "Nie udało się wczytać diagnostyki",
"flash.admin.diagnosticsUnavailable": "Diagnostyka nie jest dostępna w tym wdrożeniu. Skontaktuj się z administratorem platformy.",
"flash.admin.diagnosticsUnreachable": "Nie można połączyć się z API diagnostyki. Sprawdź, czy API działa i czy PUBLIC_API_URL / proxy Vite na nie wskazują.",
"admin.charts.statusEmpty": "Brak wierszy w tym podziale.",
"admin.charts.seriesEmpty": "Brak danych w tym okresie.",
"admin.charts.primaryDefault": "Główna",
"admin.charts.statusAria": "Rozkład statusów",
"admin.charts.seriesAria": "Wykres {label}",
"admin.analytics.lastNDaysAria": "Ostatnie {days} dni",
"admin.analytics.overview": "Przegląd",
"admin.analytics.overviewHint": "Sumy platformy z kontekstem okresu z ostatnich {days} dni.",
"admin.analytics.tokensInPeriod": "{tokens} w okresie · z przetworzonych produktów",
"admin.analytics.creditsRemainingOf": "{remaining} pozostało z {allocated} przydzielonych",
"admin.analytics.noJobsYet": "Brak zadań",
"admin.analytics.feedsVolume": "{input} wejściowych · {export} feedów eksportu",
"admin.analytics.usersCompaniesRaw": "{users} użytkowników · {companies} firm · {raw} surowych",
"admin.analytics.operations": "Operacje",
"admin.analytics.operationsHint": "Sygnały niezawodności, klucze i wzrost w wybranym okresie.",
"admin.analytics.failedCompleted": "{failed} nieudanych · {completed} ukończonych",
"admin.analytics.runningOver2h": "W toku > 2 godz. ·",
"admin.analytics.apiKeysTotal": "{total} łącznie (w tym unieważnione)",
"admin.analytics.signupsDetail": "użytkownicy · {companies} firm · {tickets} otwartych/oczekujących ticketów",
"admin.analytics.providerMix": "Mix dostawców",
"admin.analytics.providerMixHint": "Zużycie tokenów według sposobu konfiguracji poświadczeń AI.",
"admin.analytics.productsJobs": "{products} produktów · {jobs} zadań",
"admin.analytics.trends": "Trendy",
"admin.analytics.trendsHint": "Serie dzienne tokenów, dostawców, zadań i rejestracji.",
"admin.analytics.tokensByDayHint": "Tokeny z ukończonego przetwarzania produktów (druga seria = produkty tego dnia)",
"admin.analytics.seriesTokens": "Tokeny",
"admin.analytics.seriesProducts": "Produkty",
"admin.analytics.emptyTokens": "Brak przetworzonych produktów z tokenami w tym okresie.",
"admin.analytics.tokensByProviderHint": "Podział dzienny: wewnętrzny / popularny / własny (wg typu dostawcy)",
"admin.analytics.emptyProviderTokens": "Brak tokenów oznaczonych dostawcą w tym okresie.",
"admin.analytics.providerDayTip": "{date}: Wewnętrzny {internal} · Popularny {popular} · Własny {custom}",
"admin.analytics.seriesCreated": "Utworzono",
"admin.analytics.seriesFailed": "Niepowodzenie",
"admin.analytics.emptyJobsSeries": "Nie utworzono zadań przetwarzania w tym okresie.",
"admin.analytics.seriesUsers": "Użytkownicy",
"admin.analytics.seriesCompanies": "Firmy",
"admin.analytics.emptySignups": "Brak rejestracji użytkowników lub firm w tym okresie.",
"admin.analytics.statusMix": "Mix statusów",
"admin.analytics.statusMixHint": "Historyczne kolejki zadań, sync feedów i wsparcia.",
"admin.analytics.jobStatus": "Status zadań",
"admin.analytics.feedSyncQueue": "Kolejka sync feedów",
"admin.analytics.supportTickets": "Tickety wsparcia",
"admin.analytics.emptyJobStatus": "Brak zadań przetwarzania.",
"admin.analytics.emptyFeedSync": "Brak zadań sync feedów.",
"admin.analytics.emptyTickets": "Brak ticketów wsparcia.",
"admin.analytics.usageDetail": "Szczegóły użycia",
"admin.analytics.usageDetailHint": "Tryby dostawców, czołowe firmy i podsumowania cykli rozliczeniowych.",
"admin.analytics.companyUsage": "Użycie firm",
"admin.analytics.jobsCol": "Zadania",
"admin.analytics.billingCycles": "Rozliczenia cycles",
"admin.analytics.billingCyclesHint": "Historyczne podsumowania przeszłych cykli rozliczeniowych (mogą opóźniać się względem aktywnej subskrypcji)",
"admin.analytics.periodCol": "Okres",
"admin.analytics.creditsCol": "Kredyty",
"admin.analytics.dataNotes": "Uwagi o danych",
"admin.diagnostics.endpointNotMounted": "Endpoint niezamontowany",
"admin.diagnostics.noPayload": "Brak danych diagnostycznych",
"admin.diagnostics.unavailableShort": "Diagnostyka nie jest dostępna w tym wdrożeniu.",
"admin.diagnostics.fixThenRefresh": "Napraw błąd powyżej, a następnie odśwież.",
"admin.diagnostics.refreshOrConfirm": "Odśwież lub potwierdź, że API działa poprawnie.",
"admin.diagnostics.systemStatus": "Status systemu",
"admin.diagnostics.snapshot": "Migawka {when}",
"admin.diagnostics.queueTotal": "{total} łącznie",
"admin.diagnostics.queueStuck": "processing_jobs · zablokowane w toku (>2 godz.):",
"admin.diagnostics.driver": "Sterownik: {driver}",
"admin.diagnostics.openStuck": "Otwórz zablokowane produkty",
"admin.diagnostics.configPresence": "Obecność konfiguracji",
"admin.diagnostics.configHint": "Tylko wartości logiczne · env {env} · RPM {rpm} · batch {batch} · retries {retries}",
"admin.diagnostics.cutoverTitle": "Gotowość cutover",
"admin.diagnostics.cutoverHint": "Tylko flagi obecności — wskazówki goose, wiek workera, brakujące plany. Bez live Stripe/SMTP.",
"admin.diagnostics.cutoverGoose": "Goose",
"admin.diagnostics.cutoverGooseVersion": "version_max {max} · oczekiwane ≥ {min}",
"admin.diagnostics.cutoverGooseRequired": "Wymagane migracje",
"admin.diagnostics.cutoverWorker": "Worker",
"admin.diagnostics.cutoverWorkerAge": "ostatnio {age}s temu · nieaktualne po {stale}s",
"admin.diagnostics.cutoverWorkerAgeUnknown": "wiek niedostępny · nieaktualne po {stale}s",
"admin.diagnostics.cutoverPlansMissing": "Firmy bez planu",
"admin.diagnostics.cutoverPlansUnavailable": "Licznik planów niedostępny",
"admin.diagnostics.cutoverApiKeysMissing": "Companies without API keys",
"admin.diagnostics.cutoverApiKeysUnavailable": "API key inventory unavailable",
"admin.diagnostics.cutoverApiKeysHint": "Legacy keys were not migrated — tenants must create a new dk_ key (no fake import).",
"admin.diagnostics.cutoverApiKeysLink": "List companies needing reissue",
"admin.diagnostics.cutoverApplied": "zastosowana",
"admin.diagnostics.cutoverPending": "oczekująca",
"admin.diagnostics.etlInventoryTitle": "ETL gap inventory",
"admin.diagnostics.etlInventoryHint": "Read-only COUNTs — no fake import. Blob bytes and default job history stay unmigrated unless ops ran optional domain jobs.",
"admin.diagnostics.etlInventoryFiles": "Files metadata-only",
"admin.diagnostics.etlInventoryFilesDetail": "metadata-only / total file rows",
"admin.diagnostics.etlInventoryJobs": "Jobs migrated tag",
"admin.diagnostics.etlInventoryJobsDefault": "jobs domain not run (empty history expected)",
"admin.diagnostics.etlInventoryJobsRan": "optional jobs domain backfill detected",
"admin.diagnostics.etlInventoryTasks": "Tasks rows",
"admin.diagnostics.etlInventoryTasksDetail": "legacy task history present in Postgres",
"admin.diagnostics.recentJobs": "Ostatnie zadania",
"admin.diagnostics.recentAiFailures": "Ostatnie błędy AI wsparcia",
"admin.diagnostics.aiFailuresHint": "support_ticket_activity · kind=ai_failed",
"admin.diagnostics.relatedTools": "Powiązane narzędzia ops",
"admin.diagnostics.toolStuckTitle": "Zablokowane produkty",
"admin.diagnostics.toolStuckDesc": "Czyszczenie zadań działających dłużej niż 2 godziny.",
"admin.diagnostics.toolOrphanTitle": "Orphan processed",
"admin.diagnostics.toolOrphanDesc": "Cutover ops #7 — dry-run report, then confirm delete.",
"admin.diagnostics.toolAnalyticsTitle": "Analityka",
"admin.diagnostics.toolAnalyticsDesc": "Trendy i wykresy użycia platformy.",
"admin.diagnostics.toolBootstrapTitle": "Bootstrap",
"admin.diagnostics.toolBootstrapDesc": "Potwierdź dostęp administratora platformy dla tego konta.",
"admin.diagnostics.toolSettingsTitle": "Ustawienia",
"admin.diagnostics.toolSettingsDesc": "Poczta, AI i tryb systemu platformy.",
"admin.diagnostics.config.maintenance_mode": "Tryb konserwacji",
"admin.diagnostics.config.read_only_mode": "Tryb tylko do odczytu",
"admin.diagnostics.config.session_secure": "Bezpieczne cookie sesji",
"admin.diagnostics.config.smtp_enabled": "SMTP włączone",
"admin.diagnostics.config.email_dry_run": "Email dry-run",
"admin.diagnostics.config.smtp_host_set": "Host SMTP ustawiony",
"admin.diagnostics.config.stripe_mock": "Stripe mock",
"admin.diagnostics.config.eprel_enabled": "EPREL włączone",
"admin.diagnostics.config.upload_dir_configured": "Katalog uploadu skonfigurowany",
"admin.diagnostics.config.trusted_proxies_configured": "Zaufane proxy ustawione",
"admin.diagnostics.config.web_origin_set": "Pochodzenie web ustawione",
"admin.diagnostics.config.public_api_url_set": "Publiczny URL API ustawiony",
"admin.diagnostics.config.token_signing_secret_set": "Sekret podpisu tokenów ustawiony",
"admin.diagnostics.config.openai_key_set": "Klucz OpenAI ustawiony",
"admin.diagnostics.config.pinecone_key_set": "Klucz Pinecone ustawiony",
"admin.diagnostics.config.stripe_secret_set": "Sekret Stripe ustawiony",
"admin.diagnostics.config.stripe_webhook_secret_set": "Sekret webhook Stripe ustawiony",
"admin.diagnostics.config.stripe_mock_rejected_in_prod": "Mock Stripe odrzucony w produkcji",
"admin.diagnostics.config.credentials_encryption_key_set": "Klucz szyfrowania poświadczeń ustawiony",
"categories.selectAll": "Zaznacz wszystko",
"categories.selectedCount": "{count} wybrano",
"categories.noMatchingCategories": "Brak pasujących kategorii",
"categories.assigningProgress": "Przypisywanie… {progress}%",
"categories.assignToCount": "Przypisz do {count}",
"categories.aiPromptSavedForCategory": "Dla tej kategorii zapisano prompt generowania AI.",
"categories.titleAndDescriptionFormulasSaved": "Formuły tytułu i opisu są zapisane dla tej kategorii.",
"categories.titleFormulaSavedForCategory": "Dla tej kategorii zapisano formułę tytułu.",
"categories.descriptionFormulaSavedForCategory": "Dla tej kategorii zapisano formułę opisu.",
"site.account": "Konto",
"site.goToApp": "Przejdź do aplikacji",
"site.logIn": "Zaloguj się",
"site.getStarted": "Zacznij",
"site.nav.primary": "Główna",
"site.nav.mobile": "Mobilna",
"site.nav.home": "Strona główna",
"site.nav.pricing": "Cennik",
"site.nav.apiDocs": "Dokumentacja API",
"seo.home.title": "Descrybe — Przekształć feedy dostawców w gotowe karty produktów",
"seo.home.description": "Podłącz feedy CSV lub XML dostawców, przypisz je do swoich kategorii i atrybutów, generuj tytuły i opisy według swoich reguł oraz eksportuj lub synchronizuj z WooCommerce.",
"seo.pricing.title": "Cennik — Free, Starter, Growth, Business | Descrybe",
"seo.pricing.description": "Zacznij za darmo z 100 produktami i mapowaniem feedów. Plany płatne dodają tytuły i opisy AI, więcej SKU, feedy eksportowe i sync WooCommerce — od 49 $/mies. Enterprise dla nieograniczonych katalogów.",
"seo.privacy.title": "Polityka prywatności | Descrybe",
"seo.privacy.description": "Jak Descrybe zbiera, wykorzystuje i chroni dane konta, katalogi produktów oraz feedy dostawców podczas korzystania z naszej platformy danych produktowych.",
"seo.terms.title": "Regulamin świadczenia usług | Descrybe",
"seo.terms.description": "Warunki korzystania z Descrybe: import feedów, wzbogacanie katalogu, treści wspierane przez AI, eksporty oraz synchronizacja z WooCommerce dla Twojej firmy.",
"seo.features.title": "Funkcje — Feedy, wzbogacanie i eksport | Descrybe",
"seo.features.description": "Dowiedz się, jak Descrybe importuje feedy dostawców, mapuje pola na Twoją taksonomię, wzbogaca dane produktów i dostarcza katalogi przez feedy eksportowe, WooCommerce lub API.",
"pricing.page.eyebrow": "Cennik",
"pricing.page.title": "Proste plany dla rosnących katalogów",
"pricing.page.lead": "Zacznij za darmo od mapowania feedów i podstawowego czyszczenia. Ulepsz, gdy potrzebujesz tytułów i opisów AI, większej liczby produktów, feedów eksportu lub synchronizacji WooCommerce — od Starter do Enterprise.",
"pricing.page.subscribedBefore": "Już masz subskrypcję? Zarządzaj użyciem w",
"pricing.page.subscribedMid": "lub porównaj plany w",
"pricing.page.plansLink": "Plany",
"pricing.page.subscribedAfter": ".",
"legal.lastUpdated": "Ostatnia aktualizacja: {date}",
"legal.backHome": "← Powrót do strony głównej",
"legal.emailLabel": "E-mail:",
"legal.postalLabel": "Adres pocztowy:",
"legal.privacy.title": "Polityka prywatności",
"legal.privacy.intro.h": "Wprowadzenie",
"legal.privacy.intro.p1": "W Descrybe (\"my\", \"nasz\" lub \"nas\") szanujemy Twoją prywatność i zobowiązujemy się chronić Twoje dane osobowe. Niniejsza Polityka prywatności wyjaśnia, w jaki sposób zbieramy, wykorzystujemy, ujawniamy i chronimy Twoje informacje, gdy korzystasz z platformy danych produktowych Descrybe oraz powiązanych usług (łącznie: \"Usługi\").",
"legal.privacy.intro.p2": "Uzyskując dostęp do naszych Usług lub korzystając z nich, akceptujesz praktyki opisane w niniejszej Polityce prywatności. Jeśli nie zgadzasz się z politykami i praktykami tutaj opisanymi, nie korzystaj z naszych Usług.",
"legal.privacy.collect.h": "Informacje, które zbieramy",
"legal.privacy.collect.lead": "Zbieramy różne rodzaje informacji od użytkowników i o użytkownikach naszych Usług, w tym:",
"legal.privacy.collect.personal.h": "Dane osobowe",
"legal.privacy.collect.personal.p": "Podczas rejestracji konta zbieramy informacje, które mogą służyć do Twojej identyfikacji, takie jak imię i nazwisko, adres e-mail, numer telefonu, nazwa firmy oraz dane rozliczeniowe. Zbieramy te informacje bezpośrednio od Ciebie, gdy nam je przekazujesz.",
"legal.privacy.collect.userData.h": "Dane użytkownika",
"legal.privacy.collect.userData.p": "W celu świadczenia naszych Usług zbieramy i przetwarzamy dane produktów, feedy dostawców, opisy produktów oraz inne treści, które ładujesz, wprowadzasz lub w inny sposób przesyłasz na naszą platformę. Może to obejmować atrybuty produktów, struktury taksonomii, szablony oraz inne dane niezbędne do działania naszych Usług.",
"legal.privacy.collect.usage.h": "Informacje o użytkowaniu",
"legal.privacy.collect.usage.p": "Automatycznie zbieramy pewne informacje o Twoim urządzeniu oraz o tym, jak korzystasz z naszych Usług, w tym adres IP, typ urządzenia, typ przeglądarki, system operacyjny, godziny dostępu, wyświetlone strony, używane funkcje oraz inną aktywność systemu. Wykorzystujemy te informacje do ulepszania naszych Usług i doświadczenia użytkownika.",
"legal.privacy.collect.cookies.h": "Pliki cookie i technologie śledzące",
"legal.privacy.collect.cookies.p": "Używamy plików cookie, web beaconów oraz podobnych technologii śledzących do zbierania informacji o Twojej aktywności przeglądania na naszej stronie. Możesz kontrolować pliki cookie za pomocą ustawień przeglądarki i innych narzędzi. Należy jednak pamiętać, że zablokowanie niektórych plików cookie może uniemożliwić korzystanie ze wszystkich funkcji naszych Usług.",
"legal.privacy.use.h": "Jak wykorzystujemy Twoje informacje",
"legal.privacy.use.lead": "Wykorzystujemy zbierane informacje do różnych celów, w tym:",
"legal.privacy.use.li1": "Świadczenia, utrzymania i ulepszania naszych Usług",
"legal.privacy.use.li2": "Przetwarzania transakcji oraz wysyłania powiązanych informacji, w tym potwierdzeń, faktur i powiadomień serwisowych",
"legal.privacy.use.li3": "Opracowywania nowych produktów, usług, funkcji i funkcjonalności",
"legal.privacy.use.li4": "Personalizacji Twojego doświadczenia oraz dostarczania treści i funkcji odpowiadających Twoim zainteresowaniom",
"legal.privacy.use.li5": "Odpowiadania na Twoje prośby, uwagi i pytania",
"legal.privacy.use.li6": "Wysyłania Ci powiadomień technicznych, aktualizacji, alertów bezpieczeństwa oraz komunikatów wsparcia i administracyjnych",
"legal.privacy.use.li7": "Monitorowania i analizy trendów, użytkowania oraz aktywności w związku z naszymi Usługami",
"legal.privacy.use.li8": "Wykrywania, badania i zapobiegania transakcjom oszukańczym oraz innym nielegalnym działaniom",
"legal.privacy.use.li9": "Ochrony naszych praw, własności i bezpieczeństwa, a także praw, własności i bezpieczeństwa naszych użytkowników lub innych osób",
"legal.privacy.use.li10": "Wypełniania obowiązków prawnych oraz egzekwowania naszego regulaminu świadczenia usług",
"legal.privacy.ai.h": "AI i uczenie maszynowe",
"legal.privacy.ai.p1": "Nasze Usługi wykorzystują technologie sztucznej inteligencji i uczenia maszynowego do przetwarzania danych produktów, generowania treści oraz oferowania innych funkcji automatycznych. Dane, które przekazujesz naszym Usługom, mogą być wykorzystywane do trenowania i ulepszania naszych modeli AI. Stosujemy jednak odpowiednie zabezpieczenia w celu ochrony Twoich danych i zachowania ich poufności.",
"legal.privacy.ai.p2": "Nie wykorzystujemy informacji umożliwiających identyfikację osoby do trenowania naszych ogólnych modeli AI bez Twojej wyraźnej zgody. Dane produktów wykorzystywane do trenowania AI są anonimizowane i agregowane, o ile jest to możliwe.",
"legal.privacy.share.h": "Jak udostępniamy Twoje informacje",
"legal.privacy.share.lead": "Możemy udostępniać Twoje informacje w następujących okolicznościach:",
"legal.privacy.share.providers.h": "Dostawcy usług",
"legal.privacy.share.providers.p": "Możemy udostępniać Twoje informacje zewnętrznym dostawcom, usługodawcom, wykonawcom lub agentom, którzy świadczą usługi w naszym imieniu, takie jak przetwarzanie płatności, analiza danych, wysyłka e-maili, hosting, obsługa klienta oraz wsparcie marketingowe.",
"legal.privacy.share.transfers.h": "Transfery biznesowe",
"legal.privacy.share.transfers.p": "Jeśli uczestniczymy w fuzji, przejęciu, finansowaniu, reorganizacji, upadłości lub sprzedaży aktywów przedsiębiorstwa, Twoje informacje mogą zostać przekazane w ramach takiej transakcji. Poinformujemy Cię o wszelkich takich zmianach własności lub kontroli nad Twoimi danymi osobowymi.",
"legal.privacy.share.legal.h": "Wymogi prawne",
"legal.privacy.share.legal.p": "Możemy ujawnić Twoje informacje, jeśli wymaga tego prawo lub w odpowiedzi na ważne wnioski organów publicznych (np. sądu lub organu rządowego). Możemy również ujawnić Twoje informacje w celu egzekwowania naszego regulaminu świadczenia usług, ochrony naszych praw, prywatności, bezpieczeństwa lub własności i/lub praw, prywatności, bezpieczeństwa lub własności naszych podmiotów powiązanych, użytkowników lub innych osób.",
"legal.privacy.share.consent.h": "Za Twoją zgodą",
"legal.privacy.share.consent.p": "Możemy udostępniać Twoje informacje stronom trzecim, gdy wyraziłeś na to zgodę.",
"legal.privacy.security.h": "Bezpieczeństwo danych",
"legal.privacy.security.p1": "Wdrożyliśmy odpowiednie środki techniczne i organizacyjne zaprojektowane w celu ochrony Twoich danych osobowych przed przypadkową utratą oraz przed nieuprawnionym dostępem, wykorzystaniem, zmianą i ujawnieniem. Wszystkie informacje, które nam przekazujesz, są przechowywane na bezpiecznych serwerach za zaporami sieciowymi.",
"legal.privacy.security.p2": "Bezpieczeństwo Twoich informacji zależy również od Ciebie. Gdy udostępniliśmy Ci (lub gdy wybrałeś) hasło umożliwiające dostęp do określonych części naszych Usług, jesteś odpowiedzialny za zachowanie poufności tego hasła. Prosimy, abyś nie udostępniał swojego hasła nikomu.",
"legal.privacy.security.p3": "Niestety, przesyłanie informacji przez Internet nie jest całkowicie bezpieczne. Chociaż dokładamy wszelkich starań, aby chronić Twoje dane osobowe, nie możemy zagwarantować bezpieczeństwa danych osobowych przesyłanych do naszych Usług. Wszelkie przesyłanie danych osobowych odbywa się na Twoje własne ryzyko.",
"legal.privacy.rights.h": "Twoje prawa i opcje",
"legal.privacy.rights.lead": "Staramy się zapewniać Ci wybór w zakresie danych osobowych, które nam przekazujesz. W zależności od Twojej lokalizacji możesz mieć określone prawa dotyczące swoich danych osobowych, w tym:",
"legal.privacy.rights.li1": "Dostęp do swoich danych osobowych i ich aktualizacja",
"legal.privacy.rights.li2": "Żądanie usunięcia swoich danych osobowych",
"legal.privacy.rights.li3": "Sprzeciw lub ograniczenie przetwarzania swoich danych osobowych",
"legal.privacy.rights.li4": "Przenoszenie danych",
"legal.privacy.rights.li5": "Wycofanie zgody (gdy ma zastosowanie)",
"legal.privacy.rights.footer": "Aby skorzystać ze swoich praw, skontaktuj się z nami, korzystając z danych kontaktowych podanych na końcu niniejszej Polityki prywatności. Należy pamiętać, że niektóre z tych praw mogą być ograniczone lub nie mieć zastosowania w zależności od Twojej lokalizacji i konkretnych okoliczności.",
"legal.privacy.retention.h": "Przechowywanie danych",
"legal.privacy.retention.p1": "Będziemy przechowywać Twoje dane osobowe przez okres niezbędny do realizacji celów opisanych w niniejszej Polityce prywatności, chyba że prawo wymaga lub zezwala na dłuższy okres przechowywania. Przy ustalaniu czasu przechowywania Twoich informacji bierzemy pod uwagę ilość, charakter i wrażliwość informacji, potencjalne ryzyko szkody wynikające z nieuprawnionego wykorzystania lub ujawnienia, cele przetwarzania oraz obowiązujące wymogi prawne.",
"legal.privacy.retention.p2": "Możemy przechowywać pewne informacje po zamknięciu Twojego konta, między innymi w celu wypełnienia naszych obowiązków prawnych, rozstrzygania sporów oraz egzekwowania naszych umów.",
"legal.privacy.intl.h": "Międzynarodowe transfery danych",
"legal.privacy.intl.p1": "Twoje dane osobowe mogą być przekazywane i przetwarzane w krajach innych niż kraj, w którym mieszkasz. Takie kraje mogą mieć inne przepisy o ochronie danych niż Twój kraj.",
"legal.privacy.intl.p2": "Jeśli przekazujemy Twoje dane osobowe do krajów poza Europejskim Obszarem Gospodarczym lub innych regionów z kompleksowymi przepisami o ochronie danych, zapewnimy odpowiednie zabezpieczenia chroniące Twoje dane osobowe oraz zgodność transferu z obowiązującymi przepisami o ochronie danych.",
"legal.privacy.children.h": "Prywatność osób niepełnoletnich",
"legal.privacy.children.p": "Nasze Usługi nie są przeznaczone dla osób poniżej 16. roku życia i nie zbieramy świadomie danych osobowych od osób poniżej 16. roku życia. Jeśli odkryjemy, że zebraliśmy lub otrzymaliśmy dane osobowe od osoby poniżej 16. roku życia bez weryfikacji zgody rodzicielskiej, usuniemy te informacje. Jeśli uważasz, że możemy posiadać informacje od lub o osobie poniżej 16. roku życia, skontaktuj się z nami.",
"legal.privacy.changes.h": "Zmiany w naszej Polityce prywatności",
"legal.privacy.changes.p1": "Możemy od czasu do czasu aktualizować naszą Politykę prywatności. Jeśli wprowadzimy istotne zmiany w sposobie przetwarzania danych osobowych użytkowników, powiadomimy Cię e-mailem na adres wskazany na Twoim koncie i/lub poprzez powiadomienie na naszej stronie internetowej.",
"legal.privacy.changes.p2": "Data ostatniej aktualizacji Polityki prywatności jest wskazana w górnej części strony. Jesteś odpowiedzialny za zapewnienie, że dysponujemy aktualnym, aktywnym i możliwym do doręczenia adresem e-mail, oraz za okresowe odwiedzanie naszej strony internetowej i niniejszej Polityki prywatności w celu sprawdzenia zmian.",
"legal.privacy.contact.h": "Kontakt",
"legal.privacy.contact.lead": "Jeśli masz pytania lub wątpliwości dotyczące naszej Polityki prywatności lub naszych praktyk w zakresie danych, skontaktuj się z nami pod adresem:",
"legal.terms.title": "Regulamin świadczenia usług",
"legal.terms.s1.h": "1. Akceptacja warunków",
"legal.terms.s1.p": "Uzyskując dostęp do platformy danych produktowych Descrybe oraz powiązanych usług (łącznie: \"Usługi\") lub korzystając z nich, zgadzasz się na związanie niniejszym Regulaminem świadczenia usług oraz wszystkimi obowiązującymi przepisami prawa. Jeśli nie zgadzasz się z którymkolwiek z tych warunków, korzystanie z Usług lub dostęp do nich jest zabroniony.",
"legal.terms.s2.h": "2. Licencja na korzystanie",
"legal.terms.s2.p1": "Z zastrzeżeniem przestrzegania niniejszego Regulaminu świadczenia usług, Descrybe udziela Ci ograniczonej, niewyłącznej, niezbywalnej i odwołalnej licencji na dostęp do Usług i korzystanie z nich w celach biznesowych.",
"legal.terms.s2.lead": "Niniejsza licencja nie obejmuje:",
"legal.terms.s2.li1": "Modyfikowania lub kopiowania Usług ani jakichkolwiek ich treści",
"legal.terms.s2.li2": "Korzystania z Usług w jakimkolwiek celu komercyjnym innym niż autoryzowane korzystanie biznesowe",
"legal.terms.s2.li3": "Próby dekompilacji lub inżynierii wstecznej jakiegokolwiek oprogramowania zawartego w Usługach",
"legal.terms.s2.li4": "Usuwania jakichkolwiek informacji o prawach autorskich lub własności z materiałów",
"legal.terms.s2.li5": "Przekazywania materiałów innej osobie lub \"odzwierciedlania\" materiałów na jakimkolwiek innym serwerze",
"legal.terms.s2.p2": "Niniejsza licencja wygaśnie automatycznie w przypadku naruszenia któregokolwiek z tych ograniczeń i może zostać wypowiedziana przez Descrybe w dowolnym momencie.",
"legal.terms.s3.h": "3. Subskrypcja i płatność",
"legal.terms.s3.p1": "Dostęp do Usług może wymagać płatnej subskrypcji. Warunki płatności zostaną określone w trakcie procesu subskrypcji. Wszystkie płatności są bezzwrotne, chyba że Descrybe określi inaczej na piśmie.",
"legal.terms.s3.p2": "Descrybe zastrzega sobie prawo do zmiany opłat abonamentowych z rozsądnym wyprzedzeniem. Dalsze korzystanie z Usług po zmianie opłaty stanowi akceptację nowych opłat.",
"legal.terms.s4.h": "4. Treści użytkownika",
"legal.terms.s4.p1": "Zachowujesz wszystkie prawa do wszelkich treści, które przesyłasz, publikujesz lub wyświetlasz w Usługach lub za ich pośrednictwem (\"Treści użytkownika\"). Przekazując Treści użytkownika do Descrybe, udzielasz Descrybe światowej, niewyłącznej i nieodpłatnej licencji na używanie, reprodukowanie, modyfikowanie, adaptowanie, publikowanie, tłumaczenie i dystrybucję takich treści w związku ze świadczeniem Usług.",
"legal.terms.s4.lead": "Oświadczasz i gwarantujesz, że:",
"legal.terms.s4.li1": "Posiadasz lub kontrolujesz wszystkie prawa do Treści użytkownika, które przekazujesz",
"legal.terms.s4.li2": "Treści użytkownika nie naruszają niniejszego Regulaminu świadczenia usług",
"legal.terms.s4.li3": "Treści użytkownika nie spowodują szkody żadnej osobie ani podmiotowi",
"legal.terms.s5.h": "5. Sztuczna inteligencja",
"legal.terms.s5.p1": "Usługi wykorzystują technologie sztucznej inteligencji i uczenia maszynowego. Przyjmujesz do wiadomości, że treści generowane przez AI mogą nie być doskonałe, i zgadzasz się przeglądać wszystkie treści generowane przez AI przed ich wykorzystaniem w swojej działalności.",
"legal.terms.s5.p2": "Descrybe może wykorzystywać zanonimizowane i zagregowane Treści użytkownika do trenowania i ulepszania naszych modeli AI, z zastrzeżeniem naszej Polityki prywatności. Możesz zrezygnować z wykorzystywania swoich danych do trenowania AI, kontaktując się z nami.",
"legal.terms.s6.h": "6. Własność intelektualna",
"legal.terms.s6.p": "Usługi oraz ich oryginalna treść, funkcje i funkcjonalność są własnością Descrybe i są chronione międzynarodowymi przepisami o prawie autorskim, znakach towarowych, patentach, tajemnicach handlowych oraz innymi prawami własności intelektualnej lub prawami własności.",
"legal.terms.s7.h": "7. Wyłączenie gwarancji",
"legal.terms.s7.p1": "Usługi są świadczone \"tak jak są\" i \"w miarę dostępności\". Descrybe nie składa żadnych gwarancji, wyraźnych ani dorozumianych, i niniejszym zrzeka się wszelkich gwarancji, w tym — bez ograniczeń — dorozumianych gwarancji przydatności handlowej, przydatności do określonego celu, braku naruszeń lub przebiegu realizacji.",
"legal.terms.s7.p2": "Descrybe nie gwarantuje, że Usługi będą działać w sposób nieprzerwany, bezpieczny lub dostępny w określonym czasie lub miejscu, ani że błędy lub wady zostaną naprawione.",
"legal.terms.s8.h": "8. Ograniczenie odpowiedzialności",
"legal.terms.s8.lead": "W żadnym wypadku Descrybe nie ponosi odpowiedzialności za szkody pośrednie, przypadkowe, szczególne, wtórne lub karne, w tym — bez ograniczeń — utratę zysków, danych, użytkowania, wartości firmy lub inne straty niematerialne, wynikające z:",
"legal.terms.s8.li1": "Twojego dostępu do Usług lub korzystania z nich albo niemożności uzyskania dostępu lub korzystania z Usług",
"legal.terms.s8.li2": "Jakiegokolwiek postępowania lub treści osób trzecich w Usługach",
"legal.terms.s8.li3": "Jakichkolwiek treści uzyskanych z Usług",
"legal.terms.s8.li4": "Nieuprawnionego dostępu, wykorzystania lub zmiany Twoich transmisji lub treści",
"legal.terms.s9.h": "9. Rozwiązanie",
"legal.terms.s9.p1": "Descrybe może natychmiast zakończyć lub zawiesić Twój dostęp do Usług, bez wcześniejszego powiadomienia i bez odpowiedzialności, z dowolnego powodu, w tym — bez ograniczeń — w przypadku naruszenia niniejszego Regulaminu świadczenia usług.",
"legal.terms.s9.p2": "Po rozwiązaniu Twoje prawo do korzystania z Usług ustaje natychmiast. Jeśli chcesz zakończyć swoje konto, możesz po prostu zaprzestać korzystania z Usług lub skontaktować się z nami w celu żądania usunięcia konta.",
"legal.terms.s10.h": "10. Prawo właściwe",
"legal.terms.s10.p": "Niniejsze Warunki podlegają prawu Słowenii i będą interpretowane zgodnie z nim, bez względu na zasady kolizji praw.",
"legal.terms.s11.h": "11. Zmiany warunków",
"legal.terms.s11.p": "Descrybe zastrzega sobie prawo do zmiany lub zastąpienia niniejszego Regulaminu świadczenia usług w dowolnym momencie. Twoim obowiązkiem jest okresowe sprawdzanie niniejszych Warunków pod kątem zmian. Dalsze korzystanie z Usług po opublikowaniu jakichkolwiek zmian stanowi akceptację tych zmian.",
"legal.terms.s12.h": "12. Kontakt",
"legal.terms.s12.lead": "Jeśli masz pytania dotyczące niniejszego Regulaminu świadczenia usług, skontaktuj się z nami pod adresem:",
"plans.loadFailed": "Nie udało się załadować planów",
"plans.loading": "Ładowanie planów…",
"plans.apiUnavailable": "API planów nie jest jeszcze dostępne w tym backendzie. Wyświetlamy publiczne porównanie cen.",
"plans.title": "Wybierz swój plan",
"plans.sub.onPrefix": "Jesteś na planie",
"plans.sub.enterpriseSuffix": "— nieograniczone produkty i AI. Nie jest potrzebny upgrade w trybie samoobsługowym.",
"plans.sub.paygSuffix": "— płatność według użycia. Porównaj publiczne plany poniżej lub skontaktuj się z działem sprzedaży w sprawie Enterprise.",
"plans.sub.creditsMid": "z {remaining} pozostałymi kredytami AI.",
"plans.sub.creditsSuffix": "Ulepsz Starter → Growth → Business przez Checkout lub skontaktuj się z działem sprzedaży w sprawie Enterprise.",
"plans.sub.none": "Nie przypisano jeszcze planu (np. po pominiętej migracji). Wybierz plan poniżej — pojemność nie jest Nieograniczona, dopóki Checkout lub administrator nie przypisze planu.",
"plans.stripeHint": "Upgrade'y samoobsługowe korzystają ze Stripe Checkout.",
"plans.fallbackName": "Plan taryfowy",
"plans.fallbackDescription": "Pojemność dla Twojego katalogu",
"plans.badge.current": "Aktualny",
"plans.badge.popular": "Najpopularniejszy",
"plans.price.custom": "Indywidualny",
"plans.price.forever": "na zawsze",
"plans.price.perMonth": "/mies.",
"plans.price.seePricing": "Zobacz cennik",
"plans.capacity.unlimitedSkus": "Nieograniczone SKU",
"plans.capacity.unlimitedAi": "Nieograniczone kredyty AI",
"plans.capacity.upToProducts": "Do {count} produktów",
"plans.capacity.creditsPerMonth": "{count} kredytów AI / mies.",
"plans.cta.requestUpgrade": "Poproś o ulepszenie",
"plans.cta.current": "Aktualny plan",
"plans.cta.contactSales": "Kontakt ze sprzedażą",
"plans.cta.switchInBilling": "Zmień w rozliczeniach",
"plans.cta.upgradeTo": "Ulepsz do {name}",
"plans.cta.startingCheckout": "Uruchamianie checkout…",
"plans.planApplied": "Plan {plan} zastosowany. Twoje kredyty są gotowe.",
"plans.faq.title": "Często zadawane pytania",
"plans.faq.limit.q": "Co się stanie, gdy osiągnę limit?",
"plans.faq.limit.a": "Najpierw zobaczysz łagodne ostrzeżenia. Gdy skończą Ci się kredyty AI lub osiągniesz limit SKU, zadania wymagające tej pojemności są blokowane, dopóki nie zwolnisz miejsca, nie poczekasz na kolejny cykl lub nie ulepszysz planu.",
"plans.faq.selfServe.q": "Czy mogę samodzielnie ulepszyć plan?",
"plans.faq.selfServe.a": "Administratorzy firmy mogą samodzielnie wykupić Starter, Growth i Business przez Checkout na karcie planu. Członkowie muszą poprosić administratora — Checkout wymaga roli administratora. Enterprise zawsze idzie przez sprzedaż. Administratorzy platformy nadal mogą przypisywać plany w Billing Admin.",
"plans.faq.enterprise.q": "Enterprise i miliony SKU",
"plans.faq.enterprise.a": "Indywidualna pojemność, własny klucz AI (BYOK), SLA i zarządzanie kontem idą przez sprzedaż. Zarezerwuj termin w Calendly — Enterprise nie jest samoobsługowe przy skali milionów SKU. Aplikacja pokazuje Nieograniczone dla pojemności SKU i AI.",
"plans.faq.pricing.q": "Gdzie jest publiczny cennik?",
"plans.faq.pricing.aBefore": "Zobacz porównanie marketingowe na",
"plans.faq.pricing.pricingPage": "stronie Cennik",
"plans.faq.pricing.aMid": "— CTA to Zacznij (rejestracja) lub Kontakt ze sprzedażą. Zarządzaj użyciem w dowolnym momencie w",
"plans.faq.pricing.aAfter": ".",
"plans.custom.title": "Potrzebujesz planu indywidualnego?",
"plans.custom.body": "Pojemność Enterprise, własny klucz AI i SLA są obsługiwane przez nasz zespół.",
"plans.custom.looking": "Szukasz szczegółów publicznych planów?",
"ai.title": "Integracje AI",
"ai.description": "Wybierz kredyty platformy lub własny klucz, a następnie dostosuj prompty za pomocą zmiennych.",
"ai.crumb": "Integracje AI",
"ai.adminOnly": "Tylko administratorzy firmy mogą zmieniać ustawienia AI. Możesz przeglądać bieżącą konfigurację.",
"ai.badge.ownKey": "Twój własny klucz",
"ai.badge.platform": "Kredyty / klucz platformy",
"ai.badge.active": "Aktywne: {label}",
"ai.badge.platformKeyAvailable": "Klucz platformy dostępny",
"ai.badge.lastTest": "Ostatni test: {status}",
"ai.providerMode.title": "Tryb dostawcy",
"ai.providerMode.desc": "Platforma używa kredytów Descrybe i naszego klucza. Popularny lub Niestandardowy używa Twojego klucza zgodnego z OpenAI (samo wywołanie dostawcy nie zużywa kredytów platformy; reguły kredytów funkcji nadal obowiązują).",
"ai.whoPays": "Kto płaci za model?",
"ai.mode.internal": "Platforma (kredyty / klucz Descrybe)",
"ai.mode.popular": "Twój klucz — popularny dostawca",
"ai.mode.custom": "Twój klucz — własny endpoint",
"ai.useCompanyKey": "Używaj tego klucza firmowego do przetwarzania, SEO AI i kampanii AI",
"ai.popular.title": "Popularny dostawca",
"ai.popular.desc": "Endpointy zgodne z OpenAI. Anthropic przez OpenRouter.",
"ai.field.provider": "Dostawca",
"ai.field.model": "Model",
"ai.placeholder.modelId": "id modelu",
"ai.baseUrlLabel": "Bazowy URL: {url}",
"ai.custom.title": "Własny endpoint",
"ai.custom.desc": "Wpisz bazowy URL HTTPS swojego dostawcy AI.",
"ai.field.baseUrl": "Bazowy URL",
"ai.apiKey.title": "Klucz API",
"ai.apiKey.desc": "Pozostaw puste, aby zachować istniejący klucz. Surowych sekretów nigdy nie zwracamy — tylko zamaskowane last4.",
"ai.storedKey": "Zapisany klucz: {masked}",
"ai.field.apiKey": "Klucz API",
"ai.placeholder.keepKey": "•••• pozostaw puste, aby zachować",
"ai.clearStoredKey": "Wyczyść zapisany klucz API",
"ai.saveProvider": "Zapisz dostawcę",
"ai.testConnection": "Testuj połączenie",
"ai.prompts.title": "Szablony promptów",
"ai.prompts.descBefore": "Dostosuj prompty systemowe i użytkownika dla tekstów produktów, meta SEO i e-maili kampanii. Wstawiaj zmienne takie jak",
"ai.prompts.descMid": "— są wypełniane w czasie działania. Głos brand kitu jest dostępny jako",
"ai.prompts.descAfter": ".",
"ai.field.feature": "Funkcja",
"ai.badge.custom": "Niestandardowy",
"ai.badge.builtin": "Wbudowany domyślny",
"ai.badge.disabledDefault": "Wyłączone → używany domyślny",
"ai.useCustomPrompt": "Użyj tego niestandardowego promptu (wył. = wbudowany domyślny)",
"ai.insertVariableInto": "Wstaw zmienną do",
"ai.insert.system": "Warstwa systemu",
"ai.insert.user": "Użytkownik",
"ai.field.systemPrompt": "Prompt systemowy",
"ai.field.userPrompt": "Prompt użytkownika",
"ai.savePrompts": "Zapisz prompty",
"ai.resetDefault": "Przywróć domyślne",
"ai.editBrandVoice": "Edytuj głos marki",
"ai.flash.loadFailed": "Nie udało się wczytać ustawień AI",
"ai.flash.usingPlatform": "Używane jest AI platformy (kredyty / klucz Descrybe, gdy skonfigurowane).",
"ai.flash.providerSaved": "Dostawca AI zapisany. Klucze są szyfrowane i nie są już pokazywane.",
"ai.flash.saveFailed": "Nie udało się zapisać",
"ai.flash.savePromptsFailed": "Nie udało się zapisać promptów",
"ai.flash.resetFailed": "Nie udało się zresetować promptu",
"ai.flash.connectionFailed": "Połączenie nieudane",
"ai.flash.testFailed": "Test nieudany",
"ai.action.changeSettings": "zmienić ustawienia dostawcy AI",
"ai.action.changePrompts": "zmienić prompty AI",
"ai.action.testProvider": "przetestować dostawcę AI",
"email.title": "Wysyłka e-mail",
"email.description": "Resend lub SMTP do kampanii marketingowych. Sekrety szyfrowane w spoczynku.",
"email.adminOnly": "Tylko administratorzy firmy mogą zmieniać ustawienia dostawcy e-mail. Możesz przeglądać bieżącą konfigurację.",
"email.crumb": "Integracja e-mail",
"email.dryRunForced": "Tryb dry-run jest wymuszony ({reason}). Plany Free i EMAIL_DRY_RUN nigdy nie wysyłają prawdziwych blastów.",
"email.dryRunPolicy": "polityka",
"email.badge.verified": "Zweryfikowano",
"email.badge.notVerified": "Niezweryfikowano",
"email.badge.canSendReal": "Może wysyłać prawdziwie",
"email.badge.realBlocked": "Prawdziwa wysyłka zablokowana",
"email.badge.lastTest": "Ostatni test: {status}",
"email.provider.title": "Dostawca",
"email.provider.desc": "Konfiguracja per firma. Środowiskowe SMTP/Resend platformy to tylko zapas, gdy brakuje sekretów.",
"email.field.provider": "Dostawca",
"email.provider.resend": "Resend",
"email.provider.smtp": "SMTP",
"email.field.fromEmail": "E-mail nadawcy",
"email.field.domain": "Domena",
"email.field.from": "Od",
"email.field.fromName": "Nazwa nadawcy",
"email.field.replyTo": "Reply-To",
"email.resendKeySaved": "Klucz API Resend (zapisany — pozostaw puste, aby zachować)",
"email.resendKey": "Klucz API Resend",
"email.field.smtpHost": "Host SMTP",
"email.field.port": "Port",
"email.field.username": "Nazwa użytkownika",
"email.field.passwordSaved": "Hasło (zapisane)",
"email.field.password": "Hasło",
"email.verifyDomain": "Zweryfikuj domenę",
"email.testGate.title": "Test i bramka wysyłki",
"email.testGate.desc": "Wysyłki testowe weryfikują adres nadawcy. Prawdziwe blasty wymagają wpisania “I understand”.",
"email.field.recipient": "Odbiorca",
"email.sendTest": "Wyślij test",
"email.confirmBlast": "Potwierdź blast…",
"email.flash.loadFailed": "Nie udało się wczytać ustawień e-mail",
"email.flash.saveFailed": "Nie udało się zapisać",
"email.flash.verifyUpdated": "Weryfikacja zaktualizowana.",
"email.flash.verifyFailed": "Weryfikacja nieudana",
"email.flash.testFailed": "Wysłanie testu nieudane",
"email.flash.blastDryRun": "Sprawdzenie dostawy zapisane w trybie dry-run — nie wysłano żadnego e-maila.",
"email.flash.blastDone": "Sprawdzenie dostawy zakończone: {sent} wysłano, {failed} nieudanych.",
"email.flash.blastFailed": "Blast nieudany",
"email.blast.subject": "Sprawdzenie dostawy e-mail Descrybe",
"email.blast.body": "To jednoadresowe sprawdzenie dostawy z Descrybe, aby potwierdzić, że Twoja integracja e-mail może wysyłać. Odbiorca: {recipient}",
"email.action.changeSettings": "zmienić ustawienia dostawcy e-mail",
"email.action.verifyDomain": "zweryfikować domenę e-mail",
"email.action.sendTest": "wysłać e-mail testowy",
"email.action.sendBlasts": "wysyłać blasty e-mail",
"seo.title": "Rekomendacje SEO",
"seo.description": "Wyniki checklisty dla meta katalogu, tytułów, obrazów i słów kluczowych. Wypełnianie szablonem jest darmowe; przepisanie AI jest płatne.",
"seo.upgradeTitle": "Przepisanie AI to funkcja płatna",
"seo.upgradeMessage": "Plany Free nadal mogą uzupełniać brakujące meta szablonami opartymi na regułach. Ulepsz plan lub dodaj kredyty, aby używać przepisań AI.",
"seo.comparePlans": "Porównaj plany",
"seo.openProducts": "Otwórz produkty",
"seo.overallScore": "Ogólny wynik SEO",
"seo.overallScoreHint": "Średnia z elementów checklisty",
"seo.productsScanned": "Przeskanowane produkty",
"seo.productsScannedHint": "Przetworzone produkty w firmie",
"seo.categoriesScanned": "Przeskanowane kategorie",
"seo.categoriesScannedHint": "W tym kontrole formuł meta",
"seo.aiRewrite": "Przepisanie AI",
"seo.available": "Dostępne",
"seo.gated": "Ograniczone",
"seo.templateFree": "Wypełnianie szablonem pozostaje darmowe we wszystkich planach",
"seo.checklist": "Checklist",
"seo.affectedFindings": "{affected} dotkniętych · {count} ustaleń",
"seo.fixable": "Do naprawy",
"seo.clearFilter": "Wyczyść filtr",
"seo.findings": "Ustalenia",
"seo.noFindings": "Brak ustaleń dla tego filtra — dobra robota.",
"seo.col.issue": "Problem",
"seo.col.entity": "Encja",
"seo.col.severity": "Ważność",
"seo.col.actions": "Akcje",
"seo.filling": "Wypełnianie…",
"seo.templateFill": "Wypełnianie szablonem",
"seo.aiTitleAllowed": "Przepisz z AI (zużywa kredyty)",
"seo.aiTitleGated": "Wymaga płatnego planu lub kredytów",
"seo.rewriting": "Przepisywanie…",
"seo.aiRewriteBtn": "Przepisanie AI",
"seo.viewProduct": "Zobacz produkt",
"seo.flash.loadFailed": "Nie udało się wczytać rekomendacji SEO",
"seo.flash.aiPaid": "Przepisanie AI wymaga płatnego planu lub kredytów.",
"seo.flash.applyFailed": "Nie udało się zastosować poprawki",
"brand.title": "Zestaw marki",
"brand.description": "Zdefiniuj głos, wytyczne i kolory, aby tytuły i opisy produktów pozostały zgodne z marką.",
"brand.loading": "Wczytywanie brand kitu…",
"brand.adminOnly": "Tylko administratorzy firmy mogą edytować brand kit. Możesz przeglądać bieżący głos, kolory i logo.",
"brand.aiApplyFreeAdmin": "Możesz edytować brand kit w planie Free. Zastosowanie AI (wstrzykiwanie głosu marki do promptów enhance) odblokowuje się od Starter wzwyż.",
"brand.aiApplyGated": "Zastosowanie AI (wstrzykiwanie głosu marki do promptów enhance) odblokowuje się od Starter wzwyż.",
"brand.aiEnhanceUses": "Enhance AI użyje tego głosu marki podczas przetwarzania produktów.",
"brand.comparePlans": "Porównaj plany",
"brand.voice.title": "Głos i wytyczne",
"brand.voice.desc": "Ton, reguły do/dont oraz preferowane sformułowania",
"brand.field.voiceTone": "Głos / ton",
"brand.placeholder.voiceTone": "np. Pewny, zwięzły, techniczny, ale przystępny",
"brand.field.dos": "Do (po jednym w wierszu)",
"brand.placeholder.dos": "Zacznij od głównej korzyści\nUtrzymuj tytuły poniżej 80 znaków",
"brand.field.donts": "Dont (po jednym w wierszu)",
"brand.placeholder.donts": "Bez WIELKICH LITER\nUnikaj superlatywów bez dowodu",
"brand.field.preferredTerms": "Preferowane terminy (po jednym w wierszu lub rozdzielone przecinkami)",
"brand.placeholder.preferredTerms": "bezprzewodowy, premium, klasa energetyczna",
"brand.visual.title": "Identyfikacja wizualna",
"brand.visual.desc": "Kolory i logo używane w wskazówkach i kampaniach uwzględniających markę",
"brand.field.primaryColor": "Kolor podstawowy",
"brand.field.secondaryColor": "Kolor dodatkowy",
"brand.field.logoImage": "Obraz logo",
"brand.logoHint": "PNG, JPEG lub WebP do 2 MiB. Przechowywane w przesyłanych plikach firmy.",
"brand.uploading": "Przesyłanie…",
"brand.uploadLogo": "Prześlij logo",
"brand.clear": "Wyczyść",
"brand.field.logoUrl": "URL logo",
"brand.placeholder.logoUrl": "https://… lub przesłane /api/brand/logo/files/…",
"brand.logoAlt": "Podgląd logo marki",
"brand.tipsTitle": "Wskazówki formuły / podglądu",
"brand.saving": "Zapisywanie…",
"brand.save": "Zapisz brand kit",
"brand.flash.loadFailed": "Nie udało się wczytać brand kitu",
"structured.title": "Pola opisu strukturalnego",
"structured.loading": "Wczytywanie pól opisu strukturalnego…",
"structured.backDashboard": "Powrót do pulpitu",
"structured.categoryFormulas": "Formuły kategorii",
"structured.exportFeeds": "Feedy eksportu",
"structured.intro": "Te pola są tworzone automatycznie, gdy dodasz Export IDs do sekcji formuły opisu. Można ich używać w feedach eksportu, aby uwzględnić konkretne części opisów produktów.",
"structured.addField": "Dodaj pole",
"structured.openCategories": "Otwórz kategorie",
"structured.tableCaption": "Te pola służą do strukturyzowania części opisów produktów na potrzeby eksportu.",
"structured.col.fieldKey": "Klucz pola",
"structured.col.type": "Typ",
"structured.col.created": "Utworzono",
"structured.col.actions": "Akcje",
"structured.dialogTitle": "Dodaj pole opisu strukturalnego",
"structured.fieldKeyLabel": "Klucz pola (wymagany)",
"structured.fieldKeyPlaceholder": "np. features, specifications",
"structured.fieldTypeLabel": "Typ pola",
"structured.type.text": "Tekst",
"structured.type.number": "Liczba",
"structured.type.boolean": "Logiczny",
"structured.type.list": "Lista",
"structured.adding": "Dodawanie...",
"structured.flash.loadFailed": "Nie udało się wczytać pól opisu strukturalnego",
"assistant.ariaLabel": "Asystent systemowy",
"assistant.title": "Asystent systemowy",
"assistant.subtitle": "Nawiguj, prowadź i uruchamiaj obsługiwane działania",
"assistant.resetAria": "Zresetuj rozmowę",
"assistant.resetTitle": "Resetuj",
"assistant.closeAria": "Zamknij asystenta",
"assistant.messageLabel": "Wiadomość",
"assistant.placeholder": "np. dodaj URL feeda, klucze API, atrybuty, przetwarzanie…",
"assistant.sendAria": "Wyślij",
"site.bookDemo": "Umów demo",
"site.demoShort": "Demo",
"site.allRightsReserved": "Wszelkie prawa zastrzeżone.",
"site.cookiePolicy": "Polityka cookies",
"site.cookieSettings": "Ustawienia cookies",
"consent.title": "Cookies i analityka",
"consent.description": "Używamy niezbędnych plików cookie, aby Descrybe działał. Opcjonalne cookie analityczne i marketingowe pomagają nam rozumieć użycie i mierzyć kampanie. Możesz zmienić wybór w każdej chwili.",
"consent.acceptAll": "Zaakceptuj wszystkie",
"consent.rejectNonEssential": "Odrzuć nieistotne",
"consent.customize": "Dostosuj",
"consent.save": "Zapisz preferencje",
"consent.necessary": "Niezbędne",
"consent.necessaryDesc": "Wymagane do logowania, bezpieczeństwa (CSRF), motywu, języka i zapamiętania tego wyboru.",
"consent.alwaysOn": "Zawsze włączone",
"consent.analytics": "Analityka",
"consent.analyticsDesc": "Pomaga zrozumieć, jak używany jest produkt (Google Analytics przez GTM).",
"consent.marketing": "Marketing",
"consent.marketingDesc": "Do pomiaru reklam i personalizacji, gdy w GTM skonfigurowano tagi reklamowe.",
"consent.policyLink": "Przeczytaj Politykę cookies",
"seo.cookies.title": "Polityka cookies | Descrybe",
"seo.cookies.description": "Jak Descrybe używa niezbędnych, analitycznych i marketingowych cookies, w tym GTM i GA4, oraz jak zmienić zgodę.",
"legal.cookies.title": "Polityka cookies",
"legal.cookies.intro.h": "Przegląd",
"legal.cookies.intro.p1": "Ta Polityka cookies wyjaśnia, jak Descrybe używa cookies i podobnych technologii w witrynie i aplikacji. Czytaj razem z Polityką prywatności.",
"legal.cookies.intro.p2": "Gdzie to wymagane, prosimy o zgodę przed włączeniem cookies analitycznych lub marketingowych. Niezbędne cookies zapewniają bezpieczną usługę i nie wymagają zgody.",
"legal.cookies.types.h": "Kategorie cookies",
"legal.cookies.necessary.h": "Niezbędne",
"legal.cookies.necessary.p": "Utrzymują sesję, chronią formularze CSRF, zapisują motyw i język oraz zapamiętują wybór cookies. Bez nich produkt nie działa poprawnie.",
"legal.cookies.analytics.h": "Analityka",
"legal.cookies.analytics.p": "Jeśli zezwolisz na analitykę, ładujemy tagi GTM, które mogą ustawiać cookies GA4 do pomiaru stron i zdarzeń. Zdarzenia są blokowane do przyznania analytics_storage.",
"legal.cookies.marketing.h": "Marketing",
"legal.cookies.marketing.p": "Jeśli zezwolisz na marketing, tagi reklamowe w GTM mogą używać pamięci reklam i powiązanych sygnałów do pomiaru i personalizacji.",
"legal.cookies.gtm.h": "Google Tag Manager i GA4",
"legal.cookies.gtm.p": "Gdy skonfigurowano, Descrybe ładuje kontener GTM. GA4 jest konfigurowane w tym kontenerze. Consent Mode v2 domyślnie odmawia magazynowania analytics i ads do akceptacji kategorii.",
"legal.cookies.third.h": "Podmioty trzecie",
"legal.cookies.third.p": "Google (Tag Manager / Analytics) może przy zgodzie przetwarzać dane techniczne (URL, urządzenie/przeglądarka, nazwy zdarzeń). Świadomie nie wysyłamy haseł, kluczy API ani danych kontaktowych w zdarzeniach.",
"legal.cookies.manage.h": "Jak zmienić zgodę",
"legal.cookies.manage.p": "Użyj Ustawień cookies w stopce (lub przycisku poniżej), aby ponownie otworzyć baner. Możesz też wyczyścić dane witryny w przeglądarce.",
"site.privacyPolicy": "Polityka prywatności",
"site.termsOfService": "Warunki korzystania",
"site.legalNav": "Prawne",
"site.footer.aria": "Witryna",
"site.footer.description": "Descrybe zamienia feedy dostawców w czyste katalogi produktów gotowe na kanały — mapuj pola, wzbogacaj atrybuty i teksty ofert, a potem eksportuj lub synchronizuj z WooCommerce.",
"site.footer.rightsLine": "© {year} {name}. Wszelkie prawa zastrzeżone.",
"site.footer.navTitle": "Nawigacja",
"site.footer.platform": "Platforma",
"site.footer.solutions": "Rozwiązania",
"site.footer.contact": "Kontakt",
"home.hero.tagline": "Dane produktowe dla zespołów ecommerce",
"home.hero.title": "Od feedów dostawców do stron produktów",
"home.hero.lead": "Podłącz feedy dostawców, zmapuj je do swoich kategorii, uzupełnij wymagane atrybuty i pisz tytuły oraz opisy według swoich reguł — potem eksportuj lub synchronizuj ze sklepem.",
"home.hero.learnMore": "Dowiedz się więcej",
"home.hero.apply": "Poproś o dostęp",
"home.hero.supportedBy": "Wspierane przez",
"home.hero.msAlt": "Microsoft for Startups",
"home.image.previewAlt": "Podgląd platformy Descrybe: od feedu do karty produktu",
"home.how.title": "Tak Descrybe oszczędza czas przy wprowadzaniu produktów na rynek",
"home.how.lead": "Zaimportuj bałagan w danych dostawców raz. Descrybe pomaga je kategoryzować, uzupełniać atrybuty, pisać teksty ofert i wysyłać gotowe produkty do Twoich kanałów.",
"home.how.apply": "Poproś o dostęp",
"home.how.step1.title": "Zaimportuj taksonomię",
"home.how.step1.desc": "Skonfiguruj kategorie i atrybuty, których Twój sklep już używa",
"home.how.step1.f1": "Zdefiniuj wymagane atrybuty dla każdej kategorii",
"home.how.step1.f2": "Ustaw formuły tytułów per kategoria",
"home.how.step1.f3": "Ustaw szablony opisu i snippeta wyszukiwania",
"home.how.step2.title": "Zaimportuj dane dostawców",
"home.how.step2.desc": "Podłącz URL feedu lub prześlij plik produktów",
"home.how.step2.f1": "Import z źródeł CSV, XML lub API",
"home.how.step2.f2": "Zaplanuj automatyczne importy od dostawców",
"home.how.step2.f3": "Mapuj pola źródłowe prostym interfejsem przeciągnij i upuść",
"home.how.step3.title": "Przekształć i wzbogać",
"home.how.step3.desc": "Wybierz produkty do przetworzenia i pozwól Descrybe:",
"home.how.step3.f1": "Przypisać właściwe kategorie",
"home.how.step3.f2": "Uzupełnić wymagane atrybuty produktu",
"home.how.step3.f3": "Tworzyć jasne, przyjazne wyszukiwaniu tytuły i opisy",
"home.how.step4.title": "Eksportuj do kanałów",
"home.how.step4.desc": "Wysyłaj gotowe dane produktowe tam, gdzie sprzedajesz",
"home.how.step4.f1": "Generuj feedy produktów pod konkretne kanały",
"home.how.step4.f2": "Zachowaj pełną kontrolę nad eksportowanymi polami",
"home.how.step4.f3": "Bądź na bieżąco, gdy dane dostawcy się zmieniają",
"home.benefits.title": "Wszystko, czego potrzebujesz do czystszych danych produktowych",
"home.benefits.lead": "Od importu feedu do ofert gotowych na kanał — bez ręcznego przebudowywania każdego pliku.",
"home.benefits.shield.title": "Wcześnie wykrywaj niekompletne oferty",
"home.benefits.shield.desc": "Sprawdzaj dane produktów względem reguł kategorii, by uzupełnić brakujące atrybuty i słabe teksty przed publikacją.",
"home.benefits.chart.title": "Wyraźniejsze oferty, silniejsza konwersja",
"home.benefits.chart.desc": "Tytuły i opisy, które podkreślają to, na czym zależy kupującym — korzyści, specyfikacje i terminy wyszukiwania z Twojego katalogu.",
"home.benefits.database.title": "Jedna spójna struktura produktu",
"home.benefits.database.desc": "Utrzymuj to samo drzewo kategorii i kształt atrybutów w eksportach i kanałach, by klienci znajdowali produkty tak samo wszędzie.",
"home.benefits.search.title": "Treści produktowe przyjazne wyszukiwaniu",
"home.benefits.search.desc": "Pisz tytuły, opisy i meta snippety łatwiejsze do zrozumienia dla kupujących i wyszukiwarek.",
"home.benefits.cost.title": "Mniej ręcznego wprowadzania danych",
"home.benefits.cost.desc": "Automatyzuj mapowanie, uzupełnianie atrybutów i teksty ofert, by zespół zajmował się merchandisingiem — a nie czyszczeniem arkuszy.",
"home.benefits.scale.title": "Gotowe na każdy kanał sprzedaży",
"home.benefits.scale.desc": "Dopasuj feedy eksportu i sync WooCommerce do formatów oczekiwanych przez każdy kanał, bez ręcznego przebudowywania katalogu.",
"home.cta.titleLead": "Wprowadzaj produkty na rynek ",
"home.cta.titleHighlight": "szybciej",
"home.cta.description": "Przestań przebudowywać dane produktów z każdego pliku dostawcy. Zmapuj raz, wzbogać według swoich reguł i publikuj oferty gotowe do sprzedaży.",
"home.cta.f1": "Spersonalizowane demo",
"home.cta.f2": "Konsultacja z ekspertami",
"home.cta.f3": "Jasne kolejne kroki",
"home.cta.apply": "Poproś o dostęp",
"home.cta.imageAlt": "Strony produktów Descrybe",
"home.product.eyebrow": "Co robi Descrybe",
"home.product.title": "Feedy dostawców na wejściu. Gotowe oferty na wyjściu — eksport, WooCommerce lub API.",
"home.product.description": "Descrybe pomaga zespołom ecommerce zamieniać feedy CSV i XML dostawców w czyste katalogi produktów. Mapuj pola do swoich kategorii, wzbogacaj atrybuty i teksty ofert, a potem wysyłaj dane przez feedy eksportu, sync WooCommerce lub publiczne API.",
"home.product.pipelineAria": "Pipeline produktu",
"home.product.p1.label": "Feedy wejściowe",
"home.product.p1.detail": "CSV / XML z URL-i dostawców",
"home.product.p2.label": "Mapuj",
"home.product.p2.detail": "Dopasuj kolumny do swoich pól",
"home.product.p3.label": "Wzbogać",
"home.product.p3.detail": "Kategorie, atrybuty, tytuły",
"home.product.p4.label": "Wysyłaj",
"home.product.p4.detail": "Eksport · Woo · API",
"pricing.section.badge": "Pojemność SKU + kredyty AI",
"pricing.section.title": "Zacznij za darmo. Skaluj, gdy katalog rośnie.",
"pricing.section.lead": "Free obejmuje mapowanie feedów, podstawowe czyszczenie produktów i etykiety energetyczne UE (EPREL) do 100 SKU (bez kredytów AI). Plany płatne dodają tytuły i opisy AI, większą pojemność oraz opcje eksportu — Starter, Growth, Business, albo porozmawiaj ze sprzedażą o Enterprise.",
"pricing.section.billingPeriod": "Okres rozliczeniowy",
"pricing.section.monthly": "Miesięcznie",
"pricing.section.yearly": "Rocznie",
"pricing.section.savePercent": "Oszczędź 20%",
"pricing.section.publicBefore": "Plany publiczne: Free, Starter, Growth, Business i Enterprise. Utwórz konto Free, a potem przejdź wyżej w",
"pricing.section.publicOr": "lub",
"pricing.section.publicAfter": "przez Stripe Checkout. Enterprise pozostaje obsługiwany przez sprzedaż.",
"pricing.section.plansLink": "Plany",
"pricing.section.billingLink": "Płatności",
"pricing.section.capabilitiesTitle": "Do czego jest stworzony każdy plan",
"pricing.section.capabilitiesLead": "Importuj feedy, wzbogacaj katalog, a potem eksportuj lub synchronizuj z WooCommerce",
"pricing.section.faqTitle": "Często zadawane pytania",
"pricing.section.readyTitle": "Gotowy zmapować pierwszy feed?",
"pricing.section.readyLead": "Utwórz konto Free — bez karty. Masz już konto? Otwórz aplikację lub porównaj plany.",
"pricing.section.contactSales": "Kontakt ze sprzedażą",
"pricing.cap.feeds": "Z feedów do katalogu",
"pricing.cap.feeds.f1": "Feedy dostawców CSV / XML / URL",
"pricing.cap.feeds.f2": "Mapowanie i walidacja pól",
"pricing.cap.feeds.f3": "Scalanie wielu dostawców",
"pricing.cap.feeds.f4": "Zaplanowana synchronizacja",
"pricing.cap.feeds.f5": "Transformacje zależne od kategorii",
"pricing.cap.processing": "Przetwarzanie i AI",
"pricing.cap.processing.f1": "Czyszczenie danych i uzupełnianie atrybutów (wszystkie plany)",
"pricing.cap.processing.f2": "Tytuły i opisy AI (płatne)",
"pricing.cap.processing.f3": "Etykiety energetyczne UE / EPREL (wszystkie plany)",
"pricing.cap.processing.f4": "Formuły, głos marki, zmienne",
"pricing.cap.processing.f5": "Zarządzane kredyty lub własny klucz AI",
"pricing.cap.export": "Eksport i kanały",
"pricing.cap.export.f1": "Feedy eksportu XML / CSV",
"pricing.cap.export.f2": "Sync WooCommerce / Shopify",
"pricing.cap.export.f3": "Pełne API",
"pricing.cap.export.f4": "Formaty pod konkretne kanały",
"pricing.cap.export.f5": "Aktualizacje masowe",
"pricing.cap.limits": "Limity i kontrola",
"pricing.cap.limits.f1": "Limity SKU (produktów)",
"pricing.cap.limits.f2": "Miesięczne pakiety kredytów AI",
"pricing.cap.limits.f3": "Role zespołu i zaproszenia",
"pricing.cap.limits.f4": "Opcje SLA Enterprise",
"pricing.faq.credits.q": "Czym są kredyty AI?",
"pricing.faq.credits.a": "Kredyty AI opłacają kroki takie jak generowanie tytułów i opisów. Free obejmuje 0 kredytów AI — nadal możesz mapować feedy i czyścić dane produktów. Płatne pakiety miesięczne: Starter 150, Plus 500, Growth 1 200, Business 4 000, Scale 8 000. Enterprise obejmuje duży zarządzany pakiet (oraz własny klucz AI). Od Growth w górę możesz opcjonalnie uruchamiać AI na własnym kluczu zamiast zarządzanych kredytów.",
"pricing.faq.packs.q": "Can I buy extra AI credits?",
"pricing.faq.packs.a": "Yes. One-time packs: Starter $19 / 500 credits, Growth $59 / 2,000, Catalog $199 / 10,000, Scale $599 / 40,000. Buy from Billing after you have a paid plan (or Free with leftover trial credits). Packs do not change your SKU or feed limits.",
"pricing.faq.limits.q": "Co się stanie, gdy osiągnę limit produktów lub kredytów?",
"pricing.faq.limits.a": "Ostrzegamy, gdy się zbliżasz. Po osiągnięciu limitu produktów lub wyczerpaniu kredytów AI zadania wymagające tej pojemności wstrzymują się, aż zwolnisz miejsce, poczekasz na kolejny cykl rozliczeniowy lub przejdziesz wyżej.",
"pricing.faq.change.q": "Czy mogę przejść wyżej lub niżej?",
"pricing.faq.change.a": "Tak. Zacznij od Free, potem przejdź na Starter, Plus, Growth, Business lub Scale w Planach lub Płatnościach (Stripe Checkout). Enterprise zawsze obsługuje sprzedaż.",
"pricing.faq.free.q": "Co obejmuje Free?",
"pricing.faq.free.a": "Free na zawsze: 50 produktów, jeden feed, czyszczenie danych i uzupełnianie atrybutów, etykiety energetyczne UE (EPREL — dane publiczne, bez kredytów) oraz jeden ręczny eksport — z 0 kredytami AI. Bez karty kredytowej. Przejdź wyżej, gdy potrzebujesz tytułów i opisów AI lub większej pojemności.",
"pricing.faq.why.q": "Dlaczego nie płacić za produkt jak w narzędziach tylko do treści?",
"pricing.faq.why.a": "Descrybe obejmuje całą ścieżkę od feedu dostawcy przez katalog do WooCommerce lub eksportu — nie tylko teksty AI. Płacisz za pojemność platformy (produkty i feedy); AI to warstwa użycia na wierzchu.",
"pricing.faq.annual.q": "Jak działa rozliczenie roczne?",
"pricing.faq.annual.a": "Rozliczenie roczne to ok. 20% mniej niż cena miesięczna. Zacznij za darmo, a potem wybierz rozliczenie roczne w Checkout przy upgrade (lub skontaktuj się ze sprzedażą).",
"pricing.calc.badge": "Plan calculator",
"pricing.calc.title": "Find the right plan",
"pricing.calc.lead": "Enter feeds, catalog size, and how many products you want to enhance with AI (count each language pass).",
"pricing.calc.feeds": "Feed sources",
"pricing.calc.feedsHint": "Supplier / import feeds you need to connect",
"pricing.calc.skus": "Catalog products (SKUs)",
"pricing.calc.skusHint": "Total products you will store and process",
"pricing.calc.aiVolume": "AI process volume",
"pricing.calc.aiHint": "Roughly products × languages you want to enhance per month",
"pricing.calc.recommendedLabel": "Recommended",
"pricing.calc.budgetLabel": "Budget option",
"pricing.calc.coversCredits": "Needs about {count} AI credits / month",
"pricing.calc.aiIncluded": "Included monthly credits cover this AI volume",
"pricing.calc.aiNeedsPacks": "Add {count}× {pack} (~{usd}) for the AI shortfall",
"pricing.calc.orYearly": "or ~{amount}/mo yearly",
"pricing.calc.budgetNote": "Lower list price with yearly discount and/or credit packs when that still fits.",
"pricing.calc.noBudget": "The recommended plan is already the leanest fit for these inputs.",
"pricing.calc.enterpriseTitle": "Sounds like Enterprise",
"pricing.calc.enterpriseBody": "Your feeds or catalog size exceed self-serve caps. Talk to sales for unlimited capacity and a managed AI grant or BYOK.",
"pricing.calc.ctaPlan": "Choose {name}",
"pricing.calc.disclaimer": "Estimates use list prices and ~2 credits per AI product enhance. Checkout prices come from Stripe. A1 and other client deals stay admin-only.",
"pricing.card.mostPopular": "Najpopularniejszy",
"pricing.card.custom": "Indywidualny",
"pricing.card.forever": "na zawsze",
"pricing.card.perMonth": "miesiąc",
"pricing.card.perYear": "rok",
"pricing.card.savePerMonth": "Oszczędź ${amount}/mies.",
"pricing.card.discountBadge": "-20%",
"pricing.card.unlimitedSkus": "Bez limitu SKU",
"pricing.card.oneMSkus": "1 mln+ SKU",
"pricing.card.upToSkus": "Do {count} SKU",
"pricing.card.unlimitedAi": "Bez limitu kredytów AI",
"pricing.card.zeroCredits": "0 kredytów AI / mies.",
"pricing.card.creditsPerMonth": "{count} kredytów AI / mies.",
"pricing.card.showLess": "Pokaż mniej",
"pricing.card.showMoreFeature": "Pokaż jeszcze {count} funkcję",
"pricing.card.showMoreFeatures": "Pokaż jeszcze {count} funkcji",
"pricing.card.upgradeTo": "Przejdź na {name}",
"pricing.plan.free.description": "Zmapuj przykładowy feed i wyczyść dane produktów — bez karty",
"pricing.plan.starter.description": "Małe katalogi potrzebujące tytułów i opisów AI",
"pricing.plan.plus.description": "Więcej produktów, feedów i AI dla rosnących katalogów",
"pricing.plan.growth.description": "Feedy wielu dostawców do sklepów i eksportów shopping",
"pricing.plan.business.description": "Katalogi mid-market z BYOK",
"pricing.plan.scale.description": "Katalogi w skali dystrybutora z priorytetowym wsparciem",
"pricing.plan.enterprise.description": "Bez limitu pojemności, SLA i dedykowany zespół konta",
"pricing.feature.credits100": "100 AI credits / month (~50% catalog cover)",
"pricing.feature.credits100starter": "100 AI credits / month (~50% catalog cover)",
"pricing.feature.credits400": "400 AI credits / month (~50% catalog cover)",
"pricing.feature.credits600": "600 AI credits / month (~10% credit base)",
"pricing.feature.credits1800": "1,800 AI credits / month (~6% credit base)",
"pricing.feature.credits2700": "2,700 AI credits / month (~15% credit base)",
"pricing.feature.credits5000base": "5,000 AI credits / month (~10% credit base)",
"pricing.feature.credits7000": "7,000 AI credits / month (~20% credit base)",
"pricing.feature.credits12000": "12,000 AI credits / month (~50% catalog cover)",
"pricing.feature.credits16000": "16,000 AI credits / month (~16% credit base)",
"pricing.feature.upTo1mSkus": "Up to 1,000,000 SKUs",
"pricing.feature.upTo15kSkus": "Up to 15,000 SKUs",
"pricing.feature.credits15000": "15,000 AI credits / month (~75% catalog cover)",
"pricing.feature.credits60000": "60,000 AI credits / month (~75% catalog cover)",
"pricing.feature.upTo50Skus": "Do 50 SKU",
"pricing.feature.upTo100Skus": "Up to 100 SKUs",
"pricing.feature.upTo400Skus": "Up to 400 SKUs",
"pricing.feature.upTo1200Skus": "Up to 1,200 SKUs",
"pricing.feature.upTo4kSkus": "Up to 4,000 SKUs",
"pricing.feature.upTo12kSkus": "Up to 12,000 SKUs",
"pricing.feature.oneFeedSource": "1 źródło feedu",
"pricing.feature.twoFeedSources": "2 feed sources",
"pricing.feature.threeFeedSources": "3 źródła feedów",
"pricing.feature.fourFeedSources": "4 feed sources",
"pricing.feature.sixFeedSources": "6 feed sources",
"pricing.feature.twelveFeedSources": "12 feed sources",
"pricing.feature.twentyFiveFeedSources": "25 feed sources",
"pricing.feature.cleanData": "Czyszczenie danych, parsowanie specyfikacji i uzupełnianie pól",
"pricing.feature.eprel": "Etykiety energetyczne UE (EPREL)",
"pricing.feature.zeroCredits": "0 kredytów AI / mies.",
"pricing.feature.oneManualExport": "1 ręczny feed eksportu",
"pricing.feature.twoExports": "2 export feeds",
"pricing.feature.fourExports": "4 export feeds",
"pricing.feature.wooTestOnly": "Tylko test połączenia WooCommerce",
"pricing.feature.upTo2Seats": "Do 2 miejsc",
"pricing.feature.aiTitles": "Tytuły i opisy AI",
"pricing.feature.liveStoreSync": "Live sync ze sklepem",
"pricing.feature.apiAccess": "Dostęp do API",
"pricing.feature.byok": "Własny klucz AI",
"pricing.feature.upTo500Skus": "Do 500 SKU",
"pricing.feature.upTo1000Skus": "Up to 1,000 SKUs",
"pricing.feature.fiveFeedSources": "5 feed sources",
"pricing.feature.fiveExports": "5 export feeds",
"pricing.feature.credits250": "250 AI credits / month (~25% catalog cover)",
"pricing.feature.credits1000": "1,000 AI credits / month (~50% catalog cover)",
"pricing.feature.credits1000full": "1,000 AI credits / month (full primary-language catalog)",
"pricing.feature.credits10000full": "10,000 AI credits / month (full primary-language catalog)",
"pricing.feature.credits50000full": "50,000 AI credits / month (full primary-language catalog)",
"pricing.feature.credits100000": "100,000 AI credits / month (full primary-language catalog)",
"pricing.feature.credits225000": "225,000 AI credits / month (~75% catalog cover)",
"pricing.feature.credits12500": "12,500 AI credits / month (~25% catalog cover)",
"pricing.feature.credits30000": "30,000 AI credits / month (~20% catalog cover)",
"pricing.feature.upTo75kSkus": "Up to 75,000 SKUs",
"pricing.feature.threeExports": "3 feedy eksportu",
"pricing.feature.sixExports": "6 export feeds",
"pricing.feature.tenExports": "10 export feeds",
"pricing.feature.fullWooSync": "Pełny sync WooCommerce",
"pricing.feature.readApi": "Dostęp do API tylko do odczytu",
"pricing.feature.emailSupport": "Wsparcie e-mail",
"pricing.feature.creditPacks": "Buy extra AI credit packs",
"pricing.feature.upTo2500Skus": "Do 2 500 SKU",
"pricing.feature.upTo1500Skus": "Up to 1,500 SKUs",
"pricing.feature.upTo3500Skus": "Up to 3,500 SKUs",
"pricing.feature.upTo9500Skus": "Up to 9,500 SKUs",
"pricing.feature.upTo18kSkus": "Up to 18,000 SKUs",
"pricing.feature.upTo55kSkus": "Up to 55,000 SKUs",
"pricing.feature.upTo5000Skus": "Up to 5,000 SKUs",
"pricing.feature.eightFeedSources": "8 źródeł feedów",
"pricing.feature.credits500": "500 kredytów AI / mies.",
"pricing.feature.credits1250": "1,250 AI credits / month (~25% catalog cover)",
"pricing.feature.credits5000": "5,000 AI credits / month (~25% catalog cover)",
"pricing.feature.eightExports": "8 feedów eksportu",
"pricing.feature.fifteenExports": "15 export feeds",
"pricing.feature.wooShopifySync": "Pełny sync WooCommerce + Shopify",
"pricing.feature.upTo10kSkus": "Do 10 000 SKU",
"pricing.feature.upTo25kSkus": "Up to 25,000 SKUs",
"pricing.feature.fifteenFeedSources": "15 źródeł feedów",
"pricing.feature.tenFeedSources": "10 feed sources",
"pricing.feature.twentyFeedSources": "20 feed sources",
"pricing.feature.thirtyFeedSources": "30 feed sources",
"pricing.feature.credits1200": "1 200 kredytów AI / mies.",
"pricing.feature.credits10000": "10,000 AI credits / month (~50% catalog cover)",
"pricing.feature.credits25000": "25,000 AI credits / month (~50% catalog cover)",
"pricing.feature.twentyExports": "20 feedów eksportu",
"pricing.feature.fortyExports": "40 export feeds",
"pricing.feature.fullFormulas": "Pełne formuły i zmienne",
"pricing.feature.fullApi": "Pełny dostęp do API",
"pricing.feature.byokAddon": "Dodatek bring-your-own-key",
"pricing.feature.emailSupport24h": "Wsparcie e-mail (24h)",
"pricing.feature.upTo40kSkus": "Do 40 000 SKU",
"pricing.feature.upTo50kSkus": "Up to 50,000 SKUs",
"pricing.feature.fortyFeedSources": "40 źródeł feedów",
"pricing.feature.fiftyFeedSources": "50 feed sources",
"pricing.feature.credits4000": "4 000 kredytów AI / mies.",
"pricing.feature.credits40000": "40,000 AI credits / month (~50% catalog cover)",
"pricing.feature.credits50000half": "50,000 AI credits / month (~50% catalog cover)",
"pricing.feature.unlimitedExports": "Bez limitu feedów eksportu",
"pricing.feature.fullApiWebhooks": "Pełne API",
"pricing.feature.byokIncluded": "Własny klucz AI w cenie",
"pricing.feature.priorityEmail": "Priorytetowe wsparcie e-mail",
"pricing.feature.upTo100kSkus": "Do 100 000 SKU",
"pricing.feature.upTo150kSkus": "Up to 150,000 SKUs",
"pricing.feature.hundredFeedSources": "100 źródeł feedów",
"pricing.feature.hundredFiftyFeedSources": "150 feed sources",
"pricing.feature.credits8000": "8 000 kredytów AI / mies.",
"pricing.feature.credits50000": "50,000 AI credits / month (~25% catalog cover)",
"pricing.feature.credits120000": "120,000 AI credits / month (~40% catalog cover)",
"pricing.feature.prioritySlack": "Priorytetowe wsparcie + Slack",
"pricing.feature.unlimitedSkus": "Bez limitu SKU",
"pricing.feature.unlimitedFeeds": "Bez limitu źródeł feedów",
"pricing.feature.unlimitedAiOwnKey": "Bez limitu kredytów AI / własny klucz",
"pricing.feature.ssoWebhooksAm": "SSO, dedykowany opiekun konta",
"pricing.feature.customIntegrations": "Integracje na zamówienie",
"pricing.feature.slaPriority": "SLA i priorytetowe wsparcie",
"pricing.pack.tiny.name": "Nano pack",
"pricing.pack.tiny.desc": "Smoke tests / tiny fixes (25 credits ≈ 12 AI products)",
"pricing.pack.small.name": "Starter pack",
"pricing.pack.small.desc": "Extra AI for fixes and tests (~250 products)",
"pricing.pack.medium.name": "Growth pack",
"pricing.pack.medium.desc": "Keep enhancing after the monthly plan allowance (~1,000 products)",
"pricing.pack.large.name": "Catalog pack",
"pricing.pack.large.desc": "Big top-up for large catalogs and re-runs (~5,000 products)",
"pricing.pack.xl.name": "Scale pack",
"pricing.pack.xl.desc": "Heavy usage / agency bursts (~20,000 products)",
"pricing.pack.xxl.name": "Business pack",
"pricing.pack.xxl.desc": "Large multi-language buffer (3,000 credits ≈ 1,500 AI products)",
"pricing.pack.mega.name": "Scale pack",
"pricing.pack.mega.desc": "Distributor / agency burst (8,000 credits ≈ 4,000 AI products)",
"pricing.section.faqDescription": "Proste odpowiedzi o planach, kredytach i tym, co obejmuje Free.",
"billing.buyCreditPacks": "Buy AI credit packs",
"billing.buyCreditPacksHint": "Plans cover ~75% of your SKU cap with AI. Top up anytime for the rest, fixes, and tests — without changing your plan.",
"billing.packCredits": "{credits} kredytów",
"billing.packApproxProducts": "~{count} AI products",
"billing.buyPack": "Buy",
"billing.checkoutCompletePack": "Credit pack purchased — {credits} AI credits added.",
"billing.packCheckoutFailed": "Could not start credit pack checkout.",
"empty.default.noItems": "Nie znaleziono elementów.",
"settings.tabLockedHint": "Not on your plan",
"stores.connectorLocked": "Not on your plan",
"stores.connectorUpgrade": "Upgrade to unlock",
"plan.upgrade.title": "Ta funkcja nie jest w Twoim planie",
"plan.upgrade.message": "Ulepsz plan, aby odblokować tę część Descrybe.",
"plan.upgrade.defaultMessage": "Twój obecny plan nie obejmuje tej części Descrybe. Ulepsz plan, aby ją odblokować, albo poproś administratora firmy, jeśli nie możesz zmienić rozliczeń.",
"plan.upgrade.sectionOff.title": "Ta funkcja jest tymczasowo niedostępna",
"plan.upgrade.sectionOff.message": "Ta część Descrybe jest teraz wyłączona na platformie. To nie problem z upgradeem — spróbuj później lub skontaktuj się z pomocą.",
"plan.upgrade.sectionOff.cta": "Wróć do pulpitu",
"plan.upgrade.stores.message": "Konektory WooCommerce i Shopify wymagają planu ze Sklepami. Ulepsz plan, aby je połączyć — albo korzystaj z feedów i API w obecnym planie.",
"plan.upgrade.stillWorks.title": "Co nadal działa w Twoim planie",
"plan.upgrade.stillWorks.feeds.label": "Feedy wejściowe",
"plan.upgrade.stillWorks.feeds.description": "Dodaj URL CSV lub XML oraz uploady plików, aby synchronizować katalogi bez konektorów sklepu.",
"plan.upgrade.stillWorks.export.label": "Feedy eksportu",
"plan.upgrade.stillWorks.export.description": "Generuj wychodzące feedy dla kanałów zakupowych i partnerów.",
"plan.upgrade.stillWorks.processing.label": "Zadania w tle",
"plan.upgrade.stillWorks.processing.description": "Monitoruj zadania AI i katalogu w Przetwarzaniu — dostępne w Twoim planie nawet bez konektorów sklepu.",
"plan.upgrade.stillWorks.api.label": "Klucze API",
"plan.upgrade.stillWorks.api.description": "Utwórz klucz w Ustawieniach, aby używać /api/v1 — sekret jest pokazany tylko raz.",
"plan.upgrade.stillWorks.docs.label": "Dokumentacja API",
"plan.upgrade.stillWorks.docs.description": "Przeczytaj przegląd API i integruj bez WooCommerce ani Shopify.",
"plan.upgrade.feature.settings.api_keys": "Klucze API wymagają płatnego planu",
"plan.upgrade.feature.catalog.products.process_ai_titles": "Tytuły AI to funkcja płatna",
"plan.upgrade.feature.catalog.products.process_ai_descriptions": "Opisy AI to funkcja płatna",
"plan.upgrade.feature.marketing.campaigns.generate_ai": "AI kampanii wymaga płatnego planu",
"plan.upgrade.feature.marketing.campaigns.send": "Wysłanie kampanii na żywo wymaga płatnego planu",
"plan.upgrade.feature.marketing.brand_ai_apply": "Głos marki w AI wymaga płatnego planu",
"plan.upgrade.feature.marketing.seo.ai_rewrite": "Przepisanie SEO AI wymaga płatnego planu",
"plan.upgrade.feature.integrations.ai.byok": "Własny klucz AI od planu Growth",
"plan.upgrade.feature.capability.byok": "Własny klucz AI od planu Growth",
"plan.upgrade.feature.marketing.campaigns": "Kampanie nie są w Twoim planie",
"plan.upgrade.feature.marketing.content_calendar": "Kalendarz treści nie jest w Twoim planie",
"plan.upgrade.feature.marketing.seo": "Narzędzia SEO nie są w Twoim planie",
"plan.upgrade.feature.marketing.brand_kit": "Brand kit nie jest w Twoim planie",
"plan.upgrade.feature.marketing.reviews": "Opinie nie są w Twoim planie",
"plan.upgrade.feature.integrations.ai": "Integracje AI nie są w Twoim planie",
"plan.upgrade.feature.integrations.email": "Wysyłka e-mail nie jest w Twoim planie",
"plan.upgrade.feature.processing.monitor": "Przetwarzanie nie jest w Twoim planie",
"plan.upgrade.feature.stores.hub": "Konektory sklepu nie są w Twoim planie",
"plan.upgrade.feature.stores.woocommerce": "WooCommerce nie jest w Twoim planie",
"plan.upgrade.feature.stores.shopify": "Shopify nie jest w Twoim planie",
"plan.upgrade.feature.support.center": "Centrum pomocy nie jest w Twoim planie",
"plan.upgrade.feature.support.ticket_create": "Tworzenie ticketów pomocy nie jest w Twoim planie",
"plan.upgrade.feature.support.ticket_thread": "Wątki ticketów pomocy nie są w Twoim planie",
"plan.upgrade.feature.catalog.structured_descriptions": "Opisy strukturalne nie są w Twoim planie",
"plan.upgrade.feature.catalog.vector_categories": "Kategorie wektorowe nie są w Twoim planie",
"plan.checkingAccess": "Sprawdzanie dostępu do planu…",
"upgradeBanner.comparePlans": "Porównaj plany",
"upgradeBanner.talkToSales": "Porozmawiaj ze sprzedażą",
"commandPalette.closeAria": "Zamknij wyszukiwanie",
"commandPalette.ariaLabel": "Szukaj stron",
"commandPalette.placeholder": "Szukaj stron…",
"commandPalette.searchAria": "Szukaj stron",
"commandPalette.destinationsAria": "Strony",
"commandPalette.noMatches": "Brak pasujących stron",
"commandPalette.announceIdleOne": "Wyszukiwanie. {count} strona.",
"commandPalette.announceIdleMany": "Wyszukiwanie. {count} stron.",
"commandPalette.announceNone": "Brak pasujących stron.",
"commandPalette.announceMatchOne": "{count} pasująca strona.",
"commandPalette.announceMatchMany": "{count} pasujące strony.",
"vector.title": "Test kategorii wektorowych",
"vector.description": "Przeszukuj indeks kategorii wektorowych, gdy Pinecone jest skonfigurowany. Tworzenie indeksu i inicjalizacja nie są jeszcze dostępne w v2.",
"vector.probing": "Sprawdzanie API kategorii wektorowych…",
"vector.unavailable": "Kategorie wektorowe nie są jeszcze na tym backendzie. Nie ma tu nic do uruchomienia, dopóki /api/vector-categories/* nie zostanie podłączone.",
"vector.browseCategories": "Przeglądaj kategorie",
"vector.initHeading": "Inicjalizuj bazę wektorową",
"vector.initComingSoon": "Utwórz indeks i Inicjalizuj DB wektorową nie są jeszcze dostępne w v2 (wkrótce). Wyszukiwanie nadal działa, gdy Pinecone jest skonfigurowany.",
"vector.createIndex": "Utwórz indeks",
"vector.initDb": "Inicjalizuj DB wektorową",
"vector.searchHeading": "Szukaj kategorii",
"vector.searchPlaceholder": "Wpisz opis produktu…",
"vector.results": "Wyniki:",
"vector.categoryLabel": "Kategoria:",
"vector.idLabel": "ID:",
"vector.scoreLabel": "Wynik:",
"switcher.switching": "Przełączanie…",
"switcher.returnTo": "Wróć do {email}",
"switcher.switchUser": "Przełącz użytkownika",
"switcher.loadingUsers": "Ładowanie użytkowników…",
"switcher.empty": "Nie znaleziono użytkowników do przełączenia.",
"switcher.noCompany": "Brak firmy",
"switcher.unknownCompany": "Nieznana firma",
"companySwitcher.select": "Wybierz firmę",
"companySwitcher.switchAria": "Przełącz firmę: {label}",
"companySwitcher.companies": "Firmy",
"storeReconnect.primaryLabel": "Połącz sklep ponownie",
"storeReconnect.titlePlural": "Połącz sklepy ponownie po migracji",
"storeReconnect.titleChannel": "Połącz {channel} ponownie po migracji",
"storeReconnect.titleSingular": "Połącz sklep ponownie po migracji",
"storeReconnect.messageWithItems": "Dane logowania API sklepu nie zostały przeniesione (lub nie można ich użyć) po migracji platformy. To nie jest uszkodzona synchronizacja — połącz ponownie każdy sklep, a potem Przetestuj połączenie przed kolejką synchronizacji.",
"storeReconnect.messageSingle": "Dane logowania API {channel} nie zostały przeniesione (lub nie można ich użyć) po migracji platformy. To nie jest uszkodzona synchronizacja — wklej świeże dane, Zapisz, a potem Przetestuj połączenie przed kolejką synchronizacji.",
"storeReconnect.channelFallback": "Sklep",
"storeReconnect.askAdmin": "Poproś administratora firmy o ponowne połączenie — tylko administratorzy mogą zapisywać dane logowania sklepu.",
"storeReconnect.reconnectItem": "Połącz ponownie {label}",
"admin.storeReconnect.channel.other": "Other",
"admin.storeReconnect.channel.woocommerce": "WooCommerce",
"admin.storeReconnect.channel.shopify": "Shopify",
"admin.storeReconnect.reason.other": "Other",
"admin.storeReconnect.reason.missingCredentials": "Missing credentials",
"admin.storeReconnect.enabledNo": "No",
"admin.storeReconnect.enabledYes": "Yes",
"admin.storeReconnect.colLastTest": "Last test",
"admin.storeReconnect.colEnabled": "Enabled",
"admin.storeReconnect.colReason": "Reason",
"admin.storeReconnect.colIdentity": "Identity",
"admin.storeReconnect.colChannel": "Channel",
"admin.storeReconnect.colCompany": "Company",
"admin.storeReconnect.noRows": "No rows in this page.",
"admin.storeReconnect.noneFound": "No stores need reconnect right now.",
"admin.storeReconnect.needsBadge": "Needs reconnect",
"admin.storeReconnect.cleanBadge": "No gaps",
"admin.storeReconnect.listDesc": "Store URL / shop domain present without usable secrets (matches merchant reconnect banner).",
"admin.storeReconnect.listTitle": "Connected but invalid",
"admin.storeReconnect.metric.showing": "Rows shown",
"admin.storeReconnect.metric.total": "Gaps total",
"admin.storeReconnect.cutoverHint": "Read-only inventory. Merchants reconnect via /stores/wizard or the channel Connection tab — this page does not mutate credentials.",
"admin.storeReconnect.loadFailed": "Could not load store reconnect inventory.",
"admin.storeReconnect.refresh": "Refresh",
"admin.storeReconnect.description": "Companies with a connected store identity but missing or unusable API credentials (cutover credential gaps).",
"admin.storeReconnect.title": "Store reconnect inventory",
"admin.nav.storeReconnect": "Store reconnect",
"storeReconnect.wizardHint": "Prefer a step-by-step flow? Open Guided setup (/stores/wizard), or reconnect the channel below and Test Connection before syncing.",
"storeReconnect.wizardLabel": "Guided setup",
"storeReconnect.reviewsHint": "Import recenzji nie może działać, dopóki dane logowania nie zostaną ponownie połączone po migracji. W zakładce Połączenie: Zapisz, potem Przetestuj połączenie.",
"storeReconnect.ordersHint": "Import zamówień nie może działać, dopóki dane logowania nie zostaną ponownie połączone po migracji. W zakładce Połączenie: Zapisz, potem Przetestuj połączenie.",
"productSync.directionTitle": "Produkty: Descrybe → sklep",
"productSync.outbound": "Descrybe → {channel}",
"productSync.outboundBody": "— wysyła przetworzone produkty Descrybe do sklepu (tworzy lub aktualizuje dopasowane produkty zdalne). Nie importuje katalogu sklepu do Descrybe.",
"productSync.firstSync": "Pierwsza synchronizacja",
"productSync.firstSyncBody": "— niedopasowane produkty są tworzone w {channel}. Kolejne synchronizacje aktualizują produkty już powiązane po id lub strategii dopasowania.",
"productSync.reSync": "Ponowna synchronizacja",
"productSync.reSyncBody": "— dopasowane produkty zdalne mogą zostać nadpisane treścią Descrybe ({count} powiązanych do tej pory).",
"productSync.queued": "Synchronizacja produktów w kolejce",
"productSync.live.queued": "W kolejce — oczekiwanie na workera",
"productSync.live.running": "Synchronizacja w toku",
"productSync.live.watching": "Śledzenie statusu… liczniki pojawią się po zakończeniu.",
"productSync.live.success": "Sync zakończona: {total} łącznie · {created} utworzonych · {updated} zaktualizowanych · {failed} nieudanych · {skipped} pominiętych",
"productSync.live.partial": "Sync z błędami: {total} łącznie · {created} utworzonych · {updated} zaktualizowanych · {failed} nieudanych · {skipped} pominiętych",
"productSync.live.failed": "Sync nieudana{detail}.",
"productSync.live.timedOut": "Nadal trwa — odśwież później, by zobaczyć status i liczniki.",
"productSync.live.ordersSuccess": "Sync zamówień zakończona ({status}).",
"productSync.live.reviewsSuccess": "Sync recenzji zakończona ({status}).",
"productSync.retry": "Ponów sync",
"productSync.lastStatus": "Ostatnia: {status}",
"productSync.dryRun": "Symulacja",
"productSync.lastSyncAt": "Ostatnia synchronizacja produktów: {date}",
"productSync.noneYet": "Żadna synchronizacja produktów jeszcze się nie zakończyła.",
"productSync.lastRun": "Ostatnie uruchomienie: {total} łącznie · {created} utworzonych · {updated} zaktualizowanych · {failed} nieudanych · {skipped} pominiętych",
"productSync.needsReconnect": "Synchronizacja produktów nie może działać, dopóki dane logowania nie zostaną ponownie połączone po migracji. W zakładce Połączenie: Zapisz, potem Przetestuj połączenie.",
"productSync.scheduleTitle": "Automatic product sync schedule",
"productSync.scheduleHelp": "Jak interwały feedów: ustaw, jak często Descrybe wypycha produkty do sklepu, albo wstrzymaj harmonogram. Ręczna kolejka działa mimo pauzy. Webhooki sklepu nie są używane — tylko odpytywanie/kolejka.",
"productSync.scheduleInterval": "Interwał sync (godziny)",
"productSync.scheduleIntervalHint": "1168 godzin. Domyślnie 6 godzin, jeśli nie ustawiono na serwerze.",
"productSync.schedulePause": "Wstrzymaj automatyczny sync",
"productSync.schedulePauseHint": "Zatrzymuje tylko zaplanowane wypchnięcia. Nadal możesz ręcznie ustawić sync produktów w kolejce.",
"productSync.scheduleSave": "Save schedule",
"productSync.scheduleSaved": "Product sync schedule saved.",
"productSync.schedulePausedSaved": "Automatic product sync paused.",
"productSync.scheduleSaveFailed": "Could not save product sync schedule",
"productSync.schedulePausedBadge": "Schedule paused",
"productSync.scheduleActiveBadge": "Schedule active",
"productSync.scheduleNeedsConfig": "Save store connection first",
"productSync.scheduleAdminOnly": "Company admin required",
"productSync.delivery.title": "Aktualizacje przez odpytywanie, nie webhooki sklepu",
"productSync.delivery.body": "Descrybe nie odbiera webhooków Shopify ani WooCommerce. Wypychanie produktów działa po dodaniu do kolejki lub według harmonogramu. Ta strona śledzi postęp, odpytując status połączenia — nie przez live push ze sklepu.",
"productSync.delivery.inboundNote": "Zamówienia i recenzje też używają kolejek (harmonogram lub ręcznie), nie live webhooków.",
"productSync.delivery.hubNote": "Konektory sklepów synchronizują według harmonogramu lub po dodaniu zadania do kolejki — nie przez live webhooki sklepu.",
"productSync.delivery.badge.manual": "Kolejka ręczna",
"productSync.delivery.badge.scheduled": "Harmonogram co {hours} godz.",
"productSync.delivery.badge.scheduledDefault": "Harmonogram (domyślnie serwera)",
"productSync.delivery.badge.paused": "Harmonogram wstrzymany",
"productSync.delivery.badge.webhooksOff": "Webhooki sklepu: niedostępne",
"productSync.scope.title": "What to sync",
"productSync.scope.hint": "Optional filters for this push only. Leave blank to sync the latest processed products up to the limit.",
"productSync.scope.status": "Status",
"productSync.scope.statusAll": "All statuses",
"productSync.scope.statusCompleted": "Completed",
"productSync.scope.statusNeedsReview": "Needs review",
"productSync.scope.statusProcessing": "Processing",
"productSync.scope.statusError": "Error",
"productSync.scope.category": "Category",
"productSync.scope.categoryPlaceholder": "Exact category name (optional)",
"productSync.scope.limit": "Max products",
"productSync.scope.products": "Specific products",
"productSync.scope.productsHint": "Optional. Search and select processed products to push only those.",
"productSync.scope.productsOverrideHint": "Selected products override status, category, and max-products filters for this sync.",
"productSync.scope.productsSearch": "Search products…",
"productSync.scope.productsLoading": "Loading products…",
"productSync.scope.productsEmpty": "No processed products found.",
"productSync.scope.productsSelected": "{count} selected",
"productSync.scope.productsSelectedList": "Selected products",
"productSync.scope.productsClear": "Clear selection",
"productSync.scope.productsMax": "Maximum {max} products",
"store.syncingLive": "Synchronizacja…",
"files.recentUploads": "Ostatnie przesłania",
"files.colFileName": "Nazwa pliku",
"files.colKind": "Rodzaj",
"files.colUploaded": "Przesłano",
"files.colRows": "Wiersze",
"files.loading": "Ładowanie przesłań…",
"files.empty": "Brak przesłań.",
"products.filters.sortProducts": "Sortuj produkty",
"products.table.options": "Opcje",
};