service.json 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. {
  2. "page": {
  3. "notFound": "Servicepost ikke funnet",
  4. "updated": "Servicepost oppdatert",
  5. "failedUpdate": "Kunne ikke oppdatere servicepost",
  6. "deleteTitle": "Slett servicepost",
  7. "deleteDescription": "Dette vil permanent slette denne servicepotten og all tilknyttet data. Dette kan ikke angres.",
  8. "deleted": "Servicepost slettet",
  9. "failedDelete": "Kunne ikke slette",
  10. "datesExpiredTitle": "Fakturadatoer utløpt",
  11. "datesExpiredDescription": "Fakturadatoen eller forfallsdatoen har passert. Vil du oppdatere dem før du fortsetter?",
  12. "datesExpiredUpdate": "Oppdater datoer og fortsett",
  13. "datesExpiredProceed": "Fortsett uten endringer",
  14. "datesExpiredUseToday": "Oppdater til dagens dato",
  15. "datesExpiredCustomize": "Velg datoer manuelt",
  16. "datesExpiredBack": "Tilbake",
  17. "datesExpiredSetToday": "Sett til i dag",
  18. "customFieldsInvalid": "Vennligst fyll ut alle obligatoriske egendefinerte felt",
  19. "customFieldsSaveFailed": "Kunne ikke lagre egendefinerte felt"
  20. },
  21. "header": {
  22. "tabs": {
  23. "details": "Detaljer",
  24. "images": "Bilder",
  25. "video": "Video",
  26. "documents": "Dokumenter",
  27. "statusReports": "Statusrapporter"
  28. },
  29. "save": "Lagre",
  30. "pdf": "PDF",
  31. "email": "E-post",
  32. "share": "Del",
  33. "notify": "Varsle",
  34. "delete": "Slett",
  35. "unpaid": "Ubetalt",
  36. "unsavedChanges": "Ulagrede endringer",
  37. "saved": "Lagret",
  38. "joinCall": "Bli med i videosamtale"
  39. },
  40. "basicInfo": {
  41. "title": "Grunnleggende informasjon",
  42. "invoiceDetails": "Fakturadetaljer",
  43. "customerInfo": "Kunde og kjøretøy",
  44. "paid": "Betalt",
  45. "markPaid": "Merk som betalt",
  46. "markUnpaid": "Merk som ubetalt",
  47. "vehicle": "Kjøretøy",
  48. "open": "Åpen",
  49. "customer": "Kunde",
  50. "titleLabel": "Tittel *",
  51. "titlePlaceholder": "Oljeskift",
  52. "date": "Dato",
  53. "type": "Type",
  54. "mileage": "Kilometerstand",
  55. "mileageMarine": "Motortimer",
  56. "status": "Status",
  57. "technician": "Tekniker",
  58. "invoiceNumber": "Fakturanummer",
  59. "invoiceDate": "Fakturadato",
  60. "invoiceDueDate": "Forfallsdato",
  61. "typeOptions": {
  62. "maintenance": "Vedlikehold",
  63. "repair": "Reparasjon",
  64. "upgrade": "Oppgradering",
  65. "inspection": "Inspeksjon"
  66. },
  67. "statusOptions": {
  68. "pending": "Avventende",
  69. "in_progress": "Pågår",
  70. "waiting_parts": "Venter på deler",
  71. "completed": "Fullført"
  72. },
  73. "searchVehicles": "Søk kjøretøyer...",
  74. "noVehicleFound": "Ingen kjøretøy funnet.",
  75. "techPicker": {
  76. "placeholder": "Velg eller skriv navn...",
  77. "searchPlaceholder": "Søk eller skriv navn...",
  78. "useCustom": "Bruk \"{search}\"",
  79. "typePrompt": "Skriv navn...",
  80. "boardTechnicians": "Tavleteknikere",
  81. "teamMembers": "Lagmedlemmer"
  82. },
  83. "design": "Fakturadesign",
  84. "designDefault": "Verkstedets standard",
  85. "designFollowing": "Standard ({name})",
  86. "designPinned": "Arket ble fryst da fakturaen ble utstedt {date}. Et nytt valg gjelder først etter at en eier låser opp fakturaen og den sendes igjen.",
  87. "designSaved": "Fakturadesign oppdatert",
  88. "designFollowingRule": "Standard ({name}, {rule})",
  89. "designRule": {
  90. "parts_sale": "Kun delesalg"
  91. },
  92. "designSaveFailed": "Kunne ikke endre fakturadesignet"
  93. },
  94. "parts": {
  95. "title": "Deler",
  96. "fromInventory": "Fra beholdning",
  97. "addPart": "Legg til del",
  98. "partNumber": "Del #",
  99. "name": "Navn",
  100. "qty": "Antall",
  101. "unitCost": "Kostnad",
  102. "unitCostHint": "Innkjøpspris (intern — vises ikke til kunde)",
  103. "markupPercent": "Påslag %",
  104. "markupPercentHint": "Påslag på kostnad (intern — vises ikke til kunde)",
  105. "applyMarkup": "Bruk {percent}%",
  106. "applyMarkupHint": "Bruk {percent}% påslag på kostnad på alle rader på nytt",
  107. "unitPrice": "Enhetspris",
  108. "total": "Total",
  109. "namePlaceholder": "Navn *",
  110. "subtotal": "Deler delsum: {amount}",
  111. "inventoryTitle": "Velg del fra beholdning",
  112. "searchInventory": "Søk beholdning...",
  113. "inStock": "{quantity} på lager",
  114. "noInventory": "Ingen beholdningsdeler funnet.",
  115. "scanBarcode": "Skann",
  116. "scanTitle": "Skann strekkode",
  117. "partFound": "\"{name}\" lagt til fra lageret",
  118. "partNotFound": "Ingen del funnet for strekkode \"{barcode}\"",
  119. "deleteRow": "Delete row",
  120. "outOfStock": "Utsolgt",
  121. "onBackorder": "På restordre ({count})",
  122. "nameMissingHint": "Rader uten delenavn lagres ikke."
  123. },
  124. "labor": {
  125. "title": "Arbeid",
  126. "addLabor": "Legg til arbeid",
  127. "fromPresets": "Fra maler",
  128. "description": "Beskrivelse",
  129. "hours": "Timer",
  130. "rate": "Sats ({currency}/time)",
  131. "total": "Total",
  132. "descriptionPlaceholder": "Beskrivelse *",
  133. "subtotal": "Arbeid delsum: {amount}",
  134. "addService": "Add Service",
  135. "addFinding": "Observasjon",
  136. "newObservation": "Ny observasjon",
  137. "addExisting": "Vis eksisterende ({count})",
  138. "qty": "Qty",
  139. "qtyOrHours": "Unit / Hours",
  140. "hourlyTag": "HR",
  141. "serviceTag": "SVC",
  142. "switchToHourly": "Switch to hourly pricing",
  143. "switchToService": "Switch to service pricing",
  144. "switchToHourlyHint": "Hourly: priced by hours worked (hours 00d7 rate/hr). Click to switch.",
  145. "switchToServiceHint": "Service: priced as a flat fee per unit. Click to switch.",
  146. "deleteRow": "Delete row"
  147. },
  148. "totals": {
  149. "title": "Totalt",
  150. "parts": "Deler",
  151. "labor": "Arbeid",
  152. "subtotal": "Delsum",
  153. "subtotalInclTax": "Delsum (inkl. avgift)",
  154. "discount": "Rabatt",
  155. "discountNone": "Ingen",
  156. "discountPercentage": "Prosent",
  157. "discountFixed": "Fast",
  158. "tax": "Skatt",
  159. "taxIncluded": "Avgift (inkl.)",
  160. "total": "Total",
  161. "inclusiveModeHint": "Linjepriser legges inn med avgift inkludert. Totalene viser fordelingen netto + avgift.",
  162. "partsCost": "Delekostnad (intern)"
  163. },
  164. "notes": {
  165. "title": "Notater",
  166. "public": "Offentlig",
  167. "internal": "Intern",
  168. "publicPlaceholder": "Notater synlig på fakturaen...",
  169. "internalPlaceholder": "Interne notater (vises ikke på fakturaen)...",
  170. "publicHelper": "Vist på fakturaen og delte dokumenter",
  171. "internalHelper": "Bare synlig for ditt lag",
  172. "aiWrite": "AI Skriv",
  173. "aiGenerated": "AI-notater generert",
  174. "aiGenerateFailed": "Kunne ikke generere AI-notater",
  175. "aiDialogTitle": "AI Skriv",
  176. "aiDialogDescription": "AI vil analysere delene og arbeidet i denne serviceposten og generere en profesjonell beskrivelse. Resultatet skrives til den valgte notattypen.",
  177. "aiGenerate": "Generer",
  178. "aiOverwriteDescription": "Dette notatet har allerede innhold. Du kan erstatte det eller legge til AI-generert tekst under.",
  179. "aiOverwriteReplace": "Erstatt",
  180. "aiOverwriteAppend": "Legg til",
  181. "aiOverwriteCancel": "Avbryt",
  182. "aiDontShowAgain": "Ikke vis dette igjen"
  183. },
  184. "invoice": {
  185. "title": "Fakturaoversikt",
  186. "parts": "Deler",
  187. "labor": "Arbeidskraft",
  188. "subtotal": "Delsum",
  189. "subtotalInclTax": "Delsum (inkl. mva)",
  190. "discount": "Rabatt",
  191. "tax": "Skatt ({rate}%)",
  192. "taxIncluded": "Mva. inkl. ({rate}%)",
  193. "total": "Total",
  194. "paid": "Betalt",
  195. "balanceDue": "Skyld beløp",
  196. "paidBadge": "BETALT",
  197. "entityLabel": "Faktura",
  198. "emailSubject": "Betalingsbekreftelse",
  199. "statusEmailSubject": "Oppdatering av servicestatus",
  200. "markCompletedTitle": "Merke denne fakturaen som fullført?",
  201. "markCompletedDescription": "Den er sendt til kunden, men står fortsatt som ikke ferdig, så den blir liggende på tavla.",
  202. "markCompletedConfirm": "Merk som fullført",
  203. "lockedFieldsetLabel": "Låst faktura, redigering er deaktivert"
  204. },
  205. "payments": {
  206. "title": "Betalinger",
  207. "markUnpaid": "Merk som ubetalt",
  208. "markPaid": "Merk som betalt",
  209. "recordPayment": "Registrer betaling",
  210. "totalPaid": "Totalt betalt",
  211. "amount": "Beløp",
  212. "date": "Dato",
  213. "method": "Metode",
  214. "note": "Notat",
  215. "notePlaceholder": "Valgfritt notat",
  216. "savePayment": "Lagre betaling",
  217. "methodOptions": {
  218. "cash": "Kontant",
  219. "card": "Kort",
  220. "transfer": "Overføring",
  221. "other": "Annet"
  222. },
  223. "recorded": "Betaling registrert",
  224. "markedPaid": "Merket som betalt",
  225. "markedUnpaid": "Merket som ubetalt",
  226. "deleted": "Betaling slettet",
  227. "failedRecord": "Kunne ikke registrere betaling",
  228. "failedStatus": "Kunne ikke oppdatere betalingsstatus",
  229. "failedDelete": "Kunne ikke slette betaling",
  230. "deleteTitle": "Slett betaling",
  231. "deleteDescription": "Dette vil fjerne denne betalingsregistreringen.",
  232. "failedPdf": "Kunne ikke generere PDF-faktura"
  233. },
  234. "attachments": {
  235. "deleteTitle": "Slett vedlegg",
  236. "deleteDescription": "Dette vil permanent slette dette vedlegget. Dette kan ikke angres.",
  237. "deleted": "Vedlegg slettet",
  238. "failedDelete": "Kunne ikke slette",
  239. "images": "Bilder ({count})",
  240. "videos": "Videoer ({count})",
  241. "diagnostics": "Diagnostikkrapporter ({count})",
  242. "documents": "Dokumenter ({count})",
  243. "download": "Download",
  244. "close": "Close"
  245. },
  246. "share": {
  247. "title": "Del faktura",
  248. "description": "Generer en offentlig lenke som lar hvem som helst se og laste ned denne fakturaen uten å logge inn.",
  249. "notifyTitle": "Varsle {name}",
  250. "email": "E-post",
  251. "noEmail": "(ingen e-post på arkiv)",
  252. "sms": "SMS",
  253. "noPhone": "(ingen telefon på arkiv)",
  254. "sendNotification": "Send varsling",
  255. "revokeLink": "Tilbakekall lenke",
  256. "generateLink": "Generer offentlig lenke",
  257. "emailSent": "E-post sendt",
  258. "failedEmail": "Kunne ikke sende e-post",
  259. "smsSent": "SMS sendt",
  260. "failedSms": "Kunne ikke sende SMS",
  261. "copyLink": "Copy link"
  262. },
  263. "sidebar": {
  264. "vehicle": "Kjøretøy",
  265. "customer": "Kunde",
  266. "vin": "VIN: {vin}",
  267. "mileageAtService": "Kilometerstand ved service: {mileage} {unit}",
  268. "engineHoursAtService": "Motortimer ved service: {mileage} {unit}",
  269. "sharedLink": {
  270. "title": "Delt lenke",
  271. "sharedOn": "Delt {date}",
  272. "notViewed": "Ikke sett ennå",
  273. "viewedTimes": "Sett {count, plural, one {# gang} other {# ganger}}",
  274. "lastViewed": "Sist {date}",
  275. "copyLink": "Kopier lenke",
  276. "linkCopied": "Lenke kopiert"
  277. }
  278. },
  279. "images": {
  280. "title": "Servicebilder",
  281. "dropzone": "Slipp bilder her eller klikk for å bla gjennom",
  282. "uploading": "Laster opp...",
  283. "formats": "JPG, PNG, WebP — maks 10 MB per bilde",
  284. "uploadingImages": "Laster opp bilder...",
  285. "limitReached": "Bildegrense nådd ({count}/{max})",
  286. "upgradePrompt": "Oppgrader planen din for å laste opp flere bilder.",
  287. "onlyAllowed": "Kun JPG, PNG og WebP-bilder er tillatt. {names} hoppet over.",
  288. "onlyUploading": "Laster bare opp {count} bilde(r) for å holde seg innenfor grensen.",
  289. "uploadingCount": "Laster opp {count} bilde(r)...",
  290. "uploadedCount": "{count} bilde(r) lastet opp",
  291. "uploadFailed": "Opplasting mislyktes",
  292. "deleted": "Bilde slettet",
  293. "failedDelete": "Kunne ikke slette bilde",
  294. "failedUpdate": "Kunne ikke oppdatere",
  295. "description": "Beskrivelse...",
  296. "invoice": "Faktura"
  297. },
  298. "videos": {
  299. "title": "Servicevideoer",
  300. "dropzone": "Slipp videoer her eller klikk for å bla gjennom",
  301. "uploading": "Laster opp...",
  302. "formats": "MP4, WebM, MOV — maks 10 MB per video",
  303. "uploadingVideos": "Laster opp videoer...",
  304. "uploadingCount": "Laster opp {count} video(er)...",
  305. "uploadedCount": "{count} video(er) lastet opp",
  306. "uploadFailed": "Opplasting mislyktes",
  307. "deleted": "Video slettet",
  308. "failedDelete": "Kunne ikke slette video",
  309. "failedUpdate": "Kunne ikke oppdatere",
  310. "invoice": "Faktura"
  311. },
  312. "documents": {
  313. "diagnosticTitle": "Diagnostikkrapporter",
  314. "documentsTitle": "Dokumenter",
  315. "dropzone": "Slipp filer her eller klikk for å bla gjennom",
  316. "uploading": "Laster opp...",
  317. "diagnosticFormats": "PDF, CSV, TXT — maks 10 MB per fil",
  318. "documentFormats": "PDF, DOCX, XLSX, CSV, TXT — maks 10 MB per fil",
  319. "uploadingReports": "Laster opp rapporter...",
  320. "uploadingDocuments": "Laster opp dokumenter...",
  321. "diagnosticLimitReached": "Diagnostikkrapport-grense nådd ({count}/{max})",
  322. "documentLimitReached": "Dokumentgrense nådd ({count}/{max})",
  323. "upgradePrompt": "Oppgrader planen din for å laste opp flere.",
  324. "diagnosticLabel": "Diagnostikkrapport",
  325. "documentLabel": "Dokument",
  326. "limitReachedToast": "{label}-grense nådd ({count}/{max}). Oppgrader planen din for mer.",
  327. "onlyUploading": "Laster bare opp {count} fil(er) for å holde seg innenfor grensen.",
  328. "uploadingCount": "Laster opp {count} fil(er)...",
  329. "uploadedCount": "{count} fil(er) lastet opp",
  330. "uploadFailed": "Opplasting mislyktes",
  331. "deleted": "Fil slettet",
  332. "failedDelete": "Kunne ikke slette fil",
  333. "failedUpdate": "Kunne ikke oppdatere",
  334. "invoice": "Faktura"
  335. },
  336. "schedule": {
  337. "title": "Tidsplan",
  338. "date": "Dato",
  339. "startTime": "Starttid",
  340. "endTime": "Sluttid",
  341. "technician": "Tekniker",
  342. "selectTechnician": "Velg tekniker...",
  343. "searchOrCreate": "Søk eller opprett tekniker...",
  344. "createTechnician": "Opprett \"{name}\"",
  345. "creating": "Oppretter...",
  346. "failedCreate": "Kunne ikke opprette tekniker",
  347. "addNew": "+ Legg til ny",
  348. "add": "Legg til",
  349. "newTechPlaceholder": "Teknikernavn...",
  350. "assign": "Tilordne til tavle",
  351. "assigned": "Tilordnet arbeidstavle",
  352. "failedAssign": "Kunne ikke tilordne",
  353. "endBeforeStart": "Sluttid må være etter starttid",
  354. "failedUpdate": "Kunne ikke oppdatere tidsplan",
  355. "splitCreated": "Jobben går over flere dager — fortsettelse opprettet for neste dag",
  356. "platformUsers": "Platform Users",
  357. "customTechnicians": "Custom",
  358. "readMore": "Les mer",
  359. "setDefaults": "Standardinnstillinger",
  360. "workBay": "Arbeidsplass",
  361. "selectWorkBay": "Velg arbeidsplass …",
  362. "noWorkBay": "Ingen arbeidsplass",
  363. "noTechnician": "Uten mekaniker",
  364. "technicians": "Teknikere",
  365. "otherTeamMembers": "Andre i teamet",
  366. "makeTechnician": "Gjør dem til tekniker",
  367. "addSomeoneNew": "Legg til noen ny",
  368. "notOnBoard": "Ikke på tavlen ennå",
  369. "putOnBoard": "Sett på tavlen",
  370. "slotTaken": "{count, plural, one {Denne tiden er allerede booket} other {Denne tiden har # kollisjoner}}",
  371. "anotherJob": "en annen jobb",
  372. "clashTechnician": "teknikeren er opptatt",
  373. "clashBay": "plassen er i bruk",
  374. "clashBoth": "begge er opptatt",
  375. "bookedAnyway": "Lagret likevel. Endre tiden, eller velg neste ledige tid.",
  376. "pickNextAvailable": "Velg neste ledige tid",
  377. "findingSlot": "Finner en tid…",
  378. "slotPicked": "Booket inn på neste ledige tid",
  379. "noSlotFound": "Fant ingen ledig tid de neste ukene"
  380. },
  381. "notifications": {
  382. "title": "Kundevarsler",
  383. "viaSms": "via SMS",
  384. "viaEmail": "via e-post",
  385. "justNow": "Akkurat nå",
  386. "minutesAgo": "{count}m siden",
  387. "hoursAgo": "{count}t siden",
  388. "daysAgo": "{count}d siden"
  389. },
  390. "table": {
  391. "warranty": "Garanti"
  392. },
  393. "warranty": {
  394. "title": "Garanti",
  395. "months": "Varighet (måneder)",
  396. "mileage": "Kilometergrense",
  397. "notes": "Garantivilkår",
  398. "notesPlaceholder": "f.eks. 12 måneders garanti på alle deler og arbeid...",
  399. "expiresAt": "Utløper",
  400. "presets": {
  401. "3months": "3 md",
  402. "6months": "6 md",
  403. "12months": "12 md",
  404. "24months": "24 md"
  405. },
  406. "status": {
  407. "active": "Aktiv",
  408. "expiring": "Utløper snart",
  409. "expired": "Utløpt",
  410. "none": "Ingen"
  411. },
  412. "defaults": {
  413. "title": "Standard garantiinnstillinger",
  414. "description": "Angi standard garantivilkår for nye serviceoppføringer"
  415. }
  416. },
  417. "concerns": {
  418. "title": "Kundens beskrivelse",
  419. "addFirst": "Legg til kundens beskrivelse",
  420. "add": "Legg til en til",
  421. "placeholder": "Det kommer en lyd bakfra når jeg bremser",
  422. "remove": "Fjern dette punktet",
  423. "notAnswered": "Ingenting funnet på dette ennå",
  424. "answered": "{count} funn på dette"
  425. },
  426. "videoCall": {
  427. "title": "Videosamtale",
  428. "none": "Ingen videosamtale på denne arbeidsordren.",
  429. "needsSchedule": "Sett en starttid først. Møtet følger tidsplanen.",
  430. "add": "Legg til {provider}-møte",
  431. "addedHere": "lagt til fra denne arbeidsordren",
  432. "fromCalendar": "fra kalenderhendelsen",
  433. "join": "Bli med",
  434. "copy": "Kopier lenke",
  435. "copied": "Lenke kopiert",
  436. "remove": "Fjern",
  437. "removeTitle": "Fjerne videosamtalen?",
  438. "removeDescription": "Møtet slettes hos leverandøren. De som allerede har lenken, kan ikke lenger bli med.",
  439. "created": "Møte opprettet. Lenken ligger på arbeidsordren.",
  440. "removed": "Møte fjernet",
  441. "failed": "Noe gikk galt",
  442. "shareHint": "Kunden får denne lenken bare når du sender den.",
  443. "shareHintNoChannel": "Kunden får denne lenken bare når du sender den. Ingen meldingskanal er satt opp, så kopier den inn i en melding selv.",
  444. "send": {
  445. "button": "Send til kunde",
  446. "title": "Send lenken til videosamtalen",
  447. "description": "Send lenken til {name}.",
  448. "messageLabel": "Notat (valgfritt)",
  449. "messagePlaceholder": "Noe kunden bør vite før samtalen...",
  450. "linkAlwaysIncluded": "Lenken legges alltid til under notatet ditt.",
  451. "sms": "SMS",
  452. "email": "E-post",
  453. "telegram": "Telegram",
  454. "noPhone": "(ingen telefon)",
  455. "noEmail": "(ingen e-post)",
  456. "noTelegram": "(ingen chat koblet)",
  457. "notAvailable": "(ikke satt opp)",
  458. "cancel": "Avbryt",
  459. "send": "Send",
  460. "sent": "Lenken til videosamtalen er sendt",
  461. "partlySent": "Sendt via {sent}; ikke via {failed}",
  462. "failed": "Kunne ikke sende lenken"
  463. },
  464. "notify": {
  465. "invitation": "Hei {name}, videosamtalen om {vehicle} er {when}. Bli med her: {url}",
  466. "invitationNoTime": "Hei {name}, her er lenken til videosamtalen om {vehicle}: {url}",
  467. "joinLine": "Bli med i videosamtalen her: {url}",
  468. "emailSubject": "Videosamtale om din {vehicle}"
  469. }
  470. }
  471. }