service.json 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852
  1. {
  2. "page": {
  3. "notFound": "Registro di servizio non trovato",
  4. "updated": "Registro di servizio aggiornato",
  5. "failedUpdate": "Impossibile aggiornare il registro di servizio",
  6. "deleteTitle": "Elimina Registro di Servizio",
  7. "deleteDescription": "Questo eliminerà permanentemente questo registro di servizio e tutti i dati associati. Non può essere annullato.",
  8. "deleted": "Registro di servizio eliminato",
  9. "failedDelete": "Impossibile eliminare",
  10. "datesExpiredTitle": "Date della fattura scadute",
  11. "datesExpiredDescription": "La data della fattura o la data di scadenza è passata. Vuoi aggiornare le date prima di procedere?",
  12. "datesExpiredUpdate": "Aggiorna le date e procedi",
  13. "datesExpiredProceed": "Procedi senza modifiche",
  14. "datesExpiredUseToday": "Aggiorna alla data di oggi",
  15. "datesExpiredCustomize": "Scegli le date manualmente",
  16. "datesExpiredBack": "Indietro",
  17. "datesExpiredSetToday": "Imposta a oggi",
  18. "customFieldsInvalid": "Compila tutti i campi personalizzati obbligatori",
  19. "customFieldsSaveFailed": "Impossibile salvare i campi personalizzati",
  20. "problems": {
  21. "title": "Il lavoro deve avere un titolo prima di poter essere salvato.",
  22. "negative": "Quantità, ore, prezzi e costi non possono essere negativi.",
  23. "partName": "Ogni ricambio con un prezzo deve avere un nome.",
  24. "laborDescription": "Ogni riga di manodopera con ore o tariffa deve avere una descrizione.",
  25. "concernCondition": "Una segnalazione con causa, intervento o verifica deve avere il sintomo compilato."
  26. }
  27. },
  28. "header": {
  29. "tabs": {
  30. "details": "Dettagli",
  31. "images": "Immagini",
  32. "video": "Video",
  33. "documents": "Documenti",
  34. "statusReports": "Rapporti di stato"
  35. },
  36. "save": "Salva",
  37. "pdf": "PDF",
  38. "email": "Email",
  39. "share": "Condividi",
  40. "notify": "Notifica",
  41. "delete": "Elimina",
  42. "unpaid": "Non Pagato",
  43. "unsavedChanges": "Modifiche non salvate",
  44. "saved": "Salvato",
  45. "joinCall": "Partecipa alla videochiamata",
  46. "moreActions": "Altre azioni",
  47. "designMenu": "Design della fattura",
  48. "designMenuLoading": "Controllo con quale design viene stampata questa fattura...",
  49. "designMenuExplain": "Andata al cliente il {date}, quindi viene ancora stampata con il design di allora. Sceglierne un altro cambia solo l'aspetto. Quello che la fattura dice resta come è stato inviato, e l'aspetto precedente non viene conservato.",
  50. "designSentWith": "Il design con cui è stata inviata",
  51. "designFollow": "Segui il design predefinito",
  52. "designFollowNamed": "Segui il design predefinito ({name})",
  53. "designDefaultName": "il design predefinito",
  54. "designPickConfirmTitle": "Passare questa fattura a {name}?",
  55. "designPickConfirmBody": "Cambia solo l'aspetto. I dati dell'officina, il cliente, le condizioni di pagamento e gli importi restano esattamente come sono stati inviati. Il design attuale non viene conservato, quindi l'operazione non è reversibile.",
  56. "designPickConfirm": "Cambia il design",
  57. "designPickDone": "La fattura ora viene stampata con {name}",
  58. "designPickFailed": "Impossibile cambiare il design",
  59. "designRefresh": "Aggiorna ai dati attuali",
  60. "designRefreshConfirmTitle": "Aggiornare questa fattura ai dati attuali?",
  61. "designRefreshConfirmBody": "I dati dell'officina, il cliente, il veicolo, le condizioni di pagamento e il design vengono riletti così come sono oggi, e la fattura viene bloccata su di essi. Le sue righe e i totali sono propri della fattura e non cambiano. Le copie già scaricate o inviate via e-mail restano come erano; il link di condivisione e il portale mostrano la fattura aggiornata. Questa operazione non può essere annullata.",
  62. "designRefreshConfirm": "Aggiorna la fattura",
  63. "designRefreshDone": "Questa fattura ora viene stampata con i dati attuali",
  64. "designRefreshFailed": "Impossibile aggiornare la fattura",
  65. "printWorkOrder": "Stampa ordine di lavoro"
  66. },
  67. "basicInfo": {
  68. "title": "Informazioni di Base",
  69. "invoiceDetails": "Dettagli fattura",
  70. "customerInfo": "Cliente e veicolo",
  71. "paid": "Pagato",
  72. "markPaid": "Segna come pagato",
  73. "markUnpaid": "Segna come non pagato",
  74. "vehicle": "Veicolo",
  75. "open": "Apri",
  76. "customer": "Cliente",
  77. "titleLabel": "Titolo *",
  78. "titlePlaceholder": "Cambio Olio",
  79. "date": "Data",
  80. "type": "Tipo",
  81. "mileage": "Chilometraggio",
  82. "mileageMarine": "Ore Motore",
  83. "status": "Stato",
  84. "technician": "Tecnico",
  85. "invoiceNumber": "Numero Fattura",
  86. "invoiceDate": "Data fattura",
  87. "invoiceDueDate": "Data di scadenza",
  88. "typeOptions": {
  89. "maintenance": "Manutenzione",
  90. "repair": "Riparazione",
  91. "upgrade": "Aggiornamento",
  92. "inspection": "Ispezione"
  93. },
  94. "statusOptions": {
  95. "pending": "In Sospeso",
  96. "in_progress": "In Corso",
  97. "waiting_parts": "In Attesa di Pezzi",
  98. "completed": "Completato"
  99. },
  100. "searchVehicles": "Cerca veicoli...",
  101. "noVehicleFound": "Nessun veicolo trovato.",
  102. "techPicker": {
  103. "placeholder": "Seleziona o digita un nome...",
  104. "searchPlaceholder": "Cerca o digita nome...",
  105. "useCustom": "Usa \"{search}\"",
  106. "typePrompt": "Digita un nome...",
  107. "boardTechnicians": "Tecnici della Lavagna",
  108. "teamMembers": "Membri del Team"
  109. },
  110. "design": "Design della fattura",
  111. "designDefault": "Predefinito dell'officina",
  112. "designFollowing": "Predefinito ({name})",
  113. "designSaved": "Design della fattura aggiornato",
  114. "designFollowingRule": "Predefinito ({name}, {rule})",
  115. "designRule": {
  116. "parts_sale": "Vendita solo ricambi"
  117. },
  118. "designSaveFailed": "Impossibile cambiare il design della fattura"
  119. },
  120. "parts": {
  121. "title": "Pezzi",
  122. "fromInventory": "Da Inventario",
  123. "addPart": "Aggiungi Pezzo",
  124. "partNumber": "Numero Pezzo",
  125. "category": "Categoria",
  126. "name": "Nome",
  127. "qty": "Qtà",
  128. "unitCost": "Costo",
  129. "unitCostHint": "Costo fornitore (interno — non mostrato al cliente)",
  130. "markupPercent": "Ricarico %",
  131. "markupPercentHint": "Ricarico applicato al costo (interno — non mostrato al cliente)",
  132. "applyMarkup": "Applica {percent}%",
  133. "applyMarkupHint": "Riapplicare il ricarico del {percent}% al costo su ogni riga",
  134. "unitPrice": "Prezzo Unitario",
  135. "total": "Totale",
  136. "namePlaceholder": "Nome *",
  137. "subtotal": "Subtotale Pezzi: {amount}",
  138. "inventoryTitle": "Seleziona Pezzo da Inventario",
  139. "searchInventory": "Cerca inventario...",
  140. "inStock": "{quantity} in magazzino",
  141. "noInventory": "Nessun pezzo inventario trovato.",
  142. "scanBarcode": "Scansiona",
  143. "scanTitle": "Scansiona codice a barre",
  144. "partFound": "\"{name}\" aggiunto dall'inventario",
  145. "partNotFound": "Nessun pezzo trovato per il codice a barre \"{barcode}\"",
  146. "deleteRow": "Elimina riga",
  147. "outOfStock": "Esaurito",
  148. "onBackorder": "In arretrato ({count})",
  149. "nameMissingHint": "Le righe senza nome del ricambio non vengono salvate."
  150. },
  151. "labor": {
  152. "title": "Manodopera",
  153. "addLabor": "Aggiungi Manodopera",
  154. "fromPresets": "Da modelli",
  155. "description": "Descrizione",
  156. "hours": "Ore",
  157. "rate": "Tariffa ({currency}/h)",
  158. "total": "Totale",
  159. "descriptionPlaceholder": "Descrizione *",
  160. "subtotal": "Subtotale Manodopera: {amount}",
  161. "addService": "Aggiungi Servizio",
  162. "addFinding": "Osservazione",
  163. "newObservation": "Nuova osservazione",
  164. "addExisting": "Mostra esistenti ({count})",
  165. "qty": "Qtà",
  166. "qtyOrHours": "Unità / Ore",
  167. "hourlyTag": "HR",
  168. "serviceTag": "SVC",
  169. "hourlyHint": "A ore: calcolato sulle ore lavorate (ore × tariffa/h). Clicca per cambiare.",
  170. "serviceHint": "Servizio: addebitato come importo fisso per unità. Clicca per cambiare.",
  171. "deleteRow": "Elimina riga",
  172. "descriptionMissingHint": "Le righe senza descrizione non vengono salvate.",
  173. "shopFeeTag": "Contributo",
  174. "shopFeeHintFlat": "Il contributo officina dalle Impostazioni, come importo fisso. Cambia il prezzo per questo lavoro o elimina la riga per toglierlo.",
  175. "shopFeeHintPercentLabor": "Il contributo officina dalle Impostazioni: {percent} % della manodopera di questo lavoro. Elimina la riga per toglierlo.",
  176. "shopFeeHintPercentAll": "Il contributo officina dalle Impostazioni: {percent} % di manodopera e ricambi di questo lavoro. Elimina la riga per toglierlo."
  177. },
  178. "laborGuide": {
  179. "button": "Tempari",
  180. "title": "Tempari",
  181. "description": "Tempi di manodopera e fluidi per questo veicolo",
  182. "tabLabor": "Tempi di manodopera",
  183. "tabFluids": "Fluidi",
  184. "engine": "Motore",
  185. "categories": "Categorie di lavoro",
  186. "allJobs": "Tutti i lavori",
  187. "search": "Cerca lavori, ad es. pastiglie freno",
  188. "clearSearch": "Cancella ricerca",
  189. "jobCount": "{count, plural, one {# lavoro} other {# lavori}}",
  190. "noMatch": "Nessun lavoro corrisponde a «{query}»",
  191. "noJobs": "Il tempario non elenca lavori per questo motore.",
  192. "showAll": "Mostra tutti i lavori",
  193. "showHours": "Mostra ore",
  194. "show": "Mostra",
  195. "lockedValue": "Non mostrato con questa chiave",
  196. "hours": "{hours} h",
  197. "range": "da {low} a {high} h",
  198. "bookTime": "Tempario {hours} h",
  199. "add": "Aggiungi come riga di manodopera",
  200. "added": "Aggiunto",
  201. "addJob": "Aggiungi {job} come riga di manodopera",
  202. "addedJob": "{job} è stato aggiunto",
  203. "addedCount": "{count, plural, one {# lavoro aggiunto} other {# lavori aggiunti}}",
  204. "partsAddedCount": "{count, plural, one {# ricambio aggiunto} other {# ricambi aggiunti}}",
  205. "done": "Fatto",
  206. "loading": "Ricerca del veicolo",
  207. "stillLooking": "Ricerca ancora in corso. Open Labor Project può impiegare fino a mezzo minuto per un veicolo su cui ha pochi dati.",
  208. "notFoundTitle": "Non presente nel tempario",
  209. "notFound": "Il tempario non ha dati per questo veicolo. Verifica che marca, modello e anno siano scritti come li chiama il costruttore, oppure aggiungi il VIN.",
  210. "fluidsNotFoundTitle": "Nessuna specifica dei fluidi per questo veicolo",
  211. "fluidsNotFound": "Open Labor Project non ha ancora specifiche dei fluidi per questo veicolo.",
  212. "failedTitle": "La ricerca non è andata a buon fine",
  213. "failed": "La ricerca non è riuscita",
  214. "unlockFailed": "Impossibile ottenere quel valore",
  215. "retry": "Riprova",
  216. "matchNone": "Nessuno dei motori elencati corrisponde a quello registrato per questo veicolo, quindi questi tempi potrebbero riferirsi a un altro motore. Scegli sopra il motore più simile.",
  217. "matchFuel": "Il motore è stato scelto in base al carburante. Verifica che sia quello giusto.",
  218. "matchUnknown": "Questo veicolo non ha la cilindrata registrata, quindi verifica che il motore sopra sia quello giusto.",
  219. "hiddenByConfidence": "{count, plural, one {# tempo sotto la tua affidabilità minima è nascosto.} other {# tempi sotto la tua affidabilità minima sono nascosti.}}",
  220. "changeSettings": "Cambia",
  221. "liters": "{value} L",
  222. "quarts": "{value} qt",
  223. "km": "{value} km",
  224. "miles": "{value} mi",
  225. "capacity": "Capacità",
  226. "drainRefill": "Scarico e riempimento",
  227. "interval": "Sostituire ogni",
  228. "copySpec": "Copia {spec}",
  229. "copied": "Copiato",
  230. "noFluids": "Il tempario non elenca fluidi per questo motore.",
  231. "addAsPart": "Aggiungi come ricambio",
  232. "addFluidAsPart": "Aggiungi {system} come ricambio",
  233. "partAdded": "Aggiunto",
  234. "fromStock": "Da magazzino",
  235. "addWithoutStock": "Aggiungi senza articolo di magazzino",
  236. "takesDrainRefill": "Ne servono {amount} a scarico e riempimento",
  237. "takesCapacity": "Ne contiene {amount} in tutto",
  238. "attribution": "Dati da {source}",
  239. "market": "Mercato: {region}",
  240. "about": "Quanto è affidabile?",
  241. "aboutTitle": "Affidabilità secondo la fonte",
  242. "estimateNote": "I valori segnati come Stima sono generati dall'IA e non verificati con i dati del costruttore. Controllali prima di fare un preventivo a un cliente.",
  243. "lockedNote": "Questa chiave mostra i valori uno alla volta e ognuno conta come una chiamata. Un piano a pagamento li mostra tutti insieme.",
  244. "settings": "Impostazioni del tempario",
  245. "confidence": {
  246. "oem": "OEM",
  247. "oemHelp": "Confrontato con i dati del costruttore",
  248. "high": "Verificato",
  249. "highHelp": "Verificato dalla fonte",
  250. "medium": "Media",
  251. "mediumHelp": "La fonte valuta questo valore con affidabilità media",
  252. "estimated": "Stima",
  253. "estimatedHelp": "Generato dall'IA e non verificato con i dati del costruttore"
  254. }
  255. },
  256. "liveLabor": {
  257. "title": "{count, plural, one {Un tecnico ha aggiunto manodopera a questo lavoro} other {Un tecnico ha aggiunto # righe di manodopera a questo lavoro}}",
  258. "body": "Resta fuori dall’elenco mentre modifichi. Verrà salvata comunque al prossimo salvataggio.",
  259. "show": "Mostra"
  260. },
  261. "totals": {
  262. "title": "Totali",
  263. "parts": "Pezzi",
  264. "labor": "Manodopera",
  265. "subtotal": "Subtotale",
  266. "subtotalInclTax": "Subtotale (incl. imposta)",
  267. "discount": "Sconto",
  268. "discountNone": "Nessuno",
  269. "discountOff": "No",
  270. "discountPercentage": "Percentuale",
  271. "discountFixed": "Fisso",
  272. "tax": "Imposta",
  273. "taxIncluded": "Imposta (incl.)",
  274. "taxableAmount": "Imponibile",
  275. "total": "Totale",
  276. "inclusiveModeHint": "I prezzi delle righe sono inseriti con imposta inclusa. I totali mostrano la suddivisione netto + imposta.",
  277. "partsCost": "Costo ricambi (interno)"
  278. },
  279. "lineTax": {
  280. "label": "Imposta su questa riga",
  281. "taxedTag": "IMP.",
  282. "untaxedTag": "NO IMP.",
  283. "taxedHint": "Su questa riga si applica l'imposta. Fai clic per escluderla dall'imposta.",
  284. "untaxedHint": "Su questa riga non si applica l'imposta. Fai clic per applicarla."
  285. },
  286. "taxOffer": {
  287. "noTax": "Questo documento è stato creato senza imposta. L'officina ora applica il {rate}%.",
  288. "otherRate": "Questo documento è al {current}%. L'officina ora applica il {rate}%.",
  289. "apply": "Applica il {rate}% di imposta",
  290. "failed": "Impossibile aggiornare l'imposta",
  291. "saveFirst": "Salva prima le modifiche, poi applica l'imposta."
  292. },
  293. "notes": {
  294. "title": "Note",
  295. "public": "Pubblico",
  296. "internal": "Interno",
  297. "publicPlaceholder": "Note visibili sulla fattura...",
  298. "internalPlaceholder": "Note interne (non mostrate sulla fattura)...",
  299. "publicHelper": "Mostrato sulla fattura e nei documenti condivisi",
  300. "internalHelper": "Visibile solo al tuo team",
  301. "aiWrite": "AI Scrivi",
  302. "aiGenerated": "Note AI generate con successo",
  303. "aiGenerateFailed": "Generazione note AI non riuscita",
  304. "aiDialogTitle": "AI Scrivi",
  305. "aiDialogDescription": "L'IA analizzerà le parti e la manodopera in questo record di servizio e genererà una descrizione professionale. Il risultato verrà scritto nel tipo di nota selezionato.",
  306. "aiGenerate": "Genera",
  307. "aiOverwriteDescription": "Questa nota ha già del contenuto. Puoi sostituirlo o aggiungere il testo generato dall'IA sotto.",
  308. "aiOverwriteReplace": "Sostituisci",
  309. "aiOverwriteAppend": "Aggiungi",
  310. "aiOverwriteCancel": "Annulla",
  311. "aiDontShowAgain": "Non mostrare più",
  312. "internalTitle": "Note interne",
  313. "publicTitle": "Note per il cliente"
  314. },
  315. "invoice": {
  316. "title": "Riepilogo Fattura",
  317. "parts": "Pezzi",
  318. "labor": "Manodopera",
  319. "subtotal": "Subtotale",
  320. "subtotalInclTax": "Subtotale (incl. imposta)",
  321. "discount": "Sconto",
  322. "tax": "Imposta ({rate}%)",
  323. "taxIncluded": "Imposta (incl., {rate}%)",
  324. "taxableAmount": "Imponibile",
  325. "total": "Totale",
  326. "paid": "Pagato",
  327. "balanceDue": "Importo Dovuto",
  328. "paidBadge": "PAGATO",
  329. "entityLabel": "Fattura",
  330. "emailSubject": "Conferma Pagamento",
  331. "statusEmailSubject": "Aggiornamento dello stato del servizio",
  332. "markCompletedTitle": "Contrassegnare questa fattura come completata?",
  333. "markCompletedDescription": "È stata inviata al cliente ma risulta ancora non conclusa, quindi resterà visibile sulla lavagna.",
  334. "markCompletedConfirm": "Segna come completata",
  335. "lockedFieldsetLabel": "Fattura bloccata, modifica disattivata"
  336. },
  337. "payments": {
  338. "title": "Pagamenti",
  339. "markUnpaid": "Contrassegna come Non Pagato",
  340. "markPaid": "Contrassegna come Pagato",
  341. "recordPayment": "Registra Pagamento",
  342. "totalPaid": "Totale Pagato",
  343. "amount": "Importo",
  344. "date": "Data",
  345. "method": "Metodo",
  346. "note": "Nota",
  347. "notePlaceholder": "Nota facoltativa",
  348. "savePayment": "Salva Pagamento",
  349. "methodOptions": {
  350. "cash": "Contanti",
  351. "card": "Carta",
  352. "transfer": "Trasferimento",
  353. "other": "Altro"
  354. },
  355. "recorded": "Pagamento registrato",
  356. "markedPaid": "Contrassegnato come pagato",
  357. "markedUnpaid": "Contrassegnato come non pagato",
  358. "deleted": "Pagamento eliminato",
  359. "failedRecord": "Impossibile registrare il pagamento",
  360. "failedStatus": "Impossibile aggiornare lo stato del pagamento",
  361. "failedDelete": "Impossibile eliminare il pagamento",
  362. "deleteTitle": "Elimina Pagamento",
  363. "deleteDescription": "Questo rimuoverà questo record di pagamento.",
  364. "failedPdf": "Impossibile generare PDF fattura",
  365. "received": "Pagamenti ricevuti",
  366. "noneYet": "Ancora nessun pagamento.",
  367. "balanceDue": "Importo dovuto"
  368. },
  369. "attachments": {
  370. "deleteTitle": "Elimina Allegato",
  371. "deleteDescription": "Questo eliminerà permanentemente questo allegato. Non può essere annullato.",
  372. "deleted": "Allegato eliminato",
  373. "failedDelete": "Impossibile eliminare",
  374. "images": "Immagini ({count})",
  375. "videos": "Video ({count})",
  376. "diagnostics": "Rapporti Diagnostici ({count})",
  377. "documents": "Documenti ({count})",
  378. "download": "Scarica",
  379. "close": "Chiudi"
  380. },
  381. "share": {
  382. "title": "Condividi Fattura",
  383. "description": "Genera un collegamento pubblico che consente a chiunque di visualizzare e scaricare questa fattura senza accedere.",
  384. "notifyTitle": "Notifica {name}",
  385. "email": "Email",
  386. "noEmail": "(nessun email in archivio)",
  387. "sms": "SMS",
  388. "noPhone": "(nessun telefono in archivio)",
  389. "sendNotification": "Invia Notifica",
  390. "revokeLink": "Revoca Collegamento",
  391. "generateLink": "Genera Collegamento Pubblico",
  392. "emailSent": "Email inviata",
  393. "failedEmail": "Impossibile inviare email",
  394. "smsSent": "SMS inviato",
  395. "failedSms": "Impossibile inviare SMS",
  396. "copyLink": "Copia link"
  397. },
  398. "sidebar": {
  399. "vehicle": "Veicolo",
  400. "customer": "Cliente",
  401. "vin": "VIN: {vin}",
  402. "mileageAtService": "Chilometraggio al servizio: {mileage} {unit}",
  403. "engineHoursAtService": "Ore motore al servizio: {mileage} {unit}",
  404. "sharedLink": {
  405. "title": "Link condiviso",
  406. "sharedOn": "Condiviso il {date}",
  407. "notViewed": "Non ancora visualizzato",
  408. "viewedTimes": "Visualizzato {count, plural, one {# volta} other {# volte}}",
  409. "lastViewed": "Ultimo {date}",
  410. "copyLink": "Copia link",
  411. "linkCopied": "Link copiato"
  412. }
  413. },
  414. "images": {
  415. "title": "Immagini del Servizio",
  416. "dropzone": "Trascina le immagini qui o clicca per sfogliare",
  417. "uploading": "Caricamento...",
  418. "formats": "JPG, PNG, WebP — max 10 MB ciascuna",
  419. "uploadingImages": "Caricamento immagini...",
  420. "limitReached": "Limite immagini raggiunto ({count}/{max})",
  421. "upgradePrompt": "Aggiorna il tuo piano per caricare più immagini.",
  422. "onlyAllowed": "Sono consentite solo immagini JPG, PNG e WebP. {names} saltati.",
  423. "onlyUploading": "Verranno caricate solo {count} immagine/i per rispettare il limite.",
  424. "uploadingCount": "Caricamento di {count} immagine/i...",
  425. "uploadedCount": "{count} immagine/i caricata/e",
  426. "uploadFailed": "Caricamento fallito",
  427. "deleted": "Immagine eliminata",
  428. "failedDelete": "Impossibile eliminare l'immagine",
  429. "failedUpdate": "Impossibile aggiornare",
  430. "description": "Descrizione...",
  431. "invoice": "Fattura"
  432. },
  433. "videos": {
  434. "title": "Video del Servizio",
  435. "dropzone": "Trascina i video qui o clicca per sfogliare",
  436. "uploading": "Caricamento...",
  437. "formats": "MP4, WebM, MOV — max 10 MB ciascuno",
  438. "uploadingVideos": "Caricamento video...",
  439. "uploadingCount": "Caricamento di {count} video...",
  440. "uploadedCount": "{count} video caricato/i",
  441. "uploadFailed": "Caricamento fallito",
  442. "deleted": "Video eliminato",
  443. "failedDelete": "Impossibile eliminare il video",
  444. "failedUpdate": "Impossibile aggiornare",
  445. "invoice": "Fattura"
  446. },
  447. "documents": {
  448. "diagnosticTitle": "Rapporti Diagnostici",
  449. "documentsTitle": "Documenti",
  450. "dropzone": "Trascina i file qui o clicca per sfogliare",
  451. "uploading": "Caricamento...",
  452. "diagnosticFormats": "PDF, CSV, TXT — max 10 MB ciascuno",
  453. "documentFormats": "PDF, DOCX, XLSX, CSV, TXT — max 10 MB ciascuno",
  454. "uploadingReports": "Caricamento rapporti...",
  455. "uploadingDocuments": "Caricamento documenti...",
  456. "diagnosticLimitReached": "Limite rapporti diagnostici raggiunto ({count}/{max})",
  457. "documentLimitReached": "Limite documenti raggiunto ({count}/{max})",
  458. "upgradePrompt": "Aggiorna il tuo piano per caricare di più.",
  459. "diagnosticLabel": "Rapporto diagnostico",
  460. "documentLabel": "Documento",
  461. "limitReachedToast": "Limite {label} raggiunto ({count}/{max}). Aggiorna il tuo piano per di più.",
  462. "onlyUploading": "Verranno caricati solo {count} file per rispettare il limite.",
  463. "uploadingCount": "Caricamento di {count} file...",
  464. "uploadedCount": "{count} file caricato/i",
  465. "uploadFailed": "Caricamento fallito",
  466. "deleted": "File eliminato",
  467. "failedDelete": "Impossibile eliminare il file",
  468. "failedUpdate": "Impossibile aggiornare",
  469. "invoice": "Fattura"
  470. },
  471. "schedule": {
  472. "title": "Pianificazione",
  473. "date": "Data",
  474. "startTime": "Ora di inizio",
  475. "endTime": "Ora di fine",
  476. "durationPresets": "Durata",
  477. "technician": "Tecnico",
  478. "selectTechnician": "Seleziona tecnico...",
  479. "searchOrCreate": "Cerca o crea tecnico...",
  480. "createTechnician": "Crea \"{name}\"",
  481. "creating": "Creazione...",
  482. "failedCreate": "Impossibile creare il tecnico",
  483. "addNew": "+ Aggiungi nuovo",
  484. "add": "Aggiungi",
  485. "newTechPlaceholder": "Nome del tecnico...",
  486. "assign": "Assegna alla bacheca",
  487. "assigned": "Assegnato alla bacheca di lavoro",
  488. "failedAssign": "Assegnazione fallita",
  489. "assignNotAllowed": "Non hai l'autorizzazione per assegnare i tecnici. Chiedi a un proprietario o a un amministratore di consentire al tuo ruolo di modificare la bacheca di lavoro.",
  490. "endBeforeStart": "L'ora di fine deve essere dopo l'ora di inizio",
  491. "failedUpdate": "Impossibile aggiornare la pianificazione",
  492. "splitCreated": "Il lavoro si estende su più giorni — continuazione creata per il giorno successivo",
  493. "customTechnicians": "Personalizzati",
  494. "readMore": "Scopri di più",
  495. "setDefaults": "Valori predefiniti",
  496. "workBay": "Postazione",
  497. "selectWorkBay": "Seleziona postazione…",
  498. "noWorkBay": "Nessuna postazione",
  499. "noTechnician": "Senza tecnico",
  500. "technicians": "Tecnici",
  501. "otherTeamMembers": "Altri membri del team",
  502. "makeTechnician": "Lo rende un tecnico",
  503. "addSomeoneNew": "Aggiungi qualcuno",
  504. "notOnBoard": "Non ancora sulla lavagna",
  505. "putOnBoard": "Metti sulla lavagna",
  506. "slotTaken": "{count, plural, one {Questa fascia è già occupata} other {Questa fascia ha # conflitti}}",
  507. "anotherJob": "un altro lavoro",
  508. "clashTechnician": "il tecnico è occupato",
  509. "clashBay": "la postazione è occupata",
  510. "clashBoth": "entrambi sono occupati",
  511. "bookedAnyway": "Salvato comunque. Cambia l'orario o scegli la prossima fascia libera.",
  512. "pickNextAvailable": "Scegli la prossima fascia libera",
  513. "findingSlot": "Ricerca di una fascia…",
  514. "slotPicked": "Spostato sulla prossima fascia libera",
  515. "noSlotFound": "Nessuna fascia libera trovata nelle prossime settimane",
  516. "assignedTitle": "Tecnico assegnato",
  517. "boardLink": "Lavagna di lavoro",
  518. "someoneElse": "Qualcun altro",
  519. "loadOf": "{booked} / {capacity} h",
  520. "loadFree": "{hours} h libere",
  521. "loadFull": "Al completo",
  522. "loadOn": "Ore prenotate il {date}",
  523. "promisedAt": "Promesso al cliente",
  524. "promisedPlaceholder": "Non ancora promesso",
  525. "promisedClear": "Cancella"
  526. },
  527. "notifications": {
  528. "title": "Notifiche al cliente",
  529. "viaSms": "via SMS",
  530. "viaEmail": "via e-mail",
  531. "justNow": "Proprio ora",
  532. "minutesAgo": "{count}m fa",
  533. "hoursAgo": "{count}h fa",
  534. "daysAgo": "{count}g fa"
  535. },
  536. "table": {
  537. "warranty": "Garanzia"
  538. },
  539. "warranty": {
  540. "title": "Garanzia",
  541. "months": "Durata (mesi)",
  542. "notes": "Termini di garanzia",
  543. "notesPlaceholder": "es. Garanzia di 12 mesi su tutti i ricambi e la manodopera...",
  544. "expiresAt": "Scadenza",
  545. "presets": {
  546. "3months": "3 m",
  547. "6months": "6 m",
  548. "12months": "12 m",
  549. "24months": "24 m"
  550. },
  551. "status": {
  552. "active": "Attiva",
  553. "expiring": "In scadenza",
  554. "expired": "Scaduta",
  555. "none": "Nessuna"
  556. },
  557. "statementLabel": "Cosa viene detto al cliente sulla garanzia",
  558. "statement": {
  559. "none": "Non indicata",
  560. "included": "Inclusa",
  561. "not_included": "Non inclusa"
  562. },
  563. "noneHint": "Su questo documento non viene stampato nulla sulla garanzia.",
  564. "mileageWithUnit": "Limite di distanza ({unit})",
  565. "notIncludedNotes": "Dichiarazione al cliente",
  566. "notIncludedPlaceholder": "es. L'officina non offre garanzia sui ricambi forniti dal cliente.",
  567. "printedHint": "Stampato sotto la garanzia sul documento.",
  568. "notIncludedHint": "Lascia vuoto e il documento dirà che i diritti di legge restano invariati.",
  569. "summaryMonths": "{count} mesi"
  570. },
  571. "concerns": {
  572. "title": "Segnalazioni del cliente",
  573. "hint": "Perché il cliente è venuto, con parole sue. Una riga per ogni cosa segnalata.",
  574. "add": "Aggiungine un altro",
  575. "placeholder": "C'è un rumore dietro quando freno",
  576. "remove": "Rimuovi questo punto",
  577. "notAnswered": "Non è ancora stato trovato nulla",
  578. "answered": "{count} riscontro/i su questo",
  579. "storyTitle": "Descrizione del lavoro",
  580. "storyHint": "Sintomo, causa, intervento, verifica. Clicca su un passaggio per aprirlo; una riga per ogni cosa segnalata dal cliente o osservata da te.",
  581. "steps": {
  582. "condition": "Sintomo",
  583. "cause": "Causa",
  584. "correction": "Intervento",
  585. "confirm": "Verifica"
  586. },
  587. "conditionPlaceholder": "Cosa ha segnalato il cliente o cosa hai osservato",
  588. "causePlaceholder": "Quale causa principale hanno rivelato le prove",
  589. "correctionPlaceholder": "Cosa è stato fatto per risolverlo",
  590. "confirmPlaceholder": "Come è stata verificata la riparazione: prova su strada, nuova diagnosi, sintomo scomparso",
  591. "markConfirmed": "Verificato",
  592. "confirmedBy": "Verificato da {name}, {date}",
  593. "confirmedAt": "Verificato il {date}",
  594. "confirmedOnSave": "Firmato con il tuo nome al salvataggio",
  595. "confirmedCount": "{confirmed} di {total} verificati",
  596. "findingsCount": "{count, plural, one {# osservazione} other {# osservazioni}}",
  597. "addFinding": "Aggiungi osservazione",
  598. "unconfirmedTitle": "Completare con segnalazioni non verificate?",
  599. "unconfirmedBody": "{count, plural, one {Una segnalazione non è stata verificata come risolta:} other {# segnalazioni non sono state verificate come risolte:}}",
  600. "unconfirmedProceed": "Completa comunque",
  601. "addMedia": "Aggiungi foto o video",
  602. "mediaUploading": "Caricamento…",
  603. "mediaAdded": "{count, plural, one {# file aggiunto} other {# file aggiunti}}",
  604. "mediaFailed": "Impossibile caricare {name}",
  605. "mediaTypes": "Scegli una foto (JPG, PNG, WebP) o un video.",
  606. "dictate": {
  607. "start": "Detta",
  608. "listening": "In ascolto",
  609. "startHint": "Parla e il testo viene scritto qui. Non viene registrato nulla.",
  610. "stopHint": "Smetti di ascoltare",
  611. "notAllowed": "Il browser non ha il permesso di usare il microfono. Consentilo per questo sito e riprova.",
  612. "noMicrophone": "Nessun microfono trovato.",
  613. "failed": "La dettatura si è interrotta. Riprova.",
  614. "startHintServer": "Parla e il testo viene scritto mentre parli. L'audio va al tuo modello vocale per la trascrizione e non viene conservato.",
  615. "transcribing": "Completamento…",
  616. "language": "Lingua parlata",
  617. "auto": "Auto",
  618. "nothingHeard": "Non si è sentito nulla.",
  619. "fellBack": "Per ora si usa la dettatura del browser.",
  620. "autoLong": "Auto (rileva la lingua)",
  621. "engine": "Trascritto da",
  622. "engineAi": "Modello vocale (più preciso)",
  623. "engineBrowser": "Browser (scrive mentre parli)",
  624. "liveFellBack": "Scrittura a blocchi di qualche secondo invece che parola per parola."
  625. },
  626. "stepEmpty": "Non ancora scritto",
  627. "removeTitle": "Rimuovere questa segnalazione?",
  628. "removeBody": "Sintomo, causa, intervento e verifica vengono rimossi insieme a essa quando salvi l'ordine di lavoro.",
  629. "removeAttached": "Le sue osservazioni e i file restano sul lavoro, non più collegati a una segnalazione.",
  630. "removeConfirm": "Rimuovi segnalazione",
  631. "saveFirst": "Salva prima l'ordine di lavoro"
  632. },
  633. "videoCall": {
  634. "title": "Videochiamata",
  635. "none": "Nessuna videochiamata su questo ordine di lavoro.",
  636. "needsSchedule": "Imposta prima un'ora di inizio. La riunione segue la programmazione.",
  637. "add": "Aggiungi riunione {provider}",
  638. "addedHere": "aggiunta da questo ordine di lavoro",
  639. "fromCalendar": "dall'evento del calendario",
  640. "join": "Partecipa",
  641. "copy": "Copia link",
  642. "copied": "Link copiato",
  643. "remove": "Rimuovi",
  644. "removeTitle": "Rimuovere la videochiamata?",
  645. "removeDescription": "La riunione viene eliminata presso il fornitore. Chi ha già il link non potrà più partecipare.",
  646. "created": "Riunione creata. Il link è sull'ordine di lavoro.",
  647. "removed": "Riunione rimossa",
  648. "failed": "Qualcosa è andato storto",
  649. "shareHint": "Il cliente riceve questo link solo quando lo invii.",
  650. "shareHintNoChannel": "Il cliente riceve questo link solo quando lo invii. Nessun canale di messaggistica è configurato, quindi copialo tu in un messaggio.",
  651. "send": {
  652. "button": "Invia al cliente",
  653. "title": "Invia il link della videochiamata",
  654. "description": "Invia il link per partecipare a {name}.",
  655. "messageLabel": "Nota (facoltativa)",
  656. "messagePlaceholder": "Ciò che il cliente deve sapere prima della chiamata...",
  657. "linkAlwaysIncluded": "Il link per partecipare viene sempre aggiunto sotto la tua nota.",
  658. "sms": "SMS",
  659. "email": "Email",
  660. "telegram": "Telegram",
  661. "noPhone": "(nessun telefono)",
  662. "noEmail": "(nessuna email)",
  663. "noTelegram": "(nessuna chat collegata)",
  664. "notAvailable": "(non configurato)",
  665. "cancel": "Annulla",
  666. "send": "Invia",
  667. "sent": "Link della videochiamata inviato",
  668. "partlySent": "Inviato via {sent}; non via {failed}",
  669. "failed": "Impossibile inviare il link"
  670. },
  671. "notify": {
  672. "invitation": "Ciao {name}, la tua videochiamata per la {vehicle} è il {when}. Partecipa qui: {url}",
  673. "invitationNoTime": "Ciao {name}, ecco il link della videochiamata per la {vehicle}: {url}",
  674. "joinLine": "Partecipa alla videochiamata qui: {url}",
  675. "emailSubject": "Videochiamata per la tua {vehicle}"
  676. }
  677. },
  678. "modern": {
  679. "statusLabel": "Stato dell'ordine di lavoro",
  680. "back": "Indietro",
  681. "backToClassic": "Torna al layout classico",
  682. "openCustomer": "Apri cliente",
  683. "serviceHistory": "Storico interventi",
  684. "changeVehicle": "Cambia veicolo",
  685. "vehicleChangesOnSave": "L'ordine di lavoro passa a questo veicolo quando salvi.",
  686. "phone": "Telefono",
  687. "email": "Email",
  688. "notSet": "Non impostato",
  689. "noCustomer": "Nessun cliente su questo ordine di lavoro.",
  690. "invoiceTitle": "Fattura e pagamento",
  691. "filesTitle": "File e media",
  692. "activity": {
  693. "title": "Attività",
  694. "messageSent": "Messaggio inviato al cliente",
  695. "linkShared": "Link della fattura condiviso",
  696. "linkViewed": "{count, plural, one {Il cliente ha aperto il link} other {Il cliente ha aperto il link # volte}}",
  697. "paymentTaken": "Pagamento di {amount} registrato",
  698. "statusSet": "Stato impostato su {status}"
  699. },
  700. "invite": {
  701. "title": "La pagina dell'ordine di lavoro è stata rinnovata.",
  702. "body": "Un layout più chiaro con gli stessi campi. Puoi tornare indietro in qualsiasi momento.",
  703. "try": "Provalo ora",
  704. "dismiss": "Non ora",
  705. "menu": "Prova il nuovo layout"
  706. },
  707. "promised": "Promesso per il {date}",
  708. "promisedOverdue": "Promesso per il {date}, in ritardo",
  709. "opened": "Aperto il {date}",
  710. "openedBy": "Aperto il {date} da {name}",
  711. "editTitle": "Modifica titolo",
  712. "titleField": "Titolo",
  713. "media": {
  714. "tabs": {
  715. "all": "Tutti",
  716. "photos": "Foto",
  717. "diagnostics": "Diagnosi",
  718. "dropoff": "Accettazione"
  719. },
  720. "summary": "{count, plural, one {# file} other {# file}} · condivisi con il cliente solo se contrassegnati",
  721. "customerCanSee": "Visibile al cliente",
  722. "showToCustomer": "Mostra al cliente",
  723. "hideFromCustomer": "Nascondi al cliente",
  724. "add": {
  725. "all": "Aggiungi file",
  726. "image": "Aggiungi foto",
  727. "document": "Aggiungi documenti",
  728. "diagnostic": "Aggiungi rapporto diagnostico",
  729. "video": "Aggiungi video",
  730. "dropoff": "Aggiungi foto di accettazione"
  731. },
  732. "dropHint": "Trascina qui i file o clicca per sfogliare",
  733. "added": "{count, plural, one {# file aggiunto} other {# file aggiunti}}",
  734. "failed": "Impossibile caricare {name}",
  735. "wrongType": "Tipo di file non adatto a questa scheda: {names}",
  736. "limit": "Limite raggiunto ({count}/{max})",
  737. "dropoffHint": "L’auto com’era all’arrivo, con l’ora di ogni foto. Resta all’officina e non è mostrata al cliente, salvo tua scelta.",
  738. "onInvoice": "Includi lo stato del veicolo in questa fattura",
  739. "onInvoiceHint": "Disattivato a meno che non lo spunti qui. Per stamparlo su tutte le fatture, attiva Stato del veicolo nel designer delle fatture.",
  740. "onInvoiceByDesign": "Attivo nel designer delle fatture per tutte le fatture. Deseleziona per ometterlo su questa.",
  741. "onInvoiceFailed": "Impossibile salvare la scelta"
  742. },
  743. "moneyBar": {
  744. "total": "Totale",
  745. "paid": "Pagato",
  746. "balance": "Importo dovuto",
  747. "settled": "Pagato per intero",
  748. "takePayment": "Incassa",
  749. "preview": "Anteprima fattura",
  750. "previewShort": "Anteprima",
  751. "send": "Invia al cliente",
  752. "sendShort": "Invia"
  753. },
  754. "vehicleInfo": {
  755. "more": "Più info",
  756. "less": "Meno info",
  757. "copy": "Copia {label}",
  758. "copied": "Copiato",
  759. "lastInspection": "Ultima revisione periodica",
  760. "purchaseDate": "Data di acquisto",
  761. "purchasePrice": "Prezzo di acquisto",
  762. "overdue": "scaduta",
  763. "customerSince": "Cliente dal"
  764. },
  765. "moreStatuses": "Altri stati",
  766. "addStatus": "Aggiungi stato",
  767. "fromInspection": "Dall'ispezione {name}, {date}",
  768. "fromQuote": "Dal preventivo {ref}",
  769. "startInspection": "Avvia ispezione"
  770. },
  771. "photoHandoff": {
  772. "button": "Aggiungi dal telefono",
  773. "dialogTitle": "Aggiungi foto e documenti da un telefono",
  774. "dialogBody": "Scatta o scegli foto, o condividi un PDF, da qualsiasi telefono. Tutto arriva direttamente in questo ordine di lavoro.",
  775. "expires": "Il codice è valido fino alle {time}.",
  776. "waiting": "In attesa di foto e documenti…",
  777. "received": "{count, plural, one {# file ricevuto} other {# file ricevuti}}",
  778. "copyLink": "Copia link",
  779. "linkCopied": "Link copiato",
  780. "failed": "Impossibile creare un codice. Riprova.",
  781. "done": "Fatto",
  782. "pageTitle": "Aggiungi foto e documenti",
  783. "forJob": "Ordine di lavoro {number}",
  784. "takePhoto": "Scatta foto",
  785. "choosePhotos": "Scegli foto",
  786. "hint": "Tutto arriva direttamente nell’ordine di lavoro. Scatta tutte le foto che servono.",
  787. "uploading": "Caricamento…",
  788. "added": "Aggiunta",
  789. "notAdded": "Non aggiunta",
  790. "retry": "Riprova",
  791. "addedCount": "{count, plural, one {# file aggiunto} other {# file aggiunti}}",
  792. "expiredTitle": "Questo codice è scaduto",
  793. "invalidTitle": "Questo link non funziona",
  794. "errors": {
  795. "expired": "Chiedi un nuovo codice al banco accettazione. Ognuno vale 30 minuti.",
  796. "invalid": "Inquadra di nuovo il codice sull'ordine di lavoro.",
  797. "limit": "Questo ordine di lavoro ha già tutte le foto che può contenere.",
  798. "type": "Qui si possono aggiungere solo foto e documenti PDF.",
  799. "tooLarge": "Il file è troppo grande.",
  800. "failed": "La foto non è stata aggiunta. Controlla la connessione e riprova.",
  801. "codeLimit": "Con questo codice sono già state aggiunte tutte le foto consentite. Inquadra un nuovo codice al banco accettazione."
  802. },
  803. "concernHeading": "Le foto vanno in questa segnalazione",
  804. "howTitle": "Come funziona",
  805. "step1": "Inquadra il codice con la fotocamera del telefono e apri il link.",
  806. "step2": "Scatta foto, o scegli foto o documenti PDF già presenti sul telefono.",
  807. "step3": "Compaiono in questo ordine di lavoro man mano che arrivano.",
  808. "noSignIn": "Sul telefono non serve accedere.",
  809. "customerToo": "Può usarlo il personale, e anche il cliente: fagli inquadrare il codice o mandagli il link.",
  810. "scope": "Il link aggiunge solo foto e documenti a questo ordine di lavoro e smette di funzionare dopo 30 minuti.",
  811. "scanHint": "Inquadra con la fotocamera del telefono",
  812. "chooseDocument": "Carica un documento",
  813. "privacy": "Solo l’officina vede ciò che aggiungi qui.",
  814. "dropoff": {
  815. "button": "Foto di accettazione",
  816. "dialogTitle": "Fotografa l’auto all’arrivo",
  817. "dialogBody": "Un giro intorno all’auto prima di iniziare: i quattro lati, il contachilometri e i danni già presenti. È la tua prova se un graffio viene contestato.",
  818. "step2": "Segui l’elenco sul telefono: una foto per lato, il contachilometri e gli eventuali danni.",
  819. "scope": "Il link aggiunge solo foto di accettazione a questo ordine di lavoro e smette di funzionare dopo 30 minuti.",
  820. "pageTitle": "L’auto all’arrivo",
  821. "pageBody": "Scatta ogni foto in ordine. Aggiungi un primo piano dei danni già presenti.",
  822. "retake": "Rifai",
  823. "slots": {
  824. "front": "Anteriore",
  825. "right": "Lato destro",
  826. "rear": "Posteriore",
  827. "left": "Lato sinistro",
  828. "odometer": "Contachilometri",
  829. "other": "Danno o altro"
  830. }
  831. }
  832. },
  833. "payCode": {
  834. "button": "Codice di pagamento",
  835. "title": "Paga con una scansione",
  836. "body": "Il cliente lo inquadra con la fotocamera del telefono, si apre la fattura e paga da lì.",
  837. "sharesInvoice": "Mostrare il codice condivide la fattura con il cliente, come inviarla. Da quel momento la fattura mantiene i dati che ha ora.",
  838. "show": "Mostra il codice",
  839. "failed": "Impossibile creare il codice. Riprova.",
  840. "toPay": "Da pagare",
  841. "scanHint": "Inquadra con la fotocamera del telefono",
  842. "copyLink": "Copia link",
  843. "linkCopied": "Link copiato",
  844. "waiting": "In attesa del pagamento. Si aggiorna da solo.",
  845. "paid": "Pagamento ricevuto",
  846. "paidBody": "Il pagamento è registrato sull’ordine di lavoro.",
  847. "done": "Fatto"
  848. },
  849. "customStatus": {
  850. "defaultMessage": "Ciao {customer_name}, un aggiornamento sulla tua {vehicle}: {status}. {company_name}"
  851. }
  852. }