Twenty-eight commits landed on the web app and the API since the phone was last touched, and the phone's own README opens by claiming full feature parity. It was not a small drift: a whole tab, two whole cards, and the two settings that decide how a time is read. The scheduler arrives as the third charging tab. One list of tasks covering every charger the account owns, where the charger's own cloud schedule is one window inside one box. A task is a flow — start at 23:00, cap to 10 A at 01:00, stop at 06:30 — on the days and the chargers it names, and naming no charger means all of them, including the ones imported later. The clock is the server's, so the tab only writes tasks and reads back how each one last went, and any step can be fired now to find out whether it will reach the charger before the night it matters. The RFID card comes with it: the list the account holds, a card added by its number or by holding it against the charger's own reader, and the charger's own list read back from the device. Both halves are written by every add and remove and they can still come apart, so when they disagree the card says which list each card is missing from — nothing else on the page would. The charger settings card the phone never had at all goes in whole rather than only its new half. Over Modbus that is the four writable registers; over the cloud it is the charger's whole settings group in sections, drawn from the same block table the web reads, one write per section because the charger takes a command whole and a schedule carrying only its switch is a schedule whose times have just been set to midnight. The clock and the week become settings. format.dart grows formatTime, the weekday order and the short names, with "auto" asking intl's own hour pattern and FIRSTDAYOFWEEK rather than a table here; Settings › Appearance asks both questions beneath the date. Flutter's own picker renders on the device locale, which nothing in this app steers, so TimeField types four digits on whichever clock is in force and keeps the meridiem as its own control — a box reading 13:45 beside a dial saying 01:45 PM is the disagreement the setting exists to end. The smaller ones travel too. The control card says which charger its buttons drive, picture and name, because it follows a serial and not the highlighted row; its two tiles take the names of the readings they actually hold; and the limit slider leaves it wherever a settings card now owns that value. The list's reachability re-asks every thirty seconds while the tab is in front, merged rather than replaced — "we could not ask" is not an answer, and it certainly is not "unknown". A settings frame that answers half a minute late is chased at widening gaps and then given up on. The information card names the fields the service sent under its own names and groups list records under their own, so list[0].* stops being read as one alphabetical run. An inherited integration field shows what it inherited rather than an example. The sign-in fields say nothing until you type. One gap stays open, and deliberately. The task form sends the phone's zone only when Dart reports an IANA name; Android usually answers with an abbreviation like CEST, which is not a zone, so it sends nothing and the server falls back to its own clock. A name the server would misread is worse than no name. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1441 lines
61 KiB
JSON
1441 lines
61 KiB
JSON
{
|
||
"common": {
|
||
"save": "Zapisz",
|
||
"saving": "Zapisywanie…",
|
||
"saved": "Zapisano ✓",
|
||
"cancel": "Anuluj",
|
||
"remove": "Usuń",
|
||
"retry": "Ponów",
|
||
"required": "Wymagane",
|
||
"confirm": "Potwierdź",
|
||
"empty": "—",
|
||
"saveChanges": "Zapisz zmiany",
|
||
"loading": "Ładowanie…",
|
||
"edit": "Edytuj",
|
||
"open": "Otwórz",
|
||
"delete": "Usuń",
|
||
"done": "Gotowe",
|
||
"undo": "Cofnij",
|
||
"download": "Pobierz",
|
||
"yes": "Tak",
|
||
"no": "Nie"
|
||
},
|
||
"nav": {
|
||
"garage": "Garaż",
|
||
"charging": "Ładowanie",
|
||
"settings": "Ustawienia",
|
||
"users": "Użytkownicy"
|
||
},
|
||
"login": {
|
||
"tagline": "Twój samochód pod kontrolą.",
|
||
"email": "E-mail",
|
||
"password": "Hasło",
|
||
"showPassword": "Pokaż hasło",
|
||
"hidePassword": "Ukryj hasło",
|
||
"submit": "Zaloguj się",
|
||
"submitting": "Logowanie…",
|
||
"or": "lub",
|
||
"signInWithFace": "Zaloguj się rozpoznawaniem twarzy",
|
||
"signInWithFingerprint": "Zaloguj się odciskiem palca",
|
||
"signInWithBiometrics": "Zaloguj się biometrią",
|
||
"enrollTitle": "Włączyć logowanie biometryczne?",
|
||
"enrollBody": "Następnym razem możesz zalogować się za pomocą {method} zamiast wpisywać hasło.",
|
||
"enrollNotNow": "Nie teraz",
|
||
"enrollEnable": "Włącz",
|
||
"methodFace": "rozpoznawania twarzy",
|
||
"methodFingerprint": "odcisku palca",
|
||
"methodBiometrics": "biometrii",
|
||
"bioReasonSignInAs": "Zaloguj się jako {email}",
|
||
"bioReasonSignIn": "Zaloguj się do DriverVault",
|
||
"savedInvalid": "Zapisane dane logowania są już nieważne. Zaloguj się hasłem.",
|
||
"serverSettings": "Ustawienia serwera",
|
||
"apiServerUrl": "Adres serwera API",
|
||
"leaveBlank": "Pozostaw puste, aby użyć domyślnego.",
|
||
"reset": "Resetuj",
|
||
"savedNote": "Zapisano ✓",
|
||
"resetNote": "Zresetowano ✓"
|
||
},
|
||
"servers": {
|
||
"title": "Serwery",
|
||
"home": "Serwer domyślny",
|
||
"switchHint": "Przełącz serwer, z którego korzysta aplikacja",
|
||
"add": "Dodaj serwer",
|
||
"addTitle": "Dodaj serwer",
|
||
"name": "Nazwa",
|
||
"namePlaceholder": "Garaż domowy",
|
||
"url": "Adres",
|
||
"urlHint": "Publiczny adres API Servera, np. https://garage.example.com — /api zostanie dodane, jeśli pominiesz ścieżkę.",
|
||
"urlHomeHint": "Zostaw puste, aby użyć adresu wbudowanego w aplikację.",
|
||
"connect": "Połącz",
|
||
"connecting": "Łączenie…",
|
||
"connected": "Połączono",
|
||
"notConnected": "Brak połączenia — zaloguj się, aby przełączyć",
|
||
"signOut": "Wyloguj z tego serwera",
|
||
"removeConfirm": "Usunąć {name}? Zapisana sesja również zostanie zapomniana.",
|
||
"unknown": "Nieznany serwer"
|
||
},
|
||
"lock": {
|
||
"title": "DriverVault jest zablokowany",
|
||
"reason": "Odblokuj DriverVault",
|
||
"unlock": "Odblokuj",
|
||
"unlocking": "Odblokowywanie…",
|
||
"usePassword": "Użyj hasła"
|
||
},
|
||
"dashboard": {
|
||
"eyebrow": "TWOJE SAMOCHODY",
|
||
"title": "Garaż",
|
||
"addCar": "Dodaj samochód",
|
||
"lightMode": "Tryb jasny",
|
||
"darkMode": "Tryb ciemny",
|
||
"logOut": "Wyloguj się",
|
||
"empty": "Nie masz jeszcze samochodów.",
|
||
"shared": "Udostępniony",
|
||
"sharedReadOnly": "Udostępniony · tylko do odczytu",
|
||
"serviceLife": "ZUŻYCIE OKRESU SERWISOWEGO",
|
||
"lastService": "Ostatni serwis",
|
||
"currentOdometer": "Aktualny przebieg",
|
||
"nextDue": "Następny termin",
|
||
"nextDueKm": "Następny przebieg",
|
||
"serviceRecords": {
|
||
"one": "{n} wpis serwisowy",
|
||
"few": "{n} wpisy serwisowe",
|
||
"many": "{n} wpisów serwisowych",
|
||
"other": "{n} wpisu serwisowego"
|
||
}
|
||
},
|
||
"carApp": {
|
||
"signIn": "Zaloguj się w telefonie, aby zobaczyć tutaj swój garaż.",
|
||
"expired": "Sesja wygasła. Zaloguj się ponownie w telefonie.",
|
||
"unreachable": "Nie można połączyć się z serwerem.",
|
||
"refresh": "Odśwież"
|
||
},
|
||
"charging": {
|
||
"eyebrow": "ŁADOWANIE I MAPA",
|
||
"title": "Ładowarki w pobliżu",
|
||
"tabs": {
|
||
"public": "Ładowarki publiczne",
|
||
"home": "Ładowarki domowe",
|
||
"scheduler": "Harmonogram ładowarki"
|
||
},
|
||
"arrange": {
|
||
"title": "Ułóż stronę ładowania",
|
||
"tabs": "Zakładki",
|
||
"cards": "Karty"
|
||
},
|
||
"liveMap": "Mapa na żywo",
|
||
"youAreHere": "Tu jesteś",
|
||
"session": {
|
||
"chargingNow": "Ładowanie w toku",
|
||
"rate": "Moc",
|
||
"added": "Dodano",
|
||
"cost": "Koszt",
|
||
"done": "Koniec",
|
||
"stop": "Zatrzymaj ładowanie",
|
||
"idle": "Brak ładowania",
|
||
"idleHint": "Podłącz na stacji, aby rozpocząć sesję."
|
||
},
|
||
"control": {
|
||
"title": "Sterowanie ładowarką",
|
||
"connected": "Połączono",
|
||
"disconnected": "Brak połączenia",
|
||
"serialPlaceholder": "Numer seryjny ładowarki (np. A5191-XXXXXXXX)",
|
||
"refresh": "Odśwież",
|
||
"status": "Złącze",
|
||
"meter": "Energia",
|
||
"start": "Rozpocznij ładowanie",
|
||
"stop": "Zatrzymaj ładowanie",
|
||
"limit": "Limit prądu",
|
||
"applyLimit": "Zastosuj limit",
|
||
"clearLimit": "Usuń limit",
|
||
"reset": "Zrestartuj ładowarkę",
|
||
"resetConfirm": "Zrestartować teraz tę ładowarkę? Trwająca sesja ładowania zostanie przerwana. Wpisz ponownie hasło, aby potwierdzić.",
|
||
"resetPassword": "Hasło do Twojego konta",
|
||
"restartCloudHint": "Ładowarka zrestartuje się zamiast odpowiedzieć i zniknie z chmury na około minutę.",
|
||
"connectHint": "Wpisz numer seryjny ładowarki i odśwież. Ładowarka musi być połączona z backendem OCPP DriverVault (konfiguracja w Ustawienia → Integracje).",
|
||
"connectionTitle": "Połączenie z ładowarką",
|
||
"enterSerial": "Wpisz numer seryjny zamiast tego",
|
||
"pickSerial": "Wybierz ze swoich ładowarek",
|
||
"address": "Adres ładowarki w tej sieci",
|
||
"addressPlaceholder": "Adres IP (np. 192.168.1.40)",
|
||
"addressPort": "Port",
|
||
"addressHint": "Włącz Modbus TCP w aplikacji Anker w Ustawienia → Integracje; aplikacja pokaże wtedy ten adres.",
|
||
"saveAddress": "Zapisz adres",
|
||
"forgetAddress": "Zapomnij",
|
||
"forgetAddressConfirm": "Zapomnieć lokalny adres tej ładowarki? Sterowanie przez sieć lokalną przestanie działać, dopóki nie wpiszesz go ponownie.",
|
||
"boost": "Boost w tej sesji",
|
||
"skipDelay": "Pomiń opóźnienie startu",
|
||
"cloudNote": "Nie ma tu nic do skonfigurowania: poświadczeniem jest konto Anker, które podajesz w Ustawieniach. Polecenia idą połączeniem, które ładowarka i tak utrzymuje z Anker.",
|
||
"cloudLocalFound": "Ta ładowarka podaje swój lokalny adres: {address}. Przełącz tryb sterowania na Modbus TCP, aby go użyć.",
|
||
"modbusHint": "Podaj adres ładowarki w tej sieci i zapisz go. Ładowarka musi być włączona i w tej samej sieci co DriverVault."
|
||
},
|
||
"modbus": {
|
||
"title": "Odczyty ładowarki",
|
||
"phases": "Na fazę",
|
||
"live": "Dane na żywo",
|
||
"settings": "Ustawienia",
|
||
"device": "Urządzenie",
|
||
"alarms": "Alarmy",
|
||
"phase": "Faza",
|
||
"voltage": "Napięcie",
|
||
"current": "Prąd",
|
||
"activePower": "Czynna",
|
||
"reactivePower": "Bierna",
|
||
"apparentPower": "Pozorna",
|
||
"lineToLine": "Międzyfazowe",
|
||
"power": "Moc całkowita",
|
||
"sessionDuration": "Czas sesji",
|
||
"mode": "Tryb",
|
||
"plugCountdown": "Czeka na podłączenie",
|
||
"startCountdown": "Start za",
|
||
"autoStart": "Start automatyczny",
|
||
"scheduleWindow": "Okno ładowania",
|
||
"cpSignal": "Control pilot",
|
||
"cpVoltage": "Napięcie pilota",
|
||
"phaseMode": "Pracuje na",
|
||
"relayTemps": "Temperatury przekaźników",
|
||
"pwm": "PWM aktywny",
|
||
"maxCurrentSet": "Limit prądu",
|
||
"timeout": "Limit czasu sterowania",
|
||
"phaseSetting": "Ustawienie faz",
|
||
"boostSet": "Boost zażądany",
|
||
"lastCommand": "Ostatnie polecenie",
|
||
"chargingMode": "Tryb ładowania",
|
||
"loadBalancing": "Balansowanie obciążenia",
|
||
"solarBalancing": "Balansowanie solarne",
|
||
"ledBrightness": "Jasność LED",
|
||
"model": "Model",
|
||
"serial": "Numer seryjny",
|
||
"firmware": "Firmware",
|
||
"hardware": "Hardware",
|
||
"productNumber": "Numer produktu",
|
||
"ratedPower": "Moc znamionowa",
|
||
"currentRange": "Zakres prądu",
|
||
"upTo": "Do",
|
||
"from": "Od",
|
||
"ocppLink": "OCPP",
|
||
"mqttLink": "MQTT",
|
||
"sessionEnergy": "Energia sesji",
|
||
"plugged": "Kabel podłączony",
|
||
"chargingSource": "Ładowanie z",
|
||
"chargingWindow": "Okno ładowania",
|
||
"sessionStarted": "Sesja rozpoczęta",
|
||
"orderId": "Id sesji",
|
||
"liveStream": "Strumień na żywo",
|
||
"telemetryAt": "Odczyty zaktualizowane",
|
||
"settingsAt": "Ustawienia zaktualizowane",
|
||
"plugLock": "Blokada wtyczki",
|
||
"autoRestart": "Automatyczne wznowienie",
|
||
"randomDelay": "Losowe opóźnienie startu",
|
||
"scheduleEnabled": "Harmonogram ładowania",
|
||
"scheduleMode": "Tryb harmonogramu",
|
||
"weekendWindow": "Okno weekendowe",
|
||
"weekendMode": "Obsługa weekendu",
|
||
"lightOff": "Harmonogram wygaszania",
|
||
"lightOffWindow": "Okno wygaszania",
|
||
"mainBreakerLimit": "Limit bezpiecznika głównego",
|
||
"solarChargeMode": "Tryb ładowania solarnego",
|
||
"solarMinCurrent": "Minimalny prąd solarny",
|
||
"autoPhaseSwitching": "Automatyczne przełączanie faz",
|
||
"swipeUp": "Przesunięcie w górę",
|
||
"swipeDown": "Przesunięcie w dół",
|
||
"smartTouch": "Tryb dotyku",
|
||
"loadBalanceMeter": "Licznik balansowania",
|
||
"loadBalanceMonitorMode": "Tryb monitorowania balansowania",
|
||
"loadBalanceMeterFlag": "Flaga licznika balansowania",
|
||
"solarMonitor": "Monitor solarny",
|
||
"solarMonitoringMode": "Tryb monitorowania solarnego",
|
||
"controllerVersion": "Wersja sterownika",
|
||
"localTitle": "Sieć lokalna",
|
||
"modbusServer": "Serwer Modbus TCP",
|
||
"modbusAddress": "Adres",
|
||
"modbusPort": "Port",
|
||
"modbusTimeout": "Limit czasu sterowania",
|
||
"chargingSource0": "Wyłączone lub wstrzymane",
|
||
"chargingSource1": "Sieć",
|
||
"chargingSource7": "Fotowoltaika",
|
||
"gesture0": "Wyłączone",
|
||
"gesture1": "Rozpocznij ładowanie",
|
||
"gesture2": "Zatrzymaj ładowanie",
|
||
"gesture3": "Boost",
|
||
"touch0": "Prosty",
|
||
"touch1": "Zabezpieczenie przed dotknięciem",
|
||
"scheduleMode0": "Normalny",
|
||
"scheduleMode1": "Inteligentny",
|
||
"weekendMode1": "Tak jak w dni robocze",
|
||
"weekendMode2": "Własne okno",
|
||
"solarMode0": "Fotowoltaika ze wsparciem sieci",
|
||
"solarMode1": "Tylko fotowoltaika",
|
||
"alarmWord": "Słowo {n}",
|
||
"alarmsHint": "Ładowarka zgłasza alarm. Anker nie publikuje znaczenia poszczególnych bitów, więc słowa pokazane są tak, jak przychodzą.",
|
||
"extra": "Tak, jak przysyła to ładowarka",
|
||
"extraHint": "Wartości, które ładowarka przysyła, a dla których DriverVault nie ma nazwy — pokazane surowo, bez przeliczeń. Klucz w rodzaju 0410.c9 wskazuje wiadomość i bajt pola, w którym przyszła; Anker nie publikuje ich znaczenia.",
|
||
"phaseMode0": "Automatycznie",
|
||
"phaseMode1": "Jednofazowo",
|
||
"phaseMode3": "Trójfazowo",
|
||
"phaseSet0": "Automatycznie",
|
||
"phaseSet1": "Na stałe jednofazowo",
|
||
"phaseSet2": "Na stałe trójfazowo",
|
||
"chargingMode0": "Słońce + sieć",
|
||
"chargingMode1": "Tylko słońce",
|
||
"command0": "Brak",
|
||
"command1": "Start",
|
||
"command2": "Stop",
|
||
"ocpp0": "Nierozłączona",
|
||
"ocpp1": "Łączenie",
|
||
"ocpp2": "Połączona",
|
||
"mqtt0": "Nierozłączona",
|
||
"mqtt1": "Połączona",
|
||
"settingsTitle": "Ustawienia ładowarki",
|
||
"apply": "Zastosuj",
|
||
"turnOn": "Włącz",
|
||
"turnOff": "Wyłącz",
|
||
"limitFloorHint": "{amps} A to dolna granica — poniżej ładowarka wstrzymuje ładowanie, zamiast ładować wolniej.",
|
||
"boostHint": "Tylko bieżąca sesja; ładowarka kasuje to po jej zakończeniu.",
|
||
"timeoutHint": "Co najmniej {n} sekund. Bez zapisu w tym czasie ładowarka wraca do własnej strategii.",
|
||
"settingsReported": "Raportowane, nieustawialne",
|
||
"settingsReportedHint": "Ładowarka je raportuje; mapa Modbus nie ma rejestru do ich zapisu. Zmień je w aplikacji Anker.",
|
||
"blockCharging": "Ładowanie",
|
||
"blockSchedule": "Harmonogram",
|
||
"blockBalancing": "Balansowanie obciążenia",
|
||
"blockSolar": "Fotowoltaika",
|
||
"blockPanel": "Panel i podświetlenie",
|
||
"blockLocal": "Sieć lokalna",
|
||
"windowStart": "Początek",
|
||
"windowEnd": "Koniec",
|
||
"reset": "Cofnij",
|
||
"cloudSettingsHint": "Własne ustawienia ładowarki, zapisywane przez chmurę Anker. Jedna sekcja to jedno polecenie do ładowarki, więc jej pola są zapisywane razem.",
|
||
"cloudSettingsReportedHint": "Ładowarka je zgłasza, ale żadne polecenie ich nie zapisuje. Nie wiadomo, co wybierają te dwa tryby i flaga, więc pokazane są jako liczby, którymi są.",
|
||
"modbusOffWarning": "Przy wyłączonym serwerze Modbus TCP ładowarka przestaje odpowiadać w sieci lokalnej, a tryb sterowania Modbus nie ma już pod co zadzwonić.",
|
||
"chargingStatus": "Status ładowania"
|
||
},
|
||
"info": {
|
||
"title": "Informacje o ładowarce",
|
||
"empty": "Nic jeszcze nie zaimportowano — zaimportowana ładowarka pokaże tutaj wszystko, co zgłasza.",
|
||
"vendor": "Producent",
|
||
"model": "Model",
|
||
"firmware": "Oprogramowanie",
|
||
"serial": "Numer seryjny",
|
||
"site": "Lokalizacja",
|
||
"siteId": "Identyfikator lokalizacji",
|
||
"sources": "Zarejestrowana jako",
|
||
"sourceNames": {
|
||
"standalone": "Samodzielna",
|
||
"site": "W systemie",
|
||
"bound": "Powiązana z kontem"
|
||
},
|
||
"power": "Moc",
|
||
"connector": "Złącze",
|
||
"providerId": "Identyfikator w usłudze",
|
||
"state": "Stan",
|
||
"chargePower": "Moc ładowania",
|
||
"ocpp": "Status OCPP",
|
||
"added": "Dodano",
|
||
"online": "Online",
|
||
"wifiName": "Sieć Wi-Fi",
|
||
"wifiMac": "MAC Wi-Fi",
|
||
"signal": "Sygnał",
|
||
"bleMac": "MAC Bluetooth",
|
||
"relatedBy": "Dostępna przez",
|
||
"timeZone": "Strefa czasowa",
|
||
"linked": "Powiązano",
|
||
"groups": {
|
||
"device": "Urządzenie",
|
||
"status": "Status",
|
||
"network": "Sieć",
|
||
"account": "Na koncie"
|
||
},
|
||
"views": {
|
||
"station": "Rekord stacji",
|
||
"stationFeature": "Funkcje stacji",
|
||
"totals": "Sumy ładowania",
|
||
"orders": "Historia ładowania",
|
||
"sessions": "Sesje ładowania",
|
||
"income": "Oszczędności i przychód",
|
||
"ocpp": "Backend OCPP",
|
||
"ocppEndpoints": "Punkty OCPP używane przez Ankera",
|
||
"rfid": "Karty RFID",
|
||
"shared": "Udostępniono",
|
||
"binding": "Powiązanie z kontem",
|
||
"group": "Grupa urządzeń",
|
||
"wifi": "Szczegóły Wi-Fi",
|
||
"ota": "Stan firmware'u",
|
||
"upgrades": "Historia aktualizacji",
|
||
"tamper": "Rejestr naruszeń",
|
||
"siteBySn": "Wyszukanie systemu",
|
||
"site": "Szczegóły systemu",
|
||
"sitePrice": "Cena i współczynnik CO2",
|
||
"siteWifi": "Sieci widziane przez system",
|
||
"energy": "Analiza energii"
|
||
},
|
||
"viewEmpty": "Ten widok odpowiedział, ale nic nie zawierał.",
|
||
"offline": "Offline",
|
||
"refresh": "Odśwież",
|
||
"rawTitle": "Tak, jak podaje to usługa",
|
||
"rawHint": "Wszystkie pozostałe pola, które usługa przysłała o tej ładowarce, pod jej własnymi nazwami. Nie są udokumentowane, więc pokazujemy je tak, jak przychodzą, bez zmiany nazw.",
|
||
"nickname": "Nazwa własna",
|
||
"productCode": "Kod produktu",
|
||
"deviceType": "Typ urządzenia",
|
||
"charging": "Ładowanie",
|
||
"statusCode": "Kod statusu",
|
||
"ocppLink": "Połączenie OCPP",
|
||
"wifiOnline": "Wi-Fi połączone",
|
||
"bleId": "Identyfikator Bluetooth",
|
||
"blePassword": "Kod parowania Bluetooth",
|
||
"ownerId": "Identyfikator właściciela",
|
||
"fields": {
|
||
"email": "E-mail",
|
||
"serial": "Numer seryjny",
|
||
"memberId": "Identyfikator członka",
|
||
"memberType": "Typ członka",
|
||
"userId": "Identyfikator użytkownika",
|
||
"status": "Status",
|
||
"inviteLimit": "Limit zaproszeń",
|
||
"sessions": "Sesje",
|
||
"chargeTime": "Czas ładowania",
|
||
"energy": "Naładowana energia",
|
||
"co2Saved": "Oszczędność CO2",
|
||
"cost": "Koszt",
|
||
"costSaved": "Oszczędność kosztów",
|
||
"currency": "Waluta",
|
||
"mileage": "Przebieg",
|
||
"page": "Strona",
|
||
"perPage": "Na stronę",
|
||
"records": "Rekordy",
|
||
"from": "Od",
|
||
"source": "Źródło",
|
||
"timeZone": "Strefa czasowa",
|
||
"updated": "Zaktualizowano",
|
||
"added": "Dodano",
|
||
"address": "Adres",
|
||
"name": "Nazwa",
|
||
"cardName": "Nazwa karty",
|
||
"cardNumber": "Numer karty"
|
||
}
|
||
},
|
||
"home": {
|
||
"count": {
|
||
"one": "{n} ładowarka",
|
||
"few": "{n} ładowarki",
|
||
"many": "{n} ładowarek",
|
||
"other": "{n} ładowarki"
|
||
},
|
||
"import": "Importuj z usługi",
|
||
"remove": "Usuń",
|
||
"removeConfirm": "Usunąć {name} z Twoich ładowarek? Sama ładowarka pozostaje nietknięta — ponowny import ją przywróci.",
|
||
"empty": "Nie masz jeszcze ładowarek. Zaimportuj tę z konta Anker lub Greencell, zamiast przepisywać numer seryjny.",
|
||
"connectFirst": "Podłącz usługę ładowarki w Ustawienia › Integracje, aby zaimportować."
|
||
},
|
||
"stations": {
|
||
"heading": "W pobliżu",
|
||
"homeHeading": "Twoje ładowarki",
|
||
"noControlHint": "Wybierz tryb sterowania w Ustawienia → Integracje, aby sterować domową ładowarką: Modbus TCP w sieci lokalnej albo Own/Proxy CSMS przez OCPP.",
|
||
"count": {
|
||
"one": "{n} stacja",
|
||
"few": "{n} stacje",
|
||
"many": "{n} stacji",
|
||
"other": "{n} stacji"
|
||
},
|
||
"free": "{avail} z {total} wolnych",
|
||
"full": "Zajęte"
|
||
},
|
||
"rfid": {
|
||
"title": "Ustawienia kart RFID",
|
||
"none": "Na tej ładowarce nie autoryzowano żadnej karty.",
|
||
"unsupported": "Usługa, z której pochodzi ta ładowarka, nie zgłasza kart RFID.",
|
||
"add": "Dodaj kartę",
|
||
"tap": "Przyłóż kartę do ładowarki",
|
||
"tapping": "Przytrzymaj kartę przy czytniku… {n}s",
|
||
"tapHint": "Czytnik jest otwarty. Przytrzymaj kartę przy ładowarce.",
|
||
"tapSave": "Przyłóż kartę i dodaj ją",
|
||
"tapSaveHint": "Dodaje kartę zaraz po przyłożeniu, pod nazwą RFID i cztery ostatnie znaki numeru.",
|
||
"tapNone": "Nie przyłożono karty, zanim czytnik się zamknął.",
|
||
"addTitle": "Dodaj kartę",
|
||
"remove": "Usuń",
|
||
"removeConfirm": "Usunąć {name} z tej ładowarki?",
|
||
"numberPlaceholder": "Numer karty",
|
||
"namePlaceholder": "Nazwa (opcjonalnie)",
|
||
"notAdded": "Usługa przyjęła żądanie, ale karty nie ma na ładowarce. Sprawdź numer i spróbuj ponownie.",
|
||
"notRemoved": "Usługa przyjęła żądanie, ale karta nadal jest na ładowarce.",
|
||
"readCharger": "Odczytaj własną listę ładowarki",
|
||
"chargerTitle": "Na samej ładowarce",
|
||
"chargerNone": "Ładowarka nie ma żadnych kart.",
|
||
"chargerHint": "Zapytana została ładowarka, nie konto. Odpowiada samymi numerami — nazwa karty jest po stronie konta.",
|
||
"driftTitle": "Obie listy się nie zgadzają",
|
||
"onlyOnCharger": "Otwiera ładowarkę, ale nie ma jej na koncie: {cards}",
|
||
"onlyOnAccount": "Jest na koncie, ale nie na ładowarce, więc jej nie otworzy: {cards}",
|
||
"inferred": "Anker nie dokumentuje ani dodawania, ani usuwania. DriverVault wnioskuje żądanie z pól, którymi odpowiada lista kart, a potem odczytuje listę ponownie — powyżej widzisz to, co ma konto."
|
||
},
|
||
"scheduler": {
|
||
"title": "Zadania ładowania",
|
||
"subtitle": "Jeden harmonogram dla wszystkich Twoich ładowarek. Zadanie to przebieg — start, limit, stop — wykonywany w wybrane dni, na wybranych ładowarkach.",
|
||
"add": "Nowe zadanie",
|
||
"empty": "Brak zadań. Zadanie to cały przebieg: start o 23:00, ograniczenie do 10 A o 01:00, stop o 06:30.",
|
||
"needCharger": "Najpierw zaimportuj ładowarkę w zakładce Ładowarki domowe — zadanie musi mieć na czym działać.",
|
||
"serverHint": "Zadania działają na serwerze, więc uruchamiają się niezależnie od tego, czy ta strona jest otwarta. Godziny są odczytywane w strefie czasowej, w której je zapisano.",
|
||
"allChargers": "Wszystkie ładowarki",
|
||
"missingChargers": "Nie ma już takiej ładowarki na koncie",
|
||
"everyDay": "Codziennie",
|
||
"runNow": "Uruchom teraz",
|
||
"running": "Wysyłanie…",
|
||
"lastRun": "Ostatnio {when}",
|
||
"noResult": "brak zapisanego wyniku",
|
||
"toggleHint": "Czy zegar uruchamia to zadanie.",
|
||
"removeConfirm": "Usunąć zadanie „{name}”?",
|
||
"taskCount": {
|
||
"one": "{n} zadanie",
|
||
"few": "{n} zadania",
|
||
"many": "{n} zadań",
|
||
"other": "{n} zadania"
|
||
},
|
||
"actions": {
|
||
"start": "Rozpocznij ładowanie",
|
||
"stop": "Zatrzymaj ładowanie",
|
||
"limit": "Ustaw limit prądu",
|
||
"boost": "Przyspiesz sesję"
|
||
}
|
||
}
|
||
},
|
||
"settings": {
|
||
"tabs": {
|
||
"personal": "Ustawienia osobiste",
|
||
"integrations": "Integracje"
|
||
},
|
||
"title": "Ustawienia",
|
||
"account": {
|
||
"title": "Konto",
|
||
"name": "Imię i nazwisko",
|
||
"nameSaved": "Zapisano imię i nazwisko.",
|
||
"email": "E-mail",
|
||
"verified": "Zweryfikowany",
|
||
"notVerified": "Niezweryfikowany",
|
||
"sending": "Wysyłanie…",
|
||
"resendVerification": "Wyślij ponownie e-mail weryfikacyjny",
|
||
"verificationRequested": "Zamówiono e-mail weryfikacyjny.",
|
||
"changePassword": "Zmień hasło",
|
||
"currentPassword": "Obecne hasło",
|
||
"newPassword": "Nowe hasło (min. 8)",
|
||
"confirmNewPassword": "Potwierdź nowe hasło",
|
||
"tooShort": "Nowe hasło musi mieć co najmniej 8 znaków.",
|
||
"mismatch": "Nowe hasło i potwierdzenie nie są takie same.",
|
||
"passwordUpdated": "Hasło zaktualizowane.",
|
||
"updating": "Aktualizowanie…",
|
||
"updatePassword": "Zaktualizuj hasło"
|
||
},
|
||
"appearance": {
|
||
"title": "Wygląd",
|
||
"theme": "Motyw",
|
||
"themeLight": "Jasny",
|
||
"themeDark": "Ciemny",
|
||
"themeSystem": "Systemowy",
|
||
"language": "Język",
|
||
"languageHint": "Tekst aplikacji oraz nazwy miesięcy i dni.",
|
||
"languageFallbackHint": "Ten język nie jest jeszcze przetłumaczony — tekst aplikacji pozostanie po angielsku.",
|
||
"region": "Region",
|
||
"regionHint": "Format liczb i waluty.",
|
||
"currency": "Waluta",
|
||
"currencyHint": "Przykład: {example}. Kwoty są tylko wyświetlane — nic nie jest przeliczane.",
|
||
"dateFormat": "Format daty",
|
||
"dateHint": "Przykład: {example}",
|
||
"fontSize": "Rozmiar czcionki",
|
||
"fontSmall": "Mała",
|
||
"fontMedium": "Średnia",
|
||
"fontLarge": "Duża",
|
||
"timeFormat": "Format godziny",
|
||
"timeAuto": "Jak w regionie",
|
||
"time24": "24-godzinny",
|
||
"time12": "12-godzinny",
|
||
"timeExample": "Przykład: {example}",
|
||
"weekStart": "Pierwszy dzień tygodnia",
|
||
"weekAuto": "Zgodnie z regionem",
|
||
"weekMonday": "Poniedziałek",
|
||
"weekSunday": "Niedziela",
|
||
"weekExample": "Przykład: {example}"
|
||
},
|
||
"profile": {
|
||
"title": "Profil",
|
||
"working": "Przetwarzanie…",
|
||
"uploadPhoto": "Prześlij zdjęcie",
|
||
"remove": "Usuń",
|
||
"bio": "O mnie",
|
||
"bioHint": "Krótka notatka widoczna dla innych osób w Twoim gospodarstwie domowym.",
|
||
"bioSaved": "Zapisano opis.",
|
||
"saveBio": "Zapisz opis"
|
||
},
|
||
"security": {
|
||
"title": "Bezpieczeństwo",
|
||
"checkingDevice": "Sprawdzanie urządzenia…",
|
||
"biometricSignIn": "Logowanie biometryczne",
|
||
"biometricAvailable": "Zaloguj się za pomocą {method} zamiast hasła.",
|
||
"biometricUnavailable": "Na tym urządzeniu nie zarejestrowano biometrii.",
|
||
"methodFaceOrFingerprint": "twarzy lub odcisku palca",
|
||
"methodFace": "rozpoznawania twarzy",
|
||
"methodFingerprint": "odcisku palca",
|
||
"methodBiometrics": "biometrii",
|
||
"turnedOff": "Logowanie biometryczne wyłączone",
|
||
"enabled": "Logowanie biometryczne włączone",
|
||
"couldNotEnable": "Nie udało się włączyć: {error}",
|
||
"confirmPassword": "Potwierdź hasło",
|
||
"password": "Hasło"
|
||
},
|
||
"org": {
|
||
"title": "Organizacja",
|
||
"titleAll": "Organizacje",
|
||
"subtitleOwn": "Organizacja, którą administrujesz",
|
||
"subtitleNone": "Utwórz ją, aby zarządzać własnym zespołem",
|
||
"subtitleAll": "Podmioty, do których należą użytkownicy",
|
||
"nameLabel": "Nazwa organizacji",
|
||
"namePlaceholder": "Acme Fleet",
|
||
"newOrg": "Nowa organizacja",
|
||
"create": "Utwórz organizację",
|
||
"createHint": "Zostaniesz jej administratorem i będziesz móc dodawać użytkowników oraz nimi zarządzać.",
|
||
"rename": "Zmień nazwę",
|
||
"delete": "Usuń",
|
||
"deleteTitle": "Usunąć organizację?",
|
||
"empty": "Brak organizacji.",
|
||
"confirmDelete": "Usunąć organizację „{name}”? Tego nie można cofnąć.",
|
||
"confirmDeleteOwn": "Usunąć Twoją organizację „{name}”? Zostaniesz z niej usunięty i staniesz się zwykłym użytkownikiem. Tego nie można cofnąć."
|
||
},
|
||
"privacy": {
|
||
"title": "Prywatność i bezpieczeństwo",
|
||
"body": "Uwierzytelnianie dwuskładnikowe nie jest jeszcze dostępne. Sesje opierają się na tokenach wydawanych przez serwer, które wygasają samoczynnie, więc wylogowanie kończy tylko sesję na tym urządzeniu. Aby wylogować wszystkie urządzenia, zmień hasło powyżej.",
|
||
"signOut": "Wyloguj się"
|
||
},
|
||
"danger": {
|
||
"title": "Strefa niebezpieczna",
|
||
"body": "Usunięcie konta usuwa Twój login i profil. Nie usuwa samochodów ani historii serwisowej współdzielonych w gospodarstwie domowym. Obowiązuje 3-dniowy okres karencji, zanim usunięcie stanie się ostateczne — do tego czasu możesz je anulować.",
|
||
"deleteAccount": "Usuń moje konto",
|
||
"typeToConfirm": "Wpisz {email}, aby potwierdzić",
|
||
"typeEmailPrompt": "Wpisz swój e-mail, aby potwierdzić.",
|
||
"requesting": "Wysyłanie żądania…",
|
||
"requestDeletion": "Zażądaj usunięcia",
|
||
"requestedOn": "Żądanie usunięcia konta złożono {date}. {tail}",
|
||
"cooldownPassed": "Okres karencji minął. Możesz teraz dokończyć usuwanie.",
|
||
"canStillCancel": "Nadal możesz je anulować — stanie się ostateczne po 3-dniowym okresie karencji.",
|
||
"cancelRequest": "Anuluj żądanie usunięcia",
|
||
"permanentlyDelete": "Usuń trwale",
|
||
"finalizeTitle": "Usunąć konto?",
|
||
"finalizeBody": "To trwale usunie Twoje konto. Tej operacji nie można cofnąć.",
|
||
"delete": "Usuń"
|
||
},
|
||
"advanced": {
|
||
"title": "Zaawansowane",
|
||
"exportTitle": "Eksportuj swoje dane",
|
||
"exportBody": "Pobierz swój profil oraz wszystkie samochody, wpisy serwisowe i części w formacie JSON.",
|
||
"preparing": "Przygotowywanie…",
|
||
"exportAction": "Eksportuj dane",
|
||
"importTitle": "Importuj swoje dane",
|
||
"importBody": "Dodaj samochody z wcześniej wyeksportowanego pliku JSON. Tworzy to nowe wpisy — nic nie jest scalane ani nadpisywane.",
|
||
"importing": "Importowanie…",
|
||
"importAction": "Importuj dane",
|
||
"notJson": "Ten plik nie jest poprawnym plikiem JSON.",
|
||
"notExport": "Ten plik nie wygląda na eksport z DriverVault (brak listy \"cars\").",
|
||
"confirmImport": "Zaimportować samochody z tego pliku ({count})? Zostaną dodane nowe wpisy — istniejące samochody nie zostaną scalone ani nadpisane.",
|
||
"imported": "Zaimportowano: samochody ({cars}), wpisy serwisowe ({services}), części ({parts}).",
|
||
"exported": "Zapisano {file}",
|
||
"open": "Otwórz",
|
||
"openFailed": "Nie udało się otworzyć pliku."
|
||
},
|
||
"integrations": {
|
||
"title": "Integracje",
|
||
"subtitle": "Połącz zewnętrzne usługi ze swoim kontem.",
|
||
"toyotaDesc": "Zaloguj się kontem MyToyota, aby pobierać dane pojazdu z Toyota Connected Europe. Tylko Europa.",
|
||
"enable": "Włącz dla mojego konta",
|
||
"enableOrg": "Włącz dla organizacji",
|
||
"unavailable": "Ta integracja została wyłączona przez administratora.",
|
||
"orgDisabled": "Ta integracja jest wyłączona dla Twojej organizacji.",
|
||
"scopeMy": "Moje ustawienia",
|
||
"scopeOrg": "Organizacja",
|
||
"scopeHint": "Ustawienia organizacji obowiązują każdego w Twojej organizacji, kto pozostawi pole puste.",
|
||
"readOnly": "Wspólnymi ustawieniami tej integracji zarządzasz w panelu API Servera; tutaj są tylko do odczytu.",
|
||
"email": "E-mail MyToyota",
|
||
"password": "Hasło MyToyota",
|
||
"brand": "Marka",
|
||
"inherited": "Ustawione na wyższym poziomie",
|
||
"inheritedFrom": "Odziedziczone od: {source}",
|
||
"sourceGlobal": "administratora",
|
||
"sourceOrg": "Twojej organizacji",
|
||
"sourceUser": "Ciebie",
|
||
"passwordKeep": "Pozostaw puste, aby zachować zapisane hasło.",
|
||
"test": "Testuj połączenie",
|
||
"testing": "Testowanie…",
|
||
"save": "Zapisz",
|
||
"saved": "Zapisano ✓",
|
||
"connected": "Połączono",
|
||
"notConnected": "Nie połączono",
|
||
"ankerSolixDesc": "Zaloguj się kontem Anker, aby pobierać dane ładowarki EV z chmury Anker Solix.",
|
||
"ankerEmail": "E-mail konta Anker",
|
||
"ankerPassword": "Hasło konta Anker",
|
||
"country": "Kraj",
|
||
"countryHint": "Dwuliterowy kod kraju Twojego konta Anker (np. DE, GB, US).",
|
||
"controlMode": "Tryb sterowania",
|
||
"controlModeHint": "Sposób, w jaki DriverVault steruje ładowarką.",
|
||
"controlOff": "Wyłączone (tylko monitorowanie)",
|
||
"controlOwn": "Własny CSMS (pełne sterowanie)",
|
||
"controlProxy": "CSMS pośredniczący (przekazywanie + sterowanie)",
|
||
"controlCloud": "Chmura Anker (działa wszędzie)",
|
||
"controlModbus": "Modbus TCP (sieć lokalna)",
|
||
"controlTitle": "Sterowanie ładowarką (OCPP)",
|
||
"controlOwnHint": "Ładowarka łączy się bezpośrednio z DriverVault jako swoim systemem centralnym. Ustaw backend OCPP ładowarki na poniższy adres.",
|
||
"controlProxyHint": "DriverVault przekazuje ruch do chmury Anker i może wysyłać własne polecenia. Ustaw backend OCPP ładowarki na poniższy adres.",
|
||
"controlCloudHint": "DriverVault wysyła polecenia przez połączenie chmurowe Twojego konta Anker z ładowarką, więc ładowarka w ogóle nie musi być osiągalna: nic do przekierowania, żaden adres, żaden token. To tryb dla ładowarki w cudzej sieci. Działa tylko wtedy, gdy działa chmura Ankera.",
|
||
"controlModbusHint": "DriverVault sam łączy się z ładowarką w sieci lokalnej, więc nie ma tu adresu, który trzeba jej podać. Włącz Modbus TCP w aplikacji Anker, a potem wpisz pokazany adres obok sterowania ładowarką na stronie Ładowanie.",
|
||
"controlProvisionSteps": "W aplikacji Anker (lub w ustawieniach OCPP ładowarki) ustaw adres backendu OCPP na powyższy endpoint, a klucz autoryzacji na powyższy token.",
|
||
"chargerSerial": "Numer seryjny ładowarki",
|
||
"controlCheck": "Sprawdź status",
|
||
"controlGenerate": "Wygeneruj token",
|
||
"controlEndpoint": "Endpoint OCPP",
|
||
"controlToken": "Token autoryzacji",
|
||
"controlTokenOnce": "Skopiuj ten token teraz — jest pokazywany tylko raz i nie da się go później odzyskać.",
|
||
"controlRevoke": "Unieważnij token",
|
||
"controlRevokeConfirm": "Unieważnić token sterowania tej ładowarki? Rozłączy się i nie połączy ponownie, dopóki nie wygenerujesz nowego.",
|
||
"controlConnected": "Połączono z backendem sterowania",
|
||
"controlDisconnected": "Nie połączono",
|
||
"chargersTitle": "Twoje ładowarki",
|
||
"chargersHint": "Wszystkie ładowarki EV na połączonym koncie Anker — te wolnostojące i te należące do systemu.",
|
||
"chargersRefresh": "Odśwież",
|
||
"chargersLoading": "Wczytywanie…",
|
||
"chargersEmpty": "Na tym koncie nie znaleziono żadnej ładowarki EV.",
|
||
"chargerUnnamed": "Ładowarka bez nazwy",
|
||
"chargerOffline": "Offline",
|
||
"chargerUse": "Użyj tej",
|
||
"modes": {
|
||
"start_charge": "Ładowanie",
|
||
"stop_charge": "Zatrzymana",
|
||
"skip_delay": "Pomiń opóźnienie",
|
||
"boost_charge": "Boost",
|
||
"wait_plug": "Czeka na podłączenie",
|
||
"wait_start": "Czeka na start"
|
||
},
|
||
"states": {
|
||
"standby": "Czuwanie",
|
||
"preparing": "Przygotowanie",
|
||
"charging": "Ładowanie",
|
||
"charger_paused": "Wstrzymane przez ładowarkę",
|
||
"vehicle_paused": "Wstrzymane przez auto",
|
||
"completed": "Zakończone",
|
||
"reserving": "Zarezerwowana",
|
||
"disabled": "Wyłączona",
|
||
"error": "Błąd",
|
||
"unknown": "Nieznany"
|
||
},
|
||
"greencell": "Greencell (ładowarka EV HabuDen)",
|
||
"greencellDesc": "Odczytuj swoją ładowarkę Greencell przez brokera MQTT, do którego publikuje. Tylko lokalnie — konto w chmurze Greencell nie jest potrzebne.",
|
||
"greencellBroker": "Broker MQTT",
|
||
"greencellCharger": "Ładowarka",
|
||
"greencellHost": "Adres brokera",
|
||
"greencellHostHint": "Broker, który wskazałeś ładowarce w aplikacji Greencell GC.",
|
||
"greencellPort": "Port brokera",
|
||
"greencellPortHint": "Domyślnie 1883, a przy włączonym TLS 8883.",
|
||
"greencellTls": "Połączenie",
|
||
"greencellTlsOff": "Zwykłe MQTT",
|
||
"greencellTlsOn": "TLS (MQTTS)",
|
||
"greencellUsername": "Użytkownik brokera",
|
||
"greencellUsernameHint": "Pozostaw puste, jeśli broker dopuszcza klientów anonimowych.",
|
||
"greencellPassword": "Hasło brokera",
|
||
"greencellSerial": "Numer seryjny ładowarki",
|
||
"greencellSerialHint": "Opcjonalne — pozostaw puste, a wykrywanie znajdzie to, co jest na brokerze.",
|
||
"greencellTimeout": "Okno nasłuchu (sekundy)",
|
||
"greencellTimeoutHint": "Jak długo czekać, aż ładowarka opublikuje dane. Greencell daje urządzeniu do 30 s na odpowiedź; zwiększ tę wartość, jeśli nic nie zostaje znalezione.",
|
||
"greencellCommandTopic": "Temat polecenia QUERY",
|
||
"greencellCommandTopicHint": "Opcjonalne. Greencell opisuje polecenie QUERY, które każe ładowarce natychmiast opublikować dane, ale nie podaje tematu, na którym ona nasłuchuje. Jeśli poznasz swój, wpisz go tutaj, a odczyty przestaną czekać na własny rytm ładowarki. Użyj {sn} zamiast numeru seryjnego.",
|
||
"toyota": "Toyota Connected (MyToyota)",
|
||
"brandToyota": "Toyota",
|
||
"brandLexus": "Lexus",
|
||
"ankerSolix": "Anker Solix (V1 Smart EV Charger)",
|
||
"categories": {
|
||
"vehicles": "Producenci samochodów",
|
||
"chargers": "Ładowarki EV"
|
||
},
|
||
"chargerOnline": "Online"
|
||
}
|
||
},
|
||
"status": {
|
||
"noData": "Brak danych",
|
||
"serviceOverdueDays": "Serwis zaległy {days} dni",
|
||
"dueInDays": "Termin za {days} dni",
|
||
"okDays": "OK · {days} dni",
|
||
"okIn": "OK · {parts}",
|
||
"noKm": "Brak przebiegu",
|
||
"serviceOverdueKm": "Serwis zaległy {km} km",
|
||
"serviceOverdueBy": "Serwis zaległy {parts}",
|
||
"inKm": "Za {km} km",
|
||
"kmLeft": "Pozostało {km} km",
|
||
"expiredAgo": "Wygasło {days} dni temu",
|
||
"expiresToday": "Wygasa dzisiaj",
|
||
"renewInDays": "Odnowienie za {days} dni",
|
||
"validDays": "Ważne · {days} dni",
|
||
"noExpiry": "Bezterminowe",
|
||
"done": "Gotowe",
|
||
"noTrigger": "Brak wyzwalacza",
|
||
"overdue": "Zaległe",
|
||
"overdueBy": "Zaległe {parts}",
|
||
"dueIn": "Termin za {parts}",
|
||
"upcoming": "Nadchodzące",
|
||
"today": "dzisiaj",
|
||
"days": "{days} dni",
|
||
"km": "{km} km",
|
||
"warrantyExpiredAgo": "Gwarancja wygasła {days} dni temu",
|
||
"warrantyEndsIn": "Gwarancja kończy się za {days} dni",
|
||
"underWarranty": "Na gwarancji · {days} dni"
|
||
},
|
||
"car": {
|
||
"allCars": "← Wszystkie samochody",
|
||
"share": "Udostępnij",
|
||
"shared": "Udostępniony",
|
||
"sharedReadOnly": "Udostępniony · tylko do odczytu",
|
||
"tabs": {
|
||
"connected": "Połączona usługa",
|
||
"info": "Informacje",
|
||
"services": "Historia serwisowa",
|
||
"technical": "Historia przeglądów",
|
||
"maintenance": "Naprawy",
|
||
"fuel": "Koszty paliwa",
|
||
"charging": "Koszty ładowania",
|
||
"documents": "Dokumenty",
|
||
"parts": "Katalog części",
|
||
"reminders": "Przypomnienia",
|
||
"dragHint": "Przeciągnij kartę, aby zmienić kolejność kart tego samochodu."
|
||
},
|
||
"viewPicker": {
|
||
"open": "Co pokazuje strona tego samochodu",
|
||
"title": "Co pokazuje ten samochód",
|
||
"subtitle": "Wybierz sekcje i szczegóły widoczne na stronie tego samochodu. Dotyczy wszystkich, którym go udostępniono.",
|
||
"tabsHeading": "Zakładki",
|
||
"fieldsHeading": "Pola informacji",
|
||
"alwaysOn": "Zakładka {tab} jest zawsze dostępna.",
|
||
"fieldsOrderHint": "Przeciągnij pola na zakładce Informacje, aby zmienić ich kolejność.",
|
||
"serviceColumnsHeading": "Kolumny historii serwisowej",
|
||
"columnAlwaysOn": "Kolumna {column} jest zawsze widoczna.",
|
||
"servicePartsHeading": "Wymienione części",
|
||
"servicePartsHint": "Wyłączona część znika z formularza serwisu i z historii. Zapisane dane pozostają i wracają razem z nią.",
|
||
"reorderHint": "Przeciągnij wiersz za uchwyt, aby zmienić kolejność.",
|
||
"tabsReorder": "Zakładki",
|
||
"fieldsReorder": "Pola informacyjne"
|
||
},
|
||
"provider": {
|
||
"subtitle": "Dane na żywo z Twojego konta {label}.",
|
||
"refresh": "Odśwież",
|
||
"refreshing": "Odświeżanie…",
|
||
"updated": "Zaktualizowano {time}",
|
||
"vehicle": "Pojazd",
|
||
"readings": "Aktualne odczyty",
|
||
"dragHint": "Przeciągnij odczyt, aby zmienić ich kolejność.",
|
||
"noData": "{label} nie zwróciło żadnych danych dla tego samochodu.",
|
||
"raw": "Surowa odpowiedź",
|
||
"allFields": "Wszystkie zgłoszone pola",
|
||
"truncated": "Wypisano tylko pierwsze {n} pól — pozostałe znajdziesz w surowej odpowiedzi poniżej.",
|
||
"sectionEmpty": "Brak danych.",
|
||
"sectionFailed": "Nie udało się pobrać",
|
||
"own": "Używane jest wyłącznie Twoje własne konto, więc dane logowania nigdy nie są udostępniane wraz z samochodem.",
|
||
"odometerSuggest": "{label} podaje {km}, czyli więcej niż zapisany przebieg tego samochodu.",
|
||
"updateOdometer": "Zaktualizuj przebieg",
|
||
"updatingOdometer": "Aktualizowanie…",
|
||
"unlink": "Odłącz",
|
||
"unlinkConfirm": "Odłączyć ten samochód od {label}? Żadne zapisane dane nie zostaną usunięte.",
|
||
"connectTitle": "Połącz ten samochód z usługą",
|
||
"connectHint": "Wybierz pojazd ze swojego konta, który odpowiada temu samochodowi. Jego dane pojawią się tutaj.",
|
||
"connectSubmit": "Połącz pojazd",
|
||
"connecting": "Łączenie…",
|
||
"noProviders": "Nie połączono żadnego konta producenta. Dodaj je w Ustawieniach › Integracje.",
|
||
"settingsLink": "Otwórz Ustawienia",
|
||
"sections": {
|
||
"telemetry": "Przebieg i zasięg",
|
||
"electric": "Akumulator i ładowanie",
|
||
"status": "Drzwi, szyby i światła",
|
||
"climate": "Klimatyzacja",
|
||
"climateSettings": "Ustawienia klimatyzacji",
|
||
"health": "Stan pojazdu",
|
||
"location": "Ostatnia znana lokalizacja",
|
||
"serviceHistory": "Historia serwisowa u dealera",
|
||
"notifications": "Powiadomienia"
|
||
},
|
||
"metrics": {
|
||
"odometer": "Przebieg",
|
||
"fuelLevel": "Poziom paliwa",
|
||
"fuelRange": "Zasięg",
|
||
"batteryLevel": "Akumulator",
|
||
"evRange": "Zasięg elektryczny (bez klimatyzacji)",
|
||
"evRangeWithAc": "Zasięg elektryczny (z klimatyzacją)",
|
||
"cabinTemperature": "Temperatura w kabinie",
|
||
"targetTemperature": "Temperatura docelowa",
|
||
"chargingStatus": "Ładowanie",
|
||
"location": "Pozycja"
|
||
}
|
||
},
|
||
"info": {
|
||
"allHidden": "Wszystkie pola są wyłączone dla tego samochodu.",
|
||
"dragHint": "Przeciągnij pole, aby zmienić układ informacji o tym samochodzie.",
|
||
"oilSpec": "Specyfikacja oleju silnikowego",
|
||
"transmissionOil": "Olej przekładniowy",
|
||
"differentialOil": "Olej mostu napędowego",
|
||
"brakeFluid": "Płyn hamulcowy",
|
||
"coolant": "Płyn chłodniczy",
|
||
"odometer": "Przebieg",
|
||
"serviceInterval": "Interwał serwisowy",
|
||
"nextDue": "Następny termin",
|
||
"registrationPlate": "Numer rejestracyjny",
|
||
"registrationCountry": "Kraj rejestracji",
|
||
"vin": "VIN",
|
||
"fuelType": "Rodzaj paliwa",
|
||
"buildDate": "Data produkcji",
|
||
"firstRegistration": "Pierwsza rejestracja",
|
||
"technicalCheckInterval": "Interwał przeglądów technicznych",
|
||
"daysValue": {
|
||
"one": "{n} dzień",
|
||
"few": "{n} dni",
|
||
"many": "{n} dni",
|
||
"other": "{n} dni"
|
||
}
|
||
},
|
||
"services": {
|
||
"title": "Historia serwisowa",
|
||
"add": "Dodaj serwis",
|
||
"empty": "Brak wpisów serwisowych.",
|
||
"colDate": "Data",
|
||
"colKm": "Km",
|
||
"colNextDate": "Następna data",
|
||
"colNextKm": "Następny przebieg",
|
||
"colOil": "Olej i filtr oleju",
|
||
"colEngineFilter": "Filtr powietrza silnika",
|
||
"colCabinFilter": "Filtr kabinowy",
|
||
"colNotes": "Notatki",
|
||
"colFile": "Plik",
|
||
"confirmDelete": "Usunąć ten wpis serwisowy?",
|
||
"chipOil": "Olej i filtr",
|
||
"chipEngineFilter": "Filtr powietrza",
|
||
"chipCabinFilter": "Filtr kabinowy"
|
||
},
|
||
"technical": {
|
||
"title": "Historia przeglądów technicznych",
|
||
"subtitle": "Obowiązkowe badania techniczne. Powtarzają się wyłącznie w oparciu o czas, niezależnie od przebiegu.",
|
||
"add": "Dodaj przegląd",
|
||
"empty": "Brak przeglądów technicznych.",
|
||
"colDate": "Data",
|
||
"colResult": "Wynik",
|
||
"colNextCheck": "Następny przegląd",
|
||
"colStatus": "Status",
|
||
"colStation": "Stacja",
|
||
"colCost": "Koszt",
|
||
"colNotes": "Notatki",
|
||
"colFile": "Plik",
|
||
"passed": "Pozytywny",
|
||
"failed": "Negatywny",
|
||
"confirmDelete": "Usunąć ten przegląd techniczny?",
|
||
"next": "Następny: {date}"
|
||
},
|
||
"maintenance": {
|
||
"title": "Naprawy",
|
||
"subtitle": "Wizyty w warsztacie i naprawy. Rutynowa obsługa znajduje się w Historii serwisowej.",
|
||
"add": "Zapisz wizytę",
|
||
"empty": "Brak zapisanych wizyt w warsztacie.",
|
||
"colDate": "Data",
|
||
"colKm": "Km",
|
||
"colType": "Rodzaj",
|
||
"colWork": "Wykonane prace",
|
||
"colWorkshop": "Warsztat",
|
||
"colStatus": "Status",
|
||
"colCost": "Koszt",
|
||
"colFile": "Plik",
|
||
"underWarranty": "Na gwarancji · pozostało {days} dni",
|
||
"confirmDelete": "Usunąć tę wizytę w warsztacie?",
|
||
"partsUsed": "Części: {parts}"
|
||
},
|
||
"fuel": {
|
||
"title": "Koszty paliwa",
|
||
"subtitle": "Zużycie liczone jest między pełnymi bakami.",
|
||
"add": "Zapisz tankowanie",
|
||
"empty": "Brak zapisanych tankowań.",
|
||
"average": "Średnie",
|
||
"best": "Najlepsze",
|
||
"worst": "Najgorsze",
|
||
"costPerKm": "Koszt na km",
|
||
"refills": "Tankowania",
|
||
"totalLiters": "Łącznie litrów",
|
||
"totalSpent": "Łącznie wydano",
|
||
"trackedDistance": "Zmierzony dystans",
|
||
"avgPrice": "Śr. cena {price}/l",
|
||
"needTwoTanks": "Zapisz co najmniej dwa pełne baki, aby zobaczyć zużycie.",
|
||
"colDate": "Data",
|
||
"colKm": "Km",
|
||
"colLiters": "Litry",
|
||
"colCost": "Koszt",
|
||
"colPerLiter": "Za litr",
|
||
"colDistance": "Dystans",
|
||
"colConsumption": "Zużycie",
|
||
"colStation": "Stacja",
|
||
"colFile": "Plik",
|
||
"partial": "częściowe",
|
||
"gap": "luka",
|
||
"confirmDelete": "Usunąć to tankowanie?",
|
||
"fullTank": "Pełny bak",
|
||
"partialFill": "Tankowanie częściowe",
|
||
"missedBefore": "Pominięte tankowanie",
|
||
"overDistance": "{consumption} · {rate} na dystansie {distance}"
|
||
},
|
||
"charging": {
|
||
"title": "Koszty ładowania",
|
||
"subtitle": "Zużycie liczone jest między pełnymi ładowaniami.",
|
||
"add": "Zapisz ładowanie",
|
||
"empty": "Brak zapisanych ładowań.",
|
||
"average": "Średnio",
|
||
"best": "Najlepsze",
|
||
"worst": "Najgorsze",
|
||
"costPerKm": "Koszt na km",
|
||
"sessions": "Ładowania",
|
||
"totalKwh": "Łączna energia",
|
||
"totalSpent": "Łącznie wydano",
|
||
"trackedDistance": "Zmierzony dystans",
|
||
"avgPrice": "Śr. cena {price}/kWh",
|
||
"needTwoCharges": "Zapisz co najmniej dwa pełne ładowania, aby zobaczyć zużycie.",
|
||
"colDate": "Data",
|
||
"colKm": "Km",
|
||
"colKwh": "kWh",
|
||
"colCost": "Koszt",
|
||
"colPerKwh": "Za kWh",
|
||
"colDistance": "Dystans",
|
||
"colConsumption": "Zużycie",
|
||
"colLocation": "Ładowarka",
|
||
"colFile": "Plik",
|
||
"partial": "częściowe",
|
||
"gap": "przerwa",
|
||
"confirmDelete": "Usunąć to ładowanie?",
|
||
"fullCharge": "Pełne ładowanie",
|
||
"partialCharge": "Ładowanie częściowe",
|
||
"missedBefore": "Pominięte ładowanie",
|
||
"overDistance": "{consumption} · {rate} na dystansie {distance}"
|
||
},
|
||
"documents": {
|
||
"title": "Dokumenty",
|
||
"subtitle": "Ubezpieczenie, zaświadczenia i inne dokumenty z terminami odnowienia.",
|
||
"add": "Dodaj dokument",
|
||
"empty": "Brak dokumentów.",
|
||
"colType": "Rodzaj",
|
||
"colTitle": "Nazwa",
|
||
"colProvider": "Wystawca",
|
||
"colIssued": "Wystawiono",
|
||
"colRenewal": "Odnowienie",
|
||
"colStatus": "Status",
|
||
"colFile": "Plik",
|
||
"confirmDelete": "Usunąć ten dokument?",
|
||
"issuedRenews": "Wydano {issued} · Odnowienie {renews}"
|
||
},
|
||
"reminders": {
|
||
"title": "Przypomnienia",
|
||
"subtitle": "Przypomnienia o odnowieniach i serwisach dodawane są automatycznie na podstawie dokumentów i historii serwisowej.",
|
||
"add": "Dodaj przypomnienie",
|
||
"empty": "Nie ma jeszcze o czym przypominać.",
|
||
"automatic": "Automatyczne",
|
||
"repeats": "Powtarza się",
|
||
"at": "przy {km}",
|
||
"doneRollForward": "Gotowe · przenieś dalej",
|
||
"markDone": "Oznacz jako gotowe",
|
||
"reopen": "Otwórz ponownie",
|
||
"confirmDelete": "Usunąć to przypomnienie?",
|
||
"on": "dnia {date}",
|
||
"repeatsEvery": "Powtarza się co {every}",
|
||
"autoHint": "Dodane automatycznie — aby to zmienić, edytuj wpis, z którego pochodzi."
|
||
},
|
||
"parts": {
|
||
"title": "Katalog części",
|
||
"add": "Dodaj część",
|
||
"empty": "Brak części.",
|
||
"colPart": "Część",
|
||
"colPartNumber": "Numer części",
|
||
"colNotes": "Notatki",
|
||
"colFile": "Plik",
|
||
"confirmDelete": "Usunąć tę część?"
|
||
},
|
||
"delete": {
|
||
"title": "Usunąć ten samochód?",
|
||
"body": "To trwale usunie {name} i wszystko, co zostało w nim zapisane — {services}, {maintenance}, {fuel}, {charging}, {documents} i {parts}. Tej operacji nie można cofnąć.",
|
||
"services": {
|
||
"one": "{n} wpis serwisowy",
|
||
"few": "{n} wpisy serwisowe",
|
||
"many": "{n} wpisów serwisowych",
|
||
"other": "{n} wpisu serwisowego"
|
||
},
|
||
"maintenance": {
|
||
"one": "{n} wizyta w warsztacie",
|
||
"few": "{n} wizyty w warsztacie",
|
||
"many": "{n} wizyt w warsztacie",
|
||
"other": "{n} wizyty w warsztacie"
|
||
},
|
||
"fuel": {
|
||
"one": "{n} tankowanie",
|
||
"few": "{n} tankowania",
|
||
"many": "{n} tankowań",
|
||
"other": "{n} tankowania"
|
||
},
|
||
"charging": {
|
||
"one": "{n} ładowanie",
|
||
"other": "{n} ładowań"
|
||
},
|
||
"documents": {
|
||
"one": "{n} dokument",
|
||
"few": "{n} dokumenty",
|
||
"many": "{n} dokumentów",
|
||
"other": "{n} dokumentu"
|
||
},
|
||
"parts": {
|
||
"one": "{n} część",
|
||
"few": "{n} części",
|
||
"many": "{n} części",
|
||
"other": "{n} części"
|
||
},
|
||
"typeToConfirm": "Wpisz {name}, aby potwierdzić",
|
||
"deleting": "Usuwanie…",
|
||
"confirm": "Usuń trwale"
|
||
},
|
||
"actions": {
|
||
"share": "Udostępnij samochód",
|
||
"edit": "Edytuj samochód",
|
||
"odometer": "Zaktualizuj przebieg",
|
||
"delete": "Usuń samochód"
|
||
},
|
||
"readOnlyNotice": "Udostępnione Tobie (tylko do odczytu). Nie możesz wprowadzać zmian."
|
||
},
|
||
"forms": {
|
||
"charging": {
|
||
"addTitle": "Zapisz ładowanie",
|
||
"editTitle": "Edytuj ładowanie",
|
||
"date": "Data",
|
||
"odometer": "Przebieg (km)",
|
||
"kwh": "Energia (kWh)",
|
||
"cost": "Koszt",
|
||
"pricePerKwh": "To {price} za kWh.",
|
||
"battery": "Akumulator",
|
||
"fullCharge": "Naładowany do pełna",
|
||
"missedSession": "Wcześniejsze ładowanie nie zostało zapisane",
|
||
"batteryHint": "Zużycie liczone jest między pełnymi ładowaniami. Ładowania częściowe wliczają się do kosztów i doliczają do kolejnego pełnego.",
|
||
"location": "Ładowarka",
|
||
"locationPlaceholder": "Dom",
|
||
"notes": "Notatki",
|
||
"attachmentLegend": "Paragon",
|
||
"submit": "Zapisz ładowanie"
|
||
},
|
||
"import": {
|
||
"title": "Importuj samochód",
|
||
"subtitle": "Utwórz samochód na podstawie pojazdu z Twojego konta u producenta. Wszystko, co da się odczytać, zostanie wypełnione automatycznie.",
|
||
"service": "Usługa",
|
||
"loadingVehicles": "Wczytywanie Twoich pojazdów…",
|
||
"noVehicles": "Brak pojazdów na tym koncie.",
|
||
"notConnected": "Nie połączono",
|
||
"noProviders": "Nie połączono żadnego konta producenta. Dodaj je w Ustawieniach › Integracje.",
|
||
"alreadyInGarage": "Już w Twoim garażu",
|
||
"selectVehicle": "Pojazd",
|
||
"dataTitle": "Co zaimportować",
|
||
"dataHint": "Odznacz to, co wolisz wpisać samodzielnie.",
|
||
"includeIdentity": "Marka, model, rok, rejestracja i VIN",
|
||
"includeFuelType": "Rodzaj paliwa",
|
||
"includeDates": "Data produkcji i pierwszej rejestracji",
|
||
"includeOdometer": "Aktualny przebieg",
|
||
"name": "Nazwa samochodu",
|
||
"submit": "Importuj samochód",
|
||
"importing": "Importowanie…",
|
||
"warningOdometer": "Usługa nie podała przebiegu — wpisz go samodzielnie w samochodzie.",
|
||
"moreData": "Pozostałe dane z tej usługi pozostają dostępne w karcie {label} samochodu."
|
||
},
|
||
"car": {
|
||
"addTitle": "Dodaj samochód",
|
||
"editTitle": "Edytuj samochód",
|
||
"name": "Nazwa *",
|
||
"make": "Marka",
|
||
"model": "Model",
|
||
"year": "Rok",
|
||
"registration": "Numer rejestracyjny",
|
||
"registrationCountry": "Kraj rejestracji",
|
||
"registrationCountryPlaceholder": "Polska",
|
||
"vin": "VIN",
|
||
"vinPlaceholder": "Numer identyfikacyjny pojazdu",
|
||
"fuelType": "Rodzaj paliwa",
|
||
"buildDate": "Data produkcji",
|
||
"firstRegistration": "Pierwsza rejestracja",
|
||
"oilSpec": "Specyfikacja oleju silnikowego",
|
||
"currentKm": "Aktualny przebieg (km)",
|
||
"transmissionOilSpec": "Specyfikacja oleju przekładniowego",
|
||
"differentialOilSpec": "Specyfikacja oleju mostu napędowego",
|
||
"brakeFluidSpec": "Specyfikacja płynu hamulcowego",
|
||
"coolantSpec": "Specyfikacja płynu chłodniczego",
|
||
"serviceIntervalDays": "Interwał serwisowy (dni)",
|
||
"serviceIntervalKm": "Interwał serwisowy (km)",
|
||
"technicalCheckIntervalDays": "Interwał przeglądu technicznego (dni)",
|
||
"technicalCheckHint": "Wstępnie wypełnia termin następnego przeglądu. Każdy przegląd może go nadpisać datą z zaświadczenia.",
|
||
"submit": "Dodaj samochód"
|
||
},
|
||
"service": {
|
||
"addTitle": "Dodaj wpis serwisowy",
|
||
"editTitle": "Edytuj wpis serwisowy",
|
||
"date": "Data *",
|
||
"odometer": "Przebieg (km)",
|
||
"changedParts": "Wymienione części",
|
||
"oil": "Olej i filtr oleju",
|
||
"engineFilter": "Filtr powietrza silnika",
|
||
"cabinFilter": "Filtr kabinowy",
|
||
"attachmentLegend": "Paragon lub strona książki serwisowej",
|
||
"notes": "Notatki",
|
||
"autoHint": "Data (+{days} dni) i przebieg (+{km}) następnego serwisu są obliczane automatycznie.",
|
||
"submit": "Dodaj serwis"
|
||
},
|
||
"technical": {
|
||
"addTitle": "Dodaj przegląd techniczny",
|
||
"editTitle": "Edytuj przegląd techniczny",
|
||
"date": "Data przeglądu *",
|
||
"result": "Wynik *",
|
||
"passed": "Pozytywny",
|
||
"failed": "Negatywny",
|
||
"validUntil": "Ważny do",
|
||
"failedHint": "Negatywny przegląd niczego nie potwierdza, więc nie wyznacza następnego terminu.",
|
||
"derivedHint": "Pozostaw puste, aby użyć interwału samochodu (+{days} dni → {date}). Wpisz datę z zaświadczenia, jeśli jest inna.",
|
||
"cost": "Koszt",
|
||
"station": "Stacja",
|
||
"stationPlaceholder": "Stacja Kontroli Pojazdów",
|
||
"attachmentLegend": "Zaświadczenie o przeglądzie",
|
||
"notes": "Notatki",
|
||
"submit": "Dodaj przegląd"
|
||
},
|
||
"part": {
|
||
"addTitle": "Dodaj część",
|
||
"editTitle": "Edytuj część",
|
||
"name": "Nazwa części *",
|
||
"namePlaceholder": "Filtr oleju",
|
||
"partNumber": "Numer części",
|
||
"notes": "Notatki",
|
||
"notesPlaceholder": "Pasuje do 2015–2020 · kupować parami",
|
||
"attachmentLegend": "Zdjęcie lub karta katalogowa",
|
||
"submit": "Dodaj część"
|
||
},
|
||
"fuel": {
|
||
"addTitle": "Zapisz tankowanie",
|
||
"editTitle": "Edytuj tankowanie",
|
||
"date": "Data *",
|
||
"odometer": "Przebieg (km) *",
|
||
"liters": "Litry *",
|
||
"cost": "Koszt całkowity",
|
||
"pricePerLiter": "Cena za litr: {price}",
|
||
"tank": "Bak",
|
||
"fullTank": "Zatankowano do pełna",
|
||
"missedFill": "Nie zapisałem tankowania przed tym",
|
||
"tankHint": "Zużycie liczone jest między pełnymi bakami, więc tankowania częściowe wliczają się do następnego pełnego. Oznaczenie pominiętego tankowania wyklucza ten odcinek z obliczeń, zamiast pokazywać nierealnie niskie spalanie.",
|
||
"station": "Stacja",
|
||
"notes": "Notatki",
|
||
"attachmentLegend": "Paragon",
|
||
"submit": "Zapisz tankowanie",
|
||
"stationPlaceholder": "Orlen"
|
||
},
|
||
"maintenance": {
|
||
"addTitle": "Zapisz wizytę w warsztacie",
|
||
"editTitle": "Edytuj wizytę w warsztacie",
|
||
"date": "Data *",
|
||
"odometer": "Przebieg (km)",
|
||
"type": "Rodzaj",
|
||
"status": "Status",
|
||
"description": "Co zostało zrobione *",
|
||
"descriptionPlaceholder": "Wymiana alternatora i paska napędowego",
|
||
"workshop": "Warsztat",
|
||
"location": "Lokalizacja",
|
||
"partsUsed": "Wymienione części",
|
||
"partsUsedPlaceholder": "Alternator 27060-0T010, pasek 90916-02660",
|
||
"laborCost": "Koszt robocizny",
|
||
"partsCost": "Koszt części",
|
||
"total": "Razem: {total}",
|
||
"invoiceNumber": "Numer faktury",
|
||
"warrantyUntil": "Gwarancja do",
|
||
"attachmentLegend": "Faktura",
|
||
"notes": "Notatki",
|
||
"submit": "Zapisz wizytę",
|
||
"workshopPlaceholder": "Auto Serwis Kowalski",
|
||
"locationPlaceholder": "Kraków"
|
||
},
|
||
"document": {
|
||
"addTitle": "Dodaj dokument",
|
||
"editTitle": "Edytuj dokument",
|
||
"type": "Rodzaj",
|
||
"title": "Nazwa *",
|
||
"titlePlaceholder": "OC 2026",
|
||
"provider": "Wystawca",
|
||
"reference": "Nr polisy / zaświadczenia",
|
||
"issued": "Wystawiono",
|
||
"renewalDate": "Data odnowienia",
|
||
"renewalHint": "Pozostaw datę odnowienia pustą dla dokumentu bezterminowego. Ustawienie jej automatycznie doda przypomnienie.",
|
||
"cost": "Koszt",
|
||
"attachmentLegend": "Skan lub zdjęcie",
|
||
"notes": "Notatki",
|
||
"submit": "Dodaj dokument",
|
||
"providerPlaceholder": "PZU"
|
||
},
|
||
"reminder": {
|
||
"addTitle": "Dodaj przypomnienie",
|
||
"editTitle": "Edytuj przypomnienie",
|
||
"title": "Nazwa *",
|
||
"titlePlaceholder": "Zmiana na opony zimowe",
|
||
"type": "Rodzaj",
|
||
"remindMe": "Przypomnij mi",
|
||
"onDate": "W dniu",
|
||
"atOdometer": "Przy przebiegu (km)",
|
||
"triggerHint": "Ustaw jedno lub oba — przy obu liczy się to, co nastąpi wcześniej.",
|
||
"currentKm": "Samochód ma teraz {km}.",
|
||
"repeat": "Powtarzanie (opcjonalnie)",
|
||
"everyDays": "Co … dni",
|
||
"everyKm": "Co … km",
|
||
"recurringHint": "Oznaczenie jako gotowe przeniesie je dalej, zamiast zamknąć.",
|
||
"oneOffHint": "Pozostaw puste dla jednorazowego przypomnienia, które zamknie się po oznaczeniu jako gotowe.",
|
||
"notes": "Notatki",
|
||
"noTrigger": "Ustaw datę, przebieg lub oba.",
|
||
"submit": "Dodaj przypomnienie"
|
||
},
|
||
"share": {
|
||
"title": "Udostępnij {name}",
|
||
"body": "Daj innemu użytkownikowi dostęp do tego samochodu. Tylko do odczytu pozwala na podgląd; odczyt i zapis pozwala też edytować samochód oraz jego wpisy serwisowe i części.",
|
||
"userEmail": "E-mail użytkownika",
|
||
"read": "Tylko do odczytu",
|
||
"write": "Odczyt i zapis",
|
||
"submit": "Udostępnij",
|
||
"peopleWithAccess": "Osoby z dostępem",
|
||
"notShared": "Jeszcze nikomu nie udostępniono.",
|
||
"submitting": "Udostępnianie…"
|
||
},
|
||
"validation": {
|
||
"odometer": "Przebieg jest wymagany.",
|
||
"liters": "Liczba litrów jest wymagana.",
|
||
"kwh": "Energia (kWh) jest wymagana.",
|
||
"name": "Nazwa jest wymagana.",
|
||
"partName": "Nazwa części jest wymagana.",
|
||
"description": "Opisz, co zostało zrobione.",
|
||
"title": "Tytuł jest wymagany."
|
||
},
|
||
"importCharger": {
|
||
"title": "Importuj ładowarkę",
|
||
"subtitle": "Dodaj ładowarkę z podłączonej usługi. Nazwa, numer seryjny i model przychodzą razem z nią.",
|
||
"noProviders": "Nie podłączono żadnej usługi ładowarki. Dodaj ją w Ustawienia › Integracje.",
|
||
"selectCharger": "Ładowarka",
|
||
"loadingChargers": "Wczytywanie ładowarek…",
|
||
"noChargers": "Brak ładowarek na tym koncie.",
|
||
"alreadyImported": "Już zaimportowana",
|
||
"name": "Nazwa ładowarki",
|
||
"submit": "Importuj ładowarkę"
|
||
},
|
||
"chargingTask": {
|
||
"title": "Nowe zadanie ładowania",
|
||
"editTitle": "Edytuj zadanie ładowania",
|
||
"name": "Nazwa",
|
||
"namePlaceholder": "Taryfa nocna",
|
||
"time": "O godzinie",
|
||
"flow": "Przebieg",
|
||
"flowHint": "Każdy krok uruchamia się o własnej godzinie, w każdy dzień działania zadania. Cała noc to jedno zadanie: start o 23:00, stop o 06:30.",
|
||
"addStep": "+ Dodaj krok",
|
||
"removeStep": "Usuń ten krok",
|
||
"amps": "Limit prądu",
|
||
"ampsHint": "6 A to dolna granica — poniżej ładowarka wstrzymuje ładowanie, zamiast ładować wolniej.",
|
||
"chargers": "Na tych ładowarkach",
|
||
"allChargers": "Wszystkie moje ładowarki",
|
||
"allChargersHint": "Łącznie z ładowarkami zaimportowanymi później.",
|
||
"noChargers": "Na koncie nie ma jeszcze ładowarek.",
|
||
"days": "W te dni",
|
||
"everyDay": "Codziennie"
|
||
}
|
||
},
|
||
"enums": {
|
||
"fuelType": {
|
||
"petrol": "Benzyna",
|
||
"petrol_lpg": "Benzyna + LPG",
|
||
"diesel": "Diesel",
|
||
"diesel_lpg": "Diesel + LPG",
|
||
"hybrid": "Hybryda",
|
||
"electric": "Elektryczny",
|
||
"hydrogen": "Wodór"
|
||
},
|
||
"maintenanceType": {
|
||
"repair": "Naprawa",
|
||
"inspection": "Przegląd",
|
||
"bodywork": "Blacharka",
|
||
"tyres": "Opony",
|
||
"diagnostics": "Diagnostyka",
|
||
"recall": "Akcja serwisowa",
|
||
"warranty": "Naprawa gwarancyjna",
|
||
"other": "Inne"
|
||
},
|
||
"maintenanceStatus": {
|
||
"scheduled": "Zaplanowana",
|
||
"in_progress": "W trakcie",
|
||
"completed": "Zakończona"
|
||
},
|
||
"documentType": {
|
||
"insurance": "Ubezpieczenie",
|
||
"pollution": "Zaświadczenie o emisji spalin",
|
||
"registration": "Dowód rejestracyjny",
|
||
"inspection": "Przegląd",
|
||
"roadTax": "Podatek drogowy",
|
||
"warranty": "Gwarancja",
|
||
"other": "Inne"
|
||
},
|
||
"reminderTypeShort": {
|
||
"maintenance": "Naprawa",
|
||
"document": "Dokument",
|
||
"service": "Serwis",
|
||
"inspection": "Przegląd",
|
||
"other": "Inne"
|
||
},
|
||
"reminderType": {
|
||
"maintenance": "Naprawa",
|
||
"document": "Odnowienie dokumentu",
|
||
"service": "Serwis",
|
||
"inspection": "Przegląd",
|
||
"other": "Inne"
|
||
}
|
||
},
|
||
"attachment": {
|
||
"legend": "Załącznik",
|
||
"hint": "PDF lub obraz, do 10 MB.",
|
||
"attached": "Załączono: {name}",
|
||
"willBeRemoved": "Załącznik zostanie usunięty przy zapisie.",
|
||
"choose": "Wybierz plik",
|
||
"replace": "Zamień",
|
||
"view": "Podgląd",
|
||
"clear": "Wyczyść"
|
||
},
|
||
"errors": {
|
||
"sessionExpired": "Sesja wygasła — zaloguj się ponownie.",
|
||
"deleteFailed": "Usuwanie nie powiodło się: {error}",
|
||
"completeFailed": "Nie udało się ukończyć: {error}",
|
||
"attachmentFailed": "Zapisano, ale plik nie został przesłany: {error}",
|
||
"openFailed": "Nie udało się otworzyć pliku: {error}",
|
||
"noFile": "Brak załączonego pliku."
|
||
},
|
||
"admin": {
|
||
"title": "Użytkownicy",
|
||
"subtitleAll": "Konta ze wszystkich organizacji.",
|
||
"subtitleOrg": "Konta w Twojej organizacji.",
|
||
"addUser": "Dodaj użytkownika",
|
||
"colEmail": "E-mail",
|
||
"colName": "Imię i nazwisko",
|
||
"colOrganization": "Organizacja",
|
||
"noOrganization": "— Bez organizacji —",
|
||
"organizationHint": "Zostaw puste, aby utworzyć konto bez organizacji.",
|
||
"colRole": "Rola",
|
||
"colCreated": "Utworzono",
|
||
"you": "(Ty)",
|
||
"resetPassword": "Zresetuj hasło",
|
||
"confirmDelete": "Usunąć użytkownika {name}? Tej operacji nie można cofnąć.",
|
||
"cantDeleteSelf": "Nie możesz usunąć własnego konta.",
|
||
"onlySuperadminDeletes": "Tylko superadministrator może usunąć superadministratora.",
|
||
"cantChangeOwnRole": "Nie możesz zmienić własnej roli.",
|
||
"onlySuperadminEdits": "Tylko superadministrator może edytować superadministratora.",
|
||
"createTitle": "Dodaj użytkownika",
|
||
"emailRequired": "E-mail *",
|
||
"passwordRequired": "Hasło *",
|
||
"minChars": "(min. 8)",
|
||
"creating": "Tworzenie…",
|
||
"createUser": "Utwórz użytkownika",
|
||
"resetTitle": "Reset hasła — {email}",
|
||
"newPassword": "Nowe hasło",
|
||
"setPassword": "Ustaw hasło",
|
||
"roles": {
|
||
"user": "użytkownik",
|
||
"admin": "administrator",
|
||
"superadmin": "superadministrator"
|
||
},
|
||
"deleteTitle": "Usunąć użytkownika?",
|
||
"passwordUpdated": "Hasło zostało zmienione."
|
||
}
|
||
}
|