From da7de1ac7d96890e7acada2ecafe4f76ed97463a Mon Sep 17 00:00:00 2001 From: kdeterme Date: Wed, 2 Sep 2026 12:09:55 +0200 Subject: [PATCH] chore: update internationalization translation files and model reference locations --- .../contracts/locale/en/LC_MESSAGES/django.mo | Bin 27848 -> 31363 bytes .../contracts/locale/en/LC_MESSAGES/django.po | 664 +++++++--- .../contracts/locale/fr/LC_MESSAGES/django.mo | Bin 34438 -> 38227 bytes .../contracts/locale/fr/LC_MESSAGES/django.po | 1112 +++++++++++------ .../contracts/locale/nl/LC_MESSAGES/django.mo | Bin 28902 -> 32544 bytes .../contracts/locale/nl/LC_MESSAGES/django.po | 674 +++++++--- .../templates/contracts/teams_index.html | 90 +- 7 files changed, 1769 insertions(+), 771 deletions(-) diff --git a/loko/contracts/locale/en/LC_MESSAGES/django.mo b/loko/contracts/locale/en/LC_MESSAGES/django.mo index 2e3ab19efd4914cecc310470c47d23476c5cd85b..5f3c6b46420c6b19779412068cc73b055da307e4 100644 GIT binary patch delta 12283 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 GgZ~e8Vortt delta 8782 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 diff --git a/loko/contracts/locale/en/LC_MESSAGES/django.po b/loko/contracts/locale/en/LC_MESSAGES/django.po index d84813e..eda1a84 100644 --- a/loko/contracts/locale/en/LC_MESSAGES/django.po +++ b/loko/contracts/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-21 12:07+0200\n" +"POT-Creation-Date: 2026-09-02 12:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,8 +26,8 @@ msgstr "" #: contracts/forms.py:67 msgid "" -"Le contrat ne peut plus être modifié car des interventions sont déjà liées à " -"cette commande." +"Le contrat ne peut plus être modifié car des interventions sont déjà liées à" +" cette commande." msgstr "" "The contract can no longer be modified because interventions are already " "linked to this order." @@ -82,7 +82,7 @@ msgstr "Order reference" msgid "Description" msgstr "Description" -#: contracts/forms.py:136 contracts/models.py:963 +#: contracts/forms.py:136 contracts/models.py:1025 #: contracts/templates/contracts/contracts_order_quote_form.html:74 #: contracts/templates/contracts/contracts_orders_detail.html:571 #: contracts/templates/contracts/contracts_orders_detail.html:692 @@ -102,7 +102,7 @@ msgstr "E.g. Supplier invoice, Delivery note..." msgid "Titre du justificatif" msgstr "Justificative title" -#: contracts/forms.py:201 contracts/models.py:875 contracts/models.py:1047 +#: contracts/forms.py:201 contracts/models.py:937 contracts/models.py:1109 #: contracts/templates/contracts/contracts_index.html:201 msgid "Fichier" msgstr "File" @@ -230,9 +230,10 @@ msgstr "Contractor team" msgid "Équipes de sociétés/organismes" msgstr "Contractor teams" -#: contracts/models.py:135 +#: contracts/models.py:135 contracts/templates/contracts/teams_index.html:703 +#: contracts/templates/contracts/teams_index.html:1547 msgid "Équipes" -msgstr "Team" +msgstr "Teams" #: contracts/models.py:136 msgid "Équipes auxquelles ce membre appartient." @@ -244,19 +245,19 @@ msgstr "Maintenance types" #: contracts/models.py:143 msgid "" -"Types de maintenance visibles par défaut pour cet utilisateur. Si vide, tous " -"les types sont visibles. Les interventions assignées à l'utilisateur restent " -"toujours visibles." +"Types de maintenance visibles par défaut pour cet utilisateur. Si vide, tous" +" les types sont visibles. Les interventions assignées à l'utilisateur " +"restent toujours visibles." msgstr "" "Default maintenance types visible for this user. If empty, all types are " "visible. Interventions assigned to the user remain always visible." -#: contracts/models.py:178 +#: contracts/models.py:178 contracts/models.py:223 msgid "Membre" msgstr "Number" -#: contracts/models.py:186 contracts/models.py:222 -#: contracts/templates/contracts/teams_index.html:349 +#: contracts/models.py:186 contracts/models.py:266 +#: contracts/templates/contracts/teams_index.html:973 msgid "Équipe" msgstr "Team" @@ -280,41 +281,95 @@ msgstr "A member's team history" msgid "Historiques d'équipe des membres" msgstr "Member team histories" -#: contracts/models.py:216 +#: contracts/models.py:213 contracts/templates/contracts/teams_index.html:890 +msgid "Congé / RTT" +msgstr "Leave / PTO" + +#: contracts/models.py:214 contracts/templates/contracts/teams_index.html:891 +msgid "Maladie / Arrêt" +msgstr "Sick leave" + +#: contracts/models.py:215 contracts/templates/contracts/teams_index.html:892 +msgid "Formation" +msgstr "Training" + +#: contracts/models.py:216 contracts/templates/contracts/teams_index.html:893 +msgid "Autre" +msgstr "Other" + +#: contracts/models.py:225 +#, fuzzy +#| msgid "Date d'entrée" +msgid "Date d'absence" +msgstr "Creation date" + +#: contracts/models.py:231 contracts/templates/contracts/teams_index.html:888 +msgid "Motif d'absence" +msgstr "Absence reason" + +#: contracts/models.py:233 contracts/models.py:1027 +#: contracts/templates/contracts/contracts_orders_detail.html:574 +#: contracts/templates/contracts/contracts_orders_detail.html:696 +msgid "Commentaire" +msgstr "Comment" + +#: contracts/models.py:240 +#, fuzzy +#| msgid "Enregistrer" +msgid "Enregistré par" +msgstr "Save" + +#: contracts/models.py:242 +#, fuzzy +#| msgid "Créé par" +msgid "Créé le" +msgstr "Created by" + +#: contracts/models.py:248 +#, fuzzy +#| msgid "Aucun membre" +msgid "Absence d'un membre" +msgstr "No member" + +#: contracts/models.py:249 +msgid "Absences des membres" +msgstr "" + +#: contracts/models.py:260 msgid "Configuration utilisateur" msgstr "User configuration" -#: contracts/models.py:226 +#: contracts/models.py:270 msgid "Peut consulter" msgstr "Can consult" -#: contracts/models.py:227 +#: contracts/models.py:271 msgid "L'utilisateur peut voir cette équipe et ses membres." msgstr "The user can see this team and its members." -#: contracts/models.py:231 +#: contracts/models.py:275 msgid "Peut éditer" msgstr "Can edit" -#: contracts/models.py:232 +#: contracts/models.py:276 msgid "" "L'utilisateur peut créer/supprimer des équipes et des membres, et déplacer " "des membres entre équipes." msgstr "" -#: contracts/models.py:240 +#: contracts/models.py:284 msgid "Accès utilisateur à une équipe" msgstr "User access to a team" -#: contracts/models.py:241 +#: contracts/models.py:285 msgid "Accès utilisateurs aux équipes" msgstr "User access to teams" -#: contracts/models.py:259 +#: contracts/models.py:303 msgid "Emails en copie (CC)" msgstr "CC emails" -#: contracts/models.py:260 +#: contracts/models.py:304 msgid "" "Adresses email à ajouter en copie des notifications (séparées par des " "virgules ou points-virgules)" @@ -322,321 +377,347 @@ msgstr "" "Email addresses to add in copy of notifications (separated by commas or " "semicolons)" -#: contracts/models.py:264 +#: contracts/models.py:308 msgid "Envoyer des notifications liées aux interventions par email." msgstr "Send intervention-related notifications by email." -#: contracts/models.py:270 +#: contracts/models.py:314 msgid "Nom du signataire (prestataire)" msgstr "Signatory name (contractor)" -#: contracts/models.py:271 +#: contracts/models.py:315 msgid "Nom de la personne qui signe les documents côté prestataire." msgstr "Name of the person who signs documents on the contractor side." -#: contracts/models.py:277 +#: contracts/models.py:321 msgid "Rôle du signataire (prestataire)" msgstr "Signatory role (contractor)" -#: contracts/models.py:278 +#: contracts/models.py:322 msgid "Rôle/fonction de la personne qui signe les documents côté prestataire." msgstr "" "Role/function of the person signing the documents on the service provider " "side." -#: contracts/models.py:284 +#: contracts/models.py:328 msgid "Téléphone de contact" msgstr "Contact phone" -#: contracts/models.py:285 +#: contracts/models.py:329 msgid "" "Numéro de téléphone du technicien de garde ou contact principal pour les " "urgences." msgstr "" "Phone number of the on-call technician or primary contact for emergencies." -#: contracts/models.py:291 +#: contracts/models.py:335 msgid "Thématiques" msgstr "Thematics" -#: contracts/models.py:292 +#: contracts/models.py:336 msgid "Thématiques associées à ce contrat." msgstr "Themes associated with this contract." -#: contracts/models.py:296 +#: contracts/models.py:340 msgid "Actif" msgstr "Active" -#: contracts/models.py:297 +#: contracts/models.py:341 msgid "Indique si le contrat est actif." msgstr "Indicates if the contract is active." -#: contracts/models.py:301 +#: contracts/models.py:345 msgid "Nécessite une approbation" msgstr "Requires approval" -#: contracts/models.py:302 +#: contracts/models.py:346 msgid "" "Indique si les interventions liées à ce contrat nécessitent une approbation " "avant d'être transmises pour traitement." msgstr "" -#: contracts/models.py:306 +#: contracts/models.py:350 msgid "Nécessite une vérification" msgstr "Requires verification" -#: contracts/models.py:307 +#: contracts/models.py:351 msgid "" -"Indique si les interventions liées à ce contrat nécessitent une vérification " -"avant d'être transmises pour traitement." +"Indique si les interventions liées à ce contrat nécessitent une vérification" +" avant d'être transmises pour traitement." msgstr "" -#: contracts/models.py:311 +#: contracts/models.py:355 msgid "Utilise les occupations" msgstr "Use occupations" -#: contracts/models.py:312 +#: contracts/models.py:356 msgid "" "Indique si les interventions liées à ce contrat utilisent la gestion des " "occupations (temps passé par membre)." msgstr "" -#: contracts/models.py:316 +#: contracts/models.py:360 msgid "Utilise les gestionnaires d'intervention" msgstr "Cannot freeze an empty quote." -#: contracts/models.py:317 +#: contracts/models.py:361 msgid "" "Indique si les interventions liées à ce contrat utilisent un gestionnaire " "d'intervention." msgstr "" -#: contracts/models.py:321 +#: contracts/models.py:365 msgid "Occupations obligatoires" msgstr "Mandatory occupations" -#: contracts/models.py:322 +#: contracts/models.py:366 msgid "" "Si activé, au moins une occupation doit être enregistrée avant de terminer " "une intervention corrective liée à ce contrat." msgstr "" -#: contracts/models.py:326 +#: contracts/models.py:370 msgid "Avertir si aucune prestation au passage à 'Traité'" msgstr "Warn if no service when switching to 'Treaty'" -#: contracts/models.py:327 +#: contracts/models.py:371 msgid "" "Si activé, un avertissement est affiché lorsque l'utilisateur tente de " "passer une intervention au statut 'Traité' sans avoir encodé de prestation." msgstr "" -#: contracts/models.py:331 +#: contracts/models.py:375 msgid "Envoi groupé journalier" msgstr "Daily report" -#: contracts/models.py:332 +#: contracts/models.py:376 msgid "" "Si activé, les fiches d'intervention du jour sont regroupées dans un seul " "email envoyé en fin de journée, plutôt qu'un email par intervention." msgstr "" -#: contracts/models.py:336 +#: contracts/models.py:380 msgid "Heure d'envoi du résumé journalier" msgstr "Daily summary sending time" -#: contracts/models.py:337 +#: contracts/models.py:381 msgid "" "Heure (0-23) à laquelle le résumé journalier des interventions est envoyé " "(heure locale)." msgstr "" -#: contracts/models.py:341 +#: contracts/models.py:385 msgid "Emails uniquement si priorité urgente" msgstr "Emails only if urgent priority" -#: contracts/models.py:342 +#: contracts/models.py:386 msgid "" "Si activé, les notifications email ne sont envoyées que pour les " "interventions de priorité 'Urgent'." msgstr "" -#: contracts/models.py:346 +#: contracts/models.py:390 msgid "Modification inter-membres d'équipe autorisée" msgstr "" -#: contracts/models.py:347 +#: contracts/models.py:391 msgid "" "Si activé, les membres d'une même équipe peuvent modifier les interventions " "assignées à d'autres membres de leur équipe, y compris à partir du statut " "'Pris en charge' ou au-delà." msgstr "" -#: contracts/models.py:449 +#: contracts/models.py:395 +msgid "Marché bloqué / gelé" +msgstr "" + +#: contracts/models.py:396 +msgid "" +"Indique si le marché est temporairement bloqué (raisons budgétaires). " +"Empêche l'envoi d'interventions au prestataire." +msgstr "" + +#: contracts/models.py:401 +msgid "Motif du blocage" +msgstr "" + +#: contracts/models.py:402 +msgid "Raison du blocage temporaire du contrat." +msgstr "" + +#: contracts/models.py:407 +#, fuzzy +#| msgid "Date de commande" +msgid "Date de blocage" +msgstr "Order date" + +#: contracts/models.py:408 +msgid "Date et heure auxquelles le contrat a été marqué comme bloqué." +msgstr "" + +#: contracts/models.py:417 +msgid "BLOQUÉ" +msgstr "" + +#: contracts/models.py:511 #: contracts/templates/contracts/contracts_index.html:139 msgid "En préparation" msgstr "In preparation" -#: contracts/models.py:450 +#: contracts/models.py:512 #: contracts/templates/contracts/contracts_index.html:144 msgid "Envoyé" msgstr "Sent" -#: contracts/models.py:451 +#: contracts/models.py:513 #: contracts/templates/contracts/contracts_index.html:149 msgid "Terminé" msgstr "Completed" -#: contracts/models.py:452 +#: contracts/models.py:514 #: contracts/templates/contracts/contracts_index.html:154 msgid "Comptabilisé" msgstr "Accounted" -#: contracts/models.py:453 +#: contracts/models.py:515 #: contracts/templates/contracts/contracts_index.html:159 msgid "Payé" msgstr "Paid" -#: contracts/models.py:454 +#: contracts/models.py:516 #: contracts/templates/contracts/contracts_index.html:164 msgid "Annulé" msgstr "Cancelled" -#: contracts/models.py:473 +#: contracts/models.py:535 msgid "Projets" msgstr "Projects" -#: contracts/models.py:839 +#: contracts/models.py:901 msgid "État d'avancement associé à ce document, le cas échéant" msgstr "Progress status associated with this document, if applicable" -#: contracts/models.py:865 +#: contracts/models.py:927 #: contracts/templates/contracts/claim_declaration_attachments.html:47 #: contracts/views_pdf_reports.py:432 msgid "Déclaration de créance" msgstr "Debt declaration" -#: contracts/models.py:869 +#: contracts/models.py:931 #: contracts/templates/contracts/claim_declaration_attachments.html:52 #: contracts/templates/contracts/contracts_detail.html:116 #: contracts/templates/contracts/contracts_orders_detail.html:751 -#: contracts/templates/contracts/teams_index.html:741 +#: contracts/templates/contracts/teams_index.html:2063 msgid "Titre" msgstr "Title" -#: contracts/models.py:870 +#: contracts/models.py:932 msgid "Titre ou description du justificatif" msgstr "Title or description of the justificative" -#: contracts/models.py:877 contracts/models.py:1058 +#: contracts/models.py:939 contracts/models.py:1120 msgid "Date d'ajout" msgstr "Added on" -#: contracts/models.py:884 contracts/models.py:1065 +#: contracts/models.py:946 contracts/models.py:1127 msgid "Ajouté par" msgstr "Added by" -#: contracts/models.py:891 +#: contracts/models.py:953 msgid "Pièce jointe de déclaration de créance" msgstr "Debt declaration attachment" -#: contracts/models.py:892 +#: contracts/models.py:954 msgid "Pièces jointes de déclarations de créance" msgstr "Debt declaration attachments" -#: contracts/models.py:899 +#: contracts/models.py:961 msgid "Numéro d'ordre de l'état d'avancement pour cette commande" msgstr "Progress status order number for this order" -#: contracts/models.py:918 +#: contracts/models.py:980 msgid "Quantité consommée à cette date" msgstr "Quantity consumed on this date" -#: contracts/models.py:939 +#: contracts/models.py:1001 msgid "En attente de validation" msgstr "Delivery date" -#: contracts/models.py:940 +#: contracts/models.py:1002 #: contracts/templates/contracts/contracts_orders_detail.html:599 #: contracts/templates/contracts/contracts_orders_detail.html:909 msgid "Approuvé" msgstr "Approved" -#: contracts/models.py:941 +#: contracts/models.py:1003 #: contracts/templates/contracts/contracts_orders_detail.html:604 #: contracts/templates/contracts/contracts_orders_detail.html:910 msgid "Refusé" msgstr "Denied" -#: contracts/models.py:942 +#: contracts/models.py:1004 #: contracts/templates/contracts/contracts_orders_detail.html:606 #: contracts/templates/contracts/contracts_orders_detail.html:912 msgid "Facturé" msgstr "Invoiced" -#: contracts/models.py:952 contracts/models.py:1042 +#: contracts/models.py:1014 contracts/models.py:1104 #: contracts/templates/contracts/claim_declaration_attachments.html:53 #: contracts/templates/contracts/contracts_orders_detail.html:69 msgid "Commande" msgstr "Order" -#: contracts/models.py:958 +#: contracts/models.py:1020 #: contracts/templates/contracts/contracts_orders_detail.html:682 msgid "Poste de marché" msgstr "Market post" -#: contracts/models.py:965 -#: contracts/templates/contracts/contracts_orders_detail.html:574 -#: contracts/templates/contracts/contracts_orders_detail.html:696 -msgid "Commentaire" -msgstr "Comment" - -#: contracts/models.py:970 +#: contracts/models.py:1032 msgid "Statut de validation" msgstr "Validation status" -#: contracts/models.py:972 +#: contracts/models.py:1034 #: contracts/templates/contracts/claim_declaration_attachments.html:54 msgid "Date de création" msgstr "Creation date" -#: contracts/models.py:979 +#: contracts/models.py:1041 msgid "Créé par" msgstr "Created by" -#: contracts/models.py:981 +#: contracts/models.py:1043 msgid "Date de validation" msgstr "Delivery date" -#: contracts/models.py:988 +#: contracts/models.py:1050 msgid "Validé par" msgstr "Validated by" -#: contracts/models.py:994 +#: contracts/models.py:1056 msgid "Quantité déjà facturée" msgstr "Planned quantity" -#: contracts/models.py:995 +#: contracts/models.py:1057 msgid "Quantité cumulée sur les déclarations de créance précédentes." msgstr "Generate the debt declaration" -#: contracts/models.py:1030 +#: contracts/models.py:1092 msgid "Commande directe – poste" msgstr "Position consumption" -#: contracts/models.py:1031 +#: contracts/models.py:1093 msgid "Commandes directes – postes" msgstr "Position consumption" -#: contracts/models.py:1056 +#: contracts/models.py:1118 msgid "Vignette" msgstr "Thumbnail" -#: contracts/models.py:1077 +#: contracts/models.py:1139 msgid "Pièce jointe de commande" msgstr "Order attachment" -#: contracts/models.py:1078 +#: contracts/models.py:1140 msgid "Pièces jointes de commande" msgstr "Order attachments" @@ -687,7 +768,7 @@ msgstr "Add a supporting document" #: contracts/templates/contracts/claim_declaration_attachments.html:90 #: contracts/templates/contracts/contracts_orders_detail.html:296 -#: contracts/templates/contracts/teams_index.html:324 +#: contracts/templates/contracts/teams_index.html:948 msgid "Ajouter" msgstr "Add" @@ -798,7 +879,7 @@ msgstr "Orders" #: contracts/templates/contracts/contracts_orders_detail.html:479 #: contracts/templates/contracts/contracts_orders_detail.html:567 #: contracts/templates/contracts/contracts_orders_detail.html:750 -#: contracts/templates/contracts/teams_index.html:740 +#: contracts/templates/contracts/teams_index.html:2062 #: contracts/views_pdf_reports.py:945 contracts/views_pdf_reports.py:1138 msgid "Code" msgstr "Code" @@ -807,7 +888,7 @@ msgstr "Code" #: contracts/templates/contracts/contracts_index.html:200 #: contracts/templates/contracts/contracts_orders_detail.html:575 #: contracts/templates/contracts/contracts_orders_detail.html:753 -#: contracts/templates/contracts/teams_index.html:743 +#: contracts/templates/contracts/teams_index.html:2065 msgid "Statut" msgstr "Status" @@ -1051,8 +1132,10 @@ msgstr "Do you want to delete this document?" #: contracts/templates/contracts/contracts_orders_detail.html:272 #: contracts/templates/contracts/contracts_orders_detail.html:702 #: contracts/templates/contracts/contracts_orders_detail.html:725 -#: contracts/templates/contracts/teams_index.html:322 -#: contracts/templates/contracts/teams_index.html:363 +#: contracts/templates/contracts/teams_index.html:784 +#: contracts/templates/contracts/teams_index.html:859 +#: contracts/templates/contracts/teams_index.html:946 +#: contracts/templates/contracts/teams_index.html:987 msgid "Annuler" msgstr "Cancel" @@ -1082,11 +1165,11 @@ msgstr "Generate the debt declaration" #: contracts/templates/contracts/contracts_orders_detail.html:417 msgid "" -"Cette opération va générer un état de travaux, une déclaration de créance et " -"faire passer les interventions validées au statut \"comptabilisé\"." +"Cette opération va générer un état de travaux, une déclaration de créance et" +" faire passer les interventions validées au statut \"comptabilisé\"." msgstr "" -"This operation will generate a work statement, a debt declaration and change " -"validated interventions to the \"accounted\" status." +"This operation will generate a work statement, a debt declaration and change" +" validated interventions to the \"accounted\" status." #: contracts/templates/contracts/contracts_orders_detail.html:427 #, python-format @@ -1218,7 +1301,7 @@ msgid "Rechercher par code, numéro ou description…" msgstr "Search by code, number or description…" #: contracts/templates/contracts/contracts_orders_detail.html:704 -#: contracts/templates/contracts/teams_index.html:365 +#: contracts/templates/contracts/teams_index.html:989 msgid "Enregistrer" msgstr "Save" @@ -1244,157 +1327,383 @@ msgstr "Please select a market position." #: contracts/templates/contracts/contracts_orders_detail.html:1156 #: contracts/templates/contracts/contracts_orders_detail.html:1161 -#: contracts/templates/contracts/teams_index.html:436 -#: contracts/templates/contracts/teams_index.html:440 +#: contracts/templates/contracts/teams_index.html:1063 +#: contracts/templates/contracts/teams_index.html:1067 msgid "Une erreur est survenue." msgstr "An error occurred." -#: contracts/templates/contracts/teams_index.html:130 +#: contracts/templates/contracts/teams_index.html:455 msgid "Gestion des équipes" msgstr "Position consumption" -#: contracts/templates/contracts/teams_index.html:137 +#: contracts/templates/contracts/teams_index.html:457 +msgid "" +"Affectation des membres, suivi des présences et planification calendaire." +msgstr "Member assignment, attendance tracking, and calendar scheduling." + +#: contracts/templates/contracts/teams_index.html:464 +#| msgid "État d avancement du" +msgid "État actuel" +msgstr "Current state" + +#: contracts/templates/contracts/teams_index.html:469 +#: contracts/templates/contracts/teams_index.html:779 +#| msgid "Gestion des équipes" +msgid "Planification des équipes" +msgstr "Team planning" + +#: contracts/templates/contracts/teams_index.html:485 msgid "Aucune équipe accessible." msgstr "No accessible team." -#: contracts/templates/contracts/teams_index.html:150 -#: contracts/templates/contracts/teams_index.html:157 +#: contracts/templates/contracts/teams_index.html:498 +#: contracts/templates/contracts/teams_index.html:505 msgid "Non assignés" -msgstr "Not specified" +msgstr "Unassigned" -#: contracts/templates/contracts/teams_index.html:152 +#: contracts/templates/contracts/teams_index.html:500 msgid "Aucune équipe" -msgstr "No project" +msgstr "No team" -#: contracts/templates/contracts/teams_index.html:156 -#: contracts/templates/contracts/teams_index.html:578 +#: contracts/templates/contracts/teams_index.html:504 +#: contracts/templates/contracts/teams_index.html:1237 msgid "Ajouter un membre non assigné" -msgstr "Add an intervention" +msgstr "Add an unassigned member" -#: contracts/templates/contracts/teams_index.html:180 -#: contracts/templates/contracts/teams_index.html:353 +#: contracts/templates/contracts/teams_index.html:528 +#: contracts/templates/contracts/teams_index.html:977 msgid "Assigner à une équipe" msgstr "Assign to a team" -#: contracts/templates/contracts/teams_index.html:185 -#: contracts/templates/contracts/teams_index.html:258 +#: contracts/templates/contracts/teams_index.html:533 +#: contracts/templates/contracts/teams_index.html:605 msgid "Supprimer ce membre" -msgstr "Delete document" +msgstr "Delete this member" -#: contracts/templates/contracts/teams_index.html:195 -#: contracts/templates/contracts/teams_index.html:268 +#: contracts/templates/contracts/teams_index.html:543 +#: contracts/templates/contracts/teams_index.html:615 msgid "Aucun membre" -msgstr "No member" +msgstr "No members" -#: contracts/templates/contracts/teams_index.html:202 -#: contracts/templates/contracts/teams_index.html:276 +#: contracts/templates/contracts/teams_index.html:550 +#: contracts/templates/contracts/teams_index.html:623 msgid "membre(s)" msgstr "member(s)" -#: contracts/templates/contracts/teams_index.html:219 +#: contracts/templates/contracts/teams_index.html:567 msgid "Voir les interventions assignées" -msgstr "Number of interventions per person" +msgstr "View assigned interventions" -#: contracts/templates/contracts/teams_index.html:227 -#: contracts/templates/contracts/teams_index.html:298 -#: contracts/templates/contracts/teams_index.html:577 +#: contracts/templates/contracts/teams_index.html:574 +#: contracts/templates/contracts/teams_index.html:922 +#: contracts/templates/contracts/teams_index.html:1236 msgid "Ajouter un membre" -msgstr "Add an intervention" +msgstr "Add a member" -#: contracts/templates/contracts/teams_index.html:253 +#: contracts/templates/contracts/teams_index.html:600 msgid "Déplacer vers une autre équipe" msgstr "Move to another team" -#: contracts/templates/contracts/teams_index.html:305 -#: contracts/templates/contracts/teams_index.html:345 +#: contracts/templates/contracts/teams_index.html:642 +#| msgid "Précédent" +msgid "Période précédente" +msgstr "Previous period" + +#: contracts/templates/contracts/teams_index.html:646 +#: contracts/templates/contracts/teams_index.html:1577 +msgid "Aujourd'hui" +msgstr "Today" + +#: contracts/templates/contracts/teams_index.html:648 +msgid "Période suivante" +msgstr "Next period" + +#: contracts/templates/contracts/teams_index.html:661 +msgid "5j (Ouvré)" +msgstr "5d (Workweek)" + +#: contracts/templates/contracts/teams_index.html:662 +msgid "1 Semaine (7j)" +msgstr "1 Week (7d)" + +#: contracts/templates/contracts/teams_index.html:663 +msgid "2 Semaines" +msgstr "2 Weeks" + +#: contracts/templates/contracts/teams_index.html:671 +#: contracts/templates/contracts/teams_index.html:1523 +#| msgid "Projets associés" +msgid "Toutes les sociétés" +msgstr "All companies" + +#: contracts/templates/contracts/teams_index.html:677 +msgid "Dupliquer une journée ou une semaine" +msgstr "Duplicate a day or a week" + +#: contracts/templates/contracts/teams_index.html:678 +msgid "Dupliquer..." +msgstr "Duplicate..." + +#: contracts/templates/contracts/teams_index.html:683 +msgid "Actualiser" +msgstr "Refresh" + +#: contracts/templates/contracts/teams_index.html:696 +#| msgid "Chargement..." +msgid "Chargement du planning..." +msgstr "Loading schedule..." + +#: contracts/templates/contracts/teams_index.html:718 +#| msgid "Membre" +msgid "Membres" +msgstr "Members" + +#: contracts/templates/contracts/teams_index.html:725 +#| msgid "Ajouter un membre" +msgid "Rechercher un membre…" +msgstr "Search a member…" + +#: contracts/templates/contracts/teams_index.html:732 +#: contracts/templates/contracts/teams_index.html:1778 +msgid "Tous les rôles" +msgstr "All roles" + +#: contracts/templates/contracts/teams_index.html:737 +msgid "Tous" +msgstr "All" + +#: contracts/templates/contracts/teams_index.html:738 +msgid "Présents" +msgstr "Present" + +#: contracts/templates/contracts/teams_index.html:739 +msgid "Absents" +msgstr "Absent" + +#: contracts/templates/contracts/teams_index.html:769 +msgid "Changement d'équipe immédiat" +msgstr "Immediate team change" + +#: contracts/templates/contracts/teams_index.html:775 +#| msgid "Ne pas modifier l'équipe" +msgid "Ce déplacement modifie l'équipe de" +msgstr "This move changes the team of" + +#: contracts/templates/contracts/teams_index.html:775 +msgid "immédiatement pour aujourd'hui." +msgstr "immediately for today." + +#: contracts/templates/contracts/teams_index.html:779 +msgid "" +"Pour planifier des affectations d'équipes pour demain ou les jours futurs " +"sans impacter la journée en cours, utilisez l'onglet" +msgstr "" +"To plan team assignments for tomorrow or future days without affecting " +"today, use the tab" + +#: contracts/templates/contracts/teams_index.html:787 +msgid "Confirmer le changement immédiat" +msgstr "Confirm immediate change" + +#: contracts/templates/contracts/teams_index.html:800 +#| msgid "Gestion des équipes" +msgid "Dupliquer la configuration des équipes" +msgstr "Duplicate team configuration" + +#: contracts/templates/contracts/teams_index.html:807 +msgid "Que souhaitez-vous dupliquer ?" +msgstr "What would you like to duplicate?" + +#: contracts/templates/contracts/teams_index.html:811 +msgid "Une journée" +msgstr "A day" + +#: contracts/templates/contracts/teams_index.html:815 +msgid "Une semaine complète" +msgstr "A full week" + +#: contracts/templates/contracts/teams_index.html:824 +msgid "Jour source" +msgstr "Source day" + +#: contracts/templates/contracts/teams_index.html:828 +msgid "Jour cible" +msgstr "Target day" + +#: contracts/templates/contracts/teams_index.html:838 +msgid "Semaine source (Lundi)" +msgstr "Source week (Monday)" + +#: contracts/templates/contracts/teams_index.html:842 +msgid "Semaine cible (Lundi)" +msgstr "Target week (Monday)" + +#: contracts/templates/contracts/teams_index.html:852 +msgid "Copier également les statuts d'absence" +msgstr "Also copy absence statuses" + +#: contracts/templates/contracts/teams_index.html:861 +msgid "Dupliquer" +msgstr "Duplicate" + +#: contracts/templates/contracts/teams_index.html:874 +#| msgid "Gestionnaire d'assets" +msgid "Gestion de l'absence" +msgstr "Absence management" + +#: contracts/templates/contracts/teams_index.html:898 +#| msgid "Commentaire" +msgid "Commentaire (optionnel)" +msgstr "Comment (optional)" + +#: contracts/templates/contracts/teams_index.html:899 +msgid "Précisions…" +msgstr "Details…" + +#: contracts/templates/contracts/teams_index.html:906 +msgid "Présent" +msgstr "Present" + +#: contracts/templates/contracts/teams_index.html:909 +msgid "Marquer Absent" +msgstr "Mark as absent" + +#: contracts/templates/contracts/teams_index.html:929 +#: contracts/templates/contracts/teams_index.html:969 msgid "Nom affiché" -msgstr "Display Name" +msgstr "Display name" -#: contracts/templates/contracts/teams_index.html:306 +#: contracts/templates/contracts/teams_index.html:930 msgid "Ex : Jean Dupont" -msgstr "Ex: Jean Dupont" +msgstr "e.g., John Doe" -#: contracts/templates/contracts/teams_index.html:309 +#: contracts/templates/contracts/teams_index.html:933 msgid "Compte utilisateur" msgstr "User account" -#: contracts/templates/contracts/teams_index.html:311 +#: contracts/templates/contracts/teams_index.html:935 msgid "Sélectionner un utilisateur" msgstr "Select a user" -#: contracts/templates/contracts/teams_index.html:337 +#: contracts/templates/contracts/teams_index.html:961 msgid "Modifier le membre" -msgstr "Edit order" +msgstr "Edit member" -#: contracts/templates/contracts/teams_index.html:351 +#: contracts/templates/contracts/teams_index.html:975 msgid "Ne pas modifier l'équipe" -msgstr "Do not modify the team" +msgstr "Do not change team" -#: contracts/templates/contracts/teams_index.html:352 +#: contracts/templates/contracts/teams_index.html:976 msgid "Désassigner (aucune équipe)" msgstr "Unassign (no team)" -#: contracts/templates/contracts/teams_index.html:380 +#: contracts/templates/contracts/teams_index.html:1004 msgid "Interventions" msgstr "Interventions" -#: contracts/templates/contracts/teams_index.html:387 -#: contracts/templates/contracts/teams_index.html:687 -#: contracts/templates/contracts/teams_index.html:763 +#: contracts/templates/contracts/teams_index.html:1011 +#: contracts/templates/contracts/teams_index.html:2009 +#: contracts/templates/contracts/teams_index.html:2084 msgid "Chargement..." msgstr "Loading..." -#: contracts/templates/contracts/teams_index.html:402 -#: contracts/templates/contracts/teams_index.html:403 +#: contracts/templates/contracts/teams_index.html:1026 +#: contracts/templates/contracts/teams_index.html:1027 msgid "Résumé intervention" msgstr "Add an intervention" -#: contracts/templates/contracts/teams_index.html:410 +#: contracts/templates/contracts/teams_index.html:1034 msgid "Retour aux interventions" msgstr "Add an intervention" -#: contracts/templates/contracts/teams_index.html:412 +#: contracts/templates/contracts/teams_index.html:1036 msgid "Fermer" msgstr "Close" -#: contracts/templates/contracts/teams_index.html:551 -#: contracts/templates/contracts/teams_index.html:633 +#: contracts/templates/contracts/teams_index.html:1213 +#: contracts/templates/contracts/teams_index.html:1285 msgid "Le nom du membre est requis." -msgstr "Contract is required" +msgstr "Member name is required." -#: contracts/templates/contracts/teams_index.html:634 +#: contracts/templates/contracts/teams_index.html:1286 msgid "L\\'utilisateur est requis." -msgstr "Contract is required" +msgstr "User is required." -#: contracts/templates/contracts/teams_index.html:651 +#: contracts/templates/contracts/teams_index.html:1300 msgid "Supprimer le membre" -msgstr "Delete document" +msgstr "Delete member" -#: contracts/templates/contracts/teams_index.html:651 +#: contracts/templates/contracts/teams_index.html:1300 msgid "Cette action est irréversible." msgstr "This action is irreversible." -#: contracts/templates/contracts/teams_index.html:700 +#: contracts/templates/contracts/teams_index.html:1516 +msgid "Erreur lors du chargement de la planification." +msgstr "Error loading schedule." + +#: contracts/templates/contracts/teams_index.html:1557 +msgid "Dupliquer vers le jour suivant (avec absences)" +msgstr "Duplicate to next day (with absences)" + +#: contracts/templates/contracts/teams_index.html:1558 +msgid "Options de la journée" +msgstr "Day options" + +#: contracts/templates/contracts/teams_index.html:1559 +msgid "Dupliquer cette journée…" +msgstr "Duplicate this day…" + +#: contracts/templates/contracts/teams_index.html:1578 +msgid "Passé" +msgstr "Past" + +#: contracts/templates/contracts/teams_index.html:1597 +#| msgid "Aucune équipe" +msgid "Aucune équipe trouvée." +msgstr "No teams found." + +#: contracts/templates/contracts/teams_index.html:1673 +msgid "Absent" +msgstr "Absent" + +#: contracts/templates/contracts/teams_index.html:1677 +msgid "Modifier ou annuler l'absence" +msgstr "Edit or cancel absence" + +#: contracts/templates/contracts/teams_index.html:1677 +msgid "Marquer absent" +msgstr "Mark absent" + +#: contracts/templates/contracts/teams_index.html:1678 +#| msgid "Désassigner (aucune équipe)" +msgid "Désassigner de cette équipe" +msgstr "Unassign from this team" + +#: contracts/templates/contracts/teams_index.html:1967 +msgid "Veuillez renseigner les dates source et cible." +msgstr "Please specify source and target dates." + +#: contracts/templates/contracts/teams_index.html:2022 msgid "Impossible de charger les interventions." -msgstr "Cannot freeze an empty quote." +msgstr "Unable to load interventions." -#: contracts/templates/contracts/teams_index.html:706 +#: contracts/templates/contracts/teams_index.html:2028 msgid "intervention(s)" -msgstr "Add an intervention" +msgstr "intervention(s)" -#: contracts/templates/contracts/teams_index.html:709 +#: contracts/templates/contracts/teams_index.html:2031 msgid "Aucune intervention assignée à cette équipe." -msgstr "No document associated with this order." +msgstr "No intervention assigned to this team." -#: contracts/templates/contracts/teams_index.html:721 +#: contracts/templates/contracts/teams_index.html:2043 msgid "Voir le résumé" -msgstr "View document" +msgstr "View summary" -#: contracts/templates/contracts/teams_index.html:742 +#: contracts/templates/contracts/teams_index.html:2064 msgid "Membre assigné" -msgstr "Assigned Member" +msgstr "Assigned member" -#: contracts/templates/contracts/teams_index.html:779 +#: contracts/templates/contracts/teams_index.html:2100 msgid "Résumé non disponible." msgstr "Summary not available." @@ -1511,7 +1820,8 @@ msgid "Le statut de la commande a été mis à jour avec succès." msgstr "The order status has been updated successfully." #: contracts/views.py:982 -msgid "Vous n'avez pas la permission d'ajouter des documents à cette commande." +msgid "" +"Vous n'avez pas la permission d'ajouter des documents à cette commande." msgstr "You do not have permission to add documents to this order." #: contracts/views.py:994 @@ -1833,6 +2143,6 @@ msgid "" "Vous n'avez pas la permission de générer des documents pour cette commande." msgstr "You do not have permission to generate documents for this order." -#: contracts/views_pdf_reports.py:1484 +#: contracts/views_pdf_reports.py:1506 msgid "Déclaration de créance créée et sauvegardée." msgstr "Debt declaration created and saved." diff --git a/loko/contracts/locale/fr/LC_MESSAGES/django.mo b/loko/contracts/locale/fr/LC_MESSAGES/django.mo index 5dcd53990011625e57b05e96f040288dd68d0947..1c5a02340a9f21ac4af5490192801127c31a0837 100644 GIT binary patch literal 38227 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 delta 8904 zcmbW)d3?`TzQ^&CMfQXwgdikHNGM5cu_QubFJf0)B9_z^La8l&c7rL^U(pU-W{lR> zqG?q|brhxTsBTkrsZwn%qgvH!Z#%_(y>pJo&Eq~E_m6wO51%|g=X|&G{hagtMn2i; zyW%ll&lget8w}fOA7kp`lrUrBe2sadmU@jzO)%ydrePrdjJ5GDreJIXW2#~<(q#r= zJkG{?xCyJ^e$@GI;CMV{+a8nB(3l!@q+?C&fst5%y1)$AzaBNF9TP_YzNQ-gJ_RM^-n>MM)oL4Fg}4%xCJ$UJs5-Uqi*mu zs?@h!`!4GEFcv~E*2h>(Monc72I2@*<;J2ayACywEvmmRu#JuoJb=34QPh*1#Q?m3 zI`J~9q(7oc>C08MR-#cAOmyvbsN;I0u0P!EpNhG(7h@7x z!cdHEX6L*<#?$VKEEh8Y_2g@?I&MHc`A*c@ID&dR&Y>RUy6eA%T7;pV2kZqiQ6(RZ zs=xx&$i1l7@&(j|j-qb#39^37RSdzZED+tWHtM*RsDbC8j_>F8kHbvbrKqX#93)}k znxm)_uc1o&D>6tE(!%z)Ma@}v)RW|)E-(~T`h4e1)Nv~@0v|^m_Z(`VFQOm5f>g?5 z_LFFYr%Pc7QDBOyg3LomJDNDiv?27UD0_wwb0`)-G z@F9#z*Y%nI=_GuN%+ts{%^S!u=3C_2rd~_?edvd6X+MkccpB&6FE|gUw=$*#uj2?D z#YbTbmZJtxr;S}>nRu9XZ?*OQhjCRcn%bxlrsG7+M}1h{MZKo?Q15;13_F1KsDX|^ zUI_CTYE2wKRq_HB;%(I08rIIehI%V5U?g5ct(kwLrqGw~u+~OYN9wQAC(xlqlZ#pleJ~0O zu@=t4FkFke!Dg(6TTwT7)p;CsgEOcKT*Yv_i_sXy($|3Fu`#yIr2aY~pN?3Zh8oB! z=M$(KZ^kU#j+%lis3!`fQ>BbRt?G2t4cnleFc)>>fvABNp&no^QVg@$;|@54gX#DP zb)m+c?2VhEN|}MRu?yD4QK-tyLmlr$U)+Qm@SjkXeG%*9d#DfFzfkAhL_Me{INQwy zYHkxy7wCo+BS%%H2$OL!*1=ua3{Rjg{1a+QenV9>w6m>H9aOsk>VuSy`VM3vmGYRL zBr3^JREhFY2bQ2emZD0z1XYRks1k2Rt(6_9Cw&uh@Jm#s61&*zWuw;80OxqrgU-R` zdjFpx(Ev_5|A~6?&ru(so5(9|V!66X*B7<8icl9WMXmnFQ3KuX_P>rg{(Vfq%h(fx za_y82z(nqEhLH5b1-KATVj=eK%Dm#sI1{^cGv;r&A4{>MJA=UQaU%}xVN3oUYJj&< z6$<69nwogjgQhv#p(mJ*&Ln!`-l!AvU3(U4?pHatq88sF)SRD1&E-YZdDk%reR|m` z3_-1>7)-*3sPlTEj?e2w{Tq=?a68tZPFRmB>9fxL*nsva)cgAb4#A+_TnzIu8+W2V zUPnF9O;iQ^AGBYRj&9ST3rF;^uVEsxj?8@2{zItu{WLbg^QZv^ z^tC0ehoQ8SuqmdaDlr){uu^X{Mq8Zf{bZ5WGP z?|*j^&HW(MYq9{fh_+%Pet@;`HnzryhwNPEVhh^KF#=yhmHHT}#1~K>uA8WVCl0r7 zMH*(%?us5g;X)GDi`jzB@dl=2-4XVeM?c(1dm3sr2aL3@S#{JRi$zsvB-X|v)Y@3$ z`q#Mrji^fP!zesBlKN`^r|5{mZ&5e!8)ZiviE788PH2j{Ko-Vg53GrWs5zg9s@xI` z!8Lr+!gw5q`W`GtJ^4=57wuKllfR2v z8(*T{j^9uZ5>jCMBTadyhOVgc=O7>{pb0$xTvP|$e$hem7E_19qoJb*3m9Hw!96FR~Ep^=Gw zX%}N#JcRLh8|Pq5k^Mts9hT4zdD#A;u>h&6IfEKN`-yh3jl{#WC%JahNwyO0Py_6b z9`>1qB>J#iMZH$_CfoNu1LJ8ALse!jrr<72!qccy-a)ErqNmu!H5*m(C$S;!#s~02 zOvk&ZwU#!O`qwAvJJtT7QH2u1Hz-HF|8Jpg@Uio2tV;W5R0RU2+mhEs zEz%U!fU~eM4n`ecimLEqsDZrbamilPjmt3$kE1G6g^3QpL{ur8p&#a9I1WNRVIk_q zB^ZgzQ4g>QJK%Gu{pWBnevi72r|S%RK;9IN9A)RTUW zId~6MshnB%f}=5t_H@(}E_H6l=Ct2O4d8dD|7;$d`exny z=Dytd3D%{312yL%j6!o+4RvB2)S^m5&2@X!V(f>=q)vI{kbH&CSwSZvosIBH;RP$lh)dg3A26bn(6Sc|&RCe##cbMD6k+9$9f zUc<&1zQk6<)0#xD+i>iI%kXjh*tN$lwZDw^VJG^pVKyc&vrfV;w0EIy{2lt@J=B!> zF1N2~IBKAAuAPLe36E(*;>V6`+hKCC;z_X{{X<6iGi~Gtq$lF>YU^=JY>_Cx|Zz zZ6k=e?tmm`C|0f5%ZJAG9im;GXh)>DK6i-mr~N*Sw~3*|ZnxtE2D2~EwLJ$(CetyT z_?xG;~8QiagX?((AI{1vBaacY5J4@l|09_o6_Fn@qBDB?TC;iB_Aydklg$R^IwcbynXu5G8qRC8@L+mi6%J2@UFyQ6B74-N_pue|M`@h;Jk z{+@1MZ`uzLXNeN^g~b2&=6xx#+`BpH1MiXi31u@2Hu;rZZ93h@Tl&C(vf}17eZ0@K z=<1D3Ehu|BwVSVZT}y9ScB{!g-m|U0E<4|*Q(#%ktdsuUYB>$P{c~!0OL7)@tLC07 z`z<%o*Spj+tn88}*vDJmBg;FdXHLM;9plCqKjIDTbydt%v>y;u8qcV{*%EACSg zSQaw)TOV)i(6ME^hK}&_p7Orq-TLI-vfU#CegFT1^R~?Tv8-{YGk*W~0TwKs|Gy7# Pk55_o`k#F6kMh3&p(r~b diff --git a/loko/contracts/locale/fr/LC_MESSAGES/django.po b/loko/contracts/locale/fr/LC_MESSAGES/django.po index 8040ce2..38ea8a6 100644 --- a/loko/contracts/locale/fr/LC_MESSAGES/django.po +++ b/loko/contracts/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-21 12:07+0200\n" +"POT-Creation-Date: 2026-09-02 12:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -81,7 +81,7 @@ msgstr "Référence de commande" msgid "Description" msgstr "Description" -#: contracts/forms.py:136 contracts/models.py:963 +#: contracts/forms.py:136 contracts/models.py:1025 #: contracts/templates/contracts/contracts_order_quote_form.html:74 #: contracts/templates/contracts/contracts_orders_detail.html:571 #: contracts/templates/contracts/contracts_orders_detail.html:692 @@ -101,7 +101,7 @@ msgstr "Ex: Facture fournisseur, Bon de livraison..." msgid "Titre du justificatif" msgstr "Titre du justificatif" -#: contracts/forms.py:201 contracts/models.py:875 contracts/models.py:1047 +#: contracts/forms.py:201 contracts/models.py:937 contracts/models.py:1109 #: contracts/templates/contracts/contracts_index.html:201 msgid "Fichier" msgstr "Fichier" @@ -238,7 +238,8 @@ msgstr "Équipe de société/organisme" msgid "Équipes de sociétés/organismes" msgstr "Équipes de sociétés/organismes" -#: contracts/models.py:135 +#: contracts/models.py:135 contracts/templates/contracts/teams_index.html:703 +#: contracts/templates/contracts/teams_index.html:1547 msgid "Équipes" msgstr "Équipes" @@ -260,12 +261,12 @@ msgstr "" " les types sont visibles. Les interventions assignées à l'utilisateur " "restent toujours visibles." -#: contracts/models.py:178 +#: contracts/models.py:178 contracts/models.py:223 msgid "Membre" msgstr "Membre" -#: contracts/models.py:186 contracts/models.py:222 -#: contracts/templates/contracts/teams_index.html:349 +#: contracts/models.py:186 contracts/models.py:266 +#: contracts/templates/contracts/teams_index.html:973 msgid "Équipe" msgstr "Équipe" @@ -289,389 +290,466 @@ msgstr "Historique d'équipe d'un membre" msgid "Historiques d'équipe des membres" msgstr "Historiques d'équipe des membres" -#: contracts/models.py:216 -msgid "Configuration utilisateur" -msgstr "Configuration utilisateur" +#: contracts/models.py:213 contracts/templates/contracts/teams_index.html:890 +msgid "Congé / RTT" +msgstr "Congé / RTT" -#: contracts/models.py:226 -msgid "Peut consulter" -msgstr "Peut consulter" +#: contracts/models.py:214 contracts/templates/contracts/teams_index.html:891 +msgid "Maladie / Arrêt" +msgstr "Maladie / Arrêt" -#: contracts/models.py:227 -msgid "L'utilisateur peut voir cette équipe et ses membres." -msgstr "L'utilisateur peut voir cette équipe et ses membres." +#: contracts/models.py:215 contracts/templates/contracts/teams_index.html:892 +msgid "Formation" +msgstr "Formation" -#: contracts/models.py:231 -msgid "Peut éditer" -msgstr "Peut éditer" +#: contracts/models.py:216 contracts/templates/contracts/teams_index.html:893 +msgid "Autre" +msgstr "Autre" -#: contracts/models.py:232 -msgid "" -"L'utilisateur peut créer/supprimer des équipes et des membres, et déplacer " -"des membres entre équipes." -msgstr "" -"L'utilisateur peut créer/supprimer des équipes et des membres, et déplacer " -"des membres entre équipes." +#: contracts/models.py:225 +#, fuzzy +#| msgid "Date d'entrée" +msgid "Date d'absence" +msgstr "Date d'entrée" -#: contracts/models.py:240 -msgid "Accès utilisateur à une équipe" -msgstr "Accès utilisateur à une équipe" +#: contracts/models.py:231 contracts/templates/contracts/teams_index.html:888 +msgid "Motif d'absence" +msgstr "Motif d'absence" -#: contracts/models.py:241 -msgid "Accès utilisateurs aux équipes" -msgstr "Accès utilisateurs aux équipes" - -#: contracts/models.py:259 -msgid "Emails en copie (CC)" -msgstr "Emails en copie (CC)" - -#: contracts/models.py:260 -msgid "" -"Adresses email à ajouter en copie des notifications (séparées par des " -"virgules ou points-virgules)" -msgstr "" -"Adresses email à ajouter en copie des notifications (séparées par des " -"virgules ou points-virgules)" - -#: contracts/models.py:264 -msgid "Envoyer des notifications liées aux interventions par email." -msgstr "Envoyer des notifications liées aux interventions par email." - -#: contracts/models.py:270 -msgid "Nom du signataire (prestataire)" -msgstr "Nom du signataire (prestataire)" - -#: contracts/models.py:271 -msgid "Nom de la personne qui signe les documents côté prestataire." -msgstr "Nom de la personne qui signe les documents côté prestataire." - -#: contracts/models.py:277 -msgid "Rôle du signataire (prestataire)" -msgstr "Rôle du signataire (prestataire)" - -#: contracts/models.py:278 -msgid "Rôle/fonction de la personne qui signe les documents côté prestataire." -msgstr "" -"Rôle/fonction de la personne qui signe les documents côté prestataire." - -#: contracts/models.py:284 -msgid "Téléphone de contact" -msgstr "Téléphone de contact" - -#: contracts/models.py:285 -msgid "" -"Numéro de téléphone du technicien de garde ou contact principal pour les " -"urgences." -msgstr "" -"Numéro de téléphone du technicien de garde ou contact principal pour les " -"urgences." - -#: contracts/models.py:291 -msgid "Thématiques" -msgstr "Thématiques" - -#: contracts/models.py:292 -msgid "Thématiques associées à ce contrat." -msgstr "Thématiques associées à ce contrat." - -#: contracts/models.py:296 -msgid "Actif" -msgstr "Actif" - -#: contracts/models.py:297 -msgid "Indique si le contrat est actif." -msgstr "Indique si le contrat est actif." - -#: contracts/models.py:301 -msgid "Nécessite une approbation" -msgstr "Nécessite une approbation" - -#: contracts/models.py:302 -msgid "" -"Indique si les interventions liées à ce contrat nécessitent une approbation " -"avant d'être transmises pour traitement." -msgstr "" -"Indique si les interventions liées à ce contrat nécessitent une approbation " -"avant d'être transmises pour traitement." - -#: contracts/models.py:306 -msgid "Nécessite une vérification" -msgstr "Nécessite une vérification" - -#: contracts/models.py:307 -msgid "" -"Indique si les interventions liées à ce contrat nécessitent une vérification" -" avant d'être transmises pour traitement." -msgstr "" -"Indique si les interventions liées à ce contrat nécessitent une vérification" -" avant d'être transmises pour traitement." - -#: contracts/models.py:311 -msgid "Utilise les occupations" -msgstr "Utilise les occupations" - -#: contracts/models.py:312 -msgid "" -"Indique si les interventions liées à ce contrat utilisent la gestion des " -"occupations (temps passé par membre)." -msgstr "" -"Indique si les interventions liées à ce contrat utilisent la gestion des " -"occupations (temps passé par membre)." - -#: contracts/models.py:316 -msgid "Utilise les gestionnaires d'intervention" -msgstr "Utilise les gestionnaires d'intervention" - -#: contracts/models.py:317 -msgid "" -"Indique si les interventions liées à ce contrat utilisent un gestionnaire " -"d'intervention." -msgstr "" -"Indique si les interventions liées à ce contrat utilisent un gestionnaire " -"d'intervention." - -#: contracts/models.py:321 -msgid "Occupations obligatoires" -msgstr "Occupations obligatoires" - -#: contracts/models.py:322 -msgid "" -"Si activé, au moins une occupation doit être enregistrée avant de terminer " -"une intervention corrective liée à ce contrat." -msgstr "" -"Si activé, au moins une occupation doit être enregistrée avant de terminer " -"une intervention corrective liée à ce contrat." - -#: contracts/models.py:326 -msgid "Avertir si aucune prestation au passage à 'Traité'" -msgstr "Avertir si aucune prestation au passage à 'Traité'" - -#: contracts/models.py:327 -msgid "" -"Si activé, un avertissement est affiché lorsque l'utilisateur tente de " -"passer une intervention au statut 'Traité' sans avoir encodé de prestation." -msgstr "" -"Si activé, un avertissement est affiché lorsque l'utilisateur tente de " -"passer une intervention au statut 'Traité' sans avoir encodé de prestation." - -#: contracts/models.py:331 -msgid "Envoi groupé journalier" -msgstr "Envoi groupé journalier" - -#: contracts/models.py:332 -msgid "" -"Si activé, les fiches d'intervention du jour sont regroupées dans un seul " -"email envoyé en fin de journée, plutôt qu'un email par intervention." -msgstr "" -"Si activé, les fiches d'intervention du jour sont regroupées dans un seul " -"email envoyé en fin de journée, plutôt qu'un email par intervention." - -#: contracts/models.py:336 -msgid "Heure d'envoi du résumé journalier" -msgstr "Heure d'envoi du résumé journalier" - -#: contracts/models.py:337 -msgid "" -"Heure (0-23) à laquelle le résumé journalier des interventions est envoyé " -"(heure locale)." -msgstr "" -"Heure (0-23) à laquelle le résumé journalier des interventions est envoyé " -"(heure locale)." - -#: contracts/models.py:341 -msgid "Emails uniquement si priorité urgente" -msgstr "Emails uniquement si priorité urgente" - -#: contracts/models.py:342 -msgid "" -"Si activé, les notifications email ne sont envoyées que pour les " -"interventions de priorité 'Urgent'." -msgstr "" -"Si activé, les notifications email ne sont envoyées que pour les " -"interventions de priorité 'Urgent'." - -#: contracts/models.py:346 -msgid "Modification inter-membres d'équipe autorisée" -msgstr "" - -#: contracts/models.py:347 -#| msgid "" -#| "Si activé, les membres de cette équipe ne voient que les interventions " -#| "assignées à l'équipe ou directement à un membre." -msgid "" -"Si activé, les membres d'une même équipe peuvent modifier les interventions " -"assignées à d'autres membres de leur équipe, y compris à partir du statut " -"'Pris en charge' ou au-delà." -msgstr "" -"Si activé, les membres d'une même équipe peuvent modifier les interventions " -"assignées à d'autres membres de leur équipe, y compris à partir du statut " -"'Pris en charge' ou au-delà." - -#: contracts/models.py:449 -#: contracts/templates/contracts/contracts_index.html:139 -msgid "En préparation" -msgstr "En préparation" - -#: contracts/models.py:450 -#: contracts/templates/contracts/contracts_index.html:144 -msgid "Envoyé" -msgstr "Envoyé" - -#: contracts/models.py:451 -#: contracts/templates/contracts/contracts_index.html:149 -msgid "Terminé" -msgstr "Terminé" - -#: contracts/models.py:452 -#: contracts/templates/contracts/contracts_index.html:154 -msgid "Comptabilisé" -msgstr "Comptabilisé" - -#: contracts/models.py:453 -#: contracts/templates/contracts/contracts_index.html:159 -msgid "Payé" -msgstr "Payé" - -#: contracts/models.py:454 -#: contracts/templates/contracts/contracts_index.html:164 -msgid "Annulé" -msgstr "Annulé" - -#: contracts/models.py:473 -msgid "Projets" -msgstr "Projets" - -#: contracts/models.py:839 -msgid "État d'avancement associé à ce document, le cas échéant" -msgstr "État d'avancement associé à ce document, le cas échéant" - -#: contracts/models.py:865 -#: contracts/templates/contracts/claim_declaration_attachments.html:47 -#: contracts/views_pdf_reports.py:432 -msgid "Déclaration de créance" -msgstr "Déclaration de créance" - -#: contracts/models.py:869 -#: contracts/templates/contracts/claim_declaration_attachments.html:52 -#: contracts/templates/contracts/contracts_detail.html:116 -#: contracts/templates/contracts/contracts_orders_detail.html:751 -#: contracts/templates/contracts/teams_index.html:741 -msgid "Titre" -msgstr "Titre" - -#: contracts/models.py:870 -msgid "Titre ou description du justificatif" -msgstr "Titre ou description du justificatif" - -#: contracts/models.py:877 contracts/models.py:1058 -msgid "Date d'ajout" -msgstr "Date d'ajout" - -#: contracts/models.py:884 contracts/models.py:1065 -msgid "Ajouté par" -msgstr "Ajouté par" - -#: contracts/models.py:891 -msgid "Pièce jointe de déclaration de créance" -msgstr "Pièce jointe de déclaration de créance" - -#: contracts/models.py:892 -msgid "Pièces jointes de déclarations de créance" -msgstr "Pièces jointes de déclarations de créance" - -#: contracts/models.py:899 -msgid "Numéro d'ordre de l'état d'avancement pour cette commande" -msgstr "Numéro d'ordre de l'état d'avancement pour cette commande" - -#: contracts/models.py:918 -msgid "Quantité consommée à cette date" -msgstr "Quantité consommée à cette date" - -#: contracts/models.py:939 -msgid "En attente de validation" -msgstr "En attente de validation" - -#: contracts/models.py:940 -#: contracts/templates/contracts/contracts_orders_detail.html:599 -#: contracts/templates/contracts/contracts_orders_detail.html:909 -msgid "Approuvé" -msgstr "Approuvé" - -#: contracts/models.py:941 -#: contracts/templates/contracts/contracts_orders_detail.html:604 -#: contracts/templates/contracts/contracts_orders_detail.html:910 -msgid "Refusé" -msgstr "Refusé" - -#: contracts/models.py:942 -#: contracts/templates/contracts/contracts_orders_detail.html:606 -#: contracts/templates/contracts/contracts_orders_detail.html:912 -msgid "Facturé" -msgstr "Facturé" - -#: contracts/models.py:952 contracts/models.py:1042 -#: contracts/templates/contracts/claim_declaration_attachments.html:53 -#: contracts/templates/contracts/contracts_orders_detail.html:69 -msgid "Commande" -msgstr "Commande" - -#: contracts/models.py:958 -#: contracts/templates/contracts/contracts_orders_detail.html:682 -msgid "Poste de marché" -msgstr "Poste de marché" - -#: contracts/models.py:965 +#: contracts/models.py:233 contracts/models.py:1027 #: contracts/templates/contracts/contracts_orders_detail.html:574 #: contracts/templates/contracts/contracts_orders_detail.html:696 msgid "Commentaire" msgstr "Commentaire" -#: contracts/models.py:970 +#: contracts/models.py:240 +#, fuzzy +#| msgid "Enregistrer" +msgid "Enregistré par" +msgstr "Enregistrer" + +#: contracts/models.py:242 +#, fuzzy +#| msgid "Créé par" +msgid "Créé le" +msgstr "Créé par" + +#: contracts/models.py:248 +#, fuzzy +#| msgid "Aucun membre" +msgid "Absence d'un membre" +msgstr "Aucun membre" + +#: contracts/models.py:249 +msgid "Absences des membres" +msgstr "" + +#: contracts/models.py:260 +msgid "Configuration utilisateur" +msgstr "Configuration utilisateur" + +#: contracts/models.py:270 +msgid "Peut consulter" +msgstr "Peut consulter" + +#: contracts/models.py:271 +msgid "L'utilisateur peut voir cette équipe et ses membres." +msgstr "L'utilisateur peut voir cette équipe et ses membres." + +#: contracts/models.py:275 +msgid "Peut éditer" +msgstr "Peut éditer" + +#: contracts/models.py:276 +msgid "" +"L'utilisateur peut créer/supprimer des équipes et des membres, et déplacer " +"des membres entre équipes." +msgstr "" +"L'utilisateur peut créer/supprimer des équipes et des membres, et déplacer " +"des membres entre équipes." + +#: contracts/models.py:284 +msgid "Accès utilisateur à une équipe" +msgstr "Accès utilisateur à une équipe" + +#: contracts/models.py:285 +msgid "Accès utilisateurs aux équipes" +msgstr "Accès utilisateurs aux équipes" + +#: contracts/models.py:303 +msgid "Emails en copie (CC)" +msgstr "Emails en copie (CC)" + +#: contracts/models.py:304 +msgid "" +"Adresses email à ajouter en copie des notifications (séparées par des " +"virgules ou points-virgules)" +msgstr "" +"Adresses email à ajouter en copie des notifications (séparées par des " +"virgules ou points-virgules)" + +#: contracts/models.py:308 +msgid "Envoyer des notifications liées aux interventions par email." +msgstr "Envoyer des notifications liées aux interventions par email." + +#: contracts/models.py:314 +msgid "Nom du signataire (prestataire)" +msgstr "Nom du signataire (prestataire)" + +#: contracts/models.py:315 +msgid "Nom de la personne qui signe les documents côté prestataire." +msgstr "Nom de la personne qui signe les documents côté prestataire." + +#: contracts/models.py:321 +msgid "Rôle du signataire (prestataire)" +msgstr "Rôle du signataire (prestataire)" + +#: contracts/models.py:322 +msgid "Rôle/fonction de la personne qui signe les documents côté prestataire." +msgstr "" +"Rôle/fonction de la personne qui signe les documents côté prestataire." + +#: contracts/models.py:328 +msgid "Téléphone de contact" +msgstr "Téléphone de contact" + +#: contracts/models.py:329 +msgid "" +"Numéro de téléphone du technicien de garde ou contact principal pour les " +"urgences." +msgstr "" +"Numéro de téléphone du technicien de garde ou contact principal pour les " +"urgences." + +#: contracts/models.py:335 +msgid "Thématiques" +msgstr "Thématiques" + +#: contracts/models.py:336 +msgid "Thématiques associées à ce contrat." +msgstr "Thématiques associées à ce contrat." + +#: contracts/models.py:340 +msgid "Actif" +msgstr "Actif" + +#: contracts/models.py:341 +msgid "Indique si le contrat est actif." +msgstr "Indique si le contrat est actif." + +#: contracts/models.py:345 +msgid "Nécessite une approbation" +msgstr "Nécessite une approbation" + +#: contracts/models.py:346 +msgid "" +"Indique si les interventions liées à ce contrat nécessitent une approbation " +"avant d'être transmises pour traitement." +msgstr "" +"Indique si les interventions liées à ce contrat nécessitent une approbation " +"avant d'être transmises pour traitement." + +#: contracts/models.py:350 +msgid "Nécessite une vérification" +msgstr "Nécessite une vérification" + +#: contracts/models.py:351 +msgid "" +"Indique si les interventions liées à ce contrat nécessitent une vérification" +" avant d'être transmises pour traitement." +msgstr "" +"Indique si les interventions liées à ce contrat nécessitent une vérification" +" avant d'être transmises pour traitement." + +#: contracts/models.py:355 +msgid "Utilise les occupations" +msgstr "Utilise les occupations" + +#: contracts/models.py:356 +msgid "" +"Indique si les interventions liées à ce contrat utilisent la gestion des " +"occupations (temps passé par membre)." +msgstr "" +"Indique si les interventions liées à ce contrat utilisent la gestion des " +"occupations (temps passé par membre)." + +#: contracts/models.py:360 +msgid "Utilise les gestionnaires d'intervention" +msgstr "Utilise les gestionnaires d'intervention" + +#: contracts/models.py:361 +msgid "" +"Indique si les interventions liées à ce contrat utilisent un gestionnaire " +"d'intervention." +msgstr "" +"Indique si les interventions liées à ce contrat utilisent un gestionnaire " +"d'intervention." + +#: contracts/models.py:365 +msgid "Occupations obligatoires" +msgstr "Occupations obligatoires" + +#: contracts/models.py:366 +msgid "" +"Si activé, au moins une occupation doit être enregistrée avant de terminer " +"une intervention corrective liée à ce contrat." +msgstr "" +"Si activé, au moins une occupation doit être enregistrée avant de terminer " +"une intervention corrective liée à ce contrat." + +#: contracts/models.py:370 +msgid "Avertir si aucune prestation au passage à 'Traité'" +msgstr "Avertir si aucune prestation au passage à 'Traité'" + +#: contracts/models.py:371 +msgid "" +"Si activé, un avertissement est affiché lorsque l'utilisateur tente de " +"passer une intervention au statut 'Traité' sans avoir encodé de prestation." +msgstr "" +"Si activé, un avertissement est affiché lorsque l'utilisateur tente de " +"passer une intervention au statut 'Traité' sans avoir encodé de prestation." + +#: contracts/models.py:375 +msgid "Envoi groupé journalier" +msgstr "Envoi groupé journalier" + +#: contracts/models.py:376 +msgid "" +"Si activé, les fiches d'intervention du jour sont regroupées dans un seul " +"email envoyé en fin de journée, plutôt qu'un email par intervention." +msgstr "" +"Si activé, les fiches d'intervention du jour sont regroupées dans un seul " +"email envoyé en fin de journée, plutôt qu'un email par intervention." + +#: contracts/models.py:380 +msgid "Heure d'envoi du résumé journalier" +msgstr "Heure d'envoi du résumé journalier" + +#: contracts/models.py:381 +msgid "" +"Heure (0-23) à laquelle le résumé journalier des interventions est envoyé " +"(heure locale)." +msgstr "" +"Heure (0-23) à laquelle le résumé journalier des interventions est envoyé " +"(heure locale)." + +#: contracts/models.py:385 +msgid "Emails uniquement si priorité urgente" +msgstr "Emails uniquement si priorité urgente" + +#: contracts/models.py:386 +msgid "" +"Si activé, les notifications email ne sont envoyées que pour les " +"interventions de priorité 'Urgent'." +msgstr "" +"Si activé, les notifications email ne sont envoyées que pour les " +"interventions de priorité 'Urgent'." + +#: contracts/models.py:390 +msgid "Modification inter-membres d'équipe autorisée" +msgstr "" + +#: contracts/models.py:391 +msgid "" +"Si activé, les membres d'une même équipe peuvent modifier les interventions " +"assignées à d'autres membres de leur équipe, y compris à partir du statut " +"'Pris en charge' ou au-delà." +msgstr "" +"Si activé, les membres d'une même équipe peuvent modifier les interventions " +"assignées à d'autres membres de leur équipe, y compris à partir du statut " +"'Pris en charge' ou au-delà." + +#: contracts/models.py:395 +msgid "Marché bloqué / gelé" +msgstr "" + +#: contracts/models.py:396 +msgid "" +"Indique si le marché est temporairement bloqué (raisons budgétaires). " +"Empêche l'envoi d'interventions au prestataire." +msgstr "" + +#: contracts/models.py:401 +msgid "Motif du blocage" +msgstr "" + +#: contracts/models.py:402 +msgid "Raison du blocage temporaire du contrat." +msgstr "" + +#: contracts/models.py:407 +#, fuzzy +#| msgid "Date de commande" +msgid "Date de blocage" +msgstr "Date de commande" + +#: contracts/models.py:408 +msgid "Date et heure auxquelles le contrat a été marqué comme bloqué." +msgstr "" + +#: contracts/models.py:417 +msgid "BLOQUÉ" +msgstr "" + +#: contracts/models.py:511 +#: contracts/templates/contracts/contracts_index.html:139 +msgid "En préparation" +msgstr "En préparation" + +#: contracts/models.py:512 +#: contracts/templates/contracts/contracts_index.html:144 +msgid "Envoyé" +msgstr "Envoyé" + +#: contracts/models.py:513 +#: contracts/templates/contracts/contracts_index.html:149 +msgid "Terminé" +msgstr "Terminé" + +#: contracts/models.py:514 +#: contracts/templates/contracts/contracts_index.html:154 +msgid "Comptabilisé" +msgstr "Comptabilisé" + +#: contracts/models.py:515 +#: contracts/templates/contracts/contracts_index.html:159 +msgid "Payé" +msgstr "Payé" + +#: contracts/models.py:516 +#: contracts/templates/contracts/contracts_index.html:164 +msgid "Annulé" +msgstr "Annulé" + +#: contracts/models.py:535 +msgid "Projets" +msgstr "Projets" + +#: contracts/models.py:901 +msgid "État d'avancement associé à ce document, le cas échéant" +msgstr "État d'avancement associé à ce document, le cas échéant" + +#: contracts/models.py:927 +#: contracts/templates/contracts/claim_declaration_attachments.html:47 +#: contracts/views_pdf_reports.py:432 +msgid "Déclaration de créance" +msgstr "Déclaration de créance" + +#: contracts/models.py:931 +#: contracts/templates/contracts/claim_declaration_attachments.html:52 +#: contracts/templates/contracts/contracts_detail.html:116 +#: contracts/templates/contracts/contracts_orders_detail.html:751 +#: contracts/templates/contracts/teams_index.html:2063 +msgid "Titre" +msgstr "Titre" + +#: contracts/models.py:932 +msgid "Titre ou description du justificatif" +msgstr "Titre ou description du justificatif" + +#: contracts/models.py:939 contracts/models.py:1120 +msgid "Date d'ajout" +msgstr "Date d'ajout" + +#: contracts/models.py:946 contracts/models.py:1127 +msgid "Ajouté par" +msgstr "Ajouté par" + +#: contracts/models.py:953 +msgid "Pièce jointe de déclaration de créance" +msgstr "Pièce jointe de déclaration de créance" + +#: contracts/models.py:954 +msgid "Pièces jointes de déclarations de créance" +msgstr "Pièces jointes de déclarations de créance" + +#: contracts/models.py:961 +msgid "Numéro d'ordre de l'état d'avancement pour cette commande" +msgstr "Numéro d'ordre de l'état d'avancement pour cette commande" + +#: contracts/models.py:980 +msgid "Quantité consommée à cette date" +msgstr "Quantité consommée à cette date" + +#: contracts/models.py:1001 +msgid "En attente de validation" +msgstr "En attente de validation" + +#: contracts/models.py:1002 +#: contracts/templates/contracts/contracts_orders_detail.html:599 +#: contracts/templates/contracts/contracts_orders_detail.html:909 +msgid "Approuvé" +msgstr "Approuvé" + +#: contracts/models.py:1003 +#: contracts/templates/contracts/contracts_orders_detail.html:604 +#: contracts/templates/contracts/contracts_orders_detail.html:910 +msgid "Refusé" +msgstr "Refusé" + +#: contracts/models.py:1004 +#: contracts/templates/contracts/contracts_orders_detail.html:606 +#: contracts/templates/contracts/contracts_orders_detail.html:912 +msgid "Facturé" +msgstr "Facturé" + +#: contracts/models.py:1014 contracts/models.py:1104 +#: contracts/templates/contracts/claim_declaration_attachments.html:53 +#: contracts/templates/contracts/contracts_orders_detail.html:69 +msgid "Commande" +msgstr "Commande" + +#: contracts/models.py:1020 +#: contracts/templates/contracts/contracts_orders_detail.html:682 +msgid "Poste de marché" +msgstr "Poste de marché" + +#: contracts/models.py:1032 msgid "Statut de validation" msgstr "Statut de validation" -#: contracts/models.py:972 +#: contracts/models.py:1034 #: contracts/templates/contracts/claim_declaration_attachments.html:54 msgid "Date de création" msgstr "Date de création" -#: contracts/models.py:979 +#: contracts/models.py:1041 msgid "Créé par" msgstr "Créé par" -#: contracts/models.py:981 +#: contracts/models.py:1043 msgid "Date de validation" msgstr "Date de validation" -#: contracts/models.py:988 +#: contracts/models.py:1050 msgid "Validé par" msgstr "Validé par" -#: contracts/models.py:994 +#: contracts/models.py:1056 msgid "Quantité déjà facturée" msgstr "Quantité déjà facturée" -#: contracts/models.py:995 +#: contracts/models.py:1057 msgid "Quantité cumulée sur les déclarations de créance précédentes." msgstr "Quantité cumulée sur les déclarations de créance précédentes." -#: contracts/models.py:1030 +#: contracts/models.py:1092 msgid "Commande directe – poste" msgstr "Commande directe – poste" -#: contracts/models.py:1031 +#: contracts/models.py:1093 msgid "Commandes directes – postes" msgstr "Commandes directes – postes" -#: contracts/models.py:1056 +#: contracts/models.py:1118 msgid "Vignette" msgstr "Vignette" -#: contracts/models.py:1077 +#: contracts/models.py:1139 msgid "Pièce jointe de commande" msgstr "Pièce jointe de commande" -#: contracts/models.py:1078 +#: contracts/models.py:1140 msgid "Pièces jointes de commande" msgstr "Pièces jointes de commande" @@ -722,7 +800,7 @@ msgstr "Ajouter un justificatif" #: contracts/templates/contracts/claim_declaration_attachments.html:90 #: contracts/templates/contracts/contracts_orders_detail.html:296 -#: contracts/templates/contracts/teams_index.html:324 +#: contracts/templates/contracts/teams_index.html:948 msgid "Ajouter" msgstr "Ajouter" @@ -834,7 +912,7 @@ msgstr "Commandes" #: contracts/templates/contracts/contracts_orders_detail.html:479 #: contracts/templates/contracts/contracts_orders_detail.html:567 #: contracts/templates/contracts/contracts_orders_detail.html:750 -#: contracts/templates/contracts/teams_index.html:740 +#: contracts/templates/contracts/teams_index.html:2062 #: contracts/views_pdf_reports.py:945 contracts/views_pdf_reports.py:1138 msgid "Code" msgstr "Code" @@ -843,7 +921,7 @@ msgstr "Code" #: contracts/templates/contracts/contracts_index.html:200 #: contracts/templates/contracts/contracts_orders_detail.html:575 #: contracts/templates/contracts/contracts_orders_detail.html:753 -#: contracts/templates/contracts/teams_index.html:743 +#: contracts/templates/contracts/teams_index.html:2065 msgid "Statut" msgstr "Statut" @@ -1087,8 +1165,10 @@ msgstr "Voulez-vous supprimer ce document ?" #: contracts/templates/contracts/contracts_orders_detail.html:272 #: contracts/templates/contracts/contracts_orders_detail.html:702 #: contracts/templates/contracts/contracts_orders_detail.html:725 -#: contracts/templates/contracts/teams_index.html:322 -#: contracts/templates/contracts/teams_index.html:363 +#: contracts/templates/contracts/teams_index.html:784 +#: contracts/templates/contracts/teams_index.html:859 +#: contracts/templates/contracts/teams_index.html:946 +#: contracts/templates/contracts/teams_index.html:987 msgid "Annuler" msgstr "Annuler" @@ -1257,7 +1337,7 @@ msgid "Rechercher par code, numéro ou description…" msgstr "Rechercher par code, numéro ou description…" #: contracts/templates/contracts/contracts_orders_detail.html:704 -#: contracts/templates/contracts/teams_index.html:365 +#: contracts/templates/contracts/teams_index.html:989 msgid "Enregistrer" msgstr "Enregistrer" @@ -1283,157 +1363,385 @@ msgstr "Veuillez sélectionner un poste de marché." #: contracts/templates/contracts/contracts_orders_detail.html:1156 #: contracts/templates/contracts/contracts_orders_detail.html:1161 -#: contracts/templates/contracts/teams_index.html:436 -#: contracts/templates/contracts/teams_index.html:440 +#: contracts/templates/contracts/teams_index.html:1063 +#: contracts/templates/contracts/teams_index.html:1067 msgid "Une erreur est survenue." msgstr "Une erreur est survenue." -#: contracts/templates/contracts/teams_index.html:130 +#: contracts/templates/contracts/teams_index.html:455 msgid "Gestion des équipes" msgstr "Gestion des équipes" -#: contracts/templates/contracts/teams_index.html:137 +#: contracts/templates/contracts/teams_index.html:457 +msgid "" +"Affectation des membres, suivi des présences et planification calendaire." +msgstr "" +"Affectation des membres, suivi des présences et planification calendaire." + +#: contracts/templates/contracts/teams_index.html:464 +#| msgid "État d avancement du" +msgid "État actuel" +msgstr "État actuel" + +#: contracts/templates/contracts/teams_index.html:469 +#: contracts/templates/contracts/teams_index.html:779 +#| msgid "Gestion des équipes" +msgid "Planification des équipes" +msgstr "Planification des équipes" + +#: contracts/templates/contracts/teams_index.html:485 msgid "Aucune équipe accessible." msgstr "Aucune équipe accessible." -#: contracts/templates/contracts/teams_index.html:150 -#: contracts/templates/contracts/teams_index.html:157 +#: contracts/templates/contracts/teams_index.html:498 +#: contracts/templates/contracts/teams_index.html:505 msgid "Non assignés" msgstr "Non assignés" -#: contracts/templates/contracts/teams_index.html:152 +#: contracts/templates/contracts/teams_index.html:500 msgid "Aucune équipe" msgstr "Aucune équipe" -#: contracts/templates/contracts/teams_index.html:156 -#: contracts/templates/contracts/teams_index.html:578 +#: contracts/templates/contracts/teams_index.html:504 +#: contracts/templates/contracts/teams_index.html:1237 msgid "Ajouter un membre non assigné" msgstr "Ajouter un membre non assigné" -#: contracts/templates/contracts/teams_index.html:180 -#: contracts/templates/contracts/teams_index.html:353 +#: contracts/templates/contracts/teams_index.html:528 +#: contracts/templates/contracts/teams_index.html:977 msgid "Assigner à une équipe" msgstr "Assigner à une équipe" -#: contracts/templates/contracts/teams_index.html:185 -#: contracts/templates/contracts/teams_index.html:258 +#: contracts/templates/contracts/teams_index.html:533 +#: contracts/templates/contracts/teams_index.html:605 msgid "Supprimer ce membre" msgstr "Supprimer ce membre" -#: contracts/templates/contracts/teams_index.html:195 -#: contracts/templates/contracts/teams_index.html:268 +#: contracts/templates/contracts/teams_index.html:543 +#: contracts/templates/contracts/teams_index.html:615 msgid "Aucun membre" msgstr "Aucun membre" -#: contracts/templates/contracts/teams_index.html:202 -#: contracts/templates/contracts/teams_index.html:276 +#: contracts/templates/contracts/teams_index.html:550 +#: contracts/templates/contracts/teams_index.html:623 msgid "membre(s)" msgstr "membre(s)" -#: contracts/templates/contracts/teams_index.html:219 +#: contracts/templates/contracts/teams_index.html:567 msgid "Voir les interventions assignées" msgstr "Voir les interventions assignées" -#: contracts/templates/contracts/teams_index.html:227 -#: contracts/templates/contracts/teams_index.html:298 -#: contracts/templates/contracts/teams_index.html:577 +#: contracts/templates/contracts/teams_index.html:574 +#: contracts/templates/contracts/teams_index.html:922 +#: contracts/templates/contracts/teams_index.html:1236 msgid "Ajouter un membre" msgstr "Ajouter un membre" -#: contracts/templates/contracts/teams_index.html:253 +#: contracts/templates/contracts/teams_index.html:600 msgid "Déplacer vers une autre équipe" msgstr "Déplacer vers une autre équipe" -#: contracts/templates/contracts/teams_index.html:305 -#: contracts/templates/contracts/teams_index.html:345 +#: contracts/templates/contracts/teams_index.html:642 +#| msgid "Précédent" +msgid "Période précédente" +msgstr "Période précédente" + +#: contracts/templates/contracts/teams_index.html:646 +#: contracts/templates/contracts/teams_index.html:1577 +msgid "Aujourd'hui" +msgstr "Aujourd'hui" + +#: contracts/templates/contracts/teams_index.html:648 +#| msgid "périodes" +msgid "Période suivante" +msgstr "Période suivante" + +#: contracts/templates/contracts/teams_index.html:661 +msgid "5j (Ouvré)" +msgstr "5j (Ouvré)" + +#: contracts/templates/contracts/teams_index.html:662 +msgid "1 Semaine (7j)" +msgstr "1 Semaine (7j)" + +#: contracts/templates/contracts/teams_index.html:663 +msgid "2 Semaines" +msgstr "2 Semaines" + +#: contracts/templates/contracts/teams_index.html:671 +#: contracts/templates/contracts/teams_index.html:1523 +#| msgid "Projets associés" +msgid "Toutes les sociétés" +msgstr "Toutes les sociétés" + +#: contracts/templates/contracts/teams_index.html:677 +msgid "Dupliquer une journée ou une semaine" +msgstr "Dupliquer une journée ou une semaine" + +#: contracts/templates/contracts/teams_index.html:678 +msgid "Dupliquer..." +msgstr "Dupliquer..." + +#: contracts/templates/contracts/teams_index.html:683 +msgid "Actualiser" +msgstr "Actualiser" + +#: contracts/templates/contracts/teams_index.html:696 +#| msgid "Chargement..." +msgid "Chargement du planning..." +msgstr "Chargement du planning..." + +#: contracts/templates/contracts/teams_index.html:718 +#| msgid "Membre" +msgid "Membres" +msgstr "Membres" + +#: contracts/templates/contracts/teams_index.html:725 +#| msgid "Ajouter un membre" +msgid "Rechercher un membre…" +msgstr "Rechercher un membre…" + +#: contracts/templates/contracts/teams_index.html:732 +#: contracts/templates/contracts/teams_index.html:1778 +msgid "Tous les rôles" +msgstr "Tous les rôles" + +#: contracts/templates/contracts/teams_index.html:737 +msgid "Tous" +msgstr "Tous" + +#: contracts/templates/contracts/teams_index.html:738 +msgid "Présents" +msgstr "Présents" + +#: contracts/templates/contracts/teams_index.html:739 +msgid "Absents" +msgstr "Absents" + +#: contracts/templates/contracts/teams_index.html:769 +msgid "Changement d'équipe immédiat" +msgstr "Changement d'équipe immédiat" + +#: contracts/templates/contracts/teams_index.html:775 +#| msgid "Ne pas modifier l'équipe" +msgid "Ce déplacement modifie l'équipe de" +msgstr "Ce déplacement modifie l'équipe de" + +#: contracts/templates/contracts/teams_index.html:775 +msgid "immédiatement pour aujourd'hui." +msgstr "immédiatement pour aujourd'hui." + +#: contracts/templates/contracts/teams_index.html:779 +msgid "" +"Pour planifier des affectations d'équipes pour demain ou les jours futurs " +"sans impacter la journée en cours, utilisez l'onglet" +msgstr "" +"Pour planifier des affectations d'équipes pour demain ou les jours futurs " +"sans impacter la journée en cours, utilisez l'onglet" + +#: contracts/templates/contracts/teams_index.html:787 +msgid "Confirmer le changement immédiat" +msgstr "Confirmer le changement immédiat" + +#: contracts/templates/contracts/teams_index.html:800 +#| msgid "Gestion des équipes" +msgid "Dupliquer la configuration des équipes" +msgstr "Dupliquer la configuration des équipes" + +#: contracts/templates/contracts/teams_index.html:807 +msgid "Que souhaitez-vous dupliquer ?" +msgstr "Que souhaitez-vous dupliquer ?" + +#: contracts/templates/contracts/teams_index.html:811 +msgid "Une journée" +msgstr "Une journée" + +#: contracts/templates/contracts/teams_index.html:815 +msgid "Une semaine complète" +msgstr "Une semaine complète" + +#: contracts/templates/contracts/teams_index.html:824 +msgid "Jour source" +msgstr "Jour source" + +#: contracts/templates/contracts/teams_index.html:828 +msgid "Jour cible" +msgstr "Jour cible" + +#: contracts/templates/contracts/teams_index.html:838 +msgid "Semaine source (Lundi)" +msgstr "Semaine source (Lundi)" + +#: contracts/templates/contracts/teams_index.html:842 +msgid "Semaine cible (Lundi)" +msgstr "Semaine cible (Lundi)" + +#: contracts/templates/contracts/teams_index.html:852 +msgid "Copier également les statuts d'absence" +msgstr "Copier également les statuts d'absence" + +#: contracts/templates/contracts/teams_index.html:861 +msgid "Dupliquer" +msgstr "Dupliquer" + +#: contracts/templates/contracts/teams_index.html:874 +#| msgid "Gestionnaire d'assets" +msgid "Gestion de l'absence" +msgstr "Gestion de l'absence" + +#: contracts/templates/contracts/teams_index.html:898 +#| msgid "Commentaire" +msgid "Commentaire (optionnel)" +msgstr "Commentaire (optionnel)" + +#: contracts/templates/contracts/teams_index.html:899 +msgid "Précisions…" +msgstr "Précisions…" + +#: contracts/templates/contracts/teams_index.html:906 +msgid "Présent" +msgstr "Présent" + +#: contracts/templates/contracts/teams_index.html:909 +msgid "Marquer Absent" +msgstr "Marquer Absent" + +#: contracts/templates/contracts/teams_index.html:929 +#: contracts/templates/contracts/teams_index.html:969 msgid "Nom affiché" msgstr "Nom affiché" -#: contracts/templates/contracts/teams_index.html:306 +#: contracts/templates/contracts/teams_index.html:930 msgid "Ex : Jean Dupont" msgstr "Ex : Jean Dupont" -#: contracts/templates/contracts/teams_index.html:309 +#: contracts/templates/contracts/teams_index.html:933 msgid "Compte utilisateur" msgstr "Compte utilisateur" -#: contracts/templates/contracts/teams_index.html:311 +#: contracts/templates/contracts/teams_index.html:935 msgid "Sélectionner un utilisateur" msgstr "Sélectionner un utilisateur" -#: contracts/templates/contracts/teams_index.html:337 +#: contracts/templates/contracts/teams_index.html:961 msgid "Modifier le membre" msgstr "Modifier le membre" -#: contracts/templates/contracts/teams_index.html:351 +#: contracts/templates/contracts/teams_index.html:975 msgid "Ne pas modifier l'équipe" msgstr "Ne pas modifier l'équipe" -#: contracts/templates/contracts/teams_index.html:352 +#: contracts/templates/contracts/teams_index.html:976 msgid "Désassigner (aucune équipe)" msgstr "Désassigner (aucune équipe)" -#: contracts/templates/contracts/teams_index.html:380 +#: contracts/templates/contracts/teams_index.html:1004 msgid "Interventions" msgstr "Interventions" -#: contracts/templates/contracts/teams_index.html:387 -#: contracts/templates/contracts/teams_index.html:687 -#: contracts/templates/contracts/teams_index.html:763 +#: contracts/templates/contracts/teams_index.html:1011 +#: contracts/templates/contracts/teams_index.html:2009 +#: contracts/templates/contracts/teams_index.html:2084 msgid "Chargement..." msgstr "Chargement..." -#: contracts/templates/contracts/teams_index.html:402 -#: contracts/templates/contracts/teams_index.html:403 +#: contracts/templates/contracts/teams_index.html:1026 +#: contracts/templates/contracts/teams_index.html:1027 msgid "Résumé intervention" msgstr "Résumé intervention" -#: contracts/templates/contracts/teams_index.html:410 +#: contracts/templates/contracts/teams_index.html:1034 msgid "Retour aux interventions" msgstr "Retour aux interventions" -#: contracts/templates/contracts/teams_index.html:412 +#: contracts/templates/contracts/teams_index.html:1036 msgid "Fermer" msgstr "Fermer" -#: contracts/templates/contracts/teams_index.html:551 -#: contracts/templates/contracts/teams_index.html:633 +#: contracts/templates/contracts/teams_index.html:1213 +#: contracts/templates/contracts/teams_index.html:1285 msgid "Le nom du membre est requis." msgstr "Le nom du membre est requis." -#: contracts/templates/contracts/teams_index.html:634 +#: contracts/templates/contracts/teams_index.html:1286 msgid "L\\'utilisateur est requis." -msgstr "L'utilisateur est requis." +msgstr "L\\'utilisateur est requis." -#: contracts/templates/contracts/teams_index.html:651 +#: contracts/templates/contracts/teams_index.html:1300 msgid "Supprimer le membre" msgstr "Supprimer le membre" -#: contracts/templates/contracts/teams_index.html:651 +#: contracts/templates/contracts/teams_index.html:1300 msgid "Cette action est irréversible." msgstr "Cette action est irréversible." -#: contracts/templates/contracts/teams_index.html:700 +#: contracts/templates/contracts/teams_index.html:1516 +msgid "Erreur lors du chargement de la planification." +msgstr "Erreur lors du chargement de la planification." + +#: contracts/templates/contracts/teams_index.html:1557 +msgid "Dupliquer vers le jour suivant (avec absences)" +msgstr "Dupliquer vers le jour suivant (avec absences)" + +#: contracts/templates/contracts/teams_index.html:1558 +msgid "Options de la journée" +msgstr "Options de la journée" + +#: contracts/templates/contracts/teams_index.html:1559 +msgid "Dupliquer cette journée…" +msgstr "Dupliquer cette journée…" + +#: contracts/templates/contracts/teams_index.html:1578 +msgid "Passé" +msgstr "Passé" + +#: contracts/templates/contracts/teams_index.html:1597 +#| msgid "Aucune équipe" +msgid "Aucune équipe trouvée." +msgstr "Aucune équipe trouvée." + +#: contracts/templates/contracts/teams_index.html:1673 +msgid "Absent" +msgstr "Absent" + +#: contracts/templates/contracts/teams_index.html:1677 +msgid "Modifier ou annuler l'absence" +msgstr "Modifier ou annuler l'absence" + +#: contracts/templates/contracts/teams_index.html:1677 +msgid "Marquer absent" +msgstr "Marquer absent" + +#: contracts/templates/contracts/teams_index.html:1678 +#| msgid "Désassigner (aucune équipe)" +msgid "Désassigner de cette équipe" +msgstr "Désassigner de cette équipe" + +#: contracts/templates/contracts/teams_index.html:1967 +msgid "Veuillez renseigner les dates source et cible." +msgstr "Veuillez renseigner les dates source et cible." + +#: contracts/templates/contracts/teams_index.html:2022 msgid "Impossible de charger les interventions." msgstr "Impossible de charger les interventions." -#: contracts/templates/contracts/teams_index.html:706 +#: contracts/templates/contracts/teams_index.html:2028 msgid "intervention(s)" msgstr "intervention(s)" -#: contracts/templates/contracts/teams_index.html:709 +#: contracts/templates/contracts/teams_index.html:2031 msgid "Aucune intervention assignée à cette équipe." msgstr "Aucune intervention assignée à cette équipe." -#: contracts/templates/contracts/teams_index.html:721 +#: contracts/templates/contracts/teams_index.html:2043 msgid "Voir le résumé" msgstr "Voir le résumé" -#: contracts/templates/contracts/teams_index.html:742 +#: contracts/templates/contracts/teams_index.html:2064 msgid "Membre assigné" msgstr "Membre assigné" -#: contracts/templates/contracts/teams_index.html:779 +#: contracts/templates/contracts/teams_index.html:2100 msgid "Résumé non disponible." msgstr "Résumé non disponible." @@ -1884,6 +2192,6 @@ msgid "" msgstr "" "Vous n'avez pas la permission de générer des documents pour cette commande." -#: contracts/views_pdf_reports.py:1484 +#: contracts/views_pdf_reports.py:1506 msgid "Déclaration de créance créée et sauvegardée." msgstr "Déclaration de créance créée et sauvegardée." diff --git a/loko/contracts/locale/nl/LC_MESSAGES/django.mo b/loko/contracts/locale/nl/LC_MESSAGES/django.mo index be0ee2b8a30304293403cf804ca6e50ca4eff72c..e584643c009ecc6b9c63967aacc9d031b073af66 100644 GIT binary patch delta 12519 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 delta 8833 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 diff --git a/loko/contracts/locale/nl/LC_MESSAGES/django.po b/loko/contracts/locale/nl/LC_MESSAGES/django.po index fe8159c..55901a8 100644 --- a/loko/contracts/locale/nl/LC_MESSAGES/django.po +++ b/loko/contracts/locale/nl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-08-21 12:07+0200\n" +"POT-Creation-Date: 2026-09-02 12:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,8 +26,8 @@ msgstr "" #: contracts/forms.py:67 msgid "" -"Le contrat ne peut plus être modifié car des interventions sont déjà liées à " -"cette commande." +"Le contrat ne peut plus être modifié car des interventions sont déjà liées à" +" cette commande." msgstr "" "Het contract kan niet meer worden gewijzigd omdat er al interventies aan " "deze bestelling gekoppeld zijn." @@ -82,7 +82,7 @@ msgstr "Bestelreferentie" msgid "Description" msgstr "Beschrijving" -#: contracts/forms.py:136 contracts/models.py:963 +#: contracts/forms.py:136 contracts/models.py:1025 #: contracts/templates/contracts/contracts_order_quote_form.html:74 #: contracts/templates/contracts/contracts_orders_detail.html:571 #: contracts/templates/contracts/contracts_orders_detail.html:692 @@ -102,7 +102,7 @@ msgstr "Bijv.: Leveranciersfactuur, Leveringsbon..." msgid "Titre du justificatif" msgstr "Titel bewijsstuk" -#: contracts/forms.py:201 contracts/models.py:875 contracts/models.py:1047 +#: contracts/forms.py:201 contracts/models.py:937 contracts/models.py:1109 #: contracts/templates/contracts/contracts_index.html:201 msgid "Fichier" msgstr "Bestand" @@ -179,8 +179,8 @@ msgid "" "Indique si les membres de cette équipe peuvent générer un rapport quotidien " "des interventions." msgstr "" -"Geeft aan of de leden van dit team een dagelijks rapport van de interventies " -"kunnen genereren." +"Geeft aan of de leden van dit team een dagelijks rapport van de interventies" +" kunnen genereren." #: contracts/models.py:98 msgid "Photos obligatoires" @@ -230,9 +230,10 @@ msgstr "Team van bedrijf/organisatie" msgid "Équipes de sociétés/organismes" msgstr "Teams van bedrijven/organisaties" -#: contracts/models.py:135 +#: contracts/models.py:135 contracts/templates/contracts/teams_index.html:703 +#: contracts/templates/contracts/teams_index.html:1547 msgid "Équipes" -msgstr "Team" +msgstr "Teams" #: contracts/models.py:136 msgid "Équipes auxquelles ce membre appartient." @@ -244,20 +245,20 @@ msgstr "Zichtbare onderhoudstypen" #: contracts/models.py:143 msgid "" -"Types de maintenance visibles par défaut pour cet utilisateur. Si vide, tous " -"les types sont visibles. Les interventions assignées à l'utilisateur restent " -"toujours visibles." +"Types de maintenance visibles par défaut pour cet utilisateur. Si vide, tous" +" les types sont visibles. Les interventions assignées à l'utilisateur " +"restent toujours visibles." msgstr "" "Standaard zichtbare onderhoudstypen voor deze gebruiker. Indien leeg, zijn " "alle typen zichtbaar. Aan de gebruiker toegewezen interventies blijven " "altijd zichtbaar." -#: contracts/models.py:178 +#: contracts/models.py:178 contracts/models.py:223 msgid "Membre" msgstr "Aantal" -#: contracts/models.py:186 contracts/models.py:222 -#: contracts/templates/contracts/teams_index.html:349 +#: contracts/models.py:186 contracts/models.py:266 +#: contracts/templates/contracts/teams_index.html:973 msgid "Équipe" msgstr "Team" @@ -281,363 +282,443 @@ msgstr "De teamgeschiedenis van een lid" msgid "Historiques d'équipe des membres" msgstr "Geschiedenis van teamleden" -#: contracts/models.py:216 +#: contracts/models.py:213 contracts/templates/contracts/teams_index.html:890 +msgid "Congé / RTT" +msgstr "Verlof / ADV" + +#: contracts/models.py:214 contracts/templates/contracts/teams_index.html:891 +msgid "Maladie / Arrêt" +msgstr "Ziekte" + +#: contracts/models.py:215 contracts/templates/contracts/teams_index.html:892 +msgid "Formation" +msgstr "Opleiding" + +#: contracts/models.py:216 contracts/templates/contracts/teams_index.html:893 +msgid "Autre" +msgstr "Andere" + +#: contracts/models.py:225 +#, fuzzy +#| msgid "Date d'entrée" +msgid "Date d'absence" +msgstr "Aanmaakdatum" + +#: contracts/models.py:231 contracts/templates/contracts/teams_index.html:888 +msgid "Motif d'absence" +msgstr "Reden van afwezigheid" + +#: contracts/models.py:233 contracts/models.py:1027 +#: contracts/templates/contracts/contracts_orders_detail.html:574 +#: contracts/templates/contracts/contracts_orders_detail.html:696 +msgid "Commentaire" +msgstr "Opmerking" + +#: contracts/models.py:240 +#, fuzzy +#| msgid "Enregistrer" +msgid "Enregistré par" +msgstr "Opslaan" + +#: contracts/models.py:242 +#, fuzzy +#| msgid "Créé par" +msgid "Créé le" +msgstr "Aangemaakt door" + +#: contracts/models.py:248 +#, fuzzy +#| msgid "Aucun membre" +msgid "Absence d'un membre" +msgstr "Geen lid" + +#: contracts/models.py:249 +msgid "Absences des membres" +msgstr "" + +#: contracts/models.py:260 msgid "Configuration utilisateur" msgstr "Gebruikersconfiguratie" -#: contracts/models.py:226 +#: contracts/models.py:270 msgid "Peut consulter" msgstr "Kan raadplegen" -#: contracts/models.py:227 +#: contracts/models.py:271 msgid "L'utilisateur peut voir cette équipe et ses membres." msgstr "De gebruiker kan dit team en zijn leden zien." -#: contracts/models.py:231 +#: contracts/models.py:275 msgid "Peut éditer" msgstr "Kan bewerken" -#: contracts/models.py:232 +#: contracts/models.py:276 msgid "" "L'utilisateur peut créer/supprimer des équipes et des membres, et déplacer " "des membres entre équipes." msgstr "" -#: contracts/models.py:240 +#: contracts/models.py:284 msgid "Accès utilisateur à une équipe" msgstr "Gebruikerstoegang tot een team" -#: contracts/models.py:241 +#: contracts/models.py:285 msgid "Accès utilisateurs aux équipes" msgstr "Gebruikerstoegang tot teams" -#: contracts/models.py:259 +#: contracts/models.py:303 msgid "Emails en copie (CC)" msgstr "E-mails in kopie (CC)" -#: contracts/models.py:260 +#: contracts/models.py:304 msgid "" "Adresses email à ajouter en copie des notifications (séparées par des " "virgules ou points-virgules)" msgstr "" -"E-mailadressen toe te voegen in kopie van meldingen (gescheiden door komma's " -"of puntkomma's)" +"E-mailadressen toe te voegen in kopie van meldingen (gescheiden door komma's" +" of puntkomma's)" -#: contracts/models.py:264 +#: contracts/models.py:308 msgid "Envoyer des notifications liées aux interventions par email." msgstr "Meldingen over interventies per e-mail versturen." -#: contracts/models.py:270 +#: contracts/models.py:314 msgid "Nom du signataire (prestataire)" msgstr "Naam ondertekenaar (aannemer)" -#: contracts/models.py:271 +#: contracts/models.py:315 msgid "Nom de la personne qui signe les documents côté prestataire." msgstr "Naam van de persoon die namens de aannemer documenten ondertekent." -#: contracts/models.py:277 +#: contracts/models.py:321 msgid "Rôle du signataire (prestataire)" msgstr "Rol ondertekenaar (aannemer)" -#: contracts/models.py:278 +#: contracts/models.py:322 msgid "Rôle/fonction de la personne qui signe les documents côté prestataire." msgstr "" "Rol/functie van de persoon die de documenten ondertekent aan de kant van de " "dienstverlener." -#: contracts/models.py:284 +#: contracts/models.py:328 msgid "Téléphone de contact" msgstr "Contacttelefoon" -#: contracts/models.py:285 +#: contracts/models.py:329 msgid "" "Numéro de téléphone du technicien de garde ou contact principal pour les " "urgences." msgstr "" "Telefoonnummer van de wachttechnicus of hoofdcontact voor noodgevallen." -#: contracts/models.py:291 +#: contracts/models.py:335 msgid "Thématiques" msgstr "Thema's" -#: contracts/models.py:292 +#: contracts/models.py:336 msgid "Thématiques associées à ce contrat." msgstr "Thema's die aan dit contract zijn gekoppeld." -#: contracts/models.py:296 +#: contracts/models.py:340 msgid "Actif" msgstr "Actief" -#: contracts/models.py:297 +#: contracts/models.py:341 msgid "Indique si le contrat est actif." msgstr "Geeft aan of het contract actief is." -#: contracts/models.py:301 +#: contracts/models.py:345 msgid "Nécessite une approbation" msgstr "Vereist goedkeuring" -#: contracts/models.py:302 +#: contracts/models.py:346 msgid "" "Indique si les interventions liées à ce contrat nécessitent une approbation " "avant d'être transmises pour traitement." msgstr "" -#: contracts/models.py:306 +#: contracts/models.py:350 msgid "Nécessite une vérification" msgstr "Vereist verificatie" -#: contracts/models.py:307 +#: contracts/models.py:351 msgid "" -"Indique si les interventions liées à ce contrat nécessitent une vérification " -"avant d'être transmises pour traitement." +"Indique si les interventions liées à ce contrat nécessitent une vérification" +" avant d'être transmises pour traitement." msgstr "" -#: contracts/models.py:311 +#: contracts/models.py:355 msgid "Utilise les occupations" msgstr "Gebruik beroepen" -#: contracts/models.py:312 +#: contracts/models.py:356 msgid "" "Indique si les interventions liées à ce contrat utilisent la gestion des " "occupations (temps passé par membre)." msgstr "" -#: contracts/models.py:316 +#: contracts/models.py:360 msgid "Utilise les gestionnaires d'intervention" msgstr "Kan een lege offerte niet bevriezen." -#: contracts/models.py:317 +#: contracts/models.py:361 msgid "" "Indique si les interventions liées à ce contrat utilisent un gestionnaire " "d'intervention." msgstr "" -#: contracts/models.py:321 +#: contracts/models.py:365 msgid "Occupations obligatoires" msgstr "Verplichte beroepen" -#: contracts/models.py:322 +#: contracts/models.py:366 msgid "" "Si activé, au moins une occupation doit être enregistrée avant de terminer " "une intervention corrective liée à ce contrat." msgstr "" -#: contracts/models.py:326 +#: contracts/models.py:370 msgid "Avertir si aucune prestation au passage à 'Traité'" msgstr "Waarschuwen bij geen service bij overstappen naar 'Verdrag'" -#: contracts/models.py:327 +#: contracts/models.py:371 msgid "" "Si activé, un avertissement est affiché lorsque l'utilisateur tente de " "passer une intervention au statut 'Traité' sans avoir encodé de prestation." msgstr "" -#: contracts/models.py:331 +#: contracts/models.py:375 msgid "Envoi groupé journalier" msgstr "Dagelijks rapport" -#: contracts/models.py:332 +#: contracts/models.py:376 msgid "" "Si activé, les fiches d'intervention du jour sont regroupées dans un seul " "email envoyé en fin de journée, plutôt qu'un email par intervention." msgstr "" -#: contracts/models.py:336 +#: contracts/models.py:380 msgid "Heure d'envoi du résumé journalier" msgstr "Dagelijks overzicht van de verzendtijd" -#: contracts/models.py:337 +#: contracts/models.py:381 msgid "" "Heure (0-23) à laquelle le résumé journalier des interventions est envoyé " "(heure locale)." msgstr "" -#: contracts/models.py:341 +#: contracts/models.py:385 msgid "Emails uniquement si priorité urgente" msgstr "E-mails alleen indien dringende prioriteit" -#: contracts/models.py:342 +#: contracts/models.py:386 msgid "" "Si activé, les notifications email ne sont envoyées que pour les " "interventions de priorité 'Urgent'." msgstr "" -#: contracts/models.py:346 +#: contracts/models.py:390 msgid "Modification inter-membres d'équipe autorisée" msgstr "" -#: contracts/models.py:347 +#: contracts/models.py:391 msgid "" "Si activé, les membres d'une même équipe peuvent modifier les interventions " "assignées à d'autres membres de leur équipe, y compris à partir du statut " "'Pris en charge' ou au-delà." msgstr "" -#: contracts/models.py:449 +#: contracts/models.py:395 +msgid "Marché bloqué / gelé" +msgstr "" + +#: contracts/models.py:396 +msgid "" +"Indique si le marché est temporairement bloqué (raisons budgétaires). " +"Empêche l'envoi d'interventions au prestataire." +msgstr "" + +#: contracts/models.py:401 +msgid "Motif du blocage" +msgstr "" + +#: contracts/models.py:402 +msgid "Raison du blocage temporaire du contrat." +msgstr "" + +#: contracts/models.py:407 +#, fuzzy +#| msgid "Date de commande" +msgid "Date de blocage" +msgstr "Besteldatum" + +#: contracts/models.py:408 +msgid "Date et heure auxquelles le contrat a été marqué comme bloqué." +msgstr "" + +#: contracts/models.py:417 +msgid "BLOQUÉ" +msgstr "" + +#: contracts/models.py:511 #: contracts/templates/contracts/contracts_index.html:139 msgid "En préparation" msgstr "In voorbereiding" -#: contracts/models.py:450 +#: contracts/models.py:512 #: contracts/templates/contracts/contracts_index.html:144 msgid "Envoyé" msgstr "Verzonden" -#: contracts/models.py:451 +#: contracts/models.py:513 #: contracts/templates/contracts/contracts_index.html:149 msgid "Terminé" msgstr "Afgerond" -#: contracts/models.py:452 +#: contracts/models.py:514 #: contracts/templates/contracts/contracts_index.html:154 msgid "Comptabilisé" msgstr "Geboekt" -#: contracts/models.py:453 +#: contracts/models.py:515 #: contracts/templates/contracts/contracts_index.html:159 msgid "Payé" msgstr "Betaald" -#: contracts/models.py:454 +#: contracts/models.py:516 #: contracts/templates/contracts/contracts_index.html:164 msgid "Annulé" msgstr "Geannuleerd" -#: contracts/models.py:473 +#: contracts/models.py:535 msgid "Projets" msgstr "Projecten" -#: contracts/models.py:839 +#: contracts/models.py:901 msgid "État d'avancement associé à ce document, le cas échéant" msgstr "Voortgangsstatus gekoppeld aan dit document, indien van toepassing" -#: contracts/models.py:865 +#: contracts/models.py:927 #: contracts/templates/contracts/claim_declaration_attachments.html:47 #: contracts/views_pdf_reports.py:432 msgid "Déclaration de créance" msgstr "Schuldvordering" -#: contracts/models.py:869 +#: contracts/models.py:931 #: contracts/templates/contracts/claim_declaration_attachments.html:52 #: contracts/templates/contracts/contracts_detail.html:116 #: contracts/templates/contracts/contracts_orders_detail.html:751 -#: contracts/templates/contracts/teams_index.html:741 +#: contracts/templates/contracts/teams_index.html:2063 msgid "Titre" msgstr "Titel" -#: contracts/models.py:870 +#: contracts/models.py:932 msgid "Titre ou description du justificatif" msgstr "Titel of beschrijving van het bewijsstuk" -#: contracts/models.py:877 contracts/models.py:1058 +#: contracts/models.py:939 contracts/models.py:1120 msgid "Date d'ajout" msgstr "Toevoegingsdatum" -#: contracts/models.py:884 contracts/models.py:1065 +#: contracts/models.py:946 contracts/models.py:1127 msgid "Ajouté par" msgstr "Toegevoegd door" -#: contracts/models.py:891 +#: contracts/models.py:953 msgid "Pièce jointe de déclaration de créance" msgstr "Bijlage schuldvordering" -#: contracts/models.py:892 +#: contracts/models.py:954 msgid "Pièces jointes de déclarations de créance" msgstr "Bijlagen schuldvorderingen" -#: contracts/models.py:899 +#: contracts/models.py:961 msgid "Numéro d'ordre de l'état d'avancement pour cette commande" msgstr "Volgordenummer van de voortgangsstatus voor deze bestelling" -#: contracts/models.py:918 +#: contracts/models.py:980 msgid "Quantité consommée à cette date" msgstr "Op deze datum verbruikte hoeveelheid" -#: contracts/models.py:939 +#: contracts/models.py:1001 msgid "En attente de validation" msgstr "Leverdatum" -#: contracts/models.py:940 +#: contracts/models.py:1002 #: contracts/templates/contracts/contracts_orders_detail.html:599 #: contracts/templates/contracts/contracts_orders_detail.html:909 msgid "Approuvé" msgstr "Goedgekeurd" -#: contracts/models.py:941 +#: contracts/models.py:1003 #: contracts/templates/contracts/contracts_orders_detail.html:604 #: contracts/templates/contracts/contracts_orders_detail.html:910 msgid "Refusé" msgstr "Geweigerd" -#: contracts/models.py:942 +#: contracts/models.py:1004 #: contracts/templates/contracts/contracts_orders_detail.html:606 #: contracts/templates/contracts/contracts_orders_detail.html:912 msgid "Facturé" msgstr "Gefactureerd" -#: contracts/models.py:952 contracts/models.py:1042 +#: contracts/models.py:1014 contracts/models.py:1104 #: contracts/templates/contracts/claim_declaration_attachments.html:53 #: contracts/templates/contracts/contracts_orders_detail.html:69 msgid "Commande" msgstr "Bestelling" -#: contracts/models.py:958 +#: contracts/models.py:1020 #: contracts/templates/contracts/contracts_orders_detail.html:682 msgid "Poste de marché" msgstr "Marktpost" -#: contracts/models.py:965 -#: contracts/templates/contracts/contracts_orders_detail.html:574 -#: contracts/templates/contracts/contracts_orders_detail.html:696 -msgid "Commentaire" -msgstr "Opmerking" - -#: contracts/models.py:970 +#: contracts/models.py:1032 msgid "Statut de validation" msgstr "Validatiestatus" -#: contracts/models.py:972 +#: contracts/models.py:1034 #: contracts/templates/contracts/claim_declaration_attachments.html:54 msgid "Date de création" msgstr "Aanmaakdatum" -#: contracts/models.py:979 +#: contracts/models.py:1041 msgid "Créé par" msgstr "Aangemaakt door" -#: contracts/models.py:981 +#: contracts/models.py:1043 msgid "Date de validation" msgstr "Leverdatum" -#: contracts/models.py:988 +#: contracts/models.py:1050 msgid "Validé par" msgstr "Gevalideerd door" -#: contracts/models.py:994 +#: contracts/models.py:1056 msgid "Quantité déjà facturée" msgstr "Geplande hoeveelheid" -#: contracts/models.py:995 +#: contracts/models.py:1057 msgid "Quantité cumulée sur les déclarations de créance précédentes." msgstr "Schuldvordering genereren" -#: contracts/models.py:1030 +#: contracts/models.py:1092 msgid "Commande directe – poste" msgstr "Verbruik van de posten" -#: contracts/models.py:1031 +#: contracts/models.py:1093 msgid "Commandes directes – postes" msgstr "Verbruik van de posten" -#: contracts/models.py:1056 +#: contracts/models.py:1118 msgid "Vignette" msgstr "Miniatuur" -#: contracts/models.py:1077 +#: contracts/models.py:1139 msgid "Pièce jointe de commande" msgstr "Bestelbon bijlage" -#: contracts/models.py:1078 +#: contracts/models.py:1140 msgid "Pièces jointes de commande" msgstr "Bestelbon bijlagen" @@ -688,7 +769,7 @@ msgstr "Bewijsstuk toevoegen" #: contracts/templates/contracts/claim_declaration_attachments.html:90 #: contracts/templates/contracts/contracts_orders_detail.html:296 -#: contracts/templates/contracts/teams_index.html:324 +#: contracts/templates/contracts/teams_index.html:948 msgid "Ajouter" msgstr "Toevoegen" @@ -799,7 +880,7 @@ msgstr "Bestellingen" #: contracts/templates/contracts/contracts_orders_detail.html:479 #: contracts/templates/contracts/contracts_orders_detail.html:567 #: contracts/templates/contracts/contracts_orders_detail.html:750 -#: contracts/templates/contracts/teams_index.html:740 +#: contracts/templates/contracts/teams_index.html:2062 #: contracts/views_pdf_reports.py:945 contracts/views_pdf_reports.py:1138 msgid "Code" msgstr "Code" @@ -808,7 +889,7 @@ msgstr "Code" #: contracts/templates/contracts/contracts_index.html:200 #: contracts/templates/contracts/contracts_orders_detail.html:575 #: contracts/templates/contracts/contracts_orders_detail.html:753 -#: contracts/templates/contracts/teams_index.html:743 +#: contracts/templates/contracts/teams_index.html:2065 msgid "Statut" msgstr "Status" @@ -1052,8 +1133,10 @@ msgstr "Wilt u dit document verwijderen?" #: contracts/templates/contracts/contracts_orders_detail.html:272 #: contracts/templates/contracts/contracts_orders_detail.html:702 #: contracts/templates/contracts/contracts_orders_detail.html:725 -#: contracts/templates/contracts/teams_index.html:322 -#: contracts/templates/contracts/teams_index.html:363 +#: contracts/templates/contracts/teams_index.html:784 +#: contracts/templates/contracts/teams_index.html:859 +#: contracts/templates/contracts/teams_index.html:946 +#: contracts/templates/contracts/teams_index.html:987 msgid "Annuler" msgstr "Annuleren" @@ -1083,8 +1166,8 @@ msgstr "Schuldvordering genereren" #: contracts/templates/contracts/contracts_orders_detail.html:417 msgid "" -"Cette opération va générer un état de travaux, une déclaration de créance et " -"faire passer les interventions validées au statut \"comptabilisé\"." +"Cette opération va générer un état de travaux, une déclaration de créance et" +" faire passer les interventions validées au statut \"comptabilisé\"." msgstr "" "Deze actie zal een staat van werken en een schuldvordering genereren en de " "gevalideerde interventies op de status \"gefactureerd\" zetten." @@ -1219,7 +1302,7 @@ msgid "Rechercher par code, numéro ou description…" msgstr "Zoek op code, nummer of omschrijving…" #: contracts/templates/contracts/contracts_orders_detail.html:704 -#: contracts/templates/contracts/teams_index.html:365 +#: contracts/templates/contracts/teams_index.html:989 msgid "Enregistrer" msgstr "Opslaan" @@ -1245,159 +1328,385 @@ msgstr "Selecteer een marktpositie." #: contracts/templates/contracts/contracts_orders_detail.html:1156 #: contracts/templates/contracts/contracts_orders_detail.html:1161 -#: contracts/templates/contracts/teams_index.html:436 -#: contracts/templates/contracts/teams_index.html:440 +#: contracts/templates/contracts/teams_index.html:1063 +#: contracts/templates/contracts/teams_index.html:1067 msgid "Une erreur est survenue." msgstr "Er is een fout opgetreden." -#: contracts/templates/contracts/teams_index.html:130 +#: contracts/templates/contracts/teams_index.html:455 msgid "Gestion des équipes" msgstr "Verbruik van de posten" -#: contracts/templates/contracts/teams_index.html:137 +#: contracts/templates/contracts/teams_index.html:457 +msgid "" +"Affectation des membres, suivi des présences et planification calendaire." +msgstr "Toewijzing van leden, aanwezigheidsopvolging en kalenderplanning." + +#: contracts/templates/contracts/teams_index.html:464 +#| msgid "État d avancement du" +msgid "État actuel" +msgstr "Huidige staat" + +#: contracts/templates/contracts/teams_index.html:469 +#: contracts/templates/contracts/teams_index.html:779 +#| msgid "Gestion des équipes" +msgid "Planification des équipes" +msgstr "Teamplanning" + +#: contracts/templates/contracts/teams_index.html:485 msgid "Aucune équipe accessible." msgstr "Geen toegankelijk team." -#: contracts/templates/contracts/teams_index.html:150 -#: contracts/templates/contracts/teams_index.html:157 +#: contracts/templates/contracts/teams_index.html:498 +#: contracts/templates/contracts/teams_index.html:505 msgid "Non assignés" -msgstr "Niet gespecificeerd" +msgstr "Niet toegewezen" -#: contracts/templates/contracts/teams_index.html:152 +#: contracts/templates/contracts/teams_index.html:500 msgid "Aucune équipe" -msgstr "Geen project" +msgstr "Geen team" -#: contracts/templates/contracts/teams_index.html:156 -#: contracts/templates/contracts/teams_index.html:578 +#: contracts/templates/contracts/teams_index.html:504 +#: contracts/templates/contracts/teams_index.html:1237 msgid "Ajouter un membre non assigné" -msgstr "Interventie toevoegen" +msgstr "Niet-toegewezen lid toevoegen" -#: contracts/templates/contracts/teams_index.html:180 -#: contracts/templates/contracts/teams_index.html:353 +#: contracts/templates/contracts/teams_index.html:528 +#: contracts/templates/contracts/teams_index.html:977 msgid "Assigner à une équipe" -msgstr "Toewijzen aan een team" +msgstr "Aan een team toewijzen" -#: contracts/templates/contracts/teams_index.html:185 -#: contracts/templates/contracts/teams_index.html:258 +#: contracts/templates/contracts/teams_index.html:533 +#: contracts/templates/contracts/teams_index.html:605 msgid "Supprimer ce membre" -msgstr "Document verwijderen" +msgstr "Dit lid verwijderen" -#: contracts/templates/contracts/teams_index.html:195 -#: contracts/templates/contracts/teams_index.html:268 +#: contracts/templates/contracts/teams_index.html:543 +#: contracts/templates/contracts/teams_index.html:615 msgid "Aucun membre" -msgstr "Geen lid" +msgstr "Geen leden" -#: contracts/templates/contracts/teams_index.html:202 -#: contracts/templates/contracts/teams_index.html:276 +#: contracts/templates/contracts/teams_index.html:550 +#: contracts/templates/contracts/teams_index.html:623 msgid "membre(s)" -msgstr "lid(s)" +msgstr "lid/leden" -#: contracts/templates/contracts/teams_index.html:219 +#: contracts/templates/contracts/teams_index.html:567 msgid "Voir les interventions assignées" -msgstr "Aantal interventies per persoon" +msgstr "Toegewezen interventies bekijken" -#: contracts/templates/contracts/teams_index.html:227 -#: contracts/templates/contracts/teams_index.html:298 -#: contracts/templates/contracts/teams_index.html:577 +#: contracts/templates/contracts/teams_index.html:574 +#: contracts/templates/contracts/teams_index.html:922 +#: contracts/templates/contracts/teams_index.html:1236 msgid "Ajouter un membre" -msgstr "Interventie toevoegen" +msgstr "Lid toevoegen" -#: contracts/templates/contracts/teams_index.html:253 +#: contracts/templates/contracts/teams_index.html:600 msgid "Déplacer vers une autre équipe" -msgstr "Ga naar een ander team" +msgstr "Naar een ander team verplaatsen" -#: contracts/templates/contracts/teams_index.html:305 -#: contracts/templates/contracts/teams_index.html:345 +#: contracts/templates/contracts/teams_index.html:642 +#| msgid "Précédent" +msgid "Période précédente" +msgstr "Vorige periode" + +#: contracts/templates/contracts/teams_index.html:646 +#: contracts/templates/contracts/teams_index.html:1577 +msgid "Aujourd'hui" +msgstr "Vandaag" + +#: contracts/templates/contracts/teams_index.html:648 +msgid "Période suivante" +msgstr "Volgende periode" + +#: contracts/templates/contracts/teams_index.html:661 +msgid "5j (Ouvré)" +msgstr "5d (Werkweek)" + +#: contracts/templates/contracts/teams_index.html:662 +msgid "1 Semaine (7j)" +msgstr "1 Week (7d)" + +#: contracts/templates/contracts/teams_index.html:663 +msgid "2 Semaines" +msgstr "2 Weken" + +#: contracts/templates/contracts/teams_index.html:671 +#: contracts/templates/contracts/teams_index.html:1523 +#| msgid "Projets associés" +msgid "Toutes les sociétés" +msgstr "Alle bedrijven" + +#: contracts/templates/contracts/teams_index.html:677 +msgid "Dupliquer une journée ou une semaine" +msgstr "Een dag of week dupliceren" + +#: contracts/templates/contracts/teams_index.html:678 +msgid "Dupliquer..." +msgstr "Dupliceren..." + +#: contracts/templates/contracts/teams_index.html:683 +msgid "Actualiser" +msgstr "Vernieuwen" + +#: contracts/templates/contracts/teams_index.html:696 +#| msgid "Chargement..." +msgid "Chargement du planning..." +msgstr "Planning laden..." + +#: contracts/templates/contracts/teams_index.html:718 +#| msgid "Membre" +msgid "Membres" +msgstr "Leden" + +#: contracts/templates/contracts/teams_index.html:725 +#| msgid "Ajouter un membre" +msgid "Rechercher un membre…" +msgstr "Lid zoeken…" + +#: contracts/templates/contracts/teams_index.html:732 +#: contracts/templates/contracts/teams_index.html:1778 +msgid "Tous les rôles" +msgstr "Alle rollen" + +#: contracts/templates/contracts/teams_index.html:737 +msgid "Tous" +msgstr "Alle" + +#: contracts/templates/contracts/teams_index.html:738 +msgid "Présents" +msgstr "Aanwezig" + +#: contracts/templates/contracts/teams_index.html:739 +msgid "Absents" +msgstr "Afwezig" + +#: contracts/templates/contracts/teams_index.html:769 +msgid "Changement d'équipe immédiat" +msgstr "Onmiddellijke teamwijziging" + +#: contracts/templates/contracts/teams_index.html:775 +#| msgid "Ne pas modifier l'équipe" +msgid "Ce déplacement modifie l'équipe de" +msgstr "Deze verplaatsing wijzigt het team van" + +#: contracts/templates/contracts/teams_index.html:775 +msgid "immédiatement pour aujourd'hui." +msgstr "onmiddellijk voor vandaag." + +#: contracts/templates/contracts/teams_index.html:779 +msgid "" +"Pour planifier des affectations d'équipes pour demain ou les jours futurs " +"sans impacter la journée en cours, utilisez l'onglet" +msgstr "" +"Om teamtoewijzingen voor morgen of toekomstige dagen te plannen zonder " +"invloed op vandaag, gebruikt u het tabblad" + +#: contracts/templates/contracts/teams_index.html:787 +msgid "Confirmer le changement immédiat" +msgstr "Onmiddellijke wijziging bevestigen" + +#: contracts/templates/contracts/teams_index.html:800 +#| msgid "Gestion des équipes" +msgid "Dupliquer la configuration des équipes" +msgstr "Teamconfiguratie dupliceren" + +#: contracts/templates/contracts/teams_index.html:807 +msgid "Que souhaitez-vous dupliquer ?" +msgstr "Wat wilt u dupliceren?" + +#: contracts/templates/contracts/teams_index.html:811 +msgid "Une journée" +msgstr "Een dag" + +#: contracts/templates/contracts/teams_index.html:815 +msgid "Une semaine complète" +msgstr "Een volledige week" + +#: contracts/templates/contracts/teams_index.html:824 +msgid "Jour source" +msgstr "Brondag" + +#: contracts/templates/contracts/teams_index.html:828 +msgid "Jour cible" +msgstr "Doeldag" + +#: contracts/templates/contracts/teams_index.html:838 +msgid "Semaine source (Lundi)" +msgstr "Bronweek (Maandag)" + +#: contracts/templates/contracts/teams_index.html:842 +msgid "Semaine cible (Lundi)" +msgstr "Doelweek (Maandag)" + +#: contracts/templates/contracts/teams_index.html:852 +msgid "Copier également les statuts d'absence" +msgstr "Ook afwezigheidsstatussen kopiëren" + +#: contracts/templates/contracts/teams_index.html:861 +msgid "Dupliquer" +msgstr "Dupliceren" + +#: contracts/templates/contracts/teams_index.html:874 +#| msgid "Gestionnaire d'assets" +msgid "Gestion de l'absence" +msgstr "Afwezigheidsbeheer" + +#: contracts/templates/contracts/teams_index.html:898 +#| msgid "Commentaire" +msgid "Commentaire (optionnel)" +msgstr "Opmerking (optioneel)" + +#: contracts/templates/contracts/teams_index.html:899 +msgid "Précisions…" +msgstr "Details…" + +#: contracts/templates/contracts/teams_index.html:906 +msgid "Présent" +msgstr "Aanwezig" + +#: contracts/templates/contracts/teams_index.html:909 +msgid "Marquer Absent" +msgstr "Als afwezig markeren" + +#: contracts/templates/contracts/teams_index.html:929 +#: contracts/templates/contracts/teams_index.html:969 msgid "Nom affiché" msgstr "Weergavenaam" -#: contracts/templates/contracts/teams_index.html:306 +#: contracts/templates/contracts/teams_index.html:930 msgid "Ex : Jean Dupont" -msgstr "Bijvoorbeeld: Jean Dupont" +msgstr "Bijv.: Jan Jansen" -#: contracts/templates/contracts/teams_index.html:309 +#: contracts/templates/contracts/teams_index.html:933 msgid "Compte utilisateur" msgstr "Gebruikersaccount" -#: contracts/templates/contracts/teams_index.html:311 +#: contracts/templates/contracts/teams_index.html:935 msgid "Sélectionner un utilisateur" msgstr "Selecteer een gebruiker" -#: contracts/templates/contracts/teams_index.html:337 +#: contracts/templates/contracts/teams_index.html:961 msgid "Modifier le membre" -msgstr "Bestelling bewerken" +msgstr "Lid bewerken" -#: contracts/templates/contracts/teams_index.html:351 +#: contracts/templates/contracts/teams_index.html:975 msgid "Ne pas modifier l'équipe" -msgstr "Wijzig het team niet" +msgstr "Team niet wijzigen" -#: contracts/templates/contracts/teams_index.html:352 +#: contracts/templates/contracts/teams_index.html:976 msgid "Désassigner (aucune équipe)" -msgstr "Toewijzing ongedaan maken (geen team)" +msgstr "Toewijzing opheffen (geen team)" -#: contracts/templates/contracts/teams_index.html:380 +#: contracts/templates/contracts/teams_index.html:1004 msgid "Interventions" msgstr "Interventies" -#: contracts/templates/contracts/teams_index.html:387 -#: contracts/templates/contracts/teams_index.html:687 -#: contracts/templates/contracts/teams_index.html:763 +#: contracts/templates/contracts/teams_index.html:1011 +#: contracts/templates/contracts/teams_index.html:2009 +#: contracts/templates/contracts/teams_index.html:2084 msgid "Chargement..." msgstr "Laden..." -#: contracts/templates/contracts/teams_index.html:402 -#: contracts/templates/contracts/teams_index.html:403 +#: contracts/templates/contracts/teams_index.html:1026 +#: contracts/templates/contracts/teams_index.html:1027 msgid "Résumé intervention" msgstr "Interventie toevoegen" -#: contracts/templates/contracts/teams_index.html:410 +#: contracts/templates/contracts/teams_index.html:1034 msgid "Retour aux interventions" msgstr "Interventie toevoegen" -#: contracts/templates/contracts/teams_index.html:412 +#: contracts/templates/contracts/teams_index.html:1036 msgid "Fermer" msgstr "Sluiten" -#: contracts/templates/contracts/teams_index.html:551 -#: contracts/templates/contracts/teams_index.html:633 +#: contracts/templates/contracts/teams_index.html:1213 +#: contracts/templates/contracts/teams_index.html:1285 msgid "Le nom du membre est requis." -msgstr "Contract is vereist" +msgstr "De naam van het lid is verplicht." -#: contracts/templates/contracts/teams_index.html:634 +#: contracts/templates/contracts/teams_index.html:1286 msgid "L\\'utilisateur est requis." -msgstr "Contract is vereist" +msgstr "Gebruiker is verplicht." -#: contracts/templates/contracts/teams_index.html:651 +#: contracts/templates/contracts/teams_index.html:1300 msgid "Supprimer le membre" -msgstr "Document verwijderen" +msgstr "Lid verwijderen" -#: contracts/templates/contracts/teams_index.html:651 +#: contracts/templates/contracts/teams_index.html:1300 msgid "Cette action est irréversible." msgstr "Deze actie is onomkeerbaar." -#: contracts/templates/contracts/teams_index.html:700 +#: contracts/templates/contracts/teams_index.html:1516 +msgid "Erreur lors du chargement de la planification." +msgstr "Fout bij het laden van de planning." + +#: contracts/templates/contracts/teams_index.html:1557 +msgid "Dupliquer vers le jour suivant (avec absences)" +msgstr "Kopiëren naar volgende dag (met afwezigheden)" + +#: contracts/templates/contracts/teams_index.html:1558 +msgid "Options de la journée" +msgstr "Opties voor de dag" + +#: contracts/templates/contracts/teams_index.html:1559 +msgid "Dupliquer cette journée…" +msgstr "Deze dag dupliceren…" + +#: contracts/templates/contracts/teams_index.html:1578 +msgid "Passé" +msgstr "Verleden" + +#: contracts/templates/contracts/teams_index.html:1597 +#| msgid "Aucune équipe" +msgid "Aucune équipe trouvée." +msgstr "Geen teams gevonden." + +#: contracts/templates/contracts/teams_index.html:1673 +msgid "Absent" +msgstr "Afwezig" + +#: contracts/templates/contracts/teams_index.html:1677 +msgid "Modifier ou annuler l'absence" +msgstr "Afwezigheid bewerken of annuleren" + +#: contracts/templates/contracts/teams_index.html:1677 +msgid "Marquer absent" +msgstr "Als afwezig markeren" + +#: contracts/templates/contracts/teams_index.html:1678 +#| msgid "Désassigner (aucune équipe)" +msgid "Désassigner de cette équipe" +msgstr "Toewijzing aan dit team opheffen" + +#: contracts/templates/contracts/teams_index.html:1967 +msgid "Veuillez renseigner les dates source et cible." +msgstr "Vul bron- en doeldata in." + +#: contracts/templates/contracts/teams_index.html:2022 msgid "Impossible de charger les interventions." -msgstr "Kan een lege offerte niet bevriezen." +msgstr "Kan interventies niet laden." -#: contracts/templates/contracts/teams_index.html:706 +#: contracts/templates/contracts/teams_index.html:2028 msgid "intervention(s)" -msgstr "Interventie toevoegen" +msgstr "interventie(s)" -#: contracts/templates/contracts/teams_index.html:709 +#: contracts/templates/contracts/teams_index.html:2031 msgid "Aucune intervention assignée à cette équipe." -msgstr "Geen document gekoppeld aan deze bestelling." +msgstr "Geen interventie toegewezen aan dit team." -#: contracts/templates/contracts/teams_index.html:721 +#: contracts/templates/contracts/teams_index.html:2043 msgid "Voir le résumé" -msgstr "Document bekijken" +msgstr "Overzicht bekijken" -#: contracts/templates/contracts/teams_index.html:742 +#: contracts/templates/contracts/teams_index.html:2064 msgid "Membre assigné" msgstr "Toegewezen lid" -#: contracts/templates/contracts/teams_index.html:779 +#: contracts/templates/contracts/teams_index.html:2100 msgid "Résumé non disponible." -msgstr "Samenvatting niet beschikbaar." +msgstr "Overzicht niet beschikbaar." #: contracts/views.py:272 contracts/views.py:876 contracts/views.py:920 #: contracts/views.py:945 @@ -1514,7 +1823,8 @@ msgid "Le statut de la commande a été mis à jour avec succès." msgstr "De status van de bestelling is succesvol bijgewerkt." #: contracts/views.py:982 -msgid "Vous n'avez pas la permission d'ajouter des documents à cette commande." +msgid "" +"Vous n'avez pas la permission d'ajouter des documents à cette commande." msgstr "" "U heeft geen toestemming om documenten aan deze bestelling toe te voegen." @@ -1839,6 +2149,6 @@ msgid "" msgstr "" "U hebt geen toestemming om documenten voor deze bestelling te genereren." -#: contracts/views_pdf_reports.py:1484 +#: contracts/views_pdf_reports.py:1506 msgid "Déclaration de créance créée et sauvegardée." msgstr "Schuldvordering aangemaakt en opgeslagen." diff --git a/loko/contracts/templates/contracts/teams_index.html b/loko/contracts/templates/contracts/teams_index.html index f4e0f33..a11cdc3 100644 --- a/loko/contracts/templates/contracts/teams_index.html +++ b/loko/contracts/templates/contracts/teams_index.html @@ -279,6 +279,35 @@ background: #fcfcfc; } + /* Bouton de duplication rapide au bas à droite des en-têtes de jour */ + .btn-quick-duplicate { + position: absolute; + bottom: 4px; + right: 4px; + width: 24px; + height: 24px; + padding: 0; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 4px; + background: #ffffff; + border: 1px solid #cbd5e1; + color: #0d6efd; + box-shadow: 0 1px 2px rgba(0,0,0,0.06); + cursor: pointer; + transition: all 0.15s ease; + z-index: 5; + } + + .btn-quick-duplicate:hover { + background: #0d6efd; + border-color: #0d6efd; + color: #ffffff; + box-shadow: 0 2px 5px rgba(13,110,253,0.3); + transform: scale(1.1); + } + /* Jours passés grisés */ .planning-table th.is-past-header { background: #e9ecef; @@ -1525,25 +1554,36 @@ function renderPlanningMatrix(data) { if (day.is_past) headerClasses.push('is-past-header'); th.className = headerClasses.join(' '); + const quickDupTitle = "{% trans 'Dupliquer vers le jour suivant (avec absences)'|escapejs %}"; + const optionsTitle = "{% trans 'Options de la journée'|escapejs %}"; + const dupCustomTitle = "{% trans 'Dupliquer cette journée…'|escapejs %}"; + th.innerHTML = ` -
-
-
${escapeHtml(day.day_short)}
-
${escapeHtml(day.day_num)}
- ${day.is_today ? `{% trans "Aujourd'hui"|escapejs %}` : ''} - ${day.is_past ? `{% trans "Passé"|escapejs %}` : ''} -
+
${CAN_EDIT_TEAMS ? ` - `; theadRow.appendChild(th); @@ -1887,6 +1927,36 @@ function openDuplicateModalForDay(dateStr) { $('#dupTargetDate').val(d.toISOString().split('T')[0]); } +function quickDuplicateToNextDay(sourceDateStr) { + const parts = sourceDateStr.split('-'); + const srcYear = parseInt(parts[0], 10); + const srcMonth = parseInt(parts[1], 10) - 1; + const srcDay = parseInt(parts[2], 10); + const d = new Date(srcYear, srcMonth, srcDay); + d.setDate(d.getDate() + 1); + + const nextYear = d.getFullYear(); + const nextMonth = String(d.getMonth() + 1).padStart(2, '0'); + const nextDay = String(d.getDate()).padStart(2, '0'); + const targetDateStr = `${nextYear}-${nextMonth}-${nextDay}`; + + postJSON( + '/contracts/teams/planning/duplicate/', + { + mode: 'day', + source_date: sourceDateStr, + target_date: targetDateStr, + copy_absences: true, + }, + function(resp) { + loadPlanningData(); + }, + function(err) { + alert(err); + } + ); +} + function submitDuplicatePlanning() { const mode = $('input[name="dupMode"]:checked').val(); const sourceDate = mode === 'week' ? $('#dupSourceWeek').val() : $('#dupSourceDate').val();