quotes.json 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. {
  2. "list": {
  3. "statusAll": "Tous",
  4. "statusDraft": "Brouillon",
  5. "statusSent": "Envoyé",
  6. "statusAccepted": "Accepté",
  7. "statusRejected": "Rejeté",
  8. "statusConverted": "Converti",
  9. "searchPlaceholder": "Rechercher des devis...",
  10. "newQuote": "Nouveau devis",
  11. "columnQuoteNumber": "Devis N°",
  12. "columnTitle": "Titre",
  13. "columnCustomer": "Client",
  14. "columnVehicle": "Véhicule",
  15. "columnStatus": "Statut",
  16. "columnDate": "Date",
  17. "columnTotal": "Total",
  18. "noQuotes": "Aucun devis trouvé."
  19. },
  20. "page": {
  21. "quote": "Devis",
  22. "save": "Enregistrer",
  23. "pdf": "PDF",
  24. "email": "E-mail",
  25. "share": "Partager",
  26. "delete": "Supprimer",
  27. "deleteTitle": "Supprimer le devis",
  28. "deleteDescription": "Ce devis sera définitivement supprimé.",
  29. "saved": "Devis enregistré",
  30. "unsavedChanges": "Modifications non enregistrées",
  31. "saveFirst": "Veuillez d'abord enregistrer vos modifications",
  32. "failedSave": "Échec de l'enregistrement du devis",
  33. "failedDelete": "Échec de la suppression",
  34. "failedPdf": "Échec de la génération du PDF",
  35. "selectVehicle": "Veuillez sélectionner un véhicule",
  36. "convertTitle": "Convertir le devis en ordre de travail",
  37. "convertDescription": "Un nouveau dossier de service (ordre de travail) sera créé à partir de ce devis. Sélectionnez un véhicule pour l'ordre de travail.",
  38. "convert": "Convertir",
  39. "convertToWorkOrder": "Convertir en ordre de travail",
  40. "cancel": "Annuler",
  41. "failedConvert": "Échec de la conversion",
  42. "changesRequested": "Modifications demandées",
  43. "quoteAccepted": "Devis accepté",
  44. "markResolved": "Marquer comme résolu",
  45. "responseResolved": "Réponse du client résolue",
  46. "entityLabel": "Devis",
  47. "tabs": {
  48. "details": "Détails",
  49. "images": "Images",
  50. "documents": "Documents"
  51. }
  52. },
  53. "form": {
  54. "newQuote": "Nouveau devis",
  55. "editQuote": "Modifier le devis",
  56. "cancel": "Annuler",
  57. "createQuote": "Créer le devis",
  58. "updateQuote": "Mettre à jour le devis",
  59. "created": "Devis créé",
  60. "updated": "Devis mis à jour",
  61. "failedCreate": "Échec de la création du devis",
  62. "failedUpdate": "Échec de la mise à jour du devis"
  63. },
  64. "parts": {
  65. "title": "Pièces",
  66. "addPart": "Ajouter une pièce",
  67. "partNumber": "N° de pièce",
  68. "name": "Nom",
  69. "namePlaceholder": "Nom *",
  70. "qty": "Qté",
  71. "unitPrice": "Prix unitaire",
  72. "total": "Total",
  73. "subtotal": "Sous-total pièces : {amount}"
  74. },
  75. "labor": {
  76. "title": "Main-d'œuvre",
  77. "addLabor": "Ajouter de la main-d'œuvre",
  78. "description": "Description",
  79. "descriptionPlaceholder": "Description *",
  80. "hours": "Heures",
  81. "rate": "Tarif ({currency}/h)",
  82. "total": "Total",
  83. "subtotal": "Sous-total main-d'œuvre : {amount}"
  84. },
  85. "notes": {
  86. "title": "Notes",
  87. "public": "Publique",
  88. "internal": "Interne",
  89. "publicPlaceholder": "Description du devis affichée au client...",
  90. "internalPlaceholder": "Notes internes (non visibles par le client)...",
  91. "publicHelper": "Affiché sur le document du devis",
  92. "internalHelper": "Visible uniquement par votre équipe"
  93. },
  94. "sidebar": {
  95. "sharedLink": {
  96. "title": "Lien partagé",
  97. "sharedOn": "Partagé le {date}",
  98. "notViewed": "Pas encore consulté",
  99. "viewedTimes": "Consulté {count, plural, one {# fois} other {# fois}}",
  100. "lastViewed": "Dernier {date}",
  101. "copyLink": "Copier le lien",
  102. "linkCopied": "Lien copié"
  103. }
  104. },
  105. "details": {
  106. "title": "Détails du devis",
  107. "titleLabel": "Titre *",
  108. "titlePlaceholder": "Estimation de réparation de véhicule",
  109. "status": "Statut",
  110. "statusDraft": "Brouillon",
  111. "statusSent": "Envoyé",
  112. "statusAccepted": "Accepté",
  113. "statusRejected": "Rejeté",
  114. "validUntil": "Valide jusqu'au",
  115. "viewInspection": "Voir l'inspection liée",
  116. "vehicle": "Véhicule",
  117. "customer": "Client",
  118. "selectVehicle": "Sélectionner un véhicule...",
  119. "selectCustomer": "Sélectionner un client...",
  120. "none": "Aucun"
  121. },
  122. "totals": {
  123. "title": "Totaux",
  124. "parts": "Pièces",
  125. "labor": "Main-d'œuvre",
  126. "subtotal": "Sous-total",
  127. "discount": "Remise",
  128. "discountNone": "Aucune",
  129. "discountPercentage": "Pourcentage",
  130. "discountFixed": "Fixe",
  131. "tax": "Taxe",
  132. "total": "Total"
  133. },
  134. "shareDialog": {
  135. "title": "Partager le devis",
  136. "description": "Générez un lien public permettant à quiconque de consulter et télécharger ce devis sans se connecter.",
  137. "notifyTitle": "Notifier {name}",
  138. "email": "E-mail",
  139. "noEmail": "(aucun e-mail enregistré)",
  140. "sms": "SMS",
  141. "noPhone": "(aucun téléphone enregistré)",
  142. "sendNotification": "Envoyer la notification",
  143. "revokeLink": "Révoquer le lien",
  144. "generateLink": "Générer un lien public",
  145. "emailSent": "E-mail envoyé",
  146. "failedEmail": "Échec de l'envoi de l'e-mail",
  147. "smsSent": "SMS envoyé",
  148. "failedSms": "Échec de l'envoi du SMS"
  149. },
  150. "images": {
  151. "title": "Images du devis",
  152. "dropzone": "Déposez les images ici ou cliquez pour parcourir",
  153. "uploading": "Téléversement...",
  154. "formats": "JPG, PNG, WebP — 10 Mo max. chacune",
  155. "uploadingImages": "Téléversement des images...",
  156. "limitReached": "Limite d'images atteinte ({count}/{max})",
  157. "upgradePrompt": "Mettez à niveau votre plan pour téléverser plus d'images.",
  158. "onlyAllowed": "Seules les images JPG, PNG et WebP sont autorisées. {names} ignorées.",
  159. "onlyUploading": "Seules {count} image(s) seront téléversées pour respecter la limite.",
  160. "uploadingCount": "Téléversement de {count} image(s)...",
  161. "uploadedCount": "{count} image(s) téléversée(s)",
  162. "uploadFailed": "Échec du téléversement",
  163. "deleted": "Image supprimée",
  164. "failedDelete": "Échec de la suppression de l'image",
  165. "failedUpdate": "Échec de la mise à jour",
  166. "description": "Description...",
  167. "pdf": "PDF"
  168. },
  169. "documents": {
  170. "title": "Documents",
  171. "dropzone": "Déposez les fichiers ici ou cliquez pour parcourir",
  172. "uploading": "Téléversement...",
  173. "formats": "PDF, CSV, TXT — 10 Mo max. chacun",
  174. "uploadingDocuments": "Téléversement des documents...",
  175. "limitReached": "Limite de documents atteinte ({count}/{max})",
  176. "upgradePrompt": "Mettez à niveau votre plan pour téléverser davantage.",
  177. "onlyUploading": "Seuls {count} fichier(s) seront téléversés pour respecter la limite.",
  178. "uploadingCount": "Téléversement de {count} fichier(s)...",
  179. "uploadedCount": "{count} fichier(s) téléversé(s)",
  180. "uploadFailed": "Échec du téléversement",
  181. "deleted": "Fichier supprimé",
  182. "failedDelete": "Échec de la suppression du fichier",
  183. "failedUpdate": "Échec de la mise à jour",
  184. "pdf": "PDF"
  185. }
  186. }