quotes.json 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. {
  2. "list": {
  3. "statusAll": "Tutti",
  4. "statusDraft": "Bozza",
  5. "statusSent": "Inviato",
  6. "statusAccepted": "Accettato",
  7. "statusRejected": "Rifiutato",
  8. "statusConverted": "Convertito",
  9. "searchPlaceholder": "Cerca preventivi...",
  10. "newQuote": "Nuovo preventivo",
  11. "columnQuoteNumber": "Preventivo N.",
  12. "columnTitle": "Titolo",
  13. "columnCustomer": "Cliente",
  14. "columnVehicle": "Veicolo",
  15. "columnStatus": "Stato",
  16. "columnDate": "Data",
  17. "columnTotal": "Totale",
  18. "noQuotes": "Nessun preventivo trovato."
  19. },
  20. "page": {
  21. "quote": "Preventivo",
  22. "save": "Salva",
  23. "pdf": "PDF",
  24. "email": "E-mail",
  25. "share": "Condividi",
  26. "delete": "Elimina",
  27. "deleteTitle": "Elimina preventivo",
  28. "deleteDescription": "Questo preventivo verrà eliminato definitivamente.",
  29. "saved": "Preventivo salvato",
  30. "unsavedChanges": "Modifiche non salvate",
  31. "saveFirst": "Salva prima le modifiche",
  32. "failedSave": "Salvataggio del preventivo non riuscito",
  33. "failedDelete": "Eliminazione non riuscita",
  34. "failedPdf": "Generazione PDF non riuscita",
  35. "selectVehicle": "Seleziona un veicolo",
  36. "convertTitle": "Converti preventivo in ordine di lavoro",
  37. "convertDescription": "Verrà creato un nuovo record di servizio (ordine di lavoro) da questo preventivo. Seleziona un veicolo per l'ordine di lavoro.",
  38. "convert": "Converti",
  39. "convertToWorkOrder": "Converti in ordine di lavoro",
  40. "cancel": "Annulla",
  41. "failedConvert": "Conversione non riuscita",
  42. "changesRequested": "Modifiche richieste",
  43. "quoteAccepted": "Preventivo accettato",
  44. "markResolved": "Segna come risolto",
  45. "responseResolved": "Risposta del cliente risolta",
  46. "entityLabel": "Preventivo",
  47. "tabs": {
  48. "details": "Dettagli",
  49. "images": "Immagini",
  50. "documents": "Documenti"
  51. },
  52. "customFieldsInvalid": "Compila tutti i campi personalizzati obbligatori",
  53. "customFieldsSaveFailed": "Impossibile salvare i campi personalizzati"
  54. },
  55. "form": {
  56. "newQuote": "Nuovo preventivo",
  57. "editQuote": "Modifica preventivo",
  58. "cancel": "Annulla",
  59. "createQuote": "Crea preventivo",
  60. "updateQuote": "Aggiorna preventivo",
  61. "created": "Preventivo creato",
  62. "updated": "Preventivo aggiornato",
  63. "failedCreate": "Creazione del preventivo non riuscita",
  64. "failedUpdate": "Aggiornamento del preventivo non riuscito"
  65. },
  66. "parts": {
  67. "title": "Ricambi",
  68. "addPart": "Aggiungi ricambio",
  69. "partNumber": "N. ricambio",
  70. "name": "Nome",
  71. "namePlaceholder": "Nome *",
  72. "qty": "Qtà",
  73. "unitPrice": "Prezzo unitario",
  74. "total": "Totale",
  75. "subtotal": "Subtotale ricambi: {amount}",
  76. "deleteRow": "Delete row",
  77. "excludeFromTotal": "Exclude from total",
  78. "addFromInventory": "Dal magazzino",
  79. "unitCost": "Costo",
  80. "markupPercent": "Ricarico %",
  81. "nameMissingHint": "Le righe senza nome del ricambio non vengono salvate."
  82. },
  83. "labor": {
  84. "title": "Manodopera",
  85. "addLabor": "Aggiungi manodopera",
  86. "fromPresets": "Da modelli",
  87. "description": "Descrizione",
  88. "descriptionPlaceholder": "Descrizione *",
  89. "hours": "Ore",
  90. "rate": "Tariffa ({currency}/ora)",
  91. "total": "Totale",
  92. "subtotal": "Subtotale manodopera: {amount}",
  93. "addService": "Add Service",
  94. "qty": "Qty",
  95. "qtyOrHours": "Unit / Hours",
  96. "hourlyTag": "HR",
  97. "serviceTag": "SVC",
  98. "switchToHourly": "Switch to hourly pricing",
  99. "switchToService": "Switch to service pricing",
  100. "switchToHourlyHint": "A ore: calcolato sulle ore lavorate (ore × tariffa/h). Clicca per cambiare.",
  101. "switchToServiceHint": "Servizio: addebitato come importo fisso per unità. Clicca per cambiare.",
  102. "deleteRow": "Delete row",
  103. "excludeFromTotal": "Exclude from total"
  104. },
  105. "notes": {
  106. "title": "Note",
  107. "public": "Pubblica",
  108. "internal": "Interna",
  109. "publicPlaceholder": "Descrizione del preventivo mostrata al cliente...",
  110. "internalPlaceholder": "Note interne (non visibili al cliente)...",
  111. "publicHelper": "Mostrato sul documento del preventivo",
  112. "internalHelper": "Visibile solo al tuo team"
  113. },
  114. "sidebar": {
  115. "sharedLink": {
  116. "title": "Link condiviso",
  117. "sharedOn": "Condiviso il {date}",
  118. "notViewed": "Non ancora visualizzato",
  119. "viewedTimes": "Visualizzato {count, plural, one {# volta} other {# volte}}",
  120. "lastViewed": "Ultimo {date}",
  121. "copyLink": "Copia link",
  122. "linkCopied": "Link copiato"
  123. }
  124. },
  125. "details": {
  126. "title": "Dettagli del preventivo",
  127. "titleLabel": "Titolo *",
  128. "titlePlaceholder": "Stima riparazione veicolo",
  129. "status": "Stato",
  130. "statusDraft": "Bozza",
  131. "statusSent": "Inviato",
  132. "statusAccepted": "Accettato",
  133. "statusRejected": "Rifiutato",
  134. "validUntil": "Valido fino al",
  135. "viewInspection": "Visualizza ispezione collegata",
  136. "vehicle": "Veicolo",
  137. "customer": "Cliente",
  138. "selectVehicle": "Seleziona veicolo...",
  139. "selectCustomer": "Seleziona cliente...",
  140. "none": "Nessuno",
  141. "clearVehicle": "Clear vehicle",
  142. "clearCustomer": "Clear customer"
  143. },
  144. "totals": {
  145. "title": "Totali",
  146. "parts": "Ricambi",
  147. "labor": "Manodopera",
  148. "subtotal": "Subtotale",
  149. "subtotalInclTax": "Subtotale (IVA inclusa)",
  150. "discount": "Sconto",
  151. "discountNone": "Nessuno",
  152. "discountPercentage": "Percentuale",
  153. "discountFixed": "Fisso",
  154. "tax": "IVA",
  155. "taxIncluded": "IVA (incl.)",
  156. "total": "Totale",
  157. "inclusiveModeHint": "I prezzi delle righe sono inseriti con imposta inclusa. I totali mostrano la suddivisione netto + imposta."
  158. },
  159. "shareDialog": {
  160. "title": "Condividi preventivo",
  161. "description": "Genera un link pubblico che consente a chiunque di visualizzare e scaricare questo preventivo senza effettuare l'accesso.",
  162. "notifyTitle": "Notifica {name}",
  163. "email": "E-mail",
  164. "noEmail": "(nessuna e-mail registrata)",
  165. "sms": "SMS",
  166. "noPhone": "(nessun telefono registrato)",
  167. "sendNotification": "Invia notifica",
  168. "revokeLink": "Revoca link",
  169. "generateLink": "Genera link pubblico",
  170. "emailSent": "E-mail inviata",
  171. "failedEmail": "Invio e-mail non riuscito",
  172. "smsSent": "SMS inviato",
  173. "failedSms": "Invio SMS non riuscito",
  174. "copyLink": "Copy link"
  175. },
  176. "images": {
  177. "title": "Immagini del preventivo",
  178. "dropzone": "Trascina le immagini qui o clicca per sfogliare",
  179. "uploading": "Caricamento...",
  180. "formats": "JPG, PNG, WebP — max 10 MB ciascuna",
  181. "uploadingImages": "Caricamento immagini...",
  182. "limitReached": "Limite immagini raggiunto ({count}/{max})",
  183. "upgradePrompt": "Aggiorna il tuo piano per caricare più immagini.",
  184. "onlyAllowed": "Sono consentite solo immagini JPG, PNG e WebP. {names} ignorati.",
  185. "onlyUploading": "Verranno caricate solo {count} immagine/i per rispettare il limite.",
  186. "uploadingCount": "Caricamento di {count} immagine/i...",
  187. "uploadedCount": "{count} immagine/i caricata/e",
  188. "uploadFailed": "Caricamento non riuscito",
  189. "failedUploadFile": "Failed to upload {name}",
  190. "failedSaveFile": "Failed to save {name}",
  191. "deleted": "Immagine eliminata",
  192. "failedDelete": "Eliminazione immagine non riuscita",
  193. "failedUpdate": "Aggiornamento non riuscito",
  194. "description": "Descrizione...",
  195. "pdf": "PDF"
  196. },
  197. "documents": {
  198. "title": "Documenti",
  199. "dropzone": "Trascina i file qui o clicca per sfogliare",
  200. "uploading": "Caricamento...",
  201. "formats": "PDF, CSV, TXT — max 10 MB ciascuno",
  202. "uploadingDocuments": "Caricamento documenti...",
  203. "limitReached": "Limite documenti raggiunto ({count}/{max})",
  204. "upgradePrompt": "Aggiorna il tuo piano per caricare di più.",
  205. "onlyUploading": "Verranno caricati solo {count} file per rispettare il limite.",
  206. "uploadingCount": "Caricamento di {count} file...",
  207. "uploadedCount": "{count} file caricato/i",
  208. "uploadFailed": "Caricamento non riuscito",
  209. "failedUploadFile": "Failed to upload {name}",
  210. "failedSaveFile": "Failed to save {name}",
  211. "deleted": "File eliminato",
  212. "failedDelete": "Eliminazione file non riuscita",
  213. "failedUpdate": "Aggiornamento non riuscito",
  214. "pdf": "PDF"
  215. }
  216. }