Files
DriverVault/Phone App/assets/i18n/da.json
T
tajniak81andClaude Opus 4.8 13f50aa9a4 Phone App: add Charging screen + Settings integration tabs
Brings the Flutter app to parity with the recent Web App changes, which
touched features the Phone App did not yet have — so this builds the
Charging and Integrations subsystems, then applies the tab/fold structure.

Charging (new nav destination): split into "Public chargers" (stylized
discovery map + demo session + nearby public stations) and "Home chargers"
(the real Anker Solix OCPP control card — serial refresh, connector/energy
tiles, start/stop, current limit, password step-up on reset — plus the
user's home charger list). Gated by the per-user control mode, degrading to
a Settings hint when off.

Settings: split into "Personal settings" (the existing account/appearance/
profile/security/privacy/danger sections) and "Integrations". The latter
holds foldable Toyota and Anker Solix cards over the superadmin -> org ->
user cascade: locked fields with "inherited from" notes, org-admin scope
switch, enable toggle, save/test with health result, and Anker OCPP token
provisioning. Both tabs stay mounted (IndexedStack) so in-flight edits
survive a switch.

Adds the integration + OCPP control endpoints to api.dart, the resolved
IntegrationView/Scope/Field, IntegrationHealth and AnkerControl models, and
charging.*/settings.tabs.*/nav.charging strings (en/pl/da) plus
settings.integrations.* (en) — mirroring the Web App's own pl/da coverage,
which leaves integrations and charger control untranslated as an English
fallback.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 22:03:52 +02:00

230 lines
8.3 KiB
JSON

{
"common": {
"save": "Gem",
"saving": "Gemmer…",
"saved": "Gemt ✓",
"cancel": "Annuller",
"remove": "Fjern",
"retry": "Prøv igen",
"required": "Påkrævet",
"confirm": "Bekræft",
"empty": "—"
},
"nav": {
"garage": "Garage",
"charging": "Opladning",
"settings": "Indstillinger",
"users": "Brugere"
},
"login": {
"tagline": "Styr på din bil.",
"email": "E-mail",
"password": "Adgangskode",
"showPassword": "Vis adgangskode",
"hidePassword": "Skjul adgangskode",
"submit": "Log ind",
"submitting": "Logger ind…",
"or": "eller",
"signInWithFace": "Log ind med ansigtsgenkendelse",
"signInWithFingerprint": "Log ind med fingeraftryk",
"signInWithBiometrics": "Log ind med biometri",
"enrollTitle": "Aktivér biometrisk login?",
"enrollBody": "Næste gang kan du logge ind med {method} i stedet for at skrive din adgangskode.",
"enrollNotNow": "Ikke nu",
"enrollEnable": "Aktivér",
"methodFace": "ansigtsgenkendelse",
"methodFingerprint": "dit fingeraftryk",
"methodBiometrics": "biometri",
"bioReasonSignInAs": "Log ind som {email}",
"bioReasonSignIn": "Log ind på DriverVault",
"savedInvalid": "Det gemte login er ikke længere gyldigt. Log ind med din adgangskode.",
"serverSettings": "Serverindstillinger",
"apiServerUrl": "API-serverens adresse",
"leaveBlank": "Lad feltet stå tomt for at bruge standarden.",
"reset": "Nulstil",
"savedNote": "Gemt ✓",
"resetNote": "Nulstillet ✓"
},
"lock": {
"title": "DriverVault er låst",
"reason": "Lås DriverVault op",
"unlock": "Lås op",
"unlocking": "Låser op…",
"usePassword": "Brug adgangskode i stedet"
},
"dashboard": {
"eyebrow": "DINE BILER",
"title": "Garage",
"addCar": "Tilføj bil",
"lightMode": "Lys tilstand",
"darkMode": "Mørk tilstand",
"logOut": "Log ud",
"empty": "Ingen biler endnu.",
"shared": "Delt",
"sharedReadOnly": "Delt · skrivebeskyttet",
"serviceLife": "SERVICEINTERVAL BRUGT",
"lastService": "Seneste service",
"currentOdometer": "Nuværende kilometerstand",
"nextDue": "Næste service",
"nextDueKm": "Næste service (km)",
"serviceRecords": {
"one": "{n} servicepost",
"other": "{n} serviceposter"
}
},
"charging": {
"eyebrow": "OPLADNING OG KORT",
"title": "Ladere i nærheden",
"tabs": {
"public": "Offentlige ladere",
"home": "Hjemmeladere"
},
"liveMap": "Live-kort",
"youAreHere": "Du er her",
"session": {
"chargingNow": "Oplader nu",
"rate": "Effekt",
"added": "Tilføjet",
"cost": "Pris",
"done": "Færdig",
"stop": "Stop opladning",
"idle": "Oplader ikke",
"idleHint": "Tilslut ved en station for at starte en session."
},
"stations": {
"heading": "I nærheden",
"homeHeading": "Dine ladere",
"noControlHint": "Aktivér Own eller Proxy CSMS under Indstillinger → Integrationer for at styre din hjemmelader her.",
"count": {
"one": "{n} station",
"other": "{n} stationer"
},
"free": "{avail} af {total} ledige",
"full": "Optaget",
"offPeak": "uden for spidsbelastning",
"homeCharger": "Hjemmelader"
}
},
"settings": {
"tabs": {
"personal": "Personlige indstillinger",
"integrations": "Integrationer"
},
"title": "Indstillinger",
"account": {
"title": "Konto",
"name": "Navn",
"nameSaved": "Navn gemt.",
"email": "E-mail",
"verified": "Bekræftet",
"notVerified": "Ikke bekræftet",
"sending": "Sender…",
"resendVerification": "Send bekræftelsesmail igen",
"verificationRequested": "Bekræftelsesmail anmodet.",
"changePassword": "Skift adgangskode",
"currentPassword": "Nuværende adgangskode",
"newPassword": "Ny adgangskode (mindst 8)",
"confirmNewPassword": "Bekræft ny adgangskode",
"tooShort": "Den nye adgangskode skal være på mindst 8 tegn.",
"mismatch": "Den nye adgangskode og bekræftelsen stemmer ikke overens.",
"passwordUpdated": "Adgangskode opdateret.",
"updating": "Opdaterer…",
"updatePassword": "Opdater adgangskode"
},
"appearance": {
"title": "Udseende",
"theme": "Tema",
"themeLight": "Lyst",
"themeDark": "Mørkt",
"themeSystem": "System",
"language": "Sprog",
"languageHint": "Appens tekst samt navne på måneder og dage.",
"languageFallbackHint": "Dette sprog er endnu ikke oversat — appens tekst forbliver på engelsk.",
"region": "Region",
"regionHint": "Tal- og valutaformat.",
"currency": "Valuta",
"currencyHint": "Eksempel: {example}. Beløb er kun til visning — intet omregnes.",
"dateFormat": "Datoformat",
"dateHint": "Eksempel: {example}",
"fontSize": "Skriftstørrelse",
"fontSmall": "Lille",
"fontMedium": "Mellem",
"fontLarge": "Stor"
},
"profile": {
"title": "Profil",
"working": "Arbejder…",
"uploadPhoto": "Upload billede",
"remove": "Fjern",
"bio": "Om mig",
"bioHint": "En kort note, som andre i din husstand kan se.",
"bioSaved": "Beskrivelse gemt.",
"saveBio": "Gem beskrivelse"
},
"security": {
"title": "Sikkerhed",
"checkingDevice": "Tjekker enhed…",
"biometricSignIn": "Biometrisk login",
"biometricAvailable": "Log ind med {method} i stedet for din adgangskode.",
"biometricUnavailable": "Der er ikke registreret biometri på denne enhed.",
"methodFaceOrFingerprint": "ansigt eller fingeraftryk",
"methodFace": "ansigtsgenkendelse",
"methodFingerprint": "fingeraftryk",
"methodBiometrics": "biometri",
"turnedOff": "Biometrisk login slået fra",
"enabled": "Biometrisk login aktiveret",
"couldNotEnable": "Kunne ikke aktivere: {error}",
"confirmPassword": "Bekræft din adgangskode",
"password": "Adgangskode"
},
"privacy": {
"title": "Privatliv og sikkerhed",
"body": "Tofaktorgodkendelse er ikke tilgængelig endnu. Sessioner bygger på tokens udstedt af serveren, som udløber af sig selv, så at logge ud afslutter kun sessionen på denne enhed. For at logge alle enheder ud skal du skifte din adgangskode ovenfor.",
"signOut": "Log ud"
},
"danger": {
"title": "Farezone",
"body": "Sletning af din konto fjerner dit login og din profil. Det sletter ikke husstandens delte biler eller servicehistorik. Der er 3 dages betænkningstid, før sletningen er endelig, og du kan annullere når som helst inden da.",
"deleteAccount": "Slet min konto",
"typeToConfirm": "Skriv {email} for at bekræfte",
"typeEmailPrompt": "Skriv din e-mail for at bekræfte.",
"requesting": "Anmoder…",
"requestDeletion": "Anmod om sletning",
"requestedOn": "Sletning af konto anmodet den {date}. {tail}",
"cooldownPassed": "Betænkningstiden er udløbet. Du kan nu gennemføre sletningen.",
"canStillCancel": "Du kan stadig annullere — det bliver permanent efter 3 dages betænkningstid.",
"cancelRequest": "Annuller anmodning om sletning",
"permanentlyDelete": "Slet permanent",
"finalizeTitle": "Slet konto?",
"finalizeBody": "Dette sletter din konto permanent. Det kan ikke fortrydes.",
"delete": "Slet"
}
},
"status": {
"noData": "Ingen data",
"serviceOverdueDays": "Service overskredet med {days} d",
"dueInDays": "Forfalder om {days} d",
"okDays": "OK · {days} d",
"noKm": "Ingen km",
"serviceOverdueKm": "Service overskredet med {km} km",
"inKm": "Om {km} km",
"kmLeft": "{km} km tilbage",
"expiredAgo": "Udløb for {days} d siden",
"expiresToday": "Udløber i dag",
"renewInDays": "Forny om {days} d",
"validDays": "Gyldig · {days} d",
"noExpiry": "Udløber ikke",
"done": "Færdig",
"noTrigger": "Ingen udløser",
"overdue": "Overskredet",
"overdueBy": "Overskredet {parts}",
"dueIn": "Forfalder om {parts}",
"upcoming": "Kommende",
"today": "i dag",
"days": "{days} d",
"km": "{km} km",
"warrantyExpiredAgo": "Garanti udløb for {days} d siden",
"warrantyEndsIn": "Garanti slutter om {days} d",
"underWarranty": "Under garanti · {days} d"
}
}