{ "searchPlaceholder": "Rechercher des pièces...", "categoryPlaceholder": "Catégorie", "allCategories": "Toutes les catégories", "applyMarkup": "Appliquer la marge", "addPart": "Ajouter une pièce", "table": { "partNumber": "N° pièce", "name": "Nom", "category": "Catégorie", "inStock": "En stock", "unitCost": "Coût unitaire", "sellPrice": "Prix de vente", "supplier": "Fournisseur", "location": "Emplacement", "low": "Bas", "barcode": "Code-barres" }, "empty": { "noMatch": "Aucune pièce ne correspond à votre recherche.", "noParts": "Aucune pièce dans l'inventaire pour l'instant.", "noLowStock": "Rien n'est actuellement sous son seuil de réapprovisionnement.", "noReorderPoints": "Aucun seuil n'est défini, donc aucune pièce ne peut être considérée comme basse.", "configureReorderPoints": "Définir un seuil par défaut" }, "actions": { "edit": "Modifier", "delete": "Supprimer", "details": "Détails et historique" }, "deletePart": { "title": "Supprimer la pièce", "description": "Supprimer \"{name}\" de l'inventaire ? Cette action est irréversible.", "confirm": "Supprimer" }, "bulkDelete": { "title": "Supprimer les pièces sélectionnées", "description": "Supprimer {count, plural, one {# pièce} other {# pièces}} de l'inventaire ? Cette action est irréversible.", "confirm": "Supprimer", "selected": "{count, plural, one {# pièce sélectionnée} other {# pièces sélectionnées}}", "clearSelection": "Effacer", "deleteSelected": "Supprimer ({count})", "success": "{count, plural, one {# pièce supprimée} other {# pièces supprimées}}" }, "markup": { "title": "Appliquer la marge à toutes les pièces", "multiplierLabel": "Multiplicateur de marge", "description": "Le prix de vente sera défini à coût x {multiplier} pour les {count} pièces.", "percentage": "({percent}% de marge)", "cancel": "Annuler", "apply": "Appliquer", "overrideExisting": "Remplacer les prix de vente existants", "overrideExistingHint": "Toutes les pièces seront mises à jour, y compris celles ayant déjà un prix de vente.", "skipExistingHint": "Seules les pièces sans prix de vente seront mises à jour." }, "errors": { "multiplierPositive": "Le multiplicateur doit être supérieur à 0", "deleteFailed": "Impossible de supprimer la pièce", "applyFailed": "Impossible d'appliquer la marge", "saveFailed": "Impossible d'enregistrer la pièce", "error": "Erreur" }, "scanBarcode": "Scanner", "barcodeScan": { "title": "Pièce scannée", "notFound": "Aucune pièce trouvée pour le code-barres \"{barcode}\"", "createNew": "Créer une nouvelle pièce", "addStock": "Ajouter au stock", "editPart": "Modifier la pièce", "currentStock": "Stock actuel : {quantity}", "addedStock": "{amount} ajoutés au stock", "customAmount": "Qté...", "scanParts": "Scanner des pièces" }, "form": { "editPart": "Modifier la pièce", "addNewPart": "Ajouter une nouvelle pièce", "supplierLink": "Lien fournisseur", "supplierLinkPlaceholder": "https://fournisseur.com/produit/...", "fetch": "Récupérer", "fetchFailed": "Échec de la récupération", "fetchError": "Impossible de récupérer les métadonnées de l'URL", "image": "Image", "dropOrClick": "Déposez une image ou cliquez", "replace": "Remplacer", "upload": "Télécharger", "camera": "Caméra", "aiAnalyze": "IA Auto-remplir", "aiAnalyzing": "Analyse de l'image...", "aiAnalyzeSuccess": "Champs remplis depuis l'image", "aiAnalyzeFailed": "Impossible d'analyser l'image", "imageUploading": "Téléchargement de l'image...", "imageUploaded": "Image téléchargée", "imageUploadFailed": "Impossible de télécharger l'image", "imageTypeError": "Seules les images JPEG, PNG, WebP et AVIF sont autorisées", "imageSizeError": "L'image doit faire moins de 5 Mo", "partNumber": "Numéro de pièce", "partNumberPlaceholder": "BRK-001", "barcode": "Code-barres", "barcodePlaceholder": "123456789012", "nameLabel": "Nom *", "namePlaceholder": "Jeu de plaquettes de frein", "category": "Catégorie", "categoryPlaceholder": "Sélectionner une catégorie...", "categorySearch": "Rechercher ou créer...", "categoryCreate": "Créer \"{name}\"", "categoryNone": "Aucune catégorie", "location": "Emplacement", "locationPlaceholder": "Étagère A-3", "quantity": "Quantité", "minQty": "Qté min.", "unit": "Unité", "unitPlaceholder": "pcs, l, kg...", "unitSuggestions": "pcs,jeu", "unitSearch": "Rechercher ou saisir...", "unitCreate": "Utiliser \"{name}\"", "unitGroupCount": "Comptage", "unitGroupMetric": "Métrique", "unitGroupImperial": "Impérial", "unitCost": "Coût unitaire", "sellPrice": "Prix de vente", "supplier": "Fournisseur", "supplierPlaceholder": "AutoParts SARL", "supplierPhone": "Téléphone fournisseur", "supplierPhonePlaceholder": "(555) 123-4567", "supplierEmail": "E-mail fournisseur", "supplierEmailPlaceholder": "orders@autoparts.com", "description": "Description", "descriptionPlaceholder": "Description de la pièce...", "cancel": "Annuler", "saveChanges": "Enregistrer les modifications", "addPart": "Ajouter une pièce" }, "openMenu": "Ouvrir le menu", "history": { "title": "Historique du stock", "description": "Toutes les modifications enregistrées de {name}, les plus récentes d'abord.", "empty": "Aucun mouvement de stock enregistré.", "when": "Date", "change": "Variation", "balance": "Solde", "usedOn": "Utilisé sur", "by": "Par", "reasons": { "service_record": "Ordre de travail", "service_record_deleted": "Ordre supprimé", "quote_conversion": "Devis converti", "manual_adjustment": "Ajustement manuel", "bulk_markup": "Marge en masse" }, "backToInventory": "Inventaire", "reason": "Motif", "allReasons": "Tous les motifs" }, "suggestions": { "title": "Depuis votre stock", "inStock": "{quantity} en stock", "outOfStock": "En rupture de stock", "onBackorder": "En réapprovisionnement ({count})" } }