{ "common": { "actions": { "back": "Dos", "cancel": "Annuler", "close": "Fermer", "create": "Créer", "delete": "Supprimer", "discard": "Jeter", "edit": "Modifier", "refresh": "Rafraîchir", "remove": "Retirer", "retry": "Réessayer", "save": "Sauvegarder", "saveChanges": "Enregistrer les modifications", "saveChangesDirty": "Enregistrer les modifications *", "saving": "Économie...", "view": "Voir", "openMenu": "Ouvrir le menu" }, "alerts": { "saveSuccess": "Modifications enregistrées avec succès.", "systemManagedDefault": "Il s'agit d'un contrat par défaut géré par le système." }, "empty": { "none": "Aucun", "notAvailable": "N / A", "notSpecified": "Non spécifié", "ongoing": "En cours" }, "errors": { "failedToLoad": "Échec du chargement des données.", "failedToSave": "Échec de l'enregistrement des modifications.", "validationPrefix": "Veuillez corriger les éléments suivants :" }, "labels": { "created": "Créé", "currency": "Devise", "description": "Description", "lastUpdated": "Dernière mise à jour", "name": "Nom", "no": "Non", "status": "Statut", "yes": "Oui" }, "tabs": { "clientContracts": "Contrats clients", "drafts": "Brouillons", "templates": "Modèles" }, "moneyPlaceholder": "—", "notAvailable": "-" }, "status": { "active": "Actif", "draft": "Brouillon", "expired": "Expiré", "terminated": "Terminé" }, "renewal": { "labels": { "decisionDue": "Décision due", "mode": "Mode de renouvellement", "noticeDays": "Période de préavis", "source": "Source de renouvellement", "termMonths": "Durée de renouvellement" }, "modes": { "auto": "Renouvellement automatique", "manual": "Renouvellement manuel", "none": "Non renouvelable" }, "source": { "contract": "Contracter", "tenantDefault": "Défaut du locataire" } }, "billing": { "cadenceOwner": { "client": "Calendrier des clients", "contract": "Anniversaire du contrat" }, "frequency": { "annually": "Annuellement", "biweekly": "Bihebdomadaire", "monthly": "Mensuel", "quarterly": "Trimestriel", "weekly": "Hebdomadaire" }, "labels": { "billingFrequency": "Fréquence de facturation", "timing": "Calendrier de facturation", "cadenceOwner": "Propriétaire de la cadence" }, "timing": { "advance": "À l'avance", "arrears": "En retard" } }, "po": { "labels": { "amount": "Montant du bon de commande", "number": "Numéro de bon de commande", "required": "Bon de commande requis" } }, "contractDetail": { "alerts": { "saveSuccess": "Contrat enregistré avec succès !", "unsavedChanges": "Vous avez des modifications non enregistrées. Cliquez sur « Enregistrer les modifications » pour les appliquer." }, "cards": { "assignment": "Affectation des clients", "clientOwnership": "Propriété des clients", "contractDetails": "Détails du contrat", "header": "En-tête du contrat", "quickActions": "Actions rapides", "renewalHandling": "Gestion des renouvellements" }, "clientAssignment": { "clientContractId": "ID du contrat client : {{id}}", "empty": "Ce contrat n'est pas encore affecté à un client.", "endDate": "Date de fin", "endDateLabel": "Date de fin d'affectation", "loadingStatuses": "Chargement des statuts...", "notRequired": "Non requis", "noticePeriodDays": "Période de préavis (jours)", "noticePeriodPlaceholder": "p. ex. 30", "noticePrefix": "Préavis :", "renewalHandling": "Gestion du renouvellement", "renewalTermMonths": "Durée de renouvellement (mois)", "renewalTermPlaceholder": "p. ex. 12", "renewalTicketBoard": "Tableau de tickets de renouvellement", "renewalTicketStatus": "Statut du ticket de renouvellement", "required": "Requis", "selectBoard": "Sélectionnez un tableau", "selectBoardFirst": "Sélectionnez d'abord un tableau", "selectRenewalMode": "Sélectionnez le mode de renouvellement", "selectStartDate": "Sélectionnez la date de début", "selectStatus": "Sélectionnez un statut", "startDate": "Date de début", "startDateLabel": "Date de début d'affectation", "startDateLocked": "La date de début ne peut pas être modifiée pour les contrats actifs", "title": "Affectation client", "useTenantRenewalDefaults": "Utiliser les valeurs par défaut de renouvellement du locataire", "usingCustomSettings": "Utilisation de paramètres d'affectation personnalisés", "usingTenantDefaults": "Utilisation des valeurs par défaut du locataire" }, "clientOwnership": { "assignmentStatus": "Statut d'affectation", "clientName": "Nom du client", "endDate": "Date de fin", "ownerClient": "Client propriétaire", "required": "Requis", "startDate": "Date de début", "systemManaged": "La propriété est gérée par le système pour ce contrat par défaut.", "title": "Propriété du client" }, "detailsCard": { "actions": { "cancelDescription": "Annuler les modifications de la description", "cancelName": "Annuler le nom du contrat", "editDescription": "Modifier la description du contrat", "editName": "Modifier le nom du contrat", "saveDescription": "Enregistrer la description", "saveName": "Enregistrer le nom du contrat" }, "contractNameLabel": "Nom du contrat *", "contractNamePlaceholder": "Saisissez le nom du contrat", "descriptionLabel": "Description", "descriptionPlaceholder": "Saisissez la description du contrat", "title": "Détails du contrat" }, "headerCard": { "assignmentLifecycleHint": "Le statut client en direct est contrôlé par le cycle de vie d'affectation ci-dessous.", "assignmentStatus": "Statut d'affectation", "billingFrequencyLabel": "Fréquence de facturation *", "billingFrequencyPlaceholder": "Sélectionnez la fréquence de facturation", "customSettings": "Paramètres personnalisés", "expiredStatusNote": "Les contrats expirés ne peuvent pas être changés vers un autre statut", "notice": "Préavis", "noticeDay": "{{count}} jour", "noticeDays": "{{count}} jours", "ongoingNoEndDate": "En cours (pas de date de fin)", "renewalHeading": "Renouvellement", "tenantDefaults": "Valeurs par défaut du locataire", "title": "En-tête du contrat" }, "dialogs": { "delete": { "cancel": "Annuler", "confirm": "Supprimer le contrat", "deleting": "Suppression…", "description": "Êtes-vous sûr de vouloir supprimer ce contrat ? Cette action ne peut pas être annulée.", "message": "Voulez-vous vraiment supprimer ce contrat ? Cette action est irréversible et supprimera toutes les données associées.", "title": "Supprimer le contrat" }, "discard": { "cancel": "Continuer la modification", "confirm": "Ignorer les modifications", "description": "Supprimer vos modifications non enregistrées ?", "message": "Voulez-vous vraiment ignorer toutes les modifications ? Les modifications non enregistrées seront perdues.", "title": "Ignorer les modifications" }, "leave": { "confirm": "Quitter la page", "description": "Vous avez des modifications non enregistrées. Quitter cette page sans enregistrer ?", "title": "Modifications non enregistrées" }, "unsaved": { "cancel": "Rester sur la page", "confirm": "Quitter la page", "message": "Vous avez des modifications non enregistrées. Voulez-vous vraiment quitter cette page ? Toutes les modifications seront perdues.", "title": "Modifications non enregistrées" } }, "invoices": { "columns": { "amount": "Montant", "createdAt": "Créé", "dueDate": "Date d'échéance", "invoiceDate": "Date de la facture", "invoiceNumber": "Facture #", "preview": "Aperçu", "status": "Statut" }, "empty": "Aucune facture trouvée pour ce contrat.", "loading": "Chargement des factures...", "noTemplatesAvailable": "Aucun modèle de facture n'est disponible pour l'aperçu.", "preview": "Aperçu", "selectForPreview": "Sélectionnez une facture pour ouvrir un aperçu complet dans le panneau.", "title": "Factures contractuelles" }, "labels": { "client": "Client", "contractName": "Nom du contrat", "description": "Description", "noClientAssigned": "Aucun client attribué", "noDescription": "Pas de description", "systemManagedDefault": "Valeur par défaut gérée par le système", "useTenantDefaults": "Utiliser les valeurs par défaut du locataire" }, "quickActions": { "deleteContract": "Supprimer le contrat", "manageContractLines": "Gérer les lignes de contrat", "managePricingSchedules": "Gérer les barèmes de prix", "title": "Actions rapides", "viewDocuments": "Afficher les documents", "viewInvoices": "Afficher les factures" }, "systemManaged": { "attributionOnly": "Ce contrat est à attribution uniquement et ne contrôle pas le comportement de facturation récurrente.", "configureCustom": "Pour configurer un comportement de facturation personnalisé, créez ou modifiez un contrat normal créé par l'utilisateur.", "createdAutomatically": "Créé automatiquement pour le travail hors contrat.", "title": "Contrat par défaut géré par le système" }, "tabs": { "documents": "Documents", "invoices": "Factures", "lines": "Lignes de contrat", "overview": "Aperçu", "pricing": "Barèmes de prix" }, "validation": { "billingFrequencyRequired": "La fréquence de facturation est requise.", "billingFrequency": "Fréquence de facturation", "contractName": "Nom du contrat", "contractNameRequired": "Le nom du contrat est requis.", "failedToUpdate": "Échec de la mise à jour du contrat", "fixErrors": "Veuillez corriger les erreurs suivantes :" }, "documents": { "loading": "Chargement des documents..." } }, "contractHeader": { "badges": { "clientOwned": "Propriété du client", "template": "Modèle" }, "labels": { "billingFrequency": "Fréquence de facturation", "contractLines": "Lignes de contrat", "currency": "Devise", "endDate": "Date de fin", "lastUpdated": "Dernière mise à jour", "startDate": "Date de début" }, "po": { "prefix": "BC", "requiredForContract": "Bon de commande requis pour ce contrat." }, "status": { "active": "Actif", "draft": "Brouillon", "expired": "Expiré", "terminated": "Résilié" }, "values": { "ongoing": "En cours" } }, "contractOverview": { "errors": { "failedToLoadOverview": "Échec du chargement de l'aperçu" }, "frequency": { "annually": "Annuellement", "biweekly": "Bihebdomadaire", "semi_annually": "Semestriellement", "weekly": "Hebdomadaire" }, "lines": { "addContractLines": "Ajouter des lignes de contrat", "collapseAll": "Tout replier", "expandAll": "Tout déplier", "includedServices": "Services inclus", "noContractLinesDescription": "Ajoutez des lignes de contrat pour définir ce qui est inclus dans ce contrat", "noContractLinesYet": "Aucune ligne de contrat pour le moment", "noServicesConfigured": "Aucun service configuré", "serviceCountOne": "{{count}} service", "serviceCountOther": "{{count}} services" }, "stats": { "contractLines": "Lignes de contrat", "estimatedMonthlyValue": "Valeur mensuelle estimée", "totalServices": "Total des services", "variable": "Variable", "variableSuffix": "+ variable (horaire/à l'usage)", "viewDetails": "Voir les détails" }, "title": "Ce qui est inclus" }, "contractDialog": { "actions": { "createContract": "Créer un contrat", "saveAsDraft": "Enregistrer en brouillon", "updateContract": "Mettre à jour le contrat" }, "documents": { "loading": "Chargement des documents..." }, "form": { "billingFrequencyLabel": "Fréquence de facturation *", "billingFrequencyPlaceholder": "Sélectionnez la fréquence de facturation", "clientLabel": "Client *", "clientPlaceholder": "Sélectionnez un client", "contractNameLabel": "Nom du contrat *", "contractNamePlaceholder": "par ex., Services MSP standard", "currencyHint": "La devise est basée sur le paramètre de devise par défaut du client.", "descriptionLabel": "Description (facultatif)", "descriptionPlaceholder": "Ajoutez toute note supplémentaire concernant ce contrat...", "endDateHint": "Laisser vide pour les contrats en cours qui n'ont pas de date de fin fixe.", "endDateLabel": "Date de fin (facultatif)", "noticePeriodLabel": "Période de préavis (jours)", "noticePeriodPlaceholder": "p. ex. 30", "renewalModePlaceholder": "Sélectionnez le mode de renouvellement", "renewalSettingsDescription": "Configurez le comportement de renouvellement pour cette affectation de contrat client.", "renewalSettingsTitle": "Paramètres de renouvellement", "renewalTermLabel": "Durée de renouvellement (mois)", "renewalTermPlaceholder": "p. ex. 12", "selectClientFirst": "Sélectionnez d'abord un client", "startDateLabel": "Date de début *", "useTenantDefaultsDescription": "Appliquer les paramètres de mode de renouvellement et de période de préavis au niveau de l'organisation.", "useTenantDefaultsLabel": "Utiliser les valeurs par défaut de renouvellement du locataire" }, "po": { "amountLabel": "Montant du bon de commande (facultatif)", "amountPlaceholder": "0.00", "comingSoon": "Intégration de la facturation bientôt disponible. Les paramètres seront enregistrés, mais l'application du bon de commande ne sera active que dans une prochaine version.", "noteLabel": "Note :", "numberLabel": "Numéro de bon de commande *", "numberPlaceholder": "par ex., PO-2024-12345", "requirePurchaseOrder": "Exiger un bon de commande", "requirePurchaseOrderTooltip": "Si activé, les factures ne peuvent pas être générées pour ce contrat sans fourniture d'un numéro de bon de commande." }, "presetDetails": { "defaultBaseRate": "Tarif de base par défaut :", "defaultRatePlaceholder": "Par défaut : ${{rate}}", "defaultRateValue": "Par défaut : ${{rate}}", "enterBaseRate": "Saisissez le tarif de base", "fixedRateConfiguration": "Configuration à tarif fixe", "fixedServicesReferenceHelp": "Ces services sont inclus à titre de référence uniquement. Le tarif fixe ci-dessus détermine le montant de la facturation.", "hourlyRate": "Tarif horaire", "leaveBlankDefaultRate": "Laisser vide pour utiliser le tarif par défaut", "minimumBillableMinutes": "Minutes minimum facturables", "noServicesConfigured": "Aucun service configuré pour ce préréglage", "notSet": "Non défini", "overrideBaseRate": "Remplacer le tarif de base", "quantity": "Quantité", "quantityShort": "Qté : {{quantity}}", "ratePerUnit": "Tarif (par unité)", "roundUpToNearestMinutes": "Arrondir au plus proche (minutes)", "servicesConfiguration": "Configuration des services", "servicesHourlyRates": "Services & tarifs horaires", "servicesIncludedReference": "Services inclus (référence)", "timeBillingConfiguration": "Configuration de la facturation au temps", "unitOfMeasure": "Unité de mesure", "unitOfMeasureHint": "par ex., Go, appel API, utilisateur" }, "presets": { "allTypes": "Tous les types", "empty": "Aucun préréglage de ligne de contrat disponible. Vous pouvez en ajouter plus tard.", "heading": "Préréglages de ligne de contrat (facultatif)", "headingTooltip": "Sélectionnez les préréglages de ligne de contrat à copier dans ce contrat. Vous pouvez en ajouter d'autres plus tard.", "loading": "Chargement des préréglages de ligne de contrat...", "noMatches": "Aucun préréglage de ligne de contrat ne correspond à votre recherche.", "resetFilters": "Réinitialiser", "searchPlaceholder": "Rechercher des préréglages de ligne de contrat...", "selectedPlural": "{{count}} préréglages de ligne de contrat sélectionnés", "selectedSingle": "{{count}} préréglage de ligne de contrat sélectionné", "serviceCountPlural": "{{count}} services", "serviceCountSingle": "{{count}} service", "typePlaceholder": "Sélectionnez un type" }, "title": { "create": "Créer un contrat", "edit": "Modifier le contrat" }, "validation": { "billingFrequency": "Fréquence de facturation", "client": "Client", "contractName": "Nom du contrat", "failedToSave": "Échec de l'enregistrement du contrat", "noticePeriodInvalid": "Les jours de période de préavis doivent être un nombre entier non négatif", "poNumberRequired": "Numéro de bon de commande (requis lorsque le bon de commande est activé)", "renewalTermInvalid": "Les mois de durée de renouvellement doivent être un nombre entier positif pour les contrats à renouvellement automatique", "requiredFields": "Veuillez renseigner les champs obligatoires :", "startDate": "Date de début" } }, "contractForm": { "actions": { "saveChanges": "Enregistrer les modifications", "saving": "Enregistrement..." }, "errors": { "failedToUpdateContract": "Échec de la mise à jour du contrat" }, "fields": { "billingFrequency": "Fréquence de facturation", "billingFrequencyPlaceholder": "Sélectionnez la fréquence de facturation", "contractName": "Nom du contrat", "contractNamePlaceholder": "Saisissez le nom du contrat", "currency": "Devise", "currencyPlaceholder": "Sélectionnez une devise", "description": "Description", "descriptionPlaceholder": "Saisissez la description du contrat", "status": "Statut" }, "heading": "Détails du contrat", "status": { "active": "Actif", "draft": "Brouillon", "expired": "Expiré", "expiredHelper": "Les contrats expirés ne peuvent pas être changés vers un autre statut", "terminated": "Résilié" }, "validation": { "billingFrequency": "Fréquence de facturation", "contractName": "Nom du contrat", "requiredFields": "Veuillez renseigner les champs obligatoires :" } }, "contractLines": { "actions": { "addFromPresets": "Ajouter à partir des préréglages", "collapseLine": "Replier la ligne de contrat", "createCustom": "Créer personnalisé", "expandLine": "Déplier la ligne de contrat" }, "bucket": { "billingPeriod": "Période de facturation : {{period}}", "defaultUnit": "unité", "defaultUnits": "unités", "enableTracking": "Activer le suivi d'utilisation de la banque", "hour": "heure", "hoursValue": "{{hours}} heures", "included": "Inclus : {{value}}", "overageRate": "Tarif de dépassement : {{rate}} par {{unit}}", "rolloverEnabled": "Report : activé", "title": "Configuration de la banque", "unitsValue": "{{count}} {{units}}" }, "columns": { "actions": "Actions", "frequency": "Fréquence", "name": "Nom", "rate": "Tarif", "services": "Services", "type": "Type" }, "configuration": { "description": "Paramètres qui s'appliquent à cette ligne de contrat", "fixedInfo": "Les lignes de contrat fixes facturent des frais récurrents fixes, indépendamment des tarifs de chaque service.", "fixedInfoDetails": "Pour les lignes à frais fixes, le tarif et la quantité du service ne sont utilisés qu'à des fins d'allocation fiscale. Ils déterminent comment les frais fixes sont répartis proportionnellement entre les services pour les calculs de taxes. Le montant réellement facturé est le tarif de base de la ligne de contrat indiqué ci-dessus.", "fixedInfoHeading": "À propos des tarifs de service ci-dessous :", "minimumBillableTime": "Temps minimum facturable (minutes)", "minutesValue": "{{count}} minutes", "roundUpToNearest": "Arrondir au plus proche (minutes)", "title": "Configuration de la ligne de contrat", "usageInfo": "Les lignes de contrat à l'usage sont configurées par service avec des tarifs unitaires." }, "customRate": "Personnalisé", "description": { "default": "Gérer les lignes de contrat et les services de ce contrat", "readOnly": "Ce contrat par défaut géré par le système est à attribution uniquement. La création de lignes de contrat est désactivée." }, "dialogs": { "confirmRemove": "Retirer la ligne de contrat « {{name}} » ?" }, "empty": { "noneAdded": "Aucune ligne de contrat ajoutée pour le moment.", "selectAbove": "Sélectionnez une ligne de contrat ci-dessus pour commencer." }, "errors": { "cannotEditWithInvoices": "Impossible de modifier la ligne de contrat : ce contrat comporte des factures associées. Les lignes de contrat ne peuvent plus être modifiées une fois les factures générées.", "failedToCheckEditable": "Échec de la vérification de la modifiabilité du contrat", "failedToLoad": "Échec du chargement des lignes de contrat", "failedToRefresh": "Échec de l'actualisation des lignes de contrat", "failedToRemove": "Échec de la suppression de la ligne de contrat", "failedToUpdate": "Échec de la mise à jour de la ligne de contrat" }, "loading": { "contractLines": "Chargement des lignes de contrat", "inline": "Chargement..." }, "location": { "addLocation": "+ Ajouter un emplacement", "fallback": "Emplacement", "label": "Emplacement", "lineCountPlural": "{{count}} lignes", "lineCountSingle": "{{count}} ligne", "none": "Aucun emplacement assigné", "pendingEmptyHint": "Aucune ligne de contrat pour le moment pour cet emplacement. Ajoutez une ligne, puis affectez-la à cet emplacement via son panneau de modification.", "placeholder": "Sélectionnez un emplacement", "removePendingGroup": "Retirer le groupe d'emplacement vide", "unassigned": "Aucun emplacement assigné", "unnamed": "Emplacement" }, "serviceCountPlural": "{{count}} services", "serviceCountSingle": "{{count}} service", "services": { "empty": "Aucun service configuré pour cette ligne de contrat.", "hourlyRate": "Tarif horaire", "quantity": "Quantité", "quantityShort": "Qté : {{quantity}}", "quantityTaxAllocation": "Quantité (pour allocation fiscale)", "rateTaxAllocation": "Tarif (pour allocation fiscale)", "title": "Services ({{count}})", "typeLabel": "Service {{type}}", "unitOfMeasure": "Unité de mesure", "unitPlaceholder": "unité", "unitRate": "Tarif unitaire" }, "title": "Lignes de contrat" }, "contractLineEdit": { "actions": { "cancel": "Annuler", "saveChanges": "Enregistrer les modifications", "saving": "Enregistrement..." }, "errors": { "failedToSaveChanges": "Échec de l'enregistrement des modifications" }, "fields": { "billingTimingQuestion": "Quand cette ligne doit-elle être facturée ?", "rate": "Tarif" }, "sections": { "billingTiming": "Moment de facturation", "pricing": "Tarification" }, "timingDescriptions": { "advance": "Les frais seront facturés avant la prestation du service", "arrears": "Les frais seront facturés après la prestation du service" }, "timingOptions": { "advance": "Par avance (au début de la période de facturation)", "arrears": "À terme échu (à la fin de la période de facturation)" }, "title": "Modifier la ligne de contrat : {{name}}", "validation": { "validRateRequired": "Veuillez saisir un tarif valide (doit être un nombre non négatif)" }, "values": { "unnamedLine": "Ligne sans nom" } }, "contractLineRate": { "actions": { "cancel": "Annuler", "saveRate": "Enregistrer le tarif" }, "fields": { "rate": "Tarif" }, "title": "Définir le tarif personnalisé pour {{name}}", "validation": { "validRateRequired": "Veuillez saisir un tarif valide (doit être un nombre non négatif)" } }, "addLines": { "actions": { "addPlural": "Ajouter ({{count}}) préréglages", "addSingle": "Ajouter ({{count}}) préréglage", "adding": "Ajout en cours..." }, "empty": { "noMatches": "Aucun préréglage ne correspond à votre recherche.", "noneAvailable": "Aucun préréglage de ligne de contrat disponible." }, "errors": { "failedToAddPresets": "Échec de l'ajout des préréglages sélectionnés.", "failedToLoadPresetDetails": "Échec du chargement des détails du préréglage.", "failedToLoadPresets": "Échec du chargement des préréglages de ligne de contrat." }, "filters": { "allTypes": "Tous les types", "reset": "Réinitialiser", "searchPlaceholder": "Rechercher des préréglages...", "typePlaceholder": "Sélectionnez un type" }, "fixedConfig": { "defaultBaseRate": "Tarif de base par défaut :", "defaultRatePlaceholder": "Par défaut : ${{rate}}", "enterBaseRate": "Saisissez le tarif de base", "leaveBlankDefault": "Laisser vide pour utiliser le tarif par défaut", "notSet": "Non défini", "overrideBaseRate": "Remplacer le tarif de base", "title": "Configuration à tarif fixe" }, "hourlyConfig": { "defaultRate": "Par défaut : ${{rate}}", "hourlyRate": "Tarif horaire", "minimumBillableMinutes": "Minutes minimum facturables", "roundUpToNearest": "Arrondir au plus proche (minutes)", "servicesAndRates": "Services & tarifs horaires", "title": "Configuration de la facturation au temps" }, "loading": "Chargement des préréglages de ligne de contrat...", "selectPresetsTitle": "Sélectionnez les préréglages de ligne de contrat à ajouter", "selection": { "deselectPreset": "Désélectionner le préréglage", "selectPreset": "Sélectionnez un préréglage", "selectedPlural": "{{count}} préréglages sélectionnés", "selectedSingle": "{{count}} préréglage sélectionné" }, "serviceCountPlural": "{{count}} services", "serviceCountSingle": "{{count}} service", "services": { "configuration": "Configuration des services", "empty": "Aucun service configuré pour ce préréglage", "fixedReferenceHelp": "Ces services sont inclus à titre de référence uniquement. Le tarif fixe ci-dessus détermine le montant de la facturation.", "includedReference": "Services inclus (référence)", "quantityShort": "Qté : {{quantity}}", "unknownService": "Service inconnu" }, "title": "Ajouter des lignes de contrat à partir des préréglages", "usageConfig": { "defaultRate": "Par défaut : ${{rate}}", "quantity": "Quantité", "ratePerUnit": "Tarif (par unité)", "unitHint": "par ex., Go, appel API, utilisateur", "unitOfMeasure": "Unité de mesure", "unitPlaceholder": "unité" } }, "createCustomLine": { "addBucketOfConsumption": "Ajouter une banque de consommation", "addBucketOfHours": "Ajouter une banque d'heures", "addHourlyService": "Ajouter un service horaire", "addItem": "Ajouter un élément", "addUsageService": "Ajouter un service à l'usage", "adjustForPartialPeriods": "Ajuster pour les périodes partielles", "adjustForPartialPeriodsHelp": "Si activé, les frais récurrents sont ajustés à la portion couverte d'une période de service lorsque le contrat commence ou se termine à l'intérieur de cette période.", "basicsDescription": "Créez une ligne de contrat personnalisée directement pour ce contrat.", "basicsTitle": "Informations de base de la ligne de contrat", "billingFrequencyLabel": "Fréquence de facturation *", "billingFrequencyPlaceholder": "Sélectionnez la fréquence de facturation", "billingModel": { "fixedDescription": "Facturer un montant fixe à chaque période de facturation.", "fixedTitle": "Frais fixe", "hourlyDescription": "Facturer sur la base des entrées de temps approuvées.", "hourlyTitle": "Horaire", "usageDescription": "Facturer pour les unités consommées.", "usageTitle": "À l'usage" }, "billingTiming": { "advance": "Par avance (facturer en début de période)", "arrears": "À terme échu (facturer en fin de période)" }, "billingTimingHelp": "La facturation par avance est typique pour les frais fixes ; à terme échu pour les services horaires ou à l'usage.", "chooseBillingModel": "Choisir un modèle de facturation *", "chooseBillingModelDescription": "Sélectionnez le comportement de facturation qui correspond à cette offre.", "contractLineNameLabel": "Nom de la ligne de contrat *", "contractLineNamePlaceholder": "par ex. Support géré - Or", "create": "Créer une ligne de contrat", "creating": "Création en cours...", "defaultUnit": "unité", "defaultUnits": "unités", "enterHourlyRate": "Saisissez le tarif horaire", "enterUnitRate": "Saisissez le tarif unitaire", "fixedServicesAlertBaseRate": "Le tarif de base de la ligne de contrat (défini ci-dessous) est le montant facturé.", "fixedServicesAlertHeading": "Services à frais fixes", "fixedServicesAlertProducts": "Vous pouvez également associer des produits à cette ligne de contrat ; les quantités de produits sont facturées à l'unité, tandis que les quantités de services à frais fixes ne sont utilisées que pour l'allocation fiscale.", "fixedServicesDescription": "Configurez les services facturés à un tarif récurrent fixe.", "fixedServicesTitle": "Services à frais fixes", "hourlyRateDisplay": "{{rate}}/heure", "hourlyRateLabel": "Tarif horaire", "hourlyServicesAlertDescription": "Ces services sont facturés en fonction du temps réellement suivi.", "hourlyServicesAlertHeading": "Services horaires", "hourlyServicesDescription": "Configurez les services facturés en fonction du temps suivi.", "hourlyServicesLabel": "Services horaires", "hourlyServicesTitle": "Services horaires", "itemLabel": "Élément {{index}}", "moneyPlaceholder": "0.00", "minimumBillableTimeLabel": "Temps minimum facturable (minutes)", "noFixedItems": "Aucun élément à frais fixes ajouté pour le moment. Cliquez sur « Ajouter un élément » ci-dessus pour commencer.", "noHourlyServices": "Aucun service horaire ajouté pour le moment. Cliquez sur « Ajouter un service horaire » ci-dessus pour commencer.", "noUsageServices": "Aucun service à l'usage ajouté pour le moment. Cliquez sur « Ajouter un service à l'usage » ci-dessus pour commencer.", "quantityLabel": "Quantité", "ratePerUnitLabel": "Tarif par unité", "recurringBaseRateHelp": "Frais récurrents pour tous les services fixes.", "recurringBaseRateLabel": "Tarif de base récurrent", "roundUpToNearestLabel": "Arrondir au plus proche (minutes)", "selectItemPlaceholder": "Sélectionnez un élément", "selectServicePlaceholder": "Sélectionnez un service", "serviceLabel": "Service {{index}}", "servicesAndProductsLabel": "Services & produits", "title": "Créer une ligne de contrat personnalisée", "unitOfMeasureLabel": "Unité de mesure", "unitOfMeasurePlaceholder": "par ex., Go, appel API, utilisateur", "unitRateDisplay": "{{rate}}/{{unit}}", "usageServicesAlertDescription": "Ces services sont facturés en fonction de la consommation réelle.", "usageServicesAlertHeading": "Services à l'usage", "usageServicesDescription": "Configurez les services facturés en fonction de l'usage ou de la consommation.", "usageServicesLabel": "Services à l'usage", "usageServicesTitle": "Services à l'usage", "validation": { "billingFrequencyRequired": "La fréquence de facturation est requise", "contractLineNameRequired": "Le nom de la ligne de contrat est requis", "contractLineTypeRequired": "Le type de ligne de contrat est requis", "failedToCreate": "Échec de la création de la ligne de contrat", "fixedServiceRequired": "Au moins un service ou produit fixe est requis", "fixedServiceSelectRequired": "Élément {{index}} : veuillez sélectionner un service ou un produit", "hourlyRateRequired": "Service {{index}} : le tarif horaire est requis", "hourlyServiceRequired": "Au moins un service horaire est requis", "hourlyServiceSelectRequired": "Service {{index}} : veuillez sélectionner un service", "unitOfMeasureRequired": "Service {{index}} : l'unité de mesure est requise", "unitRateRequired": "Service {{index}} : le tarif unitaire est requis", "usageServiceRequired": "Au moins un service à l'usage est requis", "usageServiceSelectRequired": "Service {{index}} : veuillez sélectionner un service" } }, "pricingSchedules": { "list": { "actions": { "addSchedule": "Ajouter un barème", "deleteSchedule": "Supprimer le barème", "editSchedule": "Modifier le barème" }, "columns": { "actions": "Actions", "customRate": "Tarif personnalisé", "effectiveDate": "Date d'effet", "endDate": "Date de fin", "notes": "Notes" }, "dialogs": { "confirmDeleteSchedule": "Voulez-vous vraiment supprimer ce barème de prix ?" }, "empty": { "description": "Ajoutez des barèmes de prix pour définir les changements de tarif dans le temps pour ce contrat", "noPricingSchedules": "Aucun barème de prix pour le moment" }, "errors": { "failedToDeletePricingSchedule": "Échec de la suppression du barème de prix", "failedToLoadPricingSchedules": "Échec du chargement des barèmes de prix" }, "loading": "Chargement des barèmes de prix", "readOnlyNotice": "Ce contrat par défaut géré par le système est à attribution uniquement. La création de barèmes de prix est désactivée.", "timeline": { "title": "Chronologie de tarification" }, "title": "Barèmes de prix", "values": { "defaultRate": "Tarif par défaut", "ongoing": "En cours", "useDefaultRate": "Utiliser le tarif par défaut" } }, "dialog": { "actions": { "addSchedule": "Ajouter un barème", "cancel": "Annuler", "saving": "Enregistrement...", "updateSchedule": "Mettre à jour le barème" }, "durationUnits": { "days": "Jours", "months": "Mois", "weeks": "Semaines", "years": "Années" }, "errors": { "failedToSavePricingSchedule": "Échec de l'enregistrement du barème de prix" }, "fields": { "customRate": "Tarif personnalisé", "customRatePlaceholder": "0.00", "duration": "Durée", "durationPlaceholder": "p. ex. 6", "effectiveDate": "Date d'effet", "endDate": "Date de fin", "hasEndDate": "A une date de fin", "notes": "Notes", "notesPlaceholder": "Ajoutez des notes sur ce changement de prix (par ex., « Augmentation annuelle des tarifs »)", "unit": "Unité", "useDefaultRate": "Utiliser le tarif par défaut", "useDuration": "Utiliser la durée" }, "title": { "addPricingSchedule": "Ajouter un barème de prix", "editPricingSchedule": "Modifier le barème de prix" }, "validation": { "customRatePositive": "Le tarif personnalisé doit être un nombre positif", "customRateRequired": "Le tarif personnalisé est requis lorsque le tarif par défaut n'est pas utilisé", "durationPositive": "La durée doit être un nombre positif", "durationRequired": "La valeur de durée est requise lors de l'utilisation de la durée", "effectiveDateRequired": "La date d'effet est requise", "endDateAfterEffectiveDate": "La date de fin doit être postérieure à la date d'effet", "endDateRequiredWhenEnabled": "La date de fin est requise lorsque « A une date de fin » est activé" } } }, "contractsList": { "actions": { "deleting": "Suppression…", "createContract": "Créer un contrat", "createTemplate": "Créer un modèle", "openMenu": "Ouvrir le menu", "quickAdd": "Ajout rapide", "resume": "Reprendre", "restore": "Restaurer", "setToActive": "Définir comme actif", "terminate": "Résilier" }, "columns": { "actions": "Actions", "client": "Client", "contractName": "Nom du contrat", "created": "Créé", "description": "Description", "endDate": "Date de fin", "lastModified": "Dernière modification", "sourceTemplate": "Modèle source", "startDate": "Date de début", "status": "Statut" }, "dialogs": { "deleteClient": { "clientSuffix": " pour {{clientName}}", "message": "Voulez-vous vraiment supprimer définitivement le contrat client « {{contractName}} »{{clientSuffix}} ? Cette action est irréversible.", "title": "Supprimer le contrat client ?" }, "deleteTemplate": { "message": "Voulez-vous vraiment supprimer définitivement le modèle « {{contractName}} » ? Cette action est irréversible.", "title": "Supprimer le modèle de contrat ?" }, "discardDraft": { "message": "Cela supprimera définitivement le brouillon « {{contractName}} » pour {{clientName}}.\nCette action est irréversible.", "title": "Ignorer le brouillon de contrat ?" } }, "drafts": { "badgeCount": "{{count}} brouillons de contrat" }, "empty": { "dash": "—", "noClientContracts": "Aucun contrat client ne correspond à votre recherche.", "noDescription": "Aucune description", "noDraftMatches": "Aucun brouillon de contrat ne correspond à votre recherche.", "noDrafts": "Aucun brouillon de contrat. Commencez à créer un nouveau contrat pour l'enregistrer en brouillon.", "noTemplates": "Aucun modèle ne correspond à votre recherche.", "unknownClient": "Client inconnu", "untitledContract": "Contrat sans titre", "untitledDraft": "Brouillon sans titre", "untitledTemplate": "Modèle sans titre" }, "errors": { "failedToFetch": "Échec de la récupération des contrats" }, "heading": { "description": "Les modèles sont des définitions réutilisables. Les contrats clients sont des instances appartenant aux clients.", "title": "Contrats" }, "loading": { "contracts": "Chargement des contrats..." }, "search": { "clientContractsAriaLabel": "Rechercher des contrats clients", "clientContractsPlaceholder": "Rechercher par client ou contrat...", "draftsAriaLabel": "Rechercher des brouillons de contrat", "draftsPlaceholder": "Rechercher des brouillons...", "templatesAriaLabel": "Rechercher des modèles de contrat", "templatesPlaceholder": "Rechercher des modèles..." }, "status": { "archived": "Archivé", "published": "Publié" }, "toasts": { "draftDiscarded": "Brouillon supprimé", "failedToActivateContract": "Échec de l'activation du contrat", "failedToDeleteContract": "Échec de la suppression du contrat", "failedToDiscardDraft": "Échec de la suppression du brouillon", "failedToRestoreContract": "Échec de la restauration du contrat", "failedToResumeDraft": "Échec de la reprise du brouillon", "failedToTerminateContract": "Échec de la résiliation du contrat" } }, "clientContracts": { "actions": { "viewDetails": "Voir les détails" }, "columns": { "actions": "Actions", "billingFrequency": "Fréquence de facturation", "client": "Client", "contractName": "Nom du contrat", "endDate": "Date de fin", "poIndicator": "BC", "sourceTemplate": "Modèle source", "startDate": "Date de début", "status": "Statut" }, "dialogs": { "terminate": { "clientSuffix": " pour {{clientName}}", "message": "Voulez-vous vraiment résilier « {{contractName}} »{{clientSuffix}} ?", "title": "Résilier le contrat client ?" } }, "empty": { "noMatches": "Aucun contrat client ne correspond à votre recherche." }, "errors": { "failedToFetch": "Échec de la récupération des contrats clients" }, "loading": "Chargement des contrats clients...", "po": { "notRequired": "Non requis", "required": "Requis" }, "search": { "ariaLabel": "Rechercher des contrats clients", "placeholder": "Rechercher par client ou contrat..." }, "tabs": { "contracts": "Contrats", "upcomingRenewals": "Renouvellements à venir ({{count}})" }, "toasts": { "failedToActivate": "Échec de l'activation du contrat", "failedToDelete": "Échec de la suppression du contrat", "failedToMarkNonRenewing": "Échec du marquage du renouvellement comme non renouvelable", "failedToMarkRenewing": "Échec du marquage du renouvellement comme renouvelable", "failedToRestore": "Échec de la restauration du contrat", "failedToResumeDraft": "Échec de la reprise du brouillon", "failedToTerminate": "Échec de la résiliation du contrat" }, "upcoming": { "actions": { "markNonRenewing": "Marquer comme non renouvelable", "markRenewing": "Marquer comme renouvelable", "openMenu": "Ouvrir les actions de renouvellement" }, "columns": { "actions": "Actions", "client": "Client", "contract": "Contrat", "daysUntilDue": "Jours avant échéance", "decisionDue": "Décision due", "status": "Statut", "type": "Type" }, "description": "Contrats dont les décisions de renouvellement sont dues dans la fenêtre sélectionnée.", "empty": "Aucun renouvellement à venir pour la fenêtre sélectionnée.", "filterAriaLabel": "Filtrer les renouvellements à venir", "filterPlaceholder": "Filtrer les renouvellements à venir...", "status": { "completed": "Terminé", "nonRenewing": "Non renouvelable", "pending": "En attente", "renewing": "En renouvellement", "snoozed": "Reporté" }, "title": "Renouvellements à venir", "type": { "evergreen": "Reconduction tacite", "fixedTerm": "À durée déterminée" }, "window": { "all": "Tous", "next30": "30 prochains jours", "next60": "60 prochains jours", "next90": "90 prochains jours" }, "windowPlaceholder": "Sélectionnez la fenêtre de renouvellement" } }, "templatesTab": { "actions": { "createTemplate": "Créer un modèle", "delete": "Supprimer", "edit": "Modifier" }, "columns": { "actions": "Actions", "description": "Description", "status": "Statut", "templateName": "Nom du modèle" }, "empty": { "createFirstTemplate": "Créez votre premier modèle pour commencer.", "noSearchMatches": "Aucun modèle ne correspond à votre recherche", "noTemplates": "Aucun modèle pour le moment", "tryDifferentSearch": "Essayez un autre terme de recherche." }, "errors": { "failedToDeleteContract": "Échec de la suppression du contrat", "failedToFetchTemplates": "Échec de la récupération des modèles" }, "loading": "Chargement des modèles...", "search": { "ariaLabel": "Rechercher des modèles de contrat", "placeholder": "Rechercher des modèles..." }, "status": { "active": "Actif", "archived": "Archivé", "draft": "Brouillon", "expired": "Expiré", "published": "Publié", "terminated": "Résilié" }, "values": { "noDescription": "Aucune description" } }, "detailSwitcher": { "errors": { "contractNotFound": "Contrat introuvable", "failedToLoadContractDetails": "Échec du chargement des détails du contrat", "missingContractIdentifier": "Identifiant de contrat manquant", "noContractSelected": "Aucun contrat sélectionné.", "unableToLoadContractDetails": "Impossible de charger les détails du contrat" }, "loading": { "contract": "Chargement du contrat..." } }, "templateDetail": { "backToTemplates": "Retour aux modèles", "backToTemplatesArrow": "← Retour aux modèles", "composition": { "addContractLinesBeforeManaging": "Ajoutez des lignes de contrat à ce modèle avant de gérer les services.", "additionalPlans": "Forfaits supplémentaires", "bucketSummary": "Banque : {{minutes}} min • Dépassement ${{overage}}", "closeManager": "Fermer le gestionnaire", "editRate": "Modifier le tarif", "fixedFeeBundles": "Offres à frais fixes", "fixedFeeRate": "Tarif à frais fixes :", "hourlyPlans": "Forfaits horaires", "manageServices": "Gérer les services", "manageTemplateServices": "Gérer les services du modèle", "minimumTimeLabel": "Temps minimum :", "minutesValue": "{{count}} min", "noFixedFeeLines": "Aucune ligne de contrat à frais fixes configurée pour le moment.", "noHourlyLines": "Aucune ligne de contrat horaire configurée pour le moment.", "noServicesAssigned": "Aucun service assigné à cette ligne de contrat.", "noUsageLines": "Aucune ligne de contrat à l'usage configurée pour le moment.", "notSet": "Non défini", "quantityLabel": "Quantité :", "roundUpLabel": "Arrondi :", "serviceCountPlural": "{{count}} services", "serviceCountSingle": "{{count}} service", "serviceFallback": "Service", "title": "Composition du modèle", "unitLabel": "Unité :", "usageBasedPlans": "Forfaits à l'usage" }, "editBasicsTitle": "Modifier les informations de base du modèle", "editGuidanceTitle": "Modifier les conseils du modèle", "failedToLoadTemplate": "Échec du chargement du modèle de contrat", "form": { "currencyPlaceholder": "Sélectionnez une devise", "internalNotesLabel": "Notes internes", "internalNotesPlaceholder": "Décrivez où ce modèle s'applique, les conseils d'intégration ou les exigences d'approbation.", "recommendedBillingFrequencyLabel": "Fréquence de facturation recommandée *", "recommendedBillingFrequencyPlaceholder": "Sélectionnez la cadence de facturation", "templateNameLabel": "Nom du modèle *", "templateNamePlaceholder": "Services gérés de base, offre de support premium, etc." }, "guidance": { "noCadenceProvided": "Aucune cadence recommandée fournie.", "recommendedCadenceLabel": "Cadence recommandée", "recommendedCadencePlaceholder": "Sélectionnez une cadence", "tagsHint": "Les étiquettes aident les équipes à trouver rapidement les modèles pertinents.", "tagsLabel": "Étiquettes", "tagsPlaceholder": "Séparés par des virgules (par ex., intégration, finance)", "title": "Conseils du modèle", "usageNotesLabel": "Notes d'utilisation", "usageNotesPlaceholder": "Ajoutez des conseils pour aider les autres à comprendre comment utiliser ce modèle." }, "loadingTemplate": "Chargement du modèle...", "servicesLabel": "Services", "templateBadge": "Modèle", "templateNotFound": "Modèle de contrat introuvable", "templateSnapshotTitle": "Instantané du modèle", "validation": { "billingFrequencyRequired": "La fréquence de facturation est requise", "failedToUpdateBasics": "Échec de la mise à jour des informations de base du modèle", "failedToUpdateGuidance": "Échec de la mise à jour des conseils du modèle", "templateNameRequired": "Le nom du modèle est requis" }, "clientAssignments": { "title": "Affectations client", "totalAssignments": "Affectations totales", "activeClients": "Clients actifs", "purchaseOrders": "Bons de commande", "poRequiredCount": "{{count}} affectations nécessitent un BC", "noPoRequirements": "Aucune exigence de BC enregistrée.", "noClientContracts": "Aucun contrat client n'utilise actuellement ce modèle.", "reviewBelow": "Consultez la liste complète des affectations dans la section des détails ci-dessous." }, "assignmentDetails": { "title": "Détails d'affectation", "empty": "Lorsque des contrats clients adopteront ce modèle, ils seront listés ici avec leur contexte de bon de commande.", "contractId": "ID du contrat : {{id}}", "ongoing": "En cours", "notRequired": "Non requis", "columns": { "client": "Client", "status": "Statut", "start": "Début", "end": "Fin", "poRequired": "BC requis", "poNumber": "Numéro de BC", "poAmount": "Montant du BC" }, "status": { "active": "Actif", "inactive": "Inactif" } } }, "quickStart": { "actions": { "createFirstContract": "Créez votre premier contrat", "dismiss": "Rejeter", "minimize": "Réduire", "showGuide": "Afficher le guide" }, "badge": { "new": "Nouveau" }, "bestPractices": { "items": { "clearNames": "Utilisez des noms de contrat clairs et descriptifs (par ex., « Acme Corp - Services MSP T4 2024 »)", "endDates": "Définissez des dates de fin pour les contrats à durée déterminée afin de suivre les dates de renouvellement", "partialPeriodAdjustment": "Utilisez l'ajustement de période partielle lorsque les dates du contrat ne couvrent qu'une partie d'une période de service", "poNumbers": "Ajoutez les numéros de bon de commande lorsque les politiques d'approvisionnement du client l'exigent" }, "title": "Bonnes pratiques" }, "billingModels": { "bucketHours": { "description": "Heures prépayées + dépassement", "label": "Banque d'heures :" }, "fixedFee": { "description": "Même prix chaque mois", "label": "Frais fixe :" }, "hourly": { "description": "Facturer au temps suivi", "label": "Horaire :" }, "usageBased": { "description": "Facturer à la consommation/à l'usage", "label": "À l'usage :" } }, "steps": { "configureBilling": { "description": "Choisissez votre ou vos modèles de facturation. Vous pouvez combiner plusieurs types :", "title": "Configurer la facturation" }, "createContract": { "description": "Cliquez sur « Nouveau contrat » pour démarrer l'assistant. Choisissez un client et nommez votre contrat.", "requiredFields": "Requis : client, nom du contrat, date de début", "title": "Créer un contrat" }, "reviewCreate": { "description": "Vérifiez tout avant de créer. Vous pouvez toujours modifier plus tard.", "tip": "Astuce : au moins une ligne de service est requise", "title": "Vérifier et créer" } }, "subtitle": "Apprenez à créer et gérer des contrats", "title": "Guide de démarrage rapide" }, "servicePicker": { "emptyMessage": "Aucun service trouvé.", "placeholder": "Sélectionnez un service...", "searchPlaceholder": "Rechercher des services...", "catalog": { "badges": { "product": "Produit", "service": "Service" }, "custom": { "addAsCustomItem": "Ajouter « {{name}} » comme élément personnalisé", "badge": "Personnalisé", "typeNameHint": "Saisissez un nom pour ajouter un élément personnalisé" }, "emptyMessage": "Aucun élément correspondant.", "placeholder": "Sélectionnez un élément...", "searchPlaceholder": "Rechercher des éléments..." } }, "bucketOverlay": { "includedLabel": "{{units}} inclus", "includedPlaceholderHours": "p. ex. 40", "includedPlaceholderUnits": "p. ex. 1000", "includedTooltip": "Quantité de {{units}} incluse à chaque période de facturation avant l'application des dépassements.", "overageRateLabel": "Tarif de dépassement", "overageRateTooltip": "Frais appliqués pour chaque {{unit}} au-delà de la quantité incluse.", "rolloverDescription": "Si activé, tout solde non utilisé est reporté sur la période suivante.", "rolloverLabel": "Permettre le report des {{units}} non utilisés", "units": { "hour": "heure", "hours": "heures", "units": "unités" } }, "frequencyOverride": { "confirmation": "Cette ligne de contrat sera facturée {{lineFrequency}} au lieu de {{contractFrequency}}.", "description": "Facultatif : remplacer la fréquence de facturation du contrat ({{frequency}}) pour cette ligne de contrat spécifique.", "label": "Remplacement de la fréquence de facturation", "optionAlreadySetForContract": "{{label}} (déjà défini pour le contrat)", "placeholder": "Utiliser la fréquence de facturation du contrat ({{frequency}})" }, "wizard": { "dialogs": { "unsavedChanges": { "cancel": "Rester", "confirm": "Ignorer les modifications", "message": "Vous avez des modifications non enregistrées. Si vous fermez cette boîte de dialogue maintenant, vos modifications seront ignorées.", "title": "Ignorer les modifications ?" } }, "errors": { "failedToCreateContract": "Échec de la création du contrat", "failedToLoadTemplateDetails": "Échec du chargement des détails du modèle", "failedToLoadTemplates": "Échec du chargement des modèles", "failedToSaveDraft": "Échec de l'enregistrement du brouillon" }, "steps": { "contractBasics": "Informations de base du contrat", "fixedFeeServices": "Services à frais fixes", "hourlyServices": "Services horaires", "products": "Produits", "reviewCreate": "Vérifier et créer", "usageBasedServices": "Services à l'usage" }, "title": { "createNewContract": "Créer un nouveau contrat", "editContract": "Modifier le contrat" }, "validation": { "addAtLeastOneService": "Ajoutez au moins un service avant de créer le contrat", "baseRateRequiredWhenFixedServices": "Le tarif de base est requis lorsque des services fixes sont inclus", "billingFrequencyRequired": "La fréquence de facturation est requise", "clientRequired": "Le client est requis", "contractNameRequired": "Le nom du contrat est requis", "noticePeriodRange": "La période de préavis doit être comprise entre {{min}} et {{max}} jours", "noticePeriodWholeNumber": "La période de préavis doit être un nombre entier de jours", "recurring": { "frequency": { "annually": "annuellement", "biweekly": "bihebdomadairement", "monthly": "mensuellement", "quarterly": "trimestriellement", "semi-annually": "semestriellement", "weekly": "hebdomadairement" }, "lineType": { "fixed": "Fixe", "hourly": "Horaire", "product": "Produit", "usage": "Utilisation" } }, "renewalModeRequiredWithEndDate": "Le mode de renouvellement est requis lorsqu'une date de fin est définie", "renewalTermPositiveWhole": "Les mois de durée de renouvellement doivent être un nombre entier positif", "selectClientBeforeDraft": "Sélectionnez un client avant d'enregistrer en brouillon", "selectProductForEachLine": "Veuillez sélectionner un produit pour chaque ligne de produit", "startDateRequired": "La date de début est requise", "unsupportedRecurringAuthoringCombination": "Combinaison de création récurrente non prise en charge pour les services {{lineType}} : la cadence d'anniversaire du contrat prend actuellement en charge les fréquences de facturation {{supportedFrequencies}}. {{billingFrequency}} n'est pas encore pris en charge. Utilisez l'une des fréquences prises en charge ou facturez selon le calendrier de facturation client à la place." }, "nav": { "back": "Retour", "next": "Suivant", "skip": "Passer", "finish": "Terminer la configuration", "saveDraft": "Enregistrer en brouillon", "saving": "Enregistrement...", "completing": "Finalisation..." } }, "wizardBasics": { "additionalDescription": { "hint": "Notes internes ou détails du contrat.", "label": "Description (facultatif)", "placeholder": "Ajoutez toute note supplémentaire concernant ce contrat..." }, "billingFrequency": { "hint": "À quelle fréquence ce contrat doit-il être facturé ?", "label": "Fréquence de facturation", "placeholder": "Sélectionnez la fréquence de facturation" }, "cadenceOwner": { "description": "Définit le propriétaire de la cadence par défaut appliqué aux lignes récurrentes créées dans cet assistant.", "label": "Cadence récurrente par défaut", "options": { "client": { "description": "Utilisez le calendrier de facturation client pour que les lignes récurrentes restent alignées sur la cadence normale de facturation du client.", "label": "Facturer selon le calendrier de facturation client" }, "contract": { "description": "Utilisez des périodes de service par anniversaire de contrat pour les lignes récurrentes qui doivent suivre la chronologie du contrat.", "label": "Facturer à l'anniversaire du contrat" } } }, "client": { "chooseClientHint": "Choisissez le client pour lequel ce contrat est destiné.", "clientLabel": "Client", "loadingClients": "Chargement des clients…", "selectClient": "Sélectionnez un client" }, "contractName": { "hint": "Donnez un nom descriptif à ce contrat.", "label": "Nom du contrat", "placeholder": "par ex., Services MSP standard, offre de support premium" }, "currency": { "hint": "Devise pour ce contrat. La devise préférée du client est utilisée par défaut.", "label": "Devise", "placeholder": "Sélectionnez une devise" }, "dates": { "endDateAfterStartValidation": "La date de fin doit être postérieure à la date de début", "endDateLabel": "Date de fin (facultatif)", "endDateOngoingHint": "Laisser vide pour un contrat en cours.", "endDateTooltip": "Laisser vide pour les contrats en cours qui n'ont pas de date de fin fixe. Vous pouvez toujours définir une date de fin plus tard lorsque le contrat est résilié ou expire.", "startDateHint": "Quand ce contrat devient-il actif ?", "startDateLabel": "Date de début" }, "description": "Choisissez un modèle (facultatif), sélectionnez le client et définissez les détails fondamentaux du contrat. Les détails des services seront chargés aux étapes suivantes.", "heading": "Informations de base du contrat", "po": { "amountHint": "Montant total autorisé sur le bon de commande.", "amountLabel": "Montant du bon de commande", "noteLabel": "Note :", "noteText": "L'application du bon de commande s'appliquera lorsque l'automatisation des factures sera activée. Configurez dès maintenant pour anticiper.", "numberHint": "Numéro de référence du bon de commande du client.", "numberLabel": "Numéro de bon de commande", "numberPlaceholder": "par ex., PO-2024-12345", "requireForInvoicing": "Exiger un bon de commande pour la facturation", "requireHint": "Bloquer la génération de factures si le bon de commande n'est pas fourni.", "requireTooltip": "Si activé, les factures ne peuvent pas être générées pour ce contrat sans fourniture d'un numéro de bon de commande.", "title": "Bon de commande (facultatif)" }, "renewal": { "evergreen": { "description": "Ce contrat est en cours. Configurez la cadence de révision annuelle et le délai de préavis.", "title": "Paramètres de révision par reconduction tacite" }, "fixedTerm": { "description": "Ce contrat a une date de fin fixe. Configurez le comportement de renouvellement et le délai de préavis.", "title": "Paramètres de renouvellement" }, "modeLabel": "Mode de renouvellement", "modeOptions": { "auto": "Renouvellement automatique", "manual": "Renouvellement manuel", "none": "Non renouvelable" }, "modePlaceholder": "Sélectionnez le mode de renouvellement", "noticePeriodLabel": "Période de préavis (jours)", "noticePeriodPlaceholder": "p. ex. 30", "termLabel": "Durée de renouvellement (mois)", "termPlaceholder": "p. ex. 12", "useTenantDefaultsDescription": "Appliquer les paramètres de renouvellement au niveau de l'organisation sauf s'ils sont explicitement remplacés.", "useTenantDefaultsLabel": "Utiliser les valeurs par défaut de renouvellement du locataire" }, "summary": { "labels": { "billingFrequency": "Fréquence de facturation :", "client": "Client :", "contract": "Contrat :", "currency": "Devise :", "noticePeriod": "Période de préavis :", "period": "Période :", "poAmount": "Montant du bon de commande :", "poNumber": "Numéro de bon de commande :", "poRequired": "Bon de commande requis :", "renewalMode": "Mode de renouvellement :", "renewalTerm": "Durée de renouvellement :" }, "title": "Résumé du contrat", "values": { "notSelected": "Non sélectionné", "noticePeriodDays_one": "{{count}} jour", "noticePeriodDays_other": "{{count}} jours", "ongoing": "En cours", "renewalTermMonths_one": "{{count}} mois", "renewalTermMonths_other": "{{count}} mois", "noticePeriodDays": "{{count}} jour", "renewalTermMonths": "{{count}} mois" } }, "template": { "loadingTemplateDetails": "Chargement des détails du modèle…", "loadingTemplates": "Chargement des modèles…", "prefillHint": "Préremplir les services, notes et cadence de facturation à partir d'un modèle existant. Vous pouvez toujours tout ajuster avant de publier.", "preview": { "billingCadenceLabel": "Cadence de facturation :", "notSpecified": "Non spécifié", "templateLabel": "Modèle :" }, "selectTemplateOptional": "Sélectionnez un modèle (facultatif)", "startFromTemplate": "Démarrer à partir d'un modèle" } }, "wizardFixed": { "alternateFrequencyLabel": "Fréquence de facturation alternative (facultatif)", "baseRate": { "hint": "Frais récurrents totaux pour tous les services fixes combinés.", "label": "Tarif de base récurrent", "placeholder": "0.00" }, "description": "Configurez les services facturés à un tarif fixe à chaque cycle de facturation. Vous pouvez toujours suivre le temps, mais la facturation est basée sur ce montant fixe.", "emptyState": "Aucun service à frais fixes ajouté pour le moment. Cliquez sur « Ajouter un service » ci-dessus ou « Passer » pour continuer.", "explainer": { "description": "Ces services ont un prix récurrent fixe. Vous continuerez à suivre les entrées de temps pour ces services, mais la facturation est basée sur le tarif fixe, et non sur les heures travaillées.", "title": "Que sont les services à frais fixes ?" }, "heading": "Services à frais fixes", "preview": { "labels": { "alternateFrequency": "Fréquence de facturation alternative :", "billingTiming": "Moment de facturation :", "cadenceOwner": "Propriétaire de la cadence :", "invoiceWindow": "Fenêtre de facturation :", "recurringRate": "Tarif récurrent :", "service": "Service :", "services": "Services :" }, "materializedPeriods": { "tooltip": "Aperçu des prochaines périodes de service et des fenêtres de facturation qui seraient générées pour elles selon les paramètres actuels. Ces données permettent de vérifier la cadence avant l'enregistrement — les factures réelles sont produites plus tard lors de l'exécution de facturation." }, "title": "Aperçu récurrent avant enregistrement" }, "proration": { "label": "Ajuster pour les périodes partielles", "tooltip": "Ajustez les frais récurrents lorsque les dates du contrat ne couvrent qu'une partie d'une période de service." }, "services": { "addService": "Ajouter un service", "label": "Services", "quantityLabel": "Quantité", "selectServicePlaceholder": "Sélectionnez un service", "serviceItemLabel": "Service {{index}}" } }, "wizardProducts": { "actions": { "addProduct": "Ajouter un produit" }, "description": "Associez des produits qui seront facturés à chaque cycle. Les produits utilisent le prix catalogue dans la devise du contrat sauf si vous saisissez un prix de remplacement.", "emptyState": "Aucun produit associé pour le moment. Ajoutez un produit si vous souhaitez qu'il soit facturé à chaque cycle.", "heading": "Produits", "labels": { "defaultCatalogPrice": "Prix catalogue par défaut :", "overrideUnitPriceOptional": "Remplacer le prix unitaire (facultatif)", "productItem": "Produit {{index}}", "products": "Produits", "quantity": "Quantité", "selectProductPlaceholder": "Sélectionnez un produit", "catalogPriceInCurrency": "Prix catalogue en {{currency}} :" }, "validation": { "noDefaultPriceEnterUnitPrice": "Aucun prix par défaut défini. Saisissez un prix unitaire.", "productMissingPrice": "Ce produit n'a ni prix par défaut ni prix de remplacement. Il ne peut pas être facturé tant que vous n'avez pas saisi de prix unitaire.", "noCurrencyPriceEnterUnitPrice": "Aucun prix en {{currency}} dans le catalogue. Saisissez un prix unitaire.", "noCurrencyPriceWithLegacyHint": "Aucun prix en {{currency}} dans le catalogue. Tarif par défaut hérité : {{rate}}. Saisissez un prix unitaire en {{currency}}." } }, "wizardHourly": { "actions": { "addHourlyService": "Ajouter un service horaire" }, "alternateFrequencyLabel": "Fréquence de facturation alternative (facultatif)", "description": "Configurez les services facturés en fonction du temps suivi. Idéal pour les travaux en régie (temps & matériel).", "emptyState": "Aucun service horaire ajouté pour le moment. Cliquez sur « Ajouter un service horaire » ci-dessus ou « Passer » si vous n'avez pas besoin de facturation en régie.", "explainer": { "description": "Ces services sont facturés en fonction du temps réellement suivi. Chaque entrée de temps sera multipliée par le tarif horaire pour calculer le montant de la facture.", "title": "Que sont les services horaires ?" }, "heading": "Services horaires", "labels": { "enterHourlyRate": "Saisissez le tarif horaire", "hourlyRate": "Tarif horaire", "hourlyRatePerHour": "{{rate}}/heure", "hourlyRatePlaceholder": "0.00", "hourlyServices": "Services horaires", "selectServicePlaceholder": "Sélectionnez un service", "serviceItem": "Service {{index}}", "setBucketOfHours": "Définir une banque d'heures", "noCurrencyPriceEnterRate": "Aucun prix en {{currency}} dans le catalogue. Saisissez un taux horaire.", "noCurrencyPriceWithLegacyHint": "Aucun prix en {{currency}} dans le catalogue. Tarif par défaut hérité : {{rate}}. Saisissez un taux horaire en {{currency}}." }, "minimumBillableTime": { "hint": "par ex., 15 minutes - toute entrée de temps inférieure à ce seuil sera arrondie à la hausse", "label": "Temps minimum facturable (minutes)", "placeholder": "15" }, "roundUpToNearest": { "hint": "par ex., 15 minutes - les entrées de temps seront arrondies à la hausse au plus proche intervalle", "label": "Arrondir au plus proche (minutes)", "placeholder": "15" }, "summary": { "labels": { "alternateFrequency": "Fréquence de facturation alternative :", "bucketsHeading": "Banques :", "includedHours": "Heures incluses :", "minimumTime": "Temps minimum :", "overageRate": "Tarif de dépassement :", "rollover": "Report :", "roundUp": "Arrondi :", "serviceFallback": "Service {{index}}", "services": "Services :" }, "title": "Résumé des services horaires", "values": { "everyMinutes": "Toutes les {{count}} minutes", "hours": "{{count}} heures", "minutes": "{{count}} minutes", "overageRatePerHour": "{{rate}}/heure", "rolloverDisabled": "Désactivé", "rolloverEnabled": "Activé" } } }, "wizardUsage": { "actions": { "addUsageBasedService": "Ajouter un service à l'usage" }, "alternateFrequencyLabel": "Fréquence de facturation alternative (facultatif)", "description": "Configurez les services facturés en fonction de l'usage ou de la consommation. Idéal pour les services mesurés comme le transfert de données, les appels API ou le stockage.", "emptyState": "Aucun service à l'usage ajouté pour le moment. Cliquez sur « Ajouter un service à l'usage » ci-dessus ou « Passer » si vous n'avez pas besoin de facturation à la consommation.", "explainer": { "description": "Ces services sont facturés en fonction de la consommation réelle ou des indicateurs d'usage. Chaque unité consommée sera multipliée par le tarif unitaire pour calculer le montant de la facture.", "title": "Que sont les services à l'usage ?" }, "heading": "Services à l'usage", "labels": { "enterUnitRate": "Saisissez le tarif unitaire", "ratePerUnit": "Tarif par unité", "ratePerUnitPlaceholder": "0.00", "ratePerUnitValue": "{{rate}}/{{unit}}", "selectServicePlaceholder": "Sélectionnez un service", "serviceItem": "Service {{index}}", "services": "Services", "setBucketAllocation": "Définir l'allocation de la banque", "unitOfMeasure": "Unité de mesure", "unitOfMeasureHint": "Choisissez l'unité sur laquelle ce service est facturé.", "unitOfMeasurePlaceholder": "par ex., Go, appel API, utilisateur", "noCurrencyPriceEnterRate": "Aucun prix en {{currency}} dans le catalogue. Saisissez un tarif unitaire.", "noCurrencyPriceWithLegacyHint": "Aucun prix en {{currency}} dans le catalogue. Tarif par défaut hérité : {{rate}}. Saisissez un tarif unitaire en {{currency}}." }, "summary": { "labels": { "services": "Services :" }, "title": "Résumé à l'usage" }, "values": { "defaultUnit": "unité" } }, "wizardReview": { "heading": "Vérifier le contrat", "description": "Vérifiez tous les détails du contrat avant la création. Vous pouvez toujours modifier après la création si nécessaire.", "sections": { "contractBasics": "Informations de base du contrat", "fixedFeeServices": "Services à frais fixes", "products": "Produits", "hourlyServices": "Services horaires", "usageBasedServices": "Services à l'usage" }, "fields": { "client": "Client", "contractName": "Nom du contrat", "billingFrequency": "Fréquence de facturation", "currency": "Devise", "startDate": "Date de début", "endDate": "Date de fin", "renewalMode": "Mode de renouvellement", "noticePeriod": "Période de préavis", "renewalTerm": "Durée de renouvellement" }, "fallback": { "notSelected": "Non sélectionné", "notSpecified": "Non spécifié", "ongoing": "En cours", "notApplicable": "S/O" }, "renewalMode": { "none": "Non renouvelable", "manual": "Renouvellement manuel", "auto": "Renouvellement automatique" }, "noticePeriod": { "one": "{{count}} jour", "other": "{{count}} jours" }, "renewalTerm": { "one": "{{count}} mois", "other": "{{count}} mois" }, "common": { "yes": "Oui", "no": "Non", "enabled": "Activé", "disabled": "Désactivé", "bucketLabel": "Banque :", "billingFrequencyOverrideLabel": "Remplacement de la fréquence de facturation :", "serviceQuantityRow": "{{serviceName}} (Qté : {{quantity}})", "unitSingular": "unité", "unitsFallback": "unités", "hourSingular": "heure" }, "po": { "title": "Exigences du bon de commande", "requiredLabel": "Bon de commande requis :", "numberLabel": "Numéro de bon de commande :", "amountLabel": "Montant du bon de commande :" }, "bucket": { "includedHours": "{{formattedValue}} heures", "includedUnits": "{{formattedValue}} {{unitLabel}}", "overageLabel": "dépassement {{rate}}/{{unit}}", "rolloverEnabled": "report activé", "rolloverDisabled": "pas de report", "summaryWithOverage": "{{included}}, {{overage}}, {{rollover}}", "summaryWithoutOverage": "{{included}}, {{rollover}}" }, "fixed": { "badgeCount": { "one": "{{count}} service", "other": "{{count}} services" }, "monthlyBaseRate": "Tarif de base mensuel :", "partialPeriodAdjustment": "Ajustement de période partielle :" }, "recurring": { "cadenceOwner": { "label": "Propriétaire de la cadence :", "contractAnniversary": "Anniversaire du contrat", "clientBillingSchedule": "Calendrier de facturation du client" }, "firstInvoice": { "contract": { "advance": "Première facture : émise lors de la fenêtre d'anniversaire du contrat qui ouvre la première période de service couverte.", "arrears": "Première facture : émise lors de la prochaine fenêtre d'anniversaire du contrat après la clôture de la première période de service couverte." }, "client": { "advance": "Première facture : émise lors de la première fenêtre du calendrier de facturation client couvrant la période de service.", "arrears": "Première facture : émise lors de la prochaine fenêtre du calendrier de facturation client après la clôture de la première période de service couverte." } }, "partialPeriod": { "enabled": "Les périodes partielles ajustent les frais récurrents à la portion couverte de la période de service.", "disabled": "Les périodes partielles conservent le plein tarif récurrent même lorsque les dates du contrat tombent à l'intérieur d'une période de service." }, "materialized": { "heading": "Périodes futures matérialisées illustratives", "serviceLabel": "Service :", "invoiceWindowLabel": "Fenêtre de facturation :", "summary": { "contract": "Si vous enregistrez cette ligne récurrente, les périodes futures se matérialiseraient selon un aperçu de type anniversaire ancré au 8 avant la génération des factures.", "client": "Si vous enregistrez cette ligne récurrente, les périodes futures se matérialiseraient selon l'aperçu du calendrier de facturation client avant la génération des factures." } } }, "products": { "badgeCount": { "one": "{{count}} produit", "other": "{{count}} produits" }, "overrideRate": "- remplacement {{rate}}/{{currencyCode}}" }, "hourly": { "badgeCount": { "one": "{{count}} service", "other": "{{count}} services" }, "servicesAndRates": "Services et tarifs", "serviceRateRow": "{{serviceName}} - {{rate}}/heure", "minimumTimeLabel": "Temps minimum :", "roundUpLabel": "Arrondi :", "minutesValue": "{{count}} minutes" }, "usage": { "badgeCount": { "one": "{{count}} service", "other": "{{count}} services" }, "serviceRateRow": "{{serviceName}} - {{rate}}/{{unit}}" }, "total": { "title": "Total mensuel estimé", "description": "Frais fixes uniquement. Les services horaires et à l'usage sont facturés séparément selon l'usage réel.", "perMonth": "par mois" }, "finalChecklist": { "title": "Avant de terminer :", "itemRates": "Vérifiez tous les tarifs, quantités et banques", "itemPo": "Confirmez les exigences de bon de commande (le cas échéant)", "itemDates": "Vérifiez les dates de début et de fin", "itemEditLater": "Rappel : vous pouvez modifier le contrat plus tard si nécessaire" } }, "templateWizard": { "title": { "createContractTemplate": "Créer un modèle de contrat" }, "steps": { "templateBasics": "Informations de base du modèle", "fixedFeeBlocks": "Blocs à frais fixes", "products": "Produits", "hourlyBlocks": "Blocs horaires", "usageBasedBlocks": "Blocs à l'usage", "reviewPublish": "Vérifier et publier" }, "actions": { "continue": "Continuer", "publishTemplate": "Publier le modèle" }, "errors": { "failedToCreateTemplate": "Échec de la création du modèle" }, "validation": { "templateNameRequired": "Le nom du modèle est requis", "billingFrequencyRequired": "La fréquence de facturation est requise", "duplicateNameExists": "Un modèle portant ce nom existe déjà", "templateNameAlreadyInUse": "Le nom du modèle est déjà utilisé", "atLeastOneServiceRequired": "Au moins un service est requis", "unsupportedRecurringAuthoringCombination": "Combinaison de création récurrente non prise en charge pour les services {{lineType}} : la cadence d'anniversaire du contrat prend actuellement en charge les fréquences de facturation {{supportedFrequencies}}. {{billingFrequency}} n'est pas encore pris en charge. Utilisez l'une des fréquences prises en charge ou facturez selon le calendrier de facturation client à la place.", "recurring": { "frequency": { "monthly": "mensuellement", "quarterly": "trimestriellement", "semi-annually": "semestriellement", "annually": "annuellement", "weekly": "hebdomadairement", "biweekly": "bihebdomadairement" }, "lineType": { "fixed": "Fixe", "product": "Produit", "hourly": "Horaire", "usage": "Utilisation" } } } }, "templateBasics": { "heading": "Informations de base du modèle", "description": "Nommez ce modèle de contrat et consignez les conseils généraux. La tarification et les spécificités client seront finalisées lorsque le modèle sera appliqué à un client.", "fields": { "templateName": "Nom du modèle *", "internalNotes": "Notes internes", "recommendedBillingFrequency": "Fréquence de facturation recommandée *" }, "placeholders": { "templateName": "Services gérés de base, offre de support premium, etc.", "internalNotes": "Décrivez où ce modèle s'applique, les conseils d'intégration ou les exigences d'approbation.", "billingFrequency": "Sélectionnez la cadence de facturation" }, "help": { "templateName": "Utilisez un nom descriptif pour que les équipes puissent identifier rapidement le bon modèle.", "internalNotes": "Ces notes restent avec le modèle pour fournir un contexte lorsque les coéquipiers l'utilisent.", "billingFrequency": "Définit la cadence par défaut lorsque le modèle est appliqué. Elle peut toujours être ajustée par client." } }, "templateFixed": { "heading": "Services à frais fixes", "description": "Configurez les services facturés à un tarif fixe à chaque cycle de facturation. Vous pouvez toujours suivre le temps, mais la facturation est basée sur ce montant fixe.", "info": { "title": "Que sont les services à frais fixes ?", "description": "Ces services ont un prix récurrent fixe. Vous continuerez à suivre les entrées de temps pour ces services, mais la facturation est basée sur le tarif fixe, et non sur les heures travaillées." }, "cadenceOwner": { "label": "Propriétaire de la cadence", "help": "Choisissez quel calendrier doit définir les périodes de service récurrentes pour les contrats créés à partir de ce modèle.", "client": { "label": "Facturer selon le calendrier de facturation client", "description": "Utilisez le calendrier de facturation client pour que les contrats créés à partir de ce modèle restent alignés sur la cadence de facturation du client." }, "contract": { "label": "Facturer à l'anniversaire du contrat", "description": "Utilisez ce calendrier d'anniversaire de ligne de contrat. La cadence de contrat prend actuellement en charge la facturation récurrente mensuelle, trimestrielle, semestrielle et annuelle." } }, "billingTiming": { "arrears": "À terme échu - facturer après la clôture de la période", "advance": "Par avance - facturer au début de la période" }, "fields": { "billingTiming": "Moment de facturation", "adjustPartialPeriods": "Ajuster pour les périodes partielles", "services": "Services", "serviceNumber": "Service {{index}}", "quantityOptional": "Quantité (facultatif)" }, "placeholders": { "billingTiming": "Sélectionnez le moment de facturation", "selectService": "Sélectionnez un service" }, "help": { "adjustPartialPeriods": "Utilisez ceci lorsque les contrats créés à partir du modèle doivent ajuster les frais récurrents si le service commence ou se termine à l'intérieur d'une période.", "quantity": "Quantité suggérée lors de la création de contrats" }, "preview": { "unknownService": "Service inconnu", "cadenceOwnerLabel": "Propriétaire de la cadence :", "billingTimingLabel": "Moment de facturation :", "serviceLabel": "Service :", "invoiceWindowLabel": "Fenêtre de facturation :" }, "actions": { "addService": "Ajouter un service" } }, "templateProducts": { "heading": "Produits", "description": "Associez des produits au modèle. Lorsqu'un contrat est créé à partir de ce modèle, les produits seront facturés à chaque cycle en utilisant le prix catalogue du produit dans la devise du contrat.", "fields": { "products": "Produits", "productNumber": "Produit {{index}}", "quantityOptional": "Quantité (facultatif)" }, "placeholders": { "selectProduct": "Sélectionnez un produit" }, "help": { "quantity": "Quantité suggérée lors de la création de contrats" }, "actions": { "addProduct": "Ajouter un produit" }, "preview": { "unknownProduct": "Produit inconnu" } }, "templateHourly": { "heading": "Services horaires", "description": "Sélectionnez les services facturés en fonction du temps suivi. Les tarifs seront déterminés par la tarification du service dans la devise du client lors de la création du contrat.", "info": { "title": "Que sont les services horaires ?", "description": "Ces services sont facturés en fonction du temps réellement suivi. Chaque entrée de temps est multipliée par le tarif horaire du service pour calculer le montant de la facture." }, "rounding": { "heading": "Paramètres d'arrondi du temps", "minimumBillableTime": "Temps minimum facturable (minutes)", "minimumBillableTimeHelp": "Exemple : 15 minutes. Toute entrée de temps en dessous de ce seuil est arrondie à la hausse.", "roundUpToNearest": "Arrondir au plus proche (minutes)", "roundUpToNearestHelp": "Exemple : 15 minutes. Les entrées de temps sont arrondies à la hausse au plus proche intervalle.", "defaultIntervalPlaceholder": "15" }, "fields": { "services": "Services", "serviceNumber": "Service {{index}}", "setBucketOfHours": "Définir une banque d'heures" }, "placeholders": { "selectService": "Sélectionnez un service" }, "preview": { "unknownService": "Service inconnu" }, "actions": { "addService": "Ajouter un service" } }, "templateUsage": { "heading": "Services à l'usage", "description": "Sélectionnez les services facturés en fonction de l'usage ou de la consommation. Les tarifs seront déterminés par la tarification du service dans la devise du client lors de la création du contrat.", "info": { "title": "Que sont les services à l'usage ?", "description": "Ces services sont facturés en fonction de la consommation réelle ou des indicateurs d'usage. Chaque unité consommée est multipliée par le tarif unitaire du service pour calculer le montant de la facture." }, "fields": { "services": "Services", "serviceNumber": "Service {{index}}", "unitOfMeasureOptional": "Unité de mesure (facultatif)", "setBucketAllocation": "Définir l'allocation de la banque" }, "placeholders": { "selectService": "Sélectionnez un service", "unitOfMeasure": "par ex., Go, appel API, utilisateur" }, "help": { "unitOfMeasure": "Remplacer l'unité de mesure par défaut pour ce service." }, "preview": { "unknownService": "Service inconnu" }, "actions": { "addService": "Ajouter un service" } }, "templateReview": { "heading": "Vérifier le modèle", "description": "Confirmez le contenu du modèle. Les tarifs sont déterminés par la tarification de chaque service dans la devise du client lorsqu'un contrat est créé à partir de ce modèle.", "sections": { "basics": "Informations de base du modèle", "fixedFeeServices": "Services à frais fixes", "products": "Produits", "hourlyServices": "Services horaires", "usageBasedServices": "Services à l'usage" }, "fields": { "templateName": "Nom du modèle", "billingFrequency": "Fréquence de facturation", "internalNotes": "Notes internes" }, "fallback": { "none": "—", "noNotes": "Aucune note ajoutée.", "unnamedService": "Service sans nom", "unnamedProduct": "Produit sans nom" }, "empty": { "fixed": "Aucun service à frais fixes sélectionné.", "products": "Aucun produit sélectionné.", "hourly": "Aucun service horaire sélectionné.", "usage": "Aucun service à l'usage sélectionné." }, "common": { "quantity": "Quantité :", "bucket": "Banque :", "enabled": "Activé", "disabled": "Désactivé" }, "fixed": { "cadenceOwnerLabel": "Propriétaire de la cadence :", "cadenceOwner": { "contract": "Anniversaire du contrat", "client": "Calendrier de facturation du client" }, "billingTimingLabel": "Moment de facturation :", "billingTiming": { "advance": "Par avance", "arrears": "À terme échu" }, "partialPeriodLabel": "Ajustement de période partielle :", "serviceLabel": "Service :", "invoiceWindowLabel": "Fenêtre de facturation :" }, "hourly": { "minimumBillableTimeLabel": "Temps minimum facturable :", "roundUpLabel": "Arrondi :", "minutes": "{{count}} minutes" }, "usage": { "unitLabel": "Unité :" }, "bucket": { "hoursIncluded": "{{value}} heures incluses", "unitsIncluded": "{{value}} {{unit}} inclus", "unitsFallback": "unités", "overage": "Dépassement ${{amount}}/{{unit}}", "hourSingular": "heure", "unitSingular": "unité", "rolloverEnabled": "Report activé", "period": "Période : {{period}}" } }, "templatePreview": { "serviceType": { "fixedFee": "Frais fixe", "products": "Produits", "hourly": "Horaire", "usageBased": "À l'usage" }, "selectedHeading": "Services {{type}} sélectionnés ({{count}})", "labels": { "qty": "Qté :" }, "removeDialog": { "title": "Retirer le préréglage de ligne de contrat", "message": "Voulez-vous vraiment retirer « {{serviceName}} » de « {{presetName}} » ? Cela retirera également tous les autres services associés à ce préréglage de ligne de contrat.", "confirm": "Tout retirer", "cancel": "Annuler" } }, "recurringPreview": { "rangeSeparator": "{{start}} au {{end}}", "cadenceOwner": { "contract": { "label": "Anniversaire du contrat", "summary": "Les périodes de service et fenêtres de facturation suivent les dates d'anniversaire du contrat." }, "client": { "label": "Calendrier de facturation client", "summary": "Les périodes de service et fenêtres de facturation restent alignées sur le calendrier de facturation du client." } }, "billingTiming": { "advance": { "label": "Par avance", "summary": "Les factures sont émises à l'ouverture de la période de service due." }, "arrears": { "label": "À terme échu", "summary": "Les factures sont émises après la clôture de la période de service couverte." } }, "firstInvoice": { "contract": { "advance": "Première facture : émise lors de la fenêtre d'anniversaire du contrat qui ouvre la première période de service couverte.", "arrears": "Première facture : émise lors de la prochaine fenêtre d'anniversaire du contrat après la clôture de la première période de service couverte." }, "client": { "advance": "Première facture : émise lors de la première fenêtre du calendrier de facturation client couvrant la période de service.", "arrears": "Première facture : émise lors de la prochaine fenêtre du calendrier de facturation client après la clôture de la première période de service couverte." } }, "partialPeriod": { "prorated": "Les périodes partielles ajustent les frais récurrents à la portion couverte de la période de service.", "full": "Les périodes partielles conservent le plein tarif récurrent même lorsque les dates du contrat tombent à l'intérieur d'une période de service." }, "materializedPeriods": { "heading": "Périodes futures matérialisées illustratives", "summary": { "contract": "Si vous enregistrez cette ligne récurrente, les périodes futures se matérialiseraient selon un aperçu de type anniversaire ancré au 8 avant la génération des factures.", "client": "Si vous enregistrez cette ligne récurrente, les périodes futures se matérialiseraient selon l'aperçu du calendrier de facturation client avant la génération des factures." } } } }