Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
332 lines
13 KiB
JSON
332 lines
13 KiB
JSON
{
|
|
"title": "Facturation",
|
|
"overview": "Aperçu",
|
|
"tabs": {
|
|
"overview": "Aperçu",
|
|
"invoices": "Factures",
|
|
"quotes": "Devis"
|
|
},
|
|
"currentContractLine": "Forfait actuel",
|
|
"nextInvoice": "Prochaine facture",
|
|
"viewContractLineDetails": "Voir les détails du forfait",
|
|
"viewAllInvoices": "Voir toutes les factures",
|
|
"failedToLoad": "Échec du chargement des factures. Veuillez réessayer.",
|
|
"invoices": {
|
|
"locations": {
|
|
"groupHeading": "Emplacement",
|
|
"subtotal": "Sous-total de l'emplacement",
|
|
"unassigned": "Éléments sans emplacement",
|
|
"pickerPlaceholder": "Sélectionnez un emplacement",
|
|
"addLocationButton": "+ Ajouter un emplacement",
|
|
"removeGroup": "Retirer l'emplacement",
|
|
"emptyGroup": "Aucun élément pour le moment pour cet emplacement.",
|
|
"needMoreLocations": "Ce client n'a qu'un seul emplacement actif. Ajoutez un deuxième emplacement dans les paramètres du client pour activer la facturation multi-sites.",
|
|
"notSet": "Aucun emplacement sélectionné"
|
|
}
|
|
},
|
|
"payments": "Paiements",
|
|
"contractLines": "Lignes de contrat de service",
|
|
"usage": "Indicateurs d'utilisation",
|
|
"hoursByService": "Heures par service",
|
|
"invoice": {
|
|
"number": "Facture n°",
|
|
"date": "Date de la facture",
|
|
"dueDate": "Date d'échéance",
|
|
"dueDateText": "Échéance le {{date}}",
|
|
"noDueDate": "Pas de date d'échéance",
|
|
"allPaid": "Toutes les factures payées",
|
|
"amount": "Montant",
|
|
"status": "Statut",
|
|
"paid": "Payée",
|
|
"unpaid": "Impayée",
|
|
"overdue": "En retard",
|
|
"partial": "Partielle",
|
|
"draft": "Brouillon",
|
|
"finalized": "Finalisée",
|
|
"sendEmail": "Envoyer par e-mail",
|
|
"sendEmailFailed": "Échec de l'envoi de la facture par e-mail. Veuillez réessayer.",
|
|
"loadFailed": "Échec du chargement des détails de la facture. Veuillez réessayer.",
|
|
"downloadFailed": "Échec du téléchargement du PDF. Veuillez réessayer.",
|
|
"download": "Télécharger le PDF",
|
|
"view": "Voir les détails",
|
|
"pay": "Payer maintenant",
|
|
"paymentHistory": "Historique des paiements",
|
|
"details": "Détails de la facture",
|
|
"lineItems": "Postes",
|
|
"description": "Description",
|
|
"quantity": "Quantité",
|
|
"unitPrice": "Prix unitaire",
|
|
"total": "Total",
|
|
"noLineItems": "Aucun poste disponible",
|
|
"subtotal": "Sous-total",
|
|
"tax": "Taxes",
|
|
"taxBreakdown": "Ventilation des taxes",
|
|
"manualInvoice": "Facture manuelle",
|
|
"credits": "Crédits",
|
|
"financialArtifactSummary": "Facture financière uniquement. Les périodes de service récurrentes n'apparaissent que sur les lignes de détail récurrentes.",
|
|
"servicePeriod": "Période de service",
|
|
"servicePeriods": "Périodes de service",
|
|
"financialOnlyLine": "Ligne financière uniquement. Aucune période de service récurrente.",
|
|
"downloadStarted": "Préparation du téléchargement PDF...",
|
|
"downloadComplete": "PDF téléchargé avec succès.",
|
|
"emailStarted": "Envoi de l'e-mail de facture...",
|
|
"emailSent": "E-mail de facture envoyé avec succès.",
|
|
"advanceTiming": "Par avance",
|
|
"arrearsTiming": "À terme échu",
|
|
"paymentSummaryServicePeriods": "Le paiement règle le solde de la facture pour ces périodes de service récurrentes. Ouvrez les détails de la facture ci-dessous pour le détail complet ligne par ligne."
|
|
},
|
|
"frequency": {
|
|
"monthly": "Mensuel",
|
|
"quarterly": "Trimestriel",
|
|
"annual": "Annuel",
|
|
"weekly": "Hebdomadaire",
|
|
"biweekly": "Bihebdomadaire"
|
|
},
|
|
"contractLine": {
|
|
"detailsTitle": "Détails du forfait",
|
|
"name": "Nom du forfait",
|
|
"frequency": "Fréquence de facturation",
|
|
"startDate": "Date de début",
|
|
"endDate": "Date de fin",
|
|
"noEndDate": "Pas de date de fin",
|
|
"status": "Statut",
|
|
"customRate": "Tarif personnalisé",
|
|
"serviceCategory": "Catégorie de service",
|
|
"statusDescription": "Ce forfait est actuellement {{status}} et {{expiry}}.",
|
|
"expiresOn": "expire le {{date}}",
|
|
"noExpiry": "n'expire pas",
|
|
"cadenceOwnerContractDescription": "Les périodes de service récurrentes suivent la cadence de l'anniversaire du contrat pour cette ligne.",
|
|
"cadenceOwnerClientDescription": "Les périodes de service récurrentes suivent le calendrier de facturation du client pour cette ligne.",
|
|
"cadenceOwnerContract": "Anniversaire du contrat",
|
|
"cadenceOwnerClient": "Calendrier de facturation du client",
|
|
"billingTimingAdvance": "Par avance",
|
|
"billingTimingArrears": "À terme échu",
|
|
"cadenceOwner": "Propriétaire de la cadence",
|
|
"billingTiming": "Moment de facturation"
|
|
},
|
|
"payment": {
|
|
"method": "Mode de paiement",
|
|
"date": "Date de paiement",
|
|
"amount": "Montant",
|
|
"reference": "Référence",
|
|
"status": "Statut"
|
|
},
|
|
"bucket": {
|
|
"title": "Heures de service",
|
|
"remaining": "Heures restantes",
|
|
"used": "Heures utilisées",
|
|
"total": "Total d'heures",
|
|
"usage": "Utilisation",
|
|
"overage": "Dépassement",
|
|
"noContractLineTitle": "Aucune banque d'heures disponible",
|
|
"noContractLineDescription": "Aucun forfait d'heures actif pour votre compte."
|
|
},
|
|
"messages": {
|
|
"noInvoices": "Aucune facture trouvée",
|
|
"loadingInvoices": "Chargement des factures...",
|
|
"paymentSuccessful": "Paiement traité avec succès",
|
|
"paymentFailed": "Échec du paiement. Veuillez réessayer."
|
|
},
|
|
"quotes": {
|
|
"pendingQuotes": "Devis en attente",
|
|
"awaitingResponse": "{{count}} devis en attente de votre réponse",
|
|
"noPending": "Aucun devis en attente",
|
|
"viewAll": "Voir tous les devis",
|
|
"locations": {
|
|
"primaryLocationHeading": "Emplacement du devis",
|
|
"changeButton": "Modifier",
|
|
"cancelChange": "Annuler",
|
|
"notSet": "Aucun emplacement sélectionné",
|
|
"groupHeading": "Emplacement",
|
|
"pickerPlaceholder": "Sélectionnez un emplacement",
|
|
"addLocationButton": "+ Ajouter un emplacement",
|
|
"removeGroup": "Retirer l'emplacement",
|
|
"needMoreLocations": "Ce client n'a qu'un seul emplacement actif. Ajoutez un deuxième emplacement dans les paramètres du client pour activer les devis multi-sites.",
|
|
"emptyGroup": "Aucun élément pour le moment pour cet emplacement.",
|
|
"subtotal": "Sous-total de l'emplacement",
|
|
"unassigned": "Éléments sans emplacement"
|
|
},
|
|
"lineItems": {
|
|
"searchPlaceholder": "Rechercher ou saisir un nom d'élément personnalisé..."
|
|
}
|
|
},
|
|
"enums": {
|
|
"billingFrequency": {
|
|
"weekly": "Hebdomadaire",
|
|
"monthly": "Mensuel",
|
|
"quarterly": "Trimestriel",
|
|
"annually": "Annuel"
|
|
},
|
|
"contractLineType": {
|
|
"Fixed": "Forfait",
|
|
"Hourly": "Horaire",
|
|
"Usage": "À l'usage"
|
|
},
|
|
"quoteStatus": {
|
|
"draft": "Brouillon",
|
|
"pending_approval": "En attente d'approbation",
|
|
"approved": "Approuvé",
|
|
"sent": "Envoyé",
|
|
"accepted": "Accepté",
|
|
"rejected": "Refusé",
|
|
"expired": "Expiré",
|
|
"converted": "Converti",
|
|
"cancelled": "Annulé",
|
|
"superseded": "Remplacé",
|
|
"archived": "Archivé"
|
|
},
|
|
"quoteStatusDescription": {
|
|
"draft": "Le devis est en cours de préparation",
|
|
"pending_approval": "Le devis attend une approbation interne",
|
|
"approved": "Le devis est approuvé et prêt à être envoyé",
|
|
"sent": "Le devis a été envoyé au client",
|
|
"accepted": "Le client a accepté le devis",
|
|
"rejected": "Le client a refusé le devis",
|
|
"expired": "Le devis a dépassé sa date de validité",
|
|
"converted": "Le devis a été converti en facturation",
|
|
"cancelled": "Le devis a été annulé avant conversion",
|
|
"superseded": "Le devis a été remplacé par une révision",
|
|
"archived": "Le devis est archivé et en lecture seule"
|
|
},
|
|
"invoiceStatus": {
|
|
"draft": "Brouillon",
|
|
"sent": "Envoyée",
|
|
"paid": "Payée",
|
|
"overdue": "En retard",
|
|
"cancelled": "Annulée",
|
|
"pending": "En attente",
|
|
"prepayment": "Acompte",
|
|
"partially_applied": "Partiellement appliquée"
|
|
},
|
|
"invoiceStatusDescription": {
|
|
"draft": "Factures en cours de préparation, non envoyées au client",
|
|
"sent": "Factures finalisées et envoyées au client",
|
|
"paid": "Factures entièrement payées prêtes pour rapprochement",
|
|
"overdue": "Factures finalisées dont la date d'échéance est dépassée",
|
|
"cancelled": "Factures annulées ou invalidées",
|
|
"pending": "Factures en attente d'approbation ou de traitement",
|
|
"prepayment": "Factures d'acompte ou de dépôt",
|
|
"partially_applied": "Factures avec paiements partiels appliqués"
|
|
}
|
|
},
|
|
"quoteForm": {
|
|
"noticeTitle": "Devis",
|
|
"readOnlyNotice": "Ce devis est en lecture seule. Pour apporter des modifications, créez une nouvelle révision.",
|
|
"breadcrumb": {
|
|
"billing": "Facturation",
|
|
"quotes": "Devis",
|
|
"quoteTemplates": "Modèles de devis",
|
|
"newQuote": "Nouveau devis"
|
|
},
|
|
"header": {
|
|
"editQuote": "Modifier le devis",
|
|
"newQuote": "Nouveau devis",
|
|
"editTemplate": "Modifier le modèle de devis",
|
|
"newTemplate": "Nouveau modèle de devis",
|
|
"quoteTotalLabel": "Total du devis",
|
|
"version": "v{{version}}"
|
|
},
|
|
"subtitle": {
|
|
"forClient": "Pour {{clientName}}",
|
|
"expires": "Expire le {{date}}",
|
|
"template": "Modèle · {{description}}"
|
|
},
|
|
"actions": {
|
|
"pdf": "PDF",
|
|
"duplicate": "Dupliquer",
|
|
"back": "Retour",
|
|
"cancel": "Annuler",
|
|
"previewPdf": "Aperçu PDF",
|
|
"moreActions": "Plus d'actions",
|
|
"saving": "Enregistrement…",
|
|
"saveQuote": "Enregistrer le devis",
|
|
"saveTemplate": "Enregistrer le modèle",
|
|
"sendToClient": "Envoyer au client",
|
|
"requestApproval": "Demander l'approbation",
|
|
"requestChanges": "Demander des modifications",
|
|
"approve": "Approuver",
|
|
"revise": "Réviser",
|
|
"createNewRevision": "Créer une nouvelle révision",
|
|
"convertToContract": "Convertir en contrat",
|
|
"convertToInvoice": "Convertir en facture",
|
|
"convertToBoth": "Convertir en les deux",
|
|
"resend": "Renvoyer",
|
|
"sendReminder": "Envoyer un rappel",
|
|
"cancelQuote": "Annuler le devis"
|
|
},
|
|
"banners": {
|
|
"acceptedTitle": "Devis accepté",
|
|
"acceptedBy": "Accepté par : {{name}}",
|
|
"acceptedOn": "Accepté le : {{date}}",
|
|
"rejectedTitle": "Devis rejeté",
|
|
"rejectedOn": "Rejeté le : {{date}}",
|
|
"rejectedReason": "Motif : {{reason}}",
|
|
"convertedTitle": "Devis converti",
|
|
"convertedDescription": "Ce devis a été converti en contrat et/ou facture."
|
|
},
|
|
"essentials": {
|
|
"title": "Essentiels",
|
|
"subtitle": "Affiché au client sur le document du devis.",
|
|
"titleField": "Titre",
|
|
"descriptionField": "Description / Portée",
|
|
"descriptionHelp": "Un court paragraphe qui apparaît juste sous le titre du PDF.",
|
|
"client": "Client",
|
|
"clientPlaceholder": "Sélectionner un client",
|
|
"contact": "Contact",
|
|
"contactPlaceholder": "Sélectionner un contact",
|
|
"currency": "Devise",
|
|
"currencyPlaceholder": "Sélectionner une devise",
|
|
"quoteDate": "Date du devis",
|
|
"validUntil": "Valable jusqu'au",
|
|
"validUntilHelp": "Le devis expire automatiquement à cette date."
|
|
},
|
|
"lineItems": {
|
|
"title": "Lignes",
|
|
"subtitleEmpty": "Aucun élément pour le moment.",
|
|
"subtitleCount": "{{count}} éléments · {{mix}}",
|
|
"mixBoth": "récurrent et ponctuel",
|
|
"mixRecurring": "récurrent",
|
|
"mixOneTime": "ponctuel",
|
|
"addLocation": "+ Ajouter un emplacement",
|
|
"fromTemplate": "+ À partir du modèle"
|
|
},
|
|
"clientFacing": {
|
|
"title": "Texte visible par le client",
|
|
"subtitle": "Apparaît sur le PDF, sous les totaux.",
|
|
"notes": "Notes au client (facultatif)",
|
|
"terms": "Conditions générales (facultatif)"
|
|
},
|
|
"moreDetails": {
|
|
"title": "Plus de détails",
|
|
"subtitle": "Numéro de BC, opportunité, mise en page PDF",
|
|
"poNumber": "Numéro de BC",
|
|
"opportunity": "Opportunité",
|
|
"opportunityPlaceholder": "ID d'opportunité (facultatif)",
|
|
"pdfLayout": "Mise en page PDF",
|
|
"pdfLayoutPlaceholder": "Utiliser la mise en page par défaut",
|
|
"pdfLayoutHelp": "Choisissez la mise en page vue par le client. Laissez vide pour utiliser la valeur par défaut du locataire."
|
|
},
|
|
"footer": {
|
|
"savedAgo": "Modifications enregistrées · {{ago}}",
|
|
"saving": "Enregistrement…",
|
|
"unsaved": "Modifications non enregistrées"
|
|
},
|
|
"sidebar": {
|
|
"quoteTotal": "Total du devis",
|
|
"recurringPerMonth": "{{amount}} récurrent / mois",
|
|
"subtotal": "Sous-total",
|
|
"discounts": "Remises",
|
|
"tax": "Taxe",
|
|
"statusLabel": "Statut",
|
|
"approvalLabel": "Approbation",
|
|
"approvalMessage": "Les devis nécessitent l'approbation du responsable des ventes avant envoi.",
|
|
"documentLayoutLabel": "Mise en page du document",
|
|
"defaultLayout": "Valeur par défaut du locataire",
|
|
"standardLayout": "Standard",
|
|
"customLayout": "Personnalisé",
|
|
"tenantDefault": "Valeur par défaut du locataire",
|
|
"changeLayout": "Modifier"
|
|
}
|
|
}
|
|
}
|