service.json 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. {
  2. "page": {
  3. "notFound": "Serviceeintrag nicht gefunden",
  4. "updated": "Serviceeintrag aktualisiert",
  5. "failedUpdate": "Serviceeintrag konnte nicht aktualisiert werden",
  6. "deleteTitle": "Serviceeintrag löschen",
  7. "deleteDescription": "Dies löscht diesen Serviceeintrag und alle zugehörigen Daten dauerhaft. Dies kann nicht rückgängig gemacht werden.",
  8. "deleted": "Serviceeintrag gelöscht",
  9. "failedDelete": "Löschen fehlgeschlagen",
  10. "datesExpiredTitle": "Rechnungsdaten abgelaufen",
  11. "datesExpiredDescription": "Das Rechnungsdatum oder Fälligkeitsdatum ist überschritten. Möchten Sie die Daten vor dem Fortfahren aktualisieren?",
  12. "datesExpiredUpdate": "Daten aktualisieren und fortfahren",
  13. "datesExpiredProceed": "Ohne Änderungen fortfahren",
  14. "datesExpiredSetToday": "Auf heute setzen",
  15. "customFieldsInvalid": "Bitte füllen Sie alle erforderlichen benutzerdefinierten Felder aus",
  16. "customFieldsSaveFailed": "Benutzerdefinierte Felder konnten nicht gespeichert werden"
  17. },
  18. "header": {
  19. "tabs": {
  20. "details": "Details",
  21. "images": "Bilder",
  22. "video": "Video",
  23. "documents": "Dokumente",
  24. "statusReports": "Statusberichte"
  25. },
  26. "save": "Speichern",
  27. "pdf": "PDF",
  28. "email": "E-Mail",
  29. "share": "Teilen",
  30. "delete": "Löschen",
  31. "unpaid": "Unbezahlt",
  32. "unsavedChanges": "Nicht gespeicherte Änderungen",
  33. "saved": "Gespeichert"
  34. },
  35. "basicInfo": {
  36. "title": "Grundlegende Informationen",
  37. "invoiceDetails": "Rechnungsdetails",
  38. "customerInfo": "Kunde & Fahrzeug",
  39. "paid": "Bezahlt",
  40. "markPaid": "Als bezahlt markieren",
  41. "markUnpaid": "Als unbezahlt markieren",
  42. "vehicle": "Fahrzeug",
  43. "open": "Öffnen",
  44. "customer": "Kunde",
  45. "titleLabel": "Titel *",
  46. "titlePlaceholder": "Ölwechsel",
  47. "date": "Datum",
  48. "type": "Typ",
  49. "mileage": "Kilometerstand",
  50. "mileageMarine": "Betriebsstunden",
  51. "status": "Status",
  52. "technician": "Techniker",
  53. "invoiceNumber": "Rechnungsnummer",
  54. "invoiceDate": "Rechnungsdatum",
  55. "invoiceDueDate": "Fälligkeitsdatum",
  56. "typeOptions": {
  57. "maintenance": "Wartung",
  58. "repair": "Reparatur",
  59. "upgrade": "Verbesserung",
  60. "inspection": "Überprüfung"
  61. },
  62. "statusOptions": {
  63. "pending": "Ausstehend",
  64. "in_progress": "In Bearbeitung",
  65. "waiting_parts": "Warten auf Teile",
  66. "completed": "Abgeschlossen"
  67. },
  68. "searchVehicles": "Fahrzeuge durchsuchen...",
  69. "noVehicleFound": "Kein Fahrzeug gefunden.",
  70. "techPicker": {
  71. "placeholder": "Wählen oder geben Sie einen Namen ein...",
  72. "searchPlaceholder": "Durchsuchen oder Namen eingeben...",
  73. "useCustom": "\"{search}\" verwenden",
  74. "typePrompt": "Geben Sie einen Namen ein...",
  75. "boardTechnicians": "Board-Techniker",
  76. "teamMembers": "Teamitglieder"
  77. }
  78. },
  79. "parts": {
  80. "title": "Teile",
  81. "fromInventory": "Aus Bestand",
  82. "addPart": "Teil hinzufügen",
  83. "partNumber": "Teil #",
  84. "name": "Name",
  85. "qty": "Menge",
  86. "unitPrice": "Stückpreis",
  87. "total": "Gesamt",
  88. "namePlaceholder": "Name *",
  89. "subtotal": "Teilesumme: {amount}",
  90. "inventoryTitle": "Teil aus Bestand auswählen",
  91. "searchInventory": "Bestand durchsuchen...",
  92. "inStock": "{quantity} auf Lager",
  93. "noInventory": "Keine Bestandteile gefunden.",
  94. "scanBarcode": "Scannen",
  95. "scanTitle": "Barcode scannen",
  96. "partFound": "\"{name}\" aus dem Lager hinzugefügt",
  97. "partNotFound": "Kein Teil für Barcode \"{barcode}\" gefunden"
  98. },
  99. "labor": {
  100. "title": "Arbeit",
  101. "addLabor": "Arbeit hinzufügen",
  102. "fromPresets": "Aus Vorlagen",
  103. "description": "Beschreibung",
  104. "hours": "Stunden",
  105. "rate": "Satz ({currency}/Std.)",
  106. "total": "Gesamt",
  107. "descriptionPlaceholder": "Beschreibung *",
  108. "subtotal": "Arbeitssumme: {amount}",
  109. "addService": "Add Service",
  110. "qty": "Qty",
  111. "qtyOrHours": "Unit / Hours",
  112. "hourlyTag": "HR",
  113. "serviceTag": "SVC",
  114. "switchToHourly": "Switch to hourly pricing",
  115. "switchToService": "Switch to service pricing",
  116. "switchToHourlyHint": "Hourly: priced by hours worked (hours 00d7 rate/hr). Click to switch.",
  117. "switchToServiceHint": "Service: priced as a flat fee per unit. Click to switch."
  118. },
  119. "totals": {
  120. "title": "Summen",
  121. "parts": "Teile",
  122. "labor": "Arbeit",
  123. "subtotal": "Zwischensumme",
  124. "discount": "Rabatt",
  125. "discountNone": "Keine",
  126. "discountPercentage": "Prozentsatz",
  127. "discountFixed": "Festbetrag",
  128. "tax": "Steuern",
  129. "total": "Gesamt"
  130. },
  131. "notes": {
  132. "title": "Notizen",
  133. "public": "Öffentlich",
  134. "internal": "Intern",
  135. "publicPlaceholder": "Notizen sichtbar auf der Rechnung...",
  136. "internalPlaceholder": "Interne Notizen (nicht auf Rechnung angezeigt)...",
  137. "publicHelper": "Auf der Rechnung und in gemeinsamen Dokumenten angezeigt",
  138. "internalHelper": "Nur für Ihr Team sichtbar",
  139. "aiWrite": "AI Schreiben",
  140. "aiGenerated": "AI-Notizen erfolgreich generiert",
  141. "aiGenerateFailed": "AI-Notizen konnten nicht generiert werden",
  142. "aiDialogTitle": "AI Schreiben",
  143. "aiDialogDescription": "AI analysiert die Teile und Arbeiten in diesem Serviceeintrag und erstellt eine professionelle Beschreibung. Das Ergebnis wird in den aktuell ausgewählten Notiztyp geschrieben.",
  144. "aiGenerate": "Generieren",
  145. "aiOverwriteDescription": "Die aktuelle Notiz hat bereits Inhalt. Sie können ihn ersetzen oder den AI-generierten Text darunter anhängen.",
  146. "aiOverwriteReplace": "Ersetzen",
  147. "aiOverwriteAppend": "Anhängen",
  148. "aiOverwriteCancel": "Abbrechen",
  149. "aiDontShowAgain": "Nicht mehr anzeigen"
  150. },
  151. "invoice": {
  152. "title": "Rechnungszusammenfassung",
  153. "parts": "Teile",
  154. "labor": "Arbeit",
  155. "subtotal": "Zwischensumme",
  156. "discount": "Rabatt",
  157. "tax": "Steuern ({rate}%)",
  158. "total": "Gesamt",
  159. "paid": "Bezahlt",
  160. "balanceDue": "Ausstehend",
  161. "paidBadge": "BEZAHLT",
  162. "entityLabel": "Rechnung",
  163. "emailSubject": "Zahlungsbestätigung"
  164. },
  165. "payments": {
  166. "title": "Zahlungen",
  167. "markUnpaid": "Als unbezahlt kennzeichnen",
  168. "markPaid": "Als bezahlt kennzeichnen",
  169. "recordPayment": "Zahlung aufzeichnen",
  170. "totalPaid": "Insgesamt bezahlt",
  171. "amount": "Betrag",
  172. "date": "Datum",
  173. "method": "Methode",
  174. "note": "Notiz",
  175. "notePlaceholder": "Optionale Notiz",
  176. "savePayment": "Zahlung speichern",
  177. "methodOptions": {
  178. "cash": "Bargeld",
  179. "card": "Karte",
  180. "transfer": "Überweisung",
  181. "other": "Sonstige"
  182. },
  183. "recorded": "Zahlung aufgezeichnet",
  184. "markedPaid": "Als bezahlt gekennzeichnet",
  185. "markedUnpaid": "Als unbezahlt gekennzeichnet",
  186. "deleted": "Zahlung gelöscht",
  187. "failedRecord": "Zahlung konnte nicht aufgezeichnet werden",
  188. "failedStatus": "Zahlungsstatus konnte nicht aktualisiert werden",
  189. "failedDelete": "Zahlung konnte nicht gelöscht werden",
  190. "deleteTitle": "Zahlung löschen",
  191. "deleteDescription": "Dies entfernt diesen Zahlungseintrag.",
  192. "failedPdf": "PDF-Rechnung konnte nicht erstellt werden"
  193. },
  194. "attachments": {
  195. "deleteTitle": "Anlage löschen",
  196. "deleteDescription": "Dies löscht diese Anlage dauerhaft. Dies kann nicht rückgängig gemacht werden.",
  197. "deleted": "Anlage gelöscht",
  198. "failedDelete": "Löschen fehlgeschlagen",
  199. "images": "Bilder ({count})",
  200. "videos": "Videos ({count})",
  201. "diagnostics": "Diagnoseberichte ({count})",
  202. "documents": "Dokumente ({count})"
  203. },
  204. "share": {
  205. "title": "Rechnung teilen",
  206. "description": "Generieren Sie einen öffentlichen Link, der es jedem ermöglicht, diese Rechnung anzusehen und herunterzuladen, ohne sich anzumelden.",
  207. "notifyTitle": "{name} benachrichtigen",
  208. "email": "E-Mail",
  209. "noEmail": "(keine E-Mail vorhanden)",
  210. "sms": "SMS",
  211. "noPhone": "(keine Telefonnummer vorhanden)",
  212. "sendNotification": "Benachrichtigung senden",
  213. "revokeLink": "Link widerrufen",
  214. "generateLink": "Öffentlichen Link generieren",
  215. "emailSent": "E-Mail gesendet",
  216. "failedEmail": "E-Mail konnte nicht gesendet werden",
  217. "smsSent": "SMS gesendet",
  218. "failedSms": "SMS konnte nicht gesendet werden"
  219. },
  220. "sidebar": {
  221. "vehicle": "Fahrzeug",
  222. "customer": "Kunde",
  223. "vin": "FIN: {vin}",
  224. "mileageAtService": "Kilometerstand bei Service: {mileage} {unit}",
  225. "engineHoursAtService": "Betriebsstunden bei Service: {mileage} {unit}",
  226. "sharedLink": {
  227. "title": "Geteilter Link",
  228. "sharedOn": "Geteilt am {date}",
  229. "notViewed": "Noch nicht angesehen",
  230. "viewedTimes": "{count, plural, one {# Mal} other {# Mal}} angesehen",
  231. "lastViewed": "Zuletzt {date}",
  232. "copyLink": "Link kopieren",
  233. "linkCopied": "Link kopiert"
  234. }
  235. },
  236. "images": {
  237. "title": "Service-Bilder",
  238. "dropzone": "Bilder hierher ziehen oder zum Durchsuchen klicken",
  239. "uploading": "Wird hochgeladen...",
  240. "formats": "JPG, PNG, WebP — max. 10 MB pro Bild",
  241. "uploadingImages": "Bilder werden hochgeladen...",
  242. "limitReached": "Bildlimit erreicht ({count}/{max})",
  243. "upgradePrompt": "Upgrade Ihren Plan, um mehr Bilder hochzuladen.",
  244. "onlyAllowed": "Nur JPG, PNG und WebP Bilder sind erlaubt. {names} übersprungen.",
  245. "onlyUploading": "Es werden nur {count} Bild(er) hochgeladen, um das Limit einzuhalten.",
  246. "uploadingCount": "{count} Bild(er) werden hochgeladen...",
  247. "uploadedCount": "{count} Bild(er) hochgeladen",
  248. "uploadFailed": "Hochladen fehlgeschlagen",
  249. "deleted": "Bild gelöscht",
  250. "failedDelete": "Bild konnte nicht gelöscht werden",
  251. "failedUpdate": "Aktualisierung fehlgeschlagen",
  252. "description": "Beschreibung...",
  253. "invoice": "Rechnung"
  254. },
  255. "videos": {
  256. "title": "Service-Videos",
  257. "dropzone": "Videos hierher ziehen oder zum Durchsuchen klicken",
  258. "uploading": "Wird hochgeladen...",
  259. "formats": "MP4, WebM, MOV — max. 10 MB pro Video",
  260. "uploadingVideos": "Videos werden hochgeladen...",
  261. "uploadingCount": "{count} Video(s) werden hochgeladen...",
  262. "uploadedCount": "{count} Video(s) hochgeladen",
  263. "uploadFailed": "Hochladen fehlgeschlagen",
  264. "deleted": "Video gelöscht",
  265. "failedDelete": "Video konnte nicht gelöscht werden",
  266. "failedUpdate": "Aktualisierung fehlgeschlagen",
  267. "invoice": "Rechnung"
  268. },
  269. "documents": {
  270. "diagnosticTitle": "Diagnoseberichte",
  271. "documentsTitle": "Dokumente",
  272. "dropzone": "Dateien hierher ziehen oder zum Durchsuchen klicken",
  273. "uploading": "Wird hochgeladen...",
  274. "diagnosticFormats": "PDF, CSV, TXT — max. 10 MB pro Datei",
  275. "documentFormats": "PDF, DOCX, XLSX, CSV, TXT — max. 10 MB pro Datei",
  276. "uploadingReports": "Berichte werden hochgeladen...",
  277. "uploadingDocuments": "Dokumente werden hochgeladen...",
  278. "diagnosticLimitReached": "Diagnosebericht-Limit erreicht ({count}/{max})",
  279. "documentLimitReached": "Dokumenten-Limit erreicht ({count}/{max})",
  280. "upgradePrompt": "Upgrade Ihren Plan, um mehr hochzuladen.",
  281. "diagnosticLabel": "Diagnosebericht",
  282. "documentLabel": "Dokument",
  283. "limitReachedToast": "{label}-Limit erreicht ({count}/{max}). Upgrade Ihren Plan für mehr.",
  284. "onlyUploading": "Es werden nur {count} Datei(en) hochgeladen, um das Limit einzuhalten.",
  285. "uploadingCount": "{count} Datei(en) werden hochgeladen...",
  286. "uploadedCount": "{count} Datei(en) hochgeladen",
  287. "uploadFailed": "Hochladen fehlgeschlagen",
  288. "deleted": "Datei gelöscht",
  289. "failedDelete": "Datei konnte nicht gelöscht werden",
  290. "failedUpdate": "Aktualisierung fehlgeschlagen",
  291. "invoice": "Rechnung"
  292. },
  293. "schedule": {
  294. "title": "Zeitplan",
  295. "date": "Datum",
  296. "startTime": "Startzeit",
  297. "endTime": "Endzeit",
  298. "technician": "Techniker",
  299. "selectTechnician": "Techniker auswählen...",
  300. "searchOrCreate": "Techniker suchen oder erstellen...",
  301. "createTechnician": "\"{name}\" erstellen",
  302. "creating": "Erstelle...",
  303. "failedCreate": "Techniker konnte nicht erstellt werden",
  304. "addNew": "+ Neu hinzufügen",
  305. "add": "Hinzufügen",
  306. "newTechPlaceholder": "Technikername...",
  307. "assign": "Tafel zuweisen",
  308. "assigned": "Der Arbeitstafel zugewiesen",
  309. "failedAssign": "Zuweisung fehlgeschlagen",
  310. "endBeforeStart": "Endzeit muss nach der Startzeit liegen",
  311. "failedUpdate": "Zeitplan konnte nicht aktualisiert werden",
  312. "splitCreated": "Auftrag erstreckt sich über mehrere Tage — Fortsetzung für den nächsten Tag erstellt",
  313. "platformUsers": "Platform Users",
  314. "customTechnicians": "Custom",
  315. "readMore": "Mehr erfahren",
  316. "setDefaults": "Standardwerte"
  317. }
  318. }