inventory.json 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. {
  2. "searchPlaceholder": "Rechercher des pièces...",
  3. "categoryPlaceholder": "Catégorie",
  4. "allCategories": "Toutes les catégories",
  5. "applyMarkup": "Appliquer la marge",
  6. "addPart": "Ajouter une pièce",
  7. "table": {
  8. "partNumber": "N° pièce",
  9. "name": "Nom",
  10. "category": "Catégorie",
  11. "inStock": "En stock",
  12. "unitCost": "Coût unitaire",
  13. "sellPrice": "Prix de vente",
  14. "supplier": "Fournisseur",
  15. "location": "Emplacement",
  16. "low": "Bas",
  17. "barcode": "Code-barres"
  18. },
  19. "empty": {
  20. "noMatch": "Aucune pièce ne correspond à votre recherche.",
  21. "noParts": "Aucune pièce dans l'inventaire pour l'instant.",
  22. "noLowStock": "Rien n'est actuellement sous son seuil de réapprovisionnement.",
  23. "noReorderPoints": "Aucun seuil n'est défini, donc aucune pièce ne peut être considérée comme basse.",
  24. "configureReorderPoints": "Définir un seuil par défaut"
  25. },
  26. "actions": {
  27. "edit": "Modifier",
  28. "delete": "Supprimer",
  29. "details": "Détails et historique"
  30. },
  31. "deletePart": {
  32. "title": "Supprimer la pièce",
  33. "description": "Supprimer \"{name}\" de l'inventaire ? Cette action est irréversible.",
  34. "confirm": "Supprimer"
  35. },
  36. "bulkDelete": {
  37. "title": "Supprimer les pièces sélectionnées",
  38. "description": "Supprimer {count, plural, one {# pièce} other {# pièces}} de l'inventaire ? Cette action est irréversible.",
  39. "confirm": "Supprimer",
  40. "selected": "{count, plural, one {# pièce sélectionnée} other {# pièces sélectionnées}}",
  41. "clearSelection": "Effacer",
  42. "deleteSelected": "Supprimer ({count})",
  43. "success": "{count, plural, one {# pièce supprimée} other {# pièces supprimées}}"
  44. },
  45. "markup": {
  46. "title": "Appliquer la marge à toutes les pièces",
  47. "intro": "Définit le prix de vente des pièces à leur coût plus un pourcentage.",
  48. "percentLabel": "Marge %",
  49. "percentHint": "Saisissez 30 pour ajouter 30% au coût.",
  50. "percentInvalid": "La marge doit être supérieure à -100%.",
  51. "exampleTitle": "Exemple",
  52. "exampleMarkup": "Marge {percent}%",
  53. "cancel": "Annuler",
  54. "apply": "Appliquer",
  55. "overrideExisting": "Remplacer les prix de vente existants",
  56. "overrideExistingHint": "Toutes les pièces seront mises à jour, y compris celles ayant déjà un prix de vente.",
  57. "skipExistingHint": "Seules les pièces sans prix de vente seront mises à jour.",
  58. "newPartsNote": "Pour les nouvelles pièces, {sellPrice} est rempli avec cette marge dès la saisie de {unitCost}.",
  59. "settingsNote": "{setting} dans {settings} > {workshop} est un réglage distinct, appliqué quand les pièces sont ajoutées à une intervention."
  60. },
  61. "errors": {
  62. "deleteFailed": "Impossible de supprimer la pièce",
  63. "applyFailed": "Impossible d'appliquer la marge",
  64. "saveFailed": "Impossible d'enregistrer la pièce",
  65. "error": "Erreur"
  66. },
  67. "scanBarcode": "Scanner",
  68. "barcodeScan": {
  69. "title": "Pièce scannée",
  70. "notFound": "Aucune pièce trouvée pour le code-barres \"{barcode}\"",
  71. "createNew": "Créer une nouvelle pièce",
  72. "addStock": "Ajouter au stock",
  73. "editPart": "Modifier la pièce",
  74. "currentStock": "Stock actuel : {quantity}",
  75. "addedStock": "{amount} ajoutés au stock",
  76. "customAmount": "Qté...",
  77. "scanParts": "Scanner des pièces"
  78. },
  79. "form": {
  80. "editPart": "Modifier la pièce",
  81. "addNewPart": "Ajouter une nouvelle pièce",
  82. "supplierLink": "Lien fournisseur",
  83. "supplierLinkPlaceholder": "https://fournisseur.com/produit/...",
  84. "supplierLinkInvalid": "Le lien fournisseur n'est pas une adresse web. Corrigez-le, ou videz le champ pour enregistrer sans lien.",
  85. "fetch": "Récupérer",
  86. "fetchBlocked": "Le site de ce fournisseur bloque la recherche automatique. Remplissez les champs vous-même. La pièce et le lien peuvent quand même être enregistrés.",
  87. "fetchTimedOut": "Le site du fournisseur a mis trop de temps à répondre. Réessayez ou remplissez les champs vous-même. La pièce et le lien peuvent quand même être enregistrés.",
  88. "fetchUnreadable": "Impossible de lire les informations de la pièce à partir de ce lien. Remplissez les champs vous-même. La pièce et le lien peuvent quand même être enregistrés.",
  89. "image": "Image",
  90. "dropOrClick": "Déposez une image ou cliquez",
  91. "replace": "Remplacer",
  92. "upload": "Télécharger",
  93. "camera": "Caméra",
  94. "aiAnalyze": "IA Auto-remplir",
  95. "aiAnalyzing": "Analyse de l'image...",
  96. "aiAnalyzeSuccess": "Champs remplis depuis l'image",
  97. "aiAnalyzeFailed": "Impossible d'analyser l'image",
  98. "imageUploading": "Téléchargement de l'image...",
  99. "imageUploaded": "Image téléchargée",
  100. "imageUploadFailed": "Impossible de télécharger l'image",
  101. "imageTypeError": "Seules les images JPEG, PNG, WebP et AVIF sont autorisées",
  102. "imageSizeError": "L'image doit faire moins de 5 Mo",
  103. "partNumber": "Numéro de pièce",
  104. "partNumberPlaceholder": "BRK-001",
  105. "barcode": "Code-barres",
  106. "barcodePlaceholder": "123456789012",
  107. "nameLabel": "Nom *",
  108. "namePlaceholder": "Jeu de plaquettes de frein",
  109. "category": "Catégorie",
  110. "categoryPlaceholder": "Sélectionner une catégorie...",
  111. "categorySearch": "Rechercher ou créer...",
  112. "categoryCreate": "Créer \"{name}\"",
  113. "categoryNone": "Aucune catégorie",
  114. "location": "Emplacement",
  115. "locationPlaceholder": "Étagère A-3",
  116. "quantity": "Quantité",
  117. "minQty": "Qté min.",
  118. "unit": "Unité",
  119. "unitPlaceholder": "pcs, l, kg...",
  120. "unitSuggestions": "pcs,jeu",
  121. "unitSearch": "Rechercher ou saisir...",
  122. "unitCreate": "Utiliser \"{name}\"",
  123. "unitGroupCount": "Comptage",
  124. "unitGroupMetric": "Métrique",
  125. "unitGroupImperial": "Impérial",
  126. "unitCost": "Coût unitaire",
  127. "sellPrice": "Prix de vente",
  128. "sellPriceMarkupHint": "{sellPrice} est rempli avec {unitCost} + {percent}%. Saisissez un prix pour fixer le vôtre. Pour changer le pourcentage, utilisez {applyMarkup} sur la page {inventory}.",
  129. "supplier": "Fournisseur",
  130. "supplierPlaceholder": "AutoParts SARL",
  131. "supplierPhone": "Téléphone fournisseur",
  132. "supplierPhonePlaceholder": "(555) 123-4567",
  133. "supplierEmail": "E-mail fournisseur",
  134. "supplierEmailPlaceholder": "orders@autoparts.com",
  135. "description": "Description",
  136. "descriptionPlaceholder": "Description de la pièce...",
  137. "cancel": "Annuler",
  138. "saveChanges": "Enregistrer les modifications",
  139. "addPart": "Ajouter une pièce",
  140. "tags": "Étiquettes",
  141. "tagsPlaceholder": "Marques, modèles ou tout ce qui aide à la retrouver",
  142. "tagsHint": "Appuyez sur Entrée ou une virgule après chaque étiquette. Sur une intervention, les pièces étiquetées avec la marque ou le modèle du véhicule apparaissent en premier.",
  143. "tagsHintMarine": "Appuyez sur Entrée ou une virgule après chaque étiquette. Sur une intervention, les pièces étiquetées avec la marque ou le modèle du bateau apparaissent en premier.",
  144. "removeTag": "Retirer {tag}",
  145. "tagTooLong": "Une étiquette peut contenir au plus {max} caractères. Raccourcissez-la avant d'enregistrer."
  146. },
  147. "openMenu": "Ouvrir le menu",
  148. "history": {
  149. "title": "Historique du stock",
  150. "description": "Toutes les modifications enregistrées de {name}, les plus récentes d'abord.",
  151. "empty": "Aucun mouvement de stock enregistré.",
  152. "when": "Date",
  153. "change": "Variation",
  154. "balance": "Solde",
  155. "usedOn": "Utilisé sur",
  156. "by": "Par",
  157. "reasons": {
  158. "service_record": "Ordre de travail",
  159. "service_record_deleted": "Ordre supprimé",
  160. "quote_conversion": "Devis converti",
  161. "manual_adjustment": "Ajustement manuel",
  162. "bulk_markup": "Marge en masse"
  163. },
  164. "backToInventory": "Inventaire",
  165. "reason": "Motif",
  166. "allReasons": "Tous les motifs"
  167. },
  168. "suggestions": {
  169. "title": "Depuis votre stock",
  170. "inStock": "{quantity} en stock",
  171. "outOfStock": "En rupture de stock",
  172. "onBackorder": "En réapprovisionnement ({count})"
  173. },
  174. "tags": {
  175. "filterPlaceholder": "Étiquette",
  176. "all": "Toutes les étiquettes",
  177. "filterBy": "Afficher les pièces étiquetées {tag}",
  178. "more": "+{count} de plus"
  179. }
  180. }