diff --git a/netbox/translations/fr/LC_MESSAGES/django.po b/netbox/translations/fr/LC_MESSAGES/django.po index cc489f360..5aeea3063 100644 --- a/netbox/translations/fr/LC_MESSAGES/django.po +++ b/netbox/translations/fr/LC_MESSAGES/django.po @@ -5,17 +5,18 @@ # # Translators: # Jonathan Senecal, 2024 -# Jeremy Stretch, 2024 # Quentin Laurent, 2024 +# Xavier W, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-04 19:11+0000\n" +"POT-Creation-Date: 2024-05-06 17:40+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Quentin Laurent, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,9 +24,9 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: account/tables.py:27 templates/account/token.html:23 -#: templates/users/token.html:18 users/forms/bulk_import.py:41 -#: users/forms/model_forms.py:114 +#: account/tables.py:27 templates/account/token.html:22 +#: templates/users/token.html:17 users/forms/bulk_import.py:39 +#: users/forms/model_forms.py:116 msgid "Key" msgstr "Clé" @@ -33,30 +34,31 @@ msgstr "Clé" msgid "Write Enabled" msgstr "Écriture activée" -#: account/tables.py:34 core/tables/jobs.py:29 extras/choices.py:135 -#: extras/tables/tables.py:474 templates/account/token.html:44 -#: templates/core/configrevision.html:34 -#: templates/core/configrevision_restore.html:12 templates/core/job.html:58 -#: templates/extras/htmx/report_result.html:11 +#: account/tables.py:35 core/tables/jobs.py:29 core/tables/tasks.py:79 +#: extras/choices.py:138 extras/tables/tables.py:499 +#: templates/account/token.html:43 templates/core/configrevision.html:26 +#: templates/core/configrevision_restore.html:12 templates/core/job.html:51 +#: templates/core/rq_task.html:16 templates/core/rq_task.html:73 +#: templates/core/rq_worker.html:14 #: templates/extras/htmx/script_result.html:12 -#: templates/extras/journalentry.html:25 templates/generic/object.html:48 -#: templates/users/token.html:36 +#: templates/extras/journalentry.html:22 templates/generic/object.html:58 +#: templates/users/token.html:35 msgid "Created" msgstr "Créé" -#: account/tables.py:37 templates/account/token.html:48 -#: templates/users/token.html:40 users/forms/bulk_edit.py:97 +#: account/tables.py:39 templates/account/token.html:47 +#: templates/users/token.html:39 users/forms/bulk_edit.py:117 #: users/forms/filtersets.py:137 msgid "Expires" msgstr "Expire" -#: account/tables.py:40 users/forms/filtersets.py:142 +#: account/tables.py:42 users/forms/filtersets.py:142 msgid "Last Used" msgstr "Dernière utilisation" -#: account/tables.py:43 templates/account/token.html:56 -#: templates/users/token.html:48 users/forms/bulk_edit.py:102 -#: users/forms/model_forms.py:126 +#: account/tables.py:45 templates/account/token.html:55 +#: templates/users/token.html:47 users/forms/bulk_edit.py:122 +#: users/forms/model_forms.py:128 msgid "Allowed IPs" msgstr "IP autorisées" @@ -71,17 +73,18 @@ msgstr "Vos préférences ont été mises à jour." msgid "Planned" msgstr "Planifié" -#: circuits/choices.py:22 netbox/navigation/menu.py:290 +#: circuits/choices.py:22 netbox/navigation/menu.py:289 msgid "Provisioning" msgstr "Approvisionnement" -#: circuits/choices.py:23 dcim/choices.py:22 dcim/choices.py:103 -#: dcim/choices.py:173 dcim/choices.py:219 dcim/choices.py:1500 -#: dcim/choices.py:1550 extras/tables/tables.py:380 ipam/choices.py:31 -#: ipam/choices.py:49 ipam/choices.py:69 ipam/choices.py:154 -#: templates/extras/configcontext.html:26 templates/users/user.html:38 -#: users/forms/bulk_edit.py:36 virtualization/choices.py:22 -#: virtualization/choices.py:44 vpn/choices.py:19 wireless/choices.py:25 +#: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22 +#: dcim/choices.py:103 dcim/choices.py:173 dcim/choices.py:219 +#: dcim/choices.py:1500 dcim/choices.py:1550 extras/tables/tables.py:385 +#: ipam/choices.py:31 ipam/choices.py:49 ipam/choices.py:69 +#: ipam/choices.py:154 templates/extras/configcontext.html:25 +#: templates/users/user.html:37 users/forms/bulk_edit.py:38 +#: virtualization/choices.py:22 virtualization/choices.py:44 vpn/choices.py:19 +#: wireless/choices.py:25 msgid "Active" msgstr "Actif" @@ -99,100 +102,101 @@ msgstr "Déprovisionnement" msgid "Decommissioned" msgstr "Mis hors service" -#: circuits/filtersets.py:29 circuits/filtersets.py:190 dcim/filtersets.py:124 -#: dcim/filtersets.py:185 dcim/filtersets.py:260 dcim/filtersets.py:369 -#: dcim/filtersets.py:903 dcim/filtersets.py:1207 dcim/filtersets.py:1702 -#: dcim/filtersets.py:1945 dcim/filtersets.py:2003 ipam/filtersets.py:305 -#: ipam/filtersets.py:896 virtualization/filtersets.py:45 -#: virtualization/filtersets.py:173 vpn/filtersets.py:330 +#: circuits/filtersets.py:29 circuits/filtersets.py:196 dcim/filtersets.py:97 +#: dcim/filtersets.py:151 dcim/filtersets.py:211 dcim/filtersets.py:297 +#: dcim/filtersets.py:406 dcim/filtersets.py:969 dcim/filtersets.py:1295 +#: dcim/filtersets.py:1822 dcim/filtersets.py:2065 dcim/filtersets.py:2123 +#: ipam/filtersets.py:339 ipam/filtersets.py:945 +#: virtualization/filtersets.py:45 virtualization/filtersets.py:173 +#: vpn/filtersets.py:377 msgid "Region (ID)" msgstr "Région (ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:197 dcim/filtersets.py:130 -#: dcim/filtersets.py:192 dcim/filtersets.py:267 dcim/filtersets.py:376 -#: dcim/filtersets.py:910 dcim/filtersets.py:1214 dcim/filtersets.py:1709 -#: dcim/filtersets.py:1952 dcim/filtersets.py:2010 extras/filtersets.py:414 -#: ipam/filtersets.py:312 ipam/filtersets.py:903 +#: circuits/filtersets.py:36 circuits/filtersets.py:203 dcim/filtersets.py:104 +#: dcim/filtersets.py:157 dcim/filtersets.py:218 dcim/filtersets.py:304 +#: dcim/filtersets.py:413 dcim/filtersets.py:976 dcim/filtersets.py:1302 +#: dcim/filtersets.py:1829 dcim/filtersets.py:2072 dcim/filtersets.py:2130 +#: extras/filtersets.py:461 ipam/filtersets.py:346 ipam/filtersets.py:952 #: virtualization/filtersets.py:52 virtualization/filtersets.py:180 -#: vpn/filtersets.py:325 +#: vpn/filtersets.py:372 msgid "Region (slug)" msgstr "Région (slug)" -#: circuits/filtersets.py:42 circuits/filtersets.py:203 dcim/filtersets.py:198 -#: dcim/filtersets.py:273 dcim/filtersets.py:382 dcim/filtersets.py:916 -#: dcim/filtersets.py:1220 dcim/filtersets.py:1715 dcim/filtersets.py:1958 -#: dcim/filtersets.py:2016 ipam/filtersets.py:318 ipam/filtersets.py:909 -#: virtualization/filtersets.py:58 virtualization/filtersets.py:186 +#: circuits/filtersets.py:42 circuits/filtersets.py:209 dcim/filtersets.py:127 +#: dcim/filtersets.py:224 dcim/filtersets.py:310 dcim/filtersets.py:419 +#: dcim/filtersets.py:982 dcim/filtersets.py:1308 dcim/filtersets.py:1835 +#: dcim/filtersets.py:2078 dcim/filtersets.py:2136 ipam/filtersets.py:352 +#: ipam/filtersets.py:958 virtualization/filtersets.py:58 +#: virtualization/filtersets.py:186 msgid "Site group (ID)" msgstr "Groupe de sites (ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:210 dcim/filtersets.py:205 -#: dcim/filtersets.py:280 dcim/filtersets.py:389 dcim/filtersets.py:923 -#: dcim/filtersets.py:1227 dcim/filtersets.py:1722 dcim/filtersets.py:1965 -#: dcim/filtersets.py:2023 extras/filtersets.py:420 ipam/filtersets.py:325 -#: ipam/filtersets.py:916 virtualization/filtersets.py:65 -#: virtualization/filtersets.py:193 +#: circuits/filtersets.py:49 circuits/filtersets.py:216 dcim/filtersets.py:134 +#: dcim/filtersets.py:231 dcim/filtersets.py:317 dcim/filtersets.py:426 +#: dcim/filtersets.py:989 dcim/filtersets.py:1315 dcim/filtersets.py:1842 +#: dcim/filtersets.py:2085 dcim/filtersets.py:2143 extras/filtersets.py:467 +#: ipam/filtersets.py:359 ipam/filtersets.py:965 +#: virtualization/filtersets.py:65 virtualization/filtersets.py:193 msgid "Site group (slug)" msgstr "Groupe de sites (slug)" -#: circuits/filtersets.py:54 circuits/forms/bulk_import.py:117 -#: circuits/forms/filtersets.py:47 circuits/forms/filtersets.py:167 -#: circuits/forms/model_forms.py:137 dcim/forms/bulk_edit.py:166 -#: dcim/forms/bulk_edit.py:238 dcim/forms/bulk_edit.py:570 -#: dcim/forms/bulk_edit.py:763 dcim/forms/bulk_import.py:130 -#: dcim/forms/bulk_import.py:184 dcim/forms/bulk_import.py:257 -#: dcim/forms/bulk_import.py:485 dcim/forms/bulk_import.py:1262 -#: dcim/forms/bulk_import.py:1290 dcim/forms/filtersets.py:84 -#: dcim/forms/filtersets.py:217 dcim/forms/filtersets.py:264 -#: dcim/forms/filtersets.py:373 dcim/forms/filtersets.py:680 -#: dcim/forms/filtersets.py:910 dcim/forms/filtersets.py:934 -#: dcim/forms/filtersets.py:1024 dcim/forms/filtersets.py:1062 -#: dcim/forms/filtersets.py:1468 dcim/forms/filtersets.py:1492 -#: dcim/forms/filtersets.py:1516 dcim/forms/model_forms.py:138 -#: dcim/forms/model_forms.py:167 dcim/forms/model_forms.py:211 -#: dcim/forms/model_forms.py:401 dcim/forms/model_forms.py:637 -#: dcim/forms/object_create.py:390 dcim/tables/devices.py:186 -#: dcim/tables/power.py:26 dcim/tables/power.py:93 dcim/tables/racks.py:62 -#: dcim/tables/racks.py:138 dcim/tables/sites.py:129 extras/filtersets.py:430 -#: ipam/forms/bulk_edit.py:215 ipam/forms/bulk_edit.py:269 -#: ipam/forms/bulk_edit.py:447 ipam/forms/bulk_edit.py:519 -#: ipam/forms/bulk_import.py:170 ipam/forms/bulk_import.py:437 -#: ipam/forms/filtersets.py:152 ipam/forms/filtersets.py:226 -#: ipam/forms/filtersets.py:417 ipam/forms/filtersets.py:470 -#: ipam/forms/model_forms.py:206 ipam/forms/model_forms.py:552 -#: ipam/forms/model_forms.py:644 ipam/tables/ip.py:244 -#: ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 -#: templates/circuits/circuittermination_edit.html:20 -#: templates/circuits/inc/circuit_termination.html:33 -#: templates/dcim/device.html:22 templates/dcim/inc/cable_termination.html:8 +#: circuits/filtersets.py:54 circuits/forms/bulk_import.py:116 +#: circuits/forms/filtersets.py:48 circuits/forms/filtersets.py:168 +#: circuits/forms/model_forms.py:136 circuits/forms/model_forms.py:152 +#: dcim/forms/bulk_edit.py:167 dcim/forms/bulk_edit.py:239 +#: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:771 +#: dcim/forms/bulk_import.py:130 dcim/forms/bulk_import.py:184 +#: dcim/forms/bulk_import.py:257 dcim/forms/bulk_import.py:485 +#: dcim/forms/bulk_import.py:1262 dcim/forms/bulk_import.py:1290 +#: dcim/forms/filtersets.py:85 dcim/forms/filtersets.py:218 +#: dcim/forms/filtersets.py:265 dcim/forms/filtersets.py:374 +#: dcim/forms/filtersets.py:681 dcim/forms/filtersets.py:908 +#: dcim/forms/filtersets.py:932 dcim/forms/filtersets.py:1022 +#: dcim/forms/filtersets.py:1060 dcim/forms/filtersets.py:1468 +#: dcim/forms/filtersets.py:1492 dcim/forms/filtersets.py:1516 +#: dcim/forms/model_forms.py:136 dcim/forms/model_forms.py:164 +#: dcim/forms/model_forms.py:206 dcim/forms/model_forms.py:406 +#: dcim/forms/model_forms.py:668 dcim/forms/object_create.py:391 +#: dcim/tables/devices.py:158 dcim/tables/power.py:26 dcim/tables/power.py:93 +#: dcim/tables/racks.py:62 dcim/tables/racks.py:138 dcim/tables/sites.py:129 +#: extras/filtersets.py:477 ipam/forms/bulk_edit.py:216 +#: ipam/forms/bulk_edit.py:270 ipam/forms/bulk_edit.py:448 +#: ipam/forms/bulk_edit.py:522 ipam/forms/bulk_import.py:170 +#: ipam/forms/bulk_import.py:437 ipam/forms/filtersets.py:153 +#: ipam/forms/filtersets.py:230 ipam/forms/filtersets.py:424 +#: ipam/forms/filtersets.py:477 ipam/forms/model_forms.py:203 +#: ipam/forms/model_forms.py:578 ipam/forms/model_forms.py:673 +#: ipam/tables/ip.py:244 ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 +#: templates/circuits/inc/circuit_termination.html:32 +#: templates/dcim/device.html:21 templates/dcim/inc/cable_termination.html:8 #: templates/dcim/inc/cable_termination.html:33 -#: templates/dcim/location.html:40 templates/dcim/powerpanel.html:23 -#: templates/dcim/rack.html:25 templates/dcim/rackreservation.html:31 -#: templates/dcim/site.html:27 templates/ipam/prefix.html:57 -#: templates/ipam/vlan.html:26 templates/ipam/vlan_edit.html:40 -#: templates/virtualization/cluster.html:45 -#: templates/virtualization/virtualmachine.html:96 -#: virtualization/forms/bulk_edit.py:90 virtualization/forms/bulk_edit.py:108 -#: virtualization/forms/bulk_edit.py:123 +#: templates/dcim/location.html:37 templates/dcim/powerpanel.html:22 +#: templates/dcim/rack.html:22 templates/dcim/rackreservation.html:28 +#: templates/dcim/site.html:27 templates/ipam/prefix.html:56 +#: templates/ipam/vlan.html:23 templates/ipam/vlan_edit.html:40 +#: templates/virtualization/cluster.html:42 +#: templates/virtualization/virtualmachine.html:91 +#: virtualization/forms/bulk_edit.py:91 virtualization/forms/bulk_edit.py:109 +#: virtualization/forms/bulk_edit.py:124 #: virtualization/forms/bulk_import.py:59 #: virtualization/forms/bulk_import.py:85 -#: virtualization/forms/filtersets.py:78 -#: virtualization/forms/filtersets.py:144 -#: virtualization/forms/model_forms.py:74 -#: virtualization/forms/model_forms.py:107 -#: virtualization/forms/model_forms.py:174 +#: virtualization/forms/filtersets.py:79 +#: virtualization/forms/filtersets.py:148 +#: virtualization/forms/model_forms.py:71 +#: virtualization/forms/model_forms.py:104 +#: virtualization/forms/model_forms.py:171 #: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:262 -#: wireless/forms/model_forms.py:77 wireless/forms/model_forms.py:117 +#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:266 +#: wireless/forms/model_forms.py:76 wireless/forms/model_forms.py:118 msgid "Site" msgstr "Site" -#: circuits/filtersets.py:60 circuits/filtersets.py:221 -#: circuits/filtersets.py:258 dcim/filtersets.py:215 dcim/filtersets.py:290 -#: dcim/filtersets.py:363 extras/filtersets.py:436 ipam/filtersets.py:215 -#: ipam/filtersets.py:335 ipam/filtersets.py:926 +#: circuits/filtersets.py:60 circuits/filtersets.py:227 +#: circuits/filtersets.py:272 dcim/filtersets.py:241 dcim/filtersets.py:327 +#: dcim/filtersets.py:400 extras/filtersets.py:483 ipam/filtersets.py:238 +#: ipam/filtersets.py:369 ipam/filtersets.py:975 #: virtualization/filtersets.py:75 virtualization/filtersets.py:203 -#: vpn/filtersets.py:335 +#: vpn/filtersets.py:382 msgid "Site (slug)" msgstr "Site (slug)" @@ -200,19 +204,19 @@ msgstr "Site (slug)" msgid "ASN (ID)" msgstr "ASN (ID)" -#: circuits/filtersets.py:71 circuits/forms/filtersets.py:27 -#: ipam/forms/model_forms.py:158 ipam/models/asns.py:108 +#: circuits/filtersets.py:71 circuits/forms/filtersets.py:28 +#: ipam/forms/model_forms.py:157 ipam/models/asns.py:108 #: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 msgid "ASN" msgstr "ASN" #: circuits/filtersets.py:93 circuits/filtersets.py:120 -#: circuits/filtersets.py:154 +#: circuits/filtersets.py:154 ipam/filtersets.py:243 msgid "Provider (ID)" msgstr "Fournisseur (ID)" #: circuits/filtersets.py:99 circuits/filtersets.py:126 -#: circuits/filtersets.py:160 +#: circuits/filtersets.py:160 ipam/filtersets.py:249 msgid "Provider (slug)" msgstr "Fournisseur (slug)" @@ -220,586 +224,605 @@ msgstr "Fournisseur (slug)" msgid "Provider account (ID)" msgstr "Compte fournisseur (ID)" -#: circuits/filtersets.py:170 +#: circuits/filtersets.py:171 +msgid "Provider account (account)" +msgstr "Compte du fournisseur (compte)" + +#: circuits/filtersets.py:176 msgid "Provider network (ID)" msgstr "Réseau fournisseur (ID)" -#: circuits/filtersets.py:174 +#: circuits/filtersets.py:180 msgid "Circuit type (ID)" msgstr "Type de circuit (ID)" -#: circuits/filtersets.py:180 +#: circuits/filtersets.py:186 msgid "Circuit type (slug)" msgstr "Type de circuit (slug)" -#: circuits/filtersets.py:215 circuits/filtersets.py:252 -#: dcim/filtersets.py:209 dcim/filtersets.py:284 dcim/filtersets.py:357 -#: dcim/filtersets.py:927 dcim/filtersets.py:1232 dcim/filtersets.py:1727 -#: dcim/filtersets.py:1969 dcim/filtersets.py:2028 ipam/filtersets.py:209 -#: ipam/filtersets.py:329 ipam/filtersets.py:920 +#: circuits/filtersets.py:221 circuits/filtersets.py:266 +#: dcim/filtersets.py:235 dcim/filtersets.py:321 dcim/filtersets.py:394 +#: dcim/filtersets.py:993 dcim/filtersets.py:1320 dcim/filtersets.py:1847 +#: dcim/filtersets.py:2089 dcim/filtersets.py:2148 ipam/filtersets.py:232 +#: ipam/filtersets.py:363 ipam/filtersets.py:969 #: virtualization/filtersets.py:69 virtualization/filtersets.py:197 -#: vpn/filtersets.py:340 +#: vpn/filtersets.py:387 msgid "Site (ID)" msgstr "Site (ID)" -#: circuits/filtersets.py:244 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:640 dcim/filtersets.py:1201 dcim/filtersets.py:2076 -#: extras/filtersets.py:40 extras/filtersets.py:69 extras/filtersets.py:101 -#: extras/filtersets.py:140 extras/filtersets.py:168 extras/filtersets.py:195 -#: extras/filtersets.py:226 extras/filtersets.py:295 extras/filtersets.py:343 -#: extras/filtersets.py:403 extras/filtersets.py:562 extras/filtersets.py:604 -#: extras/filtersets.py:645 ipam/forms/model_forms.py:416 -#: netbox/filtersets.py:275 netbox/forms/__init__.py:23 -#: netbox/forms/base.py:163 templates/htmx/object_selector.html:28 -#: templates/inc/filter_list.html:53 templates/ipam/ipaddress_assign.html:32 -#: templates/search.html:7 templates/search.html:26 tenancy/filtersets.py:87 -#: users/filtersets.py:21 users/filtersets.py:37 users/filtersets.py:69 -#: users/filtersets.py:117 utilities/forms/forms.py:99 +#: circuits/filtersets.py:231 circuits/filtersets.py:235 +msgid "Termination A (ID)" +msgstr "Résiliation A (ID)" + +#: circuits/filtersets.py:258 core/filtersets.py:73 core/filtersets.py:132 +#: dcim/filtersets.py:693 dcim/filtersets.py:1289 dcim/filtersets.py:2196 +#: extras/filtersets.py:41 extras/filtersets.py:63 extras/filtersets.py:92 +#: extras/filtersets.py:127 extras/filtersets.py:176 extras/filtersets.py:204 +#: extras/filtersets.py:234 extras/filtersets.py:271 extras/filtersets.py:343 +#: extras/filtersets.py:390 extras/filtersets.py:450 extras/filtersets.py:613 +#: extras/filtersets.py:655 extras/filtersets.py:696 +#: ipam/forms/model_forms.py:438 netbox/filtersets.py:275 +#: netbox/forms/__init__.py:22 netbox/forms/base.py:165 +#: templates/htmx/object_selector.html:28 templates/inc/filter_list.html:45 +#: templates/ipam/ipaddress_assign.html:32 templates/search.html:7 +#: templates/search.html:26 tenancy/filtersets.py:100 users/filtersets.py:23 +#: users/filtersets.py:52 users/filtersets.py:92 users/filtersets.py:140 +#: utilities/forms/forms.py:104 msgid "Search" msgstr "Rechercher" -#: circuits/filtersets.py:248 circuits/forms/bulk_edit.py:167 -#: circuits/forms/model_forms.py:110 circuits/forms/model_forms.py:132 -#: dcim/forms/connections.py:66 templates/circuits/circuit.html:15 +#: circuits/filtersets.py:262 circuits/forms/bulk_edit.py:168 +#: circuits/forms/model_forms.py:109 circuits/forms/model_forms.py:131 +#: dcim/forms/connections.py:71 templates/circuits/circuit.html:15 #: templates/dcim/inc/cable_termination.html:55 #: templates/dcim/trace/circuit.html:4 msgid "Circuit" msgstr "Circuit" -#: circuits/filtersets.py:262 +#: circuits/filtersets.py:276 msgid "ProviderNetwork (ID)" msgstr "Réseau fournisseur (ID)" -#: circuits/forms/bulk_edit.py:25 circuits/forms/filtersets.py:52 -#: circuits/forms/model_forms.py:26 circuits/tables/providers.py:33 -#: dcim/forms/bulk_edit.py:126 dcim/forms/filtersets.py:187 -#: dcim/forms/model_forms.py:126 dcim/tables/sites.py:94 +#: circuits/forms/bulk_edit.py:26 circuits/forms/filtersets.py:53 +#: circuits/forms/model_forms.py:27 circuits/tables/providers.py:33 +#: dcim/forms/bulk_edit.py:127 dcim/forms/filtersets.py:188 +#: dcim/forms/model_forms.py:122 dcim/tables/sites.py:94 #: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:219 -#: netbox/navigation/menu.py:160 netbox/navigation/menu.py:163 -#: templates/circuits/provider.html:24 +#: netbox/navigation/menu.py:159 netbox/navigation/menu.py:162 +#: templates/circuits/provider.html:23 msgid "ASNs" msgstr "Numéros d'AS" -#: circuits/forms/bulk_edit.py:29 circuits/forms/bulk_edit.py:51 -#: circuits/forms/bulk_edit.py:78 circuits/forms/bulk_edit.py:99 -#: circuits/forms/bulk_edit.py:159 core/forms/bulk_edit.py:27 -#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:71 -#: dcim/forms/bulk_edit.py:90 dcim/forms/bulk_edit.py:149 -#: dcim/forms/bulk_edit.py:190 dcim/forms/bulk_edit.py:208 -#: dcim/forms/bulk_edit.py:336 dcim/forms/bulk_edit.py:371 -#: dcim/forms/bulk_edit.py:386 dcim/forms/bulk_edit.py:445 -#: dcim/forms/bulk_edit.py:484 dcim/forms/bulk_edit.py:514 -#: dcim/forms/bulk_edit.py:538 dcim/forms/bulk_edit.py:608 -#: dcim/forms/bulk_edit.py:657 dcim/forms/bulk_edit.py:709 -#: dcim/forms/bulk_edit.py:732 dcim/forms/bulk_edit.py:780 -#: dcim/forms/bulk_edit.py:850 dcim/forms/bulk_edit.py:903 -#: dcim/forms/bulk_edit.py:938 dcim/forms/bulk_edit.py:978 -#: dcim/forms/bulk_edit.py:1022 dcim/forms/bulk_edit.py:1067 -#: dcim/forms/bulk_edit.py:1094 dcim/forms/bulk_edit.py:1112 -#: dcim/forms/bulk_edit.py:1130 dcim/forms/bulk_edit.py:1148 -#: dcim/forms/bulk_edit.py:1566 extras/forms/bulk_edit.py:36 -#: extras/forms/bulk_edit.py:123 extras/forms/bulk_edit.py:152 -#: extras/forms/bulk_edit.py:182 extras/forms/bulk_edit.py:263 -#: extras/forms/bulk_edit.py:287 extras/forms/bulk_edit.py:301 -#: extras/tables/tables.py:56 ipam/forms/bulk_edit.py:50 -#: ipam/forms/bulk_edit.py:70 ipam/forms/bulk_edit.py:90 -#: ipam/forms/bulk_edit.py:114 ipam/forms/bulk_edit.py:143 -#: ipam/forms/bulk_edit.py:172 ipam/forms/bulk_edit.py:191 -#: ipam/forms/bulk_edit.py:260 ipam/forms/bulk_edit.py:304 -#: ipam/forms/bulk_edit.py:352 ipam/forms/bulk_edit.py:395 -#: ipam/forms/bulk_edit.py:423 ipam/forms/bulk_edit.py:551 -#: ipam/forms/bulk_edit.py:582 templates/account/token.html:36 -#: templates/circuits/circuit.html:60 templates/circuits/circuittype.html:29 -#: templates/circuits/inc/circuit_termination.html:115 -#: templates/circuits/provider.html:34 -#: templates/circuits/providernetwork.html:35 -#: templates/core/datasource.html:55 templates/dcim/cable.html:37 -#: templates/dcim/consoleport.html:47 templates/dcim/consoleserverport.html:47 -#: templates/dcim/device.html:96 templates/dcim/devicebay.html:35 -#: templates/dcim/devicerole.html:33 templates/dcim/devicetype.html:36 -#: templates/dcim/frontport.html:61 templates/dcim/interface.html:70 -#: templates/dcim/inventoryitem.html:61 -#: templates/dcim/inventoryitemrole.html:23 templates/dcim/location.html:36 -#: templates/dcim/manufacturer.html:43 templates/dcim/module.html:71 -#: templates/dcim/modulebay.html:39 templates/dcim/moduletype.html:27 -#: templates/dcim/platform.html:36 templates/dcim/powerfeed.html:43 -#: templates/dcim/poweroutlet.html:43 templates/dcim/powerpanel.html:31 -#: templates/dcim/powerport.html:43 templates/dcim/rack.html:54 -#: templates/dcim/rackreservation.html:69 templates/dcim/rackrole.html:29 -#: templates/dcim/rearport.html:57 templates/dcim/region.html:34 -#: templates/dcim/site.html:60 templates/dcim/sitegroup.html:34 -#: templates/dcim/virtualchassis.html:32 -#: templates/extras/admin/plugins_list.html:26 -#: templates/extras/configcontext.html:22 -#: templates/extras/configtemplate.html:18 -#: templates/extras/customfield.html:35 +#: circuits/forms/bulk_edit.py:30 circuits/forms/bulk_edit.py:52 +#: circuits/forms/bulk_edit.py:79 circuits/forms/bulk_edit.py:100 +#: circuits/forms/bulk_edit.py:160 core/forms/bulk_edit.py:28 +#: core/tables/plugins.py:29 dcim/forms/bulk_create.py:35 +#: dcim/forms/bulk_edit.py:72 dcim/forms/bulk_edit.py:91 +#: dcim/forms/bulk_edit.py:150 dcim/forms/bulk_edit.py:191 +#: dcim/forms/bulk_edit.py:209 dcim/forms/bulk_edit.py:337 +#: dcim/forms/bulk_edit.py:373 dcim/forms/bulk_edit.py:388 +#: dcim/forms/bulk_edit.py:447 dcim/forms/bulk_edit.py:486 +#: dcim/forms/bulk_edit.py:516 dcim/forms/bulk_edit.py:540 +#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_edit.py:665 +#: dcim/forms/bulk_edit.py:717 dcim/forms/bulk_edit.py:740 +#: dcim/forms/bulk_edit.py:788 dcim/forms/bulk_edit.py:858 +#: dcim/forms/bulk_edit.py:911 dcim/forms/bulk_edit.py:946 +#: dcim/forms/bulk_edit.py:986 dcim/forms/bulk_edit.py:1030 +#: dcim/forms/bulk_edit.py:1075 dcim/forms/bulk_edit.py:1102 +#: dcim/forms/bulk_edit.py:1120 dcim/forms/bulk_edit.py:1138 +#: dcim/forms/bulk_edit.py:1156 dcim/forms/bulk_edit.py:1575 +#: extras/forms/bulk_edit.py:36 extras/forms/bulk_edit.py:124 +#: extras/forms/bulk_edit.py:153 extras/forms/bulk_edit.py:183 +#: extras/forms/bulk_edit.py:264 extras/forms/bulk_edit.py:288 +#: extras/forms/bulk_edit.py:302 extras/tables/tables.py:58 +#: ipam/forms/bulk_edit.py:51 ipam/forms/bulk_edit.py:71 +#: ipam/forms/bulk_edit.py:91 ipam/forms/bulk_edit.py:115 +#: ipam/forms/bulk_edit.py:144 ipam/forms/bulk_edit.py:173 +#: ipam/forms/bulk_edit.py:192 ipam/forms/bulk_edit.py:261 +#: ipam/forms/bulk_edit.py:305 ipam/forms/bulk_edit.py:353 +#: ipam/forms/bulk_edit.py:396 ipam/forms/bulk_edit.py:424 +#: ipam/forms/bulk_edit.py:554 ipam/forms/bulk_edit.py:585 +#: templates/account/token.html:35 templates/circuits/circuit.html:59 +#: templates/circuits/circuittype.html:26 +#: templates/circuits/inc/circuit_termination.html:114 +#: templates/circuits/provider.html:33 +#: templates/circuits/providernetwork.html:32 +#: templates/core/datasource.html:54 templates/dcim/cable.html:36 +#: templates/dcim/consoleport.html:44 templates/dcim/consoleserverport.html:44 +#: templates/dcim/device.html:93 templates/dcim/devicebay.html:32 +#: templates/dcim/devicerole.html:30 templates/dcim/devicetype.html:33 +#: templates/dcim/frontport.html:58 templates/dcim/interface.html:69 +#: templates/dcim/inventoryitem.html:60 +#: templates/dcim/inventoryitemrole.html:22 templates/dcim/location.html:33 +#: templates/dcim/manufacturer.html:40 templates/dcim/module.html:70 +#: templates/dcim/modulebay.html:38 templates/dcim/moduletype.html:26 +#: templates/dcim/platform.html:33 templates/dcim/powerfeed.html:40 +#: templates/dcim/poweroutlet.html:40 templates/dcim/powerpanel.html:30 +#: templates/dcim/powerport.html:40 templates/dcim/rack.html:51 +#: templates/dcim/rackreservation.html:62 templates/dcim/rackrole.html:26 +#: templates/dcim/rearport.html:54 templates/dcim/region.html:33 +#: templates/dcim/site.html:59 templates/dcim/sitegroup.html:33 +#: templates/dcim/virtualchassis.html:31 +#: templates/extras/configcontext.html:21 +#: templates/extras/configtemplate.html:17 +#: templates/extras/customfield.html:34 #: templates/extras/dashboard/widget_add.html:14 -#: templates/extras/eventrule.html:24 templates/extras/exporttemplate.html:25 -#: templates/extras/report_list.html:47 templates/extras/savedfilter.html:18 -#: templates/extras/script_list.html:53 templates/extras/tag.html:23 -#: templates/extras/webhook.html:20 templates/generic/bulk_import.html:118 -#: templates/ipam/aggregate.html:44 templates/ipam/asn.html:43 -#: templates/ipam/asnrange.html:39 templates/ipam/fhrpgroup.html:35 -#: templates/ipam/ipaddress.html:58 templates/ipam/iprange.html:70 -#: templates/ipam/prefix.html:82 templates/ipam/rir.html:29 -#: templates/ipam/role.html:29 templates/ipam/routetarget.html:22 -#: templates/ipam/service.html:53 templates/ipam/servicetemplate.html:28 -#: templates/ipam/vlan.html:65 templates/ipam/vlangroup.html:35 -#: templates/ipam/vrf.html:36 templates/tenancy/contact.html:68 -#: templates/tenancy/contactgroup.html:28 -#: templates/tenancy/contactrole.html:23 templates/tenancy/tenant.html:25 -#: templates/tenancy/tenantgroup.html:36 -#: templates/users/objectpermission.html:22 templates/users/token.html:28 -#: templates/virtualization/cluster.html:28 -#: templates/virtualization/clustergroup.html:29 -#: templates/virtualization/clustertype.html:29 -#: templates/virtualization/virtualdisk.html:40 -#: templates/virtualization/virtualmachine.html:34 -#: templates/virtualization/vminterface.html:54 -#: templates/vpn/ikepolicy.html:18 templates/vpn/ikeproposal.html:18 -#: templates/vpn/ipsecpolicy.html:18 templates/vpn/ipsecprofile.html:18 -#: templates/vpn/ipsecprofile.html:43 templates/vpn/ipsecprofile.html:78 -#: templates/vpn/ipsecproposal.html:18 templates/vpn/l2vpn.html:27 -#: templates/vpn/tunnel.html:34 templates/vpn/tunnelgroup.html:33 -#: templates/wireless/wirelesslan.html:27 -#: templates/wireless/wirelesslangroup.html:34 -#: templates/wireless/wirelesslink.html:37 tenancy/forms/bulk_edit.py:31 -#: tenancy/forms/bulk_edit.py:79 tenancy/forms/bulk_edit.py:121 -#: users/forms/bulk_edit.py:62 users/forms/bulk_edit.py:92 -#: virtualization/forms/bulk_edit.py:31 virtualization/forms/bulk_edit.py:45 -#: virtualization/forms/bulk_edit.py:99 virtualization/forms/bulk_edit.py:176 -#: virtualization/forms/bulk_edit.py:227 virtualization/forms/bulk_edit.py:336 -#: vpn/forms/bulk_edit.py:27 vpn/forms/bulk_edit.py:63 -#: vpn/forms/bulk_edit.py:120 vpn/forms/bulk_edit.py:154 -#: vpn/forms/bulk_edit.py:191 vpn/forms/bulk_edit.py:216 -#: vpn/forms/bulk_edit.py:248 vpn/forms/bulk_edit.py:277 -#: wireless/forms/bulk_edit.py:28 wireless/forms/bulk_edit.py:81 -#: wireless/forms/bulk_edit.py:128 +#: templates/extras/eventrule.html:21 templates/extras/exporttemplate.html:19 +#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:47 +#: templates/extras/tag.html:20 templates/extras/webhook.html:17 +#: templates/generic/bulk_import.html:120 templates/ipam/aggregate.html:43 +#: templates/ipam/asn.html:42 templates/ipam/asnrange.html:38 +#: templates/ipam/fhrpgroup.html:34 templates/ipam/ipaddress.html:55 +#: templates/ipam/iprange.html:67 templates/ipam/prefix.html:81 +#: templates/ipam/rir.html:26 templates/ipam/role.html:26 +#: templates/ipam/routetarget.html:21 templates/ipam/service.html:50 +#: templates/ipam/servicetemplate.html:27 templates/ipam/vlan.html:62 +#: templates/ipam/vlangroup.html:34 templates/ipam/vrf.html:33 +#: templates/tenancy/contact.html:67 templates/tenancy/contactgroup.html:25 +#: templates/tenancy/contactrole.html:22 templates/tenancy/tenant.html:24 +#: templates/tenancy/tenantgroup.html:33 templates/users/group.html:21 +#: templates/users/objectpermission.html:21 templates/users/token.html:27 +#: templates/virtualization/cluster.html:25 +#: templates/virtualization/clustergroup.html:26 +#: templates/virtualization/clustertype.html:26 +#: templates/virtualization/virtualdisk.html:39 +#: templates/virtualization/virtualmachine.html:31 +#: templates/virtualization/vminterface.html:51 +#: templates/vpn/ikepolicy.html:17 templates/vpn/ikeproposal.html:17 +#: templates/vpn/ipsecpolicy.html:17 templates/vpn/ipsecprofile.html:17 +#: templates/vpn/ipsecprofile.html:40 templates/vpn/ipsecprofile.html:73 +#: templates/vpn/ipsecproposal.html:17 templates/vpn/l2vpn.html:26 +#: templates/vpn/tunnel.html:33 templates/vpn/tunnelgroup.html:30 +#: templates/wireless/wirelesslan.html:26 +#: templates/wireless/wirelesslangroup.html:33 +#: templates/wireless/wirelesslink.html:34 tenancy/forms/bulk_edit.py:32 +#: tenancy/forms/bulk_edit.py:80 tenancy/forms/bulk_edit.py:122 +#: users/forms/bulk_edit.py:64 users/forms/bulk_edit.py:82 +#: users/forms/bulk_edit.py:112 virtualization/forms/bulk_edit.py:32 +#: virtualization/forms/bulk_edit.py:46 virtualization/forms/bulk_edit.py:100 +#: virtualization/forms/bulk_edit.py:177 virtualization/forms/bulk_edit.py:228 +#: virtualization/forms/bulk_edit.py:337 vpn/forms/bulk_edit.py:28 +#: vpn/forms/bulk_edit.py:64 vpn/forms/bulk_edit.py:121 +#: vpn/forms/bulk_edit.py:155 vpn/forms/bulk_edit.py:190 +#: vpn/forms/bulk_edit.py:215 vpn/forms/bulk_edit.py:247 +#: vpn/forms/bulk_edit.py:274 wireless/forms/bulk_edit.py:29 +#: wireless/forms/bulk_edit.py:82 wireless/forms/bulk_edit.py:129 msgid "Description" msgstr "Description" -#: circuits/forms/bulk_edit.py:46 circuits/forms/bulk_edit.py:68 -#: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:35 -#: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:66 circuits/forms/filtersets.py:84 -#: circuits/forms/filtersets.py:112 circuits/forms/filtersets.py:127 -#: circuits/forms/model_forms.py:32 circuits/forms/model_forms.py:44 -#: circuits/forms/model_forms.py:58 circuits/forms/model_forms.py:92 -#: circuits/tables/circuits.py:55 circuits/tables/providers.py:72 -#: circuits/tables/providers.py:103 templates/circuits/circuit.html:19 -#: templates/circuits/provider.html:20 -#: templates/circuits/provideraccount.html:21 -#: templates/circuits/providernetwork.html:23 +#: circuits/forms/bulk_edit.py:47 circuits/forms/bulk_edit.py:69 +#: circuits/forms/bulk_edit.py:119 circuits/forms/bulk_import.py:34 +#: circuits/forms/bulk_import.py:49 circuits/forms/bulk_import.py:75 +#: circuits/forms/filtersets.py:67 circuits/forms/filtersets.py:85 +#: circuits/forms/filtersets.py:113 circuits/forms/filtersets.py:128 +#: circuits/forms/model_forms.py:45 circuits/forms/model_forms.py:59 +#: circuits/forms/model_forms.py:91 circuits/tables/circuits.py:55 +#: circuits/tables/providers.py:72 circuits/tables/providers.py:103 +#: templates/circuits/circuit.html:18 templates/circuits/provider.html:20 +#: templates/circuits/provideraccount.html:20 +#: templates/circuits/providernetwork.html:20 #: templates/dcim/inc/cable_termination.html:51 msgid "Provider" msgstr "Prestataire" -#: circuits/forms/bulk_edit.py:75 circuits/forms/filtersets.py:87 -#: templates/circuits/providernetwork.html:31 +#: circuits/forms/bulk_edit.py:76 circuits/forms/filtersets.py:88 +#: templates/circuits/providernetwork.html:28 msgid "Service ID" msgstr "Identifiant du service" -#: circuits/forms/bulk_edit.py:95 circuits/forms/filtersets.py:103 -#: dcim/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:500 -#: dcim/forms/bulk_edit.py:694 dcim/forms/bulk_edit.py:1063 -#: dcim/forms/bulk_edit.py:1090 dcim/forms/bulk_edit.py:1562 -#: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1353 -#: dcim/forms/filtersets.py:1374 dcim/tables/devices.py:726 -#: dcim/tables/devices.py:786 dcim/tables/devices.py:1013 +#: circuits/forms/bulk_edit.py:96 circuits/forms/filtersets.py:104 +#: dcim/forms/bulk_edit.py:205 dcim/forms/bulk_edit.py:502 +#: dcim/forms/bulk_edit.py:702 dcim/forms/bulk_edit.py:1071 +#: dcim/forms/bulk_edit.py:1098 dcim/forms/bulk_edit.py:1571 +#: dcim/forms/filtersets.py:975 dcim/forms/filtersets.py:1351 +#: dcim/forms/filtersets.py:1372 dcim/tables/devices.py:699 +#: dcim/tables/devices.py:759 dcim/tables/devices.py:986 #: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 -#: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:259 -#: extras/tables/tables.py:328 templates/circuits/circuittype.html:33 -#: templates/dcim/cable.html:41 templates/dcim/devicerole.html:37 -#: templates/dcim/frontport.html:43 templates/dcim/inventoryitemrole.html:27 -#: templates/dcim/rackrole.html:33 templates/dcim/rearport.html:43 -#: templates/extras/tag.html:29 +#: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:260 +#: extras/tables/tables.py:333 templates/circuits/circuittype.html:30 +#: templates/dcim/cable.html:40 templates/dcim/devicerole.html:34 +#: templates/dcim/frontport.html:40 templates/dcim/inventoryitemrole.html:26 +#: templates/dcim/rackrole.html:30 templates/dcim/rearport.html:40 +#: templates/extras/tag.html:26 msgid "Color" msgstr "Couleur" -#: circuits/forms/bulk_edit.py:113 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:122 core/forms/bulk_edit.py:17 -#: core/forms/filtersets.py:29 core/tables/data.py:20 core/tables/jobs.py:18 -#: dcim/forms/bulk_edit.py:281 dcim/forms/bulk_edit.py:672 -#: dcim/forms/bulk_edit.py:811 dcim/forms/bulk_edit.py:879 -#: dcim/forms/bulk_edit.py:898 dcim/forms/bulk_edit.py:921 -#: dcim/forms/bulk_edit.py:963 dcim/forms/bulk_edit.py:1007 -#: dcim/forms/bulk_edit.py:1058 dcim/forms/bulk_edit.py:1085 +#: circuits/forms/bulk_edit.py:114 circuits/forms/bulk_import.py:88 +#: circuits/forms/filtersets.py:123 core/forms/bulk_edit.py:18 +#: core/forms/filtersets.py:30 core/tables/data.py:20 core/tables/jobs.py:18 +#: dcim/forms/bulk_edit.py:282 dcim/forms/bulk_edit.py:680 +#: dcim/forms/bulk_edit.py:819 dcim/forms/bulk_edit.py:887 +#: dcim/forms/bulk_edit.py:906 dcim/forms/bulk_edit.py:929 +#: dcim/forms/bulk_edit.py:971 dcim/forms/bulk_edit.py:1015 +#: dcim/forms/bulk_edit.py:1066 dcim/forms/bulk_edit.py:1093 #: dcim/forms/bulk_import.py:214 dcim/forms/bulk_import.py:653 #: dcim/forms/bulk_import.py:679 dcim/forms/bulk_import.py:705 #: dcim/forms/bulk_import.py:725 dcim/forms/bulk_import.py:808 #: dcim/forms/bulk_import.py:902 dcim/forms/bulk_import.py:944 #: dcim/forms/bulk_import.py:1161 dcim/forms/bulk_import.py:1327 -#: dcim/forms/filtersets.py:286 dcim/forms/filtersets.py:867 -#: dcim/forms/filtersets.py:967 dcim/forms/filtersets.py:1088 -#: dcim/forms/filtersets.py:1158 dcim/forms/filtersets.py:1180 -#: dcim/forms/filtersets.py:1202 dcim/forms/filtersets.py:1219 -#: dcim/forms/filtersets.py:1253 dcim/forms/filtersets.py:1348 -#: dcim/forms/filtersets.py:1369 dcim/forms/object_import.py:89 -#: dcim/forms/object_import.py:118 dcim/forms/object_import.py:150 -#: dcim/tables/devices.py:211 dcim/tables/devices.py:842 +#: dcim/forms/filtersets.py:287 dcim/forms/filtersets.py:866 +#: dcim/forms/filtersets.py:965 dcim/forms/filtersets.py:1086 +#: dcim/forms/filtersets.py:1156 dcim/forms/filtersets.py:1178 +#: dcim/forms/filtersets.py:1200 dcim/forms/filtersets.py:1217 +#: dcim/forms/filtersets.py:1251 dcim/forms/filtersets.py:1346 +#: dcim/forms/filtersets.py:1367 dcim/forms/model_forms.py:643 +#: dcim/forms/model_forms.py:649 dcim/forms/object_import.py:84 +#: dcim/forms/object_import.py:113 dcim/forms/object_import.py:145 +#: dcim/tables/devices.py:183 dcim/tables/devices.py:815 #: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 -#: extras/tables/tables.py:278 extras/tables/tables.py:350 -#: extras/tables/tables.py:448 netbox/tables/tables.py:234 -#: templates/circuits/circuit.html:31 templates/core/datasource.html:39 -#: templates/dcim/cable.html:16 templates/dcim/consoleport.html:39 -#: templates/dcim/consoleserverport.html:39 templates/dcim/frontport.html:39 -#: templates/dcim/interface.html:47 templates/dcim/interface.html:175 -#: templates/dcim/interface.html:323 templates/dcim/powerfeed.html:35 -#: templates/dcim/poweroutlet.html:39 templates/dcim/powerport.html:39 -#: templates/dcim/rack.html:81 templates/dcim/rearport.html:39 -#: templates/extras/eventrule.html:95 templates/virtualization/cluster.html:20 -#: templates/vpn/l2vpn.html:23 -#: templates/wireless/inc/authentication_attrs.html:9 +#: extras/tables/tables.py:283 extras/tables/tables.py:355 +#: extras/tables/tables.py:473 netbox/tables/tables.py:236 +#: templates/circuits/circuit.html:30 templates/core/datasource.html:38 +#: templates/dcim/cable.html:15 templates/dcim/consoleport.html:36 +#: templates/dcim/consoleserverport.html:36 templates/dcim/frontport.html:36 +#: templates/dcim/interface.html:46 templates/dcim/interface.html:169 +#: templates/dcim/interface.html:311 templates/dcim/powerfeed.html:32 +#: templates/dcim/poweroutlet.html:36 templates/dcim/powerport.html:36 +#: templates/dcim/rack.html:76 templates/dcim/rearport.html:36 +#: templates/extras/eventrule.html:80 templates/virtualization/cluster.html:17 +#: templates/vpn/l2vpn.html:22 +#: templates/wireless/inc/authentication_attrs.html:8 #: templates/wireless/inc/wirelesslink_interface.html:14 -#: virtualization/forms/bulk_edit.py:59 virtualization/forms/bulk_import.py:41 -#: virtualization/forms/filtersets.py:53 -#: virtualization/forms/model_forms.py:65 virtualization/tables/clusters.py:66 -#: vpn/forms/bulk_edit.py:267 vpn/forms/bulk_import.py:264 -#: vpn/forms/filtersets.py:214 vpn/forms/model_forms.py:83 -#: vpn/forms/model_forms.py:118 vpn/forms/model_forms.py:232 +#: virtualization/forms/bulk_edit.py:60 virtualization/forms/bulk_import.py:41 +#: virtualization/forms/filtersets.py:54 +#: virtualization/forms/model_forms.py:62 virtualization/tables/clusters.py:66 +#: vpn/forms/bulk_edit.py:264 vpn/forms/bulk_import.py:264 +#: vpn/forms/filtersets.py:217 vpn/forms/model_forms.py:84 +#: vpn/forms/model_forms.py:119 vpn/forms/model_forms.py:231 msgid "Type" msgstr "Type" -#: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:135 circuits/forms/model_forms.py:97 +#: circuits/forms/bulk_edit.py:124 circuits/forms/bulk_import.py:81 +#: circuits/forms/filtersets.py:136 circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "Identifiant de compte du prestataire" -#: circuits/forms/bulk_edit.py:131 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:146 core/forms/filtersets.py:34 -#: core/forms/filtersets.py:75 core/tables/data.py:23 core/tables/jobs.py:26 -#: dcim/forms/bulk_edit.py:104 dcim/forms/bulk_edit.py:179 -#: dcim/forms/bulk_edit.py:260 dcim/forms/bulk_edit.py:593 -#: dcim/forms/bulk_edit.py:646 dcim/forms/bulk_edit.py:678 -#: dcim/forms/bulk_edit.py:805 dcim/forms/bulk_edit.py:1585 -#: dcim/forms/bulk_import.py:87 dcim/forms/bulk_import.py:146 -#: dcim/forms/bulk_import.py:202 dcim/forms/bulk_import.py:450 -#: dcim/forms/bulk_import.py:604 dcim/forms/bulk_import.py:1155 -#: dcim/forms/bulk_import.py:1322 dcim/forms/bulk_import.py:1386 -#: dcim/forms/filtersets.py:170 dcim/forms/filtersets.py:229 -#: dcim/forms/filtersets.py:281 dcim/forms/filtersets.py:726 -#: dcim/forms/filtersets.py:835 dcim/forms/filtersets.py:871 -#: dcim/forms/filtersets.py:972 dcim/forms/filtersets.py:1083 -#: dcim/tables/devices.py:173 dcim/tables/devices.py:845 -#: dcim/tables/devices.py:1073 dcim/tables/modules.py:69 -#: dcim/tables/power.py:74 dcim/tables/racks.py:66 dcim/tables/sites.py:82 -#: dcim/tables/sites.py:133 ipam/forms/bulk_edit.py:240 -#: ipam/forms/bulk_edit.py:289 ipam/forms/bulk_edit.py:337 -#: ipam/forms/bulk_edit.py:541 ipam/forms/bulk_import.py:191 -#: ipam/forms/bulk_import.py:256 ipam/forms/bulk_import.py:292 -#: ipam/forms/bulk_import.py:458 ipam/forms/filtersets.py:205 -#: ipam/forms/filtersets.py:270 ipam/forms/filtersets.py:341 -#: ipam/forms/filtersets.py:482 ipam/forms/model_forms.py:435 -#: ipam/tables/ip.py:236 ipam/tables/ip.py:309 ipam/tables/ip.py:359 -#: ipam/tables/ip.py:421 ipam/tables/ip.py:448 ipam/tables/vlans.py:122 -#: ipam/tables/vlans.py:227 templates/circuits/circuit.html:35 -#: templates/core/datasource.html:47 templates/core/job.html:35 -#: templates/dcim/cable.html:20 templates/dcim/device.html:183 -#: templates/dcim/location.html:48 templates/dcim/module.html:67 -#: templates/dcim/powerfeed.html:39 templates/dcim/rack.html:46 -#: templates/dcim/site.html:43 templates/extras/report_list.html:49 -#: templates/extras/script_list.html:55 templates/ipam/ipaddress.html:40 -#: templates/ipam/iprange.html:57 templates/ipam/prefix.html:74 -#: templates/ipam/vlan.html:51 templates/virtualization/cluster.html:24 -#: templates/virtualization/virtualmachine.html:22 -#: templates/vpn/tunnel.html:26 templates/wireless/wirelesslan.html:23 -#: templates/wireless/wirelesslink.html:20 users/forms/filtersets.py:33 -#: users/forms/model_forms.py:197 virtualization/forms/bulk_edit.py:69 -#: virtualization/forms/bulk_edit.py:117 +#: circuits/forms/bulk_edit.py:132 circuits/forms/bulk_import.py:94 +#: circuits/forms/filtersets.py:147 core/forms/filtersets.py:35 +#: core/forms/filtersets.py:76 core/tables/data.py:23 core/tables/jobs.py:26 +#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:105 +#: dcim/forms/bulk_edit.py:180 dcim/forms/bulk_edit.py:261 +#: dcim/forms/bulk_edit.py:598 dcim/forms/bulk_edit.py:654 +#: dcim/forms/bulk_edit.py:686 dcim/forms/bulk_edit.py:813 +#: dcim/forms/bulk_edit.py:1594 dcim/forms/bulk_import.py:87 +#: dcim/forms/bulk_import.py:146 dcim/forms/bulk_import.py:202 +#: dcim/forms/bulk_import.py:450 dcim/forms/bulk_import.py:604 +#: dcim/forms/bulk_import.py:1155 dcim/forms/bulk_import.py:1322 +#: dcim/forms/bulk_import.py:1386 dcim/forms/filtersets.py:171 +#: dcim/forms/filtersets.py:230 dcim/forms/filtersets.py:282 +#: dcim/forms/filtersets.py:727 dcim/forms/filtersets.py:835 +#: dcim/forms/filtersets.py:869 dcim/forms/filtersets.py:970 +#: dcim/forms/filtersets.py:1081 dcim/tables/devices.py:145 +#: dcim/tables/devices.py:818 dcim/tables/devices.py:1046 +#: dcim/tables/modules.py:69 dcim/tables/power.py:74 dcim/tables/racks.py:66 +#: dcim/tables/sites.py:82 dcim/tables/sites.py:133 +#: ipam/forms/bulk_edit.py:241 ipam/forms/bulk_edit.py:290 +#: ipam/forms/bulk_edit.py:338 ipam/forms/bulk_edit.py:544 +#: ipam/forms/bulk_import.py:191 ipam/forms/bulk_import.py:256 +#: ipam/forms/bulk_import.py:292 ipam/forms/bulk_import.py:458 +#: ipam/forms/filtersets.py:209 ipam/forms/filtersets.py:274 +#: ipam/forms/filtersets.py:348 ipam/forms/filtersets.py:489 +#: ipam/forms/model_forms.py:457 ipam/tables/ip.py:236 ipam/tables/ip.py:309 +#: ipam/tables/ip.py:359 ipam/tables/ip.py:421 ipam/tables/ip.py:448 +#: ipam/tables/vlans.py:122 ipam/tables/vlans.py:227 +#: templates/circuits/circuit.html:34 templates/core/datasource.html:46 +#: templates/core/job.html:30 templates/core/rq_task.html:81 +#: templates/core/system.html:18 templates/dcim/cable.html:19 +#: templates/dcim/device.html:175 templates/dcim/location.html:45 +#: templates/dcim/module.html:66 templates/dcim/powerfeed.html:36 +#: templates/dcim/rack.html:43 templates/dcim/site.html:42 +#: templates/extras/script_list.html:49 templates/ipam/ipaddress.html:37 +#: templates/ipam/iprange.html:54 templates/ipam/prefix.html:73 +#: templates/ipam/vlan.html:48 templates/virtualization/cluster.html:21 +#: templates/virtualization/virtualmachine.html:19 +#: templates/vpn/tunnel.html:25 templates/wireless/wirelesslan.html:22 +#: templates/wireless/wirelesslink.html:17 users/forms/filtersets.py:33 +#: users/forms/model_forms.py:198 virtualization/forms/bulk_edit.py:70 +#: virtualization/forms/bulk_edit.py:118 #: virtualization/forms/bulk_import.py:54 #: virtualization/forms/bulk_import.py:80 -#: virtualization/forms/filtersets.py:61 -#: virtualization/forms/filtersets.py:156 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:38 -#: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:46 -#: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:42 -#: wireless/forms/bulk_edit.py:104 wireless/forms/bulk_import.py:43 -#: wireless/forms/bulk_import.py:84 wireless/forms/filtersets.py:48 -#: wireless/forms/filtersets.py:82 wireless/tables/wirelesslan.py:52 +#: virtualization/forms/filtersets.py:62 +#: virtualization/forms/filtersets.py:160 virtualization/tables/clusters.py:74 +#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:39 +#: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:47 +#: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:43 +#: wireless/forms/bulk_edit.py:105 wireless/forms/bulk_import.py:43 +#: wireless/forms/bulk_import.py:84 wireless/forms/filtersets.py:49 +#: wireless/forms/filtersets.py:83 wireless/tables/wirelesslan.py:52 #: wireless/tables/wirelesslink.py:19 msgid "Status" msgstr "Statut" -#: circuits/forms/bulk_edit.py:137 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:115 dcim/forms/bulk_edit.py:120 -#: dcim/forms/bulk_edit.py:185 dcim/forms/bulk_edit.py:255 -#: dcim/forms/bulk_edit.py:366 dcim/forms/bulk_edit.py:583 -#: dcim/forms/bulk_edit.py:684 dcim/forms/bulk_edit.py:1590 +#: circuits/forms/bulk_edit.py:138 circuits/forms/bulk_import.py:99 +#: circuits/forms/filtersets.py:116 dcim/forms/bulk_edit.py:121 +#: dcim/forms/bulk_edit.py:186 dcim/forms/bulk_edit.py:256 +#: dcim/forms/bulk_edit.py:368 dcim/forms/bulk_edit.py:588 +#: dcim/forms/bulk_edit.py:692 dcim/forms/bulk_edit.py:1599 #: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 #: dcim/forms/bulk_import.py:195 dcim/forms/bulk_import.py:282 #: dcim/forms/bulk_import.py:424 dcim/forms/bulk_import.py:1167 -#: dcim/forms/bulk_import.py:1379 dcim/forms/filtersets.py:165 -#: dcim/forms/filtersets.py:197 dcim/forms/filtersets.py:248 -#: dcim/forms/filtersets.py:333 dcim/forms/filtersets.py:354 -#: dcim/forms/filtersets.py:653 dcim/forms/filtersets.py:826 -#: dcim/forms/filtersets.py:891 dcim/forms/filtersets.py:921 -#: dcim/forms/filtersets.py:1043 dcim/tables/power.py:88 -#: extras/filtersets.py:517 extras/forms/filtersets.py:331 -#: extras/forms/filtersets.py:405 ipam/forms/bulk_edit.py:40 -#: ipam/forms/bulk_edit.py:65 ipam/forms/bulk_edit.py:109 -#: ipam/forms/bulk_edit.py:138 ipam/forms/bulk_edit.py:163 -#: ipam/forms/bulk_edit.py:235 ipam/forms/bulk_edit.py:284 -#: ipam/forms/bulk_edit.py:332 ipam/forms/bulk_edit.py:536 +#: dcim/forms/bulk_import.py:1379 dcim/forms/filtersets.py:166 +#: dcim/forms/filtersets.py:198 dcim/forms/filtersets.py:249 +#: dcim/forms/filtersets.py:334 dcim/forms/filtersets.py:355 +#: dcim/forms/filtersets.py:652 dcim/forms/filtersets.py:827 +#: dcim/forms/filtersets.py:889 dcim/forms/filtersets.py:919 +#: dcim/forms/filtersets.py:1041 dcim/tables/power.py:88 +#: extras/filtersets.py:564 extras/forms/filtersets.py:332 +#: extras/forms/filtersets.py:405 ipam/forms/bulk_edit.py:41 +#: ipam/forms/bulk_edit.py:66 ipam/forms/bulk_edit.py:110 +#: ipam/forms/bulk_edit.py:139 ipam/forms/bulk_edit.py:164 +#: ipam/forms/bulk_edit.py:236 ipam/forms/bulk_edit.py:285 +#: ipam/forms/bulk_edit.py:333 ipam/forms/bulk_edit.py:539 #: ipam/forms/bulk_import.py:37 ipam/forms/bulk_import.py:66 #: ipam/forms/bulk_import.py:94 ipam/forms/bulk_import.py:114 #: ipam/forms/bulk_import.py:134 ipam/forms/bulk_import.py:163 #: ipam/forms/bulk_import.py:249 ipam/forms/bulk_import.py:285 -#: ipam/forms/bulk_import.py:451 ipam/forms/filtersets.py:47 -#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:99 -#: ipam/forms/filtersets.py:119 ipam/forms/filtersets.py:142 -#: ipam/forms/filtersets.py:169 ipam/forms/filtersets.py:256 -#: ipam/forms/filtersets.py:296 ipam/forms/filtersets.py:450 +#: ipam/forms/bulk_import.py:451 ipam/forms/filtersets.py:48 +#: ipam/forms/filtersets.py:68 ipam/forms/filtersets.py:100 +#: ipam/forms/filtersets.py:120 ipam/forms/filtersets.py:143 +#: ipam/forms/filtersets.py:173 ipam/forms/filtersets.py:260 +#: ipam/forms/filtersets.py:303 ipam/forms/filtersets.py:457 #: ipam/tables/ip.py:451 ipam/tables/vlans.py:224 -#: templates/circuits/circuit.html:39 templates/dcim/cable.html:24 -#: templates/dcim/device.html:81 templates/dcim/location.html:52 -#: templates/dcim/powerfeed.html:47 templates/dcim/rack.html:37 -#: templates/dcim/rackreservation.html:56 templates/dcim/site.html:47 -#: templates/dcim/virtualdevicecontext.html:55 -#: templates/ipam/aggregate.html:31 templates/ipam/asn.html:34 -#: templates/ipam/asnrange.html:30 templates/ipam/ipaddress.html:31 -#: templates/ipam/iprange.html:61 templates/ipam/prefix.html:30 -#: templates/ipam/routetarget.html:18 templates/ipam/vlan.html:42 -#: templates/ipam/vrf.html:23 templates/tenancy/tenant.html:17 -#: templates/virtualization/cluster.html:36 -#: templates/virtualization/virtualmachine.html:38 templates/vpn/l2vpn.html:31 -#: templates/vpn/tunnel.html:50 templates/wireless/wirelesslan.html:35 -#: templates/wireless/wirelesslink.html:28 tenancy/forms/forms.py:25 -#: tenancy/forms/forms.py:48 tenancy/forms/model_forms.py:53 -#: tenancy/tables/columns.py:64 virtualization/forms/bulk_edit.py:75 -#: virtualization/forms/bulk_edit.py:154 +#: templates/circuits/circuit.html:38 templates/dcim/cable.html:23 +#: templates/dcim/device.html:78 templates/dcim/location.html:49 +#: templates/dcim/powerfeed.html:44 templates/dcim/rack.html:34 +#: templates/dcim/rackreservation.html:49 templates/dcim/site.html:46 +#: templates/dcim/virtualdevicecontext.html:52 +#: templates/ipam/aggregate.html:30 templates/ipam/asn.html:33 +#: templates/ipam/asnrange.html:29 templates/ipam/ipaddress.html:28 +#: templates/ipam/iprange.html:58 templates/ipam/prefix.html:29 +#: templates/ipam/routetarget.html:17 templates/ipam/vlan.html:39 +#: templates/ipam/vrf.html:20 templates/tenancy/tenant.html:17 +#: templates/virtualization/cluster.html:33 +#: templates/virtualization/virtualmachine.html:35 templates/vpn/l2vpn.html:30 +#: templates/vpn/tunnel.html:49 templates/wireless/wirelesslan.html:34 +#: templates/wireless/wirelesslink.html:25 tenancy/forms/forms.py:25 +#: tenancy/forms/forms.py:48 tenancy/forms/model_forms.py:52 +#: tenancy/tables/columns.py:64 virtualization/forms/bulk_edit.py:76 +#: virtualization/forms/bulk_edit.py:155 #: virtualization/forms/bulk_import.py:66 #: virtualization/forms/bulk_import.py:115 -#: virtualization/forms/filtersets.py:46 -#: virtualization/forms/filtersets.py:101 vpn/forms/bulk_edit.py:58 -#: vpn/forms/bulk_edit.py:272 vpn/forms/bulk_import.py:59 -#: vpn/forms/bulk_import.py:258 vpn/forms/filtersets.py:211 -#: wireless/forms/bulk_edit.py:62 wireless/forms/bulk_edit.py:109 +#: virtualization/forms/filtersets.py:47 +#: virtualization/forms/filtersets.py:105 vpn/forms/bulk_edit.py:59 +#: vpn/forms/bulk_edit.py:269 vpn/forms/bulk_import.py:59 +#: vpn/forms/bulk_import.py:258 vpn/forms/filtersets.py:214 +#: wireless/forms/bulk_edit.py:63 wireless/forms/bulk_edit.py:110 #: wireless/forms/bulk_import.py:55 wireless/forms/bulk_import.py:97 -#: wireless/forms/filtersets.py:34 wireless/forms/filtersets.py:74 +#: wireless/forms/filtersets.py:35 wireless/forms/filtersets.py:75 msgid "Tenant" msgstr "Locataire" -#: circuits/forms/bulk_edit.py:142 circuits/forms/filtersets.py:170 +#: circuits/forms/bulk_edit.py:143 circuits/forms/filtersets.py:171 msgid "Install date" msgstr "Date d'installation" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:175 +#: circuits/forms/bulk_edit.py:148 circuits/forms/filtersets.py:176 msgid "Termination date" msgstr "Date de résiliation" -#: circuits/forms/bulk_edit.py:153 circuits/forms/filtersets.py:182 +#: circuits/forms/bulk_edit.py:154 circuits/forms/filtersets.py:183 msgid "Commit rate (Kbps)" msgstr "Débit engagé (Kbits/s)" -#: circuits/forms/bulk_edit.py:168 circuits/forms/model_forms.py:111 +#: circuits/forms/bulk_edit.py:169 circuits/forms/model_forms.py:110 msgid "Service Parameters" msgstr "Paramètres du service" -#: circuits/forms/bulk_edit.py:169 circuits/forms/model_forms.py:112 -#: dcim/forms/model_forms.py:141 dcim/forms/model_forms.py:183 -#: dcim/forms/model_forms.py:260 dcim/forms/model_forms.py:679 -#: dcim/forms/model_forms.py:1485 ipam/forms/model_forms.py:61 -#: ipam/forms/model_forms.py:114 ipam/forms/model_forms.py:135 -#: ipam/forms/model_forms.py:159 ipam/forms/model_forms.py:231 -#: ipam/forms/model_forms.py:257 netbox/navigation/menu.py:38 -#: templates/dcim/cable_edit.html:68 templates/dcim/device_edit.html:85 -#: templates/dcim/rack_edit.html:30 templates/ipam/ipaddress_bulk_add.html:27 -#: templates/ipam/ipaddress_edit.html:27 templates/ipam/vlan_edit.html:22 -#: virtualization/forms/model_forms.py:83 -#: virtualization/forms/model_forms.py:225 vpn/forms/bulk_edit.py:77 -#: vpn/forms/filtersets.py:43 vpn/forms/model_forms.py:61 -#: vpn/forms/model_forms.py:146 vpn/forms/model_forms.py:410 -#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:160 +#: circuits/forms/bulk_edit.py:170 circuits/forms/model_forms.py:111 +#: dcim/forms/model_forms.py:138 dcim/forms/model_forms.py:180 +#: dcim/forms/model_forms.py:228 dcim/forms/model_forms.py:267 +#: dcim/forms/model_forms.py:713 dcim/forms/model_forms.py:1636 +#: ipam/forms/model_forms.py:62 ipam/forms/model_forms.py:79 +#: ipam/forms/model_forms.py:113 ipam/forms/model_forms.py:134 +#: ipam/forms/model_forms.py:158 ipam/forms/model_forms.py:230 +#: ipam/forms/model_forms.py:259 ipam/forms/model_forms.py:314 +#: netbox/navigation/menu.py:37 templates/dcim/device_edit.html:85 +#: templates/dcim/htmx/cable_edit.html:72 +#: templates/ipam/ipaddress_bulk_add.html:27 templates/ipam/vlan_edit.html:22 +#: virtualization/forms/model_forms.py:80 +#: virtualization/forms/model_forms.py:222 vpn/forms/bulk_edit.py:78 +#: vpn/forms/filtersets.py:44 vpn/forms/model_forms.py:62 +#: vpn/forms/model_forms.py:147 vpn/forms/model_forms.py:411 +#: wireless/forms/model_forms.py:54 wireless/forms/model_forms.py:163 msgid "Tenancy" msgstr "Utilisateur" -#: circuits/forms/bulk_import.py:38 circuits/forms/bulk_import.py:53 -#: circuits/forms/bulk_import.py:79 +#: circuits/forms/bulk_import.py:37 circuits/forms/bulk_import.py:52 +#: circuits/forms/bulk_import.py:78 msgid "Assigned provider" msgstr "Prestataire assigné" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 +#: circuits/forms/bulk_import.py:69 dcim/forms/bulk_import.py:178 #: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:235 +#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:232 msgid "RGB color in hexadecimal. Example:" msgstr "Couleur RVB en hexadécimal. Exemple :" -#: circuits/forms/bulk_import.py:85 +#: circuits/forms/bulk_import.py:84 msgid "Assigned provider account" msgstr "Compte prestataire attribué" -#: circuits/forms/bulk_import.py:92 +#: circuits/forms/bulk_import.py:91 msgid "Type of circuit" msgstr "Type de circuit" -#: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 +#: circuits/forms/bulk_import.py:96 dcim/forms/bulk_import.py:89 #: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:204 #: dcim/forms/bulk_import.py:452 dcim/forms/bulk_import.py:606 #: dcim/forms/bulk_import.py:1324 ipam/forms/bulk_import.py:193 #: ipam/forms/bulk_import.py:258 ipam/forms/bulk_import.py:294 #: ipam/forms/bulk_import.py:460 virtualization/forms/bulk_import.py:56 #: virtualization/forms/bulk_import.py:82 vpn/forms/bulk_import.py:39 +#: wireless/forms/bulk_import.py:45 msgid "Operational status" msgstr "État opérationnel" -#: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 +#: circuits/forms/bulk_import.py:103 dcim/forms/bulk_import.py:110 #: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:286 #: dcim/forms/bulk_import.py:428 dcim/forms/bulk_import.py:1171 -#: dcim/forms/bulk_import.py:1319 ipam/forms/bulk_import.py:41 -#: ipam/forms/bulk_import.py:70 ipam/forms/bulk_import.py:98 -#: ipam/forms/bulk_import.py:118 ipam/forms/bulk_import.py:138 -#: ipam/forms/bulk_import.py:167 ipam/forms/bulk_import.py:253 -#: ipam/forms/bulk_import.py:289 ipam/forms/bulk_import.py:455 -#: virtualization/forms/bulk_import.py:70 +#: dcim/forms/bulk_import.py:1319 dcim/forms/bulk_import.py:1383 +#: ipam/forms/bulk_import.py:41 ipam/forms/bulk_import.py:70 +#: ipam/forms/bulk_import.py:98 ipam/forms/bulk_import.py:118 +#: ipam/forms/bulk_import.py:138 ipam/forms/bulk_import.py:167 +#: ipam/forms/bulk_import.py:253 ipam/forms/bulk_import.py:289 +#: ipam/forms/bulk_import.py:455 virtualization/forms/bulk_import.py:70 #: virtualization/forms/bulk_import.py:119 vpn/forms/bulk_import.py:63 #: wireless/forms/bulk_import.py:59 wireless/forms/bulk_import.py:101 msgid "Assigned tenant" msgstr "Locataire assigné" -#: circuits/forms/bulk_import.py:123 circuits/forms/filtersets.py:143 -#: circuits/forms/model_forms.py:143 +#: circuits/forms/bulk_import.py:122 circuits/forms/filtersets.py:144 +#: circuits/forms/model_forms.py:142 msgid "Provider network" msgstr "Réseau de fournisseurs" -#: circuits/forms/filtersets.py:26 circuits/forms/filtersets.py:114 -#: dcim/forms/bulk_edit.py:247 dcim/forms/bulk_edit.py:345 -#: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:622 -#: dcim/forms/bulk_edit.py:772 dcim/forms/bulk_import.py:189 +#: circuits/forms/filtersets.py:27 circuits/forms/filtersets.py:115 +#: dcim/forms/bulk_edit.py:248 dcim/forms/bulk_edit.py:346 +#: dcim/forms/bulk_edit.py:580 dcim/forms/bulk_edit.py:627 +#: dcim/forms/bulk_edit.py:780 dcim/forms/bulk_import.py:189 #: dcim/forms/bulk_import.py:263 dcim/forms/bulk_import.py:491 #: dcim/forms/bulk_import.py:1268 dcim/forms/bulk_import.py:1302 -#: dcim/forms/filtersets.py:92 dcim/forms/filtersets.py:245 -#: dcim/forms/filtersets.py:278 dcim/forms/filtersets.py:330 -#: dcim/forms/filtersets.py:381 dcim/forms/filtersets.py:650 -#: dcim/forms/filtersets.py:689 dcim/forms/filtersets.py:890 -#: dcim/forms/filtersets.py:919 dcim/forms/filtersets.py:939 -#: dcim/forms/filtersets.py:1003 dcim/forms/filtersets.py:1033 -#: dcim/forms/filtersets.py:1042 dcim/forms/filtersets.py:1153 -#: dcim/forms/filtersets.py:1175 dcim/forms/filtersets.py:1197 -#: dcim/forms/filtersets.py:1214 dcim/forms/filtersets.py:1234 -#: dcim/forms/filtersets.py:1342 dcim/forms/filtersets.py:1364 -#: dcim/forms/filtersets.py:1385 dcim/forms/filtersets.py:1400 -#: dcim/forms/filtersets.py:1411 dcim/forms/model_forms.py:182 -#: dcim/forms/model_forms.py:216 dcim/forms/model_forms.py:406 -#: dcim/forms/model_forms.py:642 dcim/tables/devices.py:190 +#: dcim/forms/filtersets.py:93 dcim/forms/filtersets.py:246 +#: dcim/forms/filtersets.py:279 dcim/forms/filtersets.py:331 +#: dcim/forms/filtersets.py:382 dcim/forms/filtersets.py:649 +#: dcim/forms/filtersets.py:690 dcim/forms/filtersets.py:888 +#: dcim/forms/filtersets.py:917 dcim/forms/filtersets.py:937 +#: dcim/forms/filtersets.py:1001 dcim/forms/filtersets.py:1031 +#: dcim/forms/filtersets.py:1040 dcim/forms/filtersets.py:1151 +#: dcim/forms/filtersets.py:1173 dcim/forms/filtersets.py:1195 +#: dcim/forms/filtersets.py:1212 dcim/forms/filtersets.py:1232 +#: dcim/forms/filtersets.py:1340 dcim/forms/filtersets.py:1362 +#: dcim/forms/filtersets.py:1383 dcim/forms/filtersets.py:1398 +#: dcim/forms/filtersets.py:1412 dcim/forms/model_forms.py:179 +#: dcim/forms/model_forms.py:211 dcim/forms/model_forms.py:411 +#: dcim/forms/model_forms.py:673 dcim/tables/devices.py:162 #: dcim/tables/power.py:30 dcim/tables/racks.py:58 dcim/tables/racks.py:143 -#: extras/filtersets.py:441 extras/forms/filtersets.py:328 -#: ipam/forms/bulk_edit.py:456 ipam/forms/filtersets.py:168 -#: ipam/forms/filtersets.py:400 ipam/forms/filtersets.py:422 -#: ipam/forms/filtersets.py:448 ipam/forms/model_forms.py:564 -#: templates/dcim/device.html:26 templates/dcim/device_edit.html:30 +#: extras/filtersets.py:488 extras/forms/filtersets.py:329 +#: ipam/forms/bulk_edit.py:457 ipam/forms/filtersets.py:172 +#: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:429 +#: ipam/forms/filtersets.py:455 ipam/forms/model_forms.py:590 +#: templates/dcim/device.html:25 templates/dcim/device_edit.html:30 #: templates/dcim/inc/cable_termination.html:12 -#: templates/dcim/location.html:27 templates/dcim/powerpanel.html:27 -#: templates/dcim/rack.html:29 templates/dcim/rackreservation.html:35 -#: virtualization/forms/filtersets.py:45 virtualization/forms/filtersets.py:99 -#: wireless/forms/model_forms.py:88 wireless/forms/model_forms.py:128 +#: templates/dcim/location.html:26 templates/dcim/powerpanel.html:26 +#: templates/dcim/rack.html:26 templates/dcim/rackreservation.html:32 +#: virtualization/forms/filtersets.py:46 +#: virtualization/forms/filtersets.py:100 wireless/forms/model_forms.py:87 +#: wireless/forms/model_forms.py:129 msgid "Location" msgstr "Emplacement" -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 -#: dcim/forms/filtersets.py:136 dcim/forms/filtersets.py:150 -#: dcim/forms/filtersets.py:166 dcim/forms/filtersets.py:198 -#: dcim/forms/filtersets.py:249 dcim/forms/filtersets.py:334 -#: dcim/forms/filtersets.py:408 dcim/forms/filtersets.py:654 -#: dcim/forms/filtersets.py:1004 netbox/navigation/menu.py:45 -#: netbox/navigation/menu.py:47 tenancy/tables/columns.py:70 -#: tenancy/tables/contacts.py:25 tenancy/views.py:18 -#: virtualization/forms/filtersets.py:36 virtualization/forms/filtersets.py:47 -#: virtualization/forms/filtersets.py:102 +#: circuits/forms/filtersets.py:29 circuits/forms/filtersets.py:117 +#: dcim/forms/filtersets.py:137 dcim/forms/filtersets.py:151 +#: dcim/forms/filtersets.py:167 dcim/forms/filtersets.py:199 +#: dcim/forms/filtersets.py:250 dcim/forms/filtersets.py:335 +#: dcim/forms/filtersets.py:406 dcim/forms/filtersets.py:653 +#: dcim/forms/filtersets.py:1002 netbox/navigation/menu.py:44 +#: netbox/navigation/menu.py:46 tenancy/forms/filtersets.py:42 +#: tenancy/tables/columns.py:70 tenancy/tables/contacts.py:25 +#: tenancy/views.py:19 virtualization/forms/filtersets.py:37 +#: virtualization/forms/filtersets.py:48 +#: virtualization/forms/filtersets.py:106 msgid "Contacts" msgstr "Contacts" -#: circuits/forms/filtersets.py:33 circuits/forms/filtersets.py:153 -#: dcim/forms/bulk_edit.py:110 dcim/forms/bulk_edit.py:222 -#: dcim/forms/bulk_edit.py:747 dcim/forms/bulk_import.py:92 -#: dcim/forms/filtersets.py:70 dcim/forms/filtersets.py:177 -#: dcim/forms/filtersets.py:203 dcim/forms/filtersets.py:256 -#: dcim/forms/filtersets.py:359 dcim/forms/filtersets.py:666 -#: dcim/forms/filtersets.py:896 dcim/forms/filtersets.py:926 -#: dcim/forms/filtersets.py:1010 dcim/forms/filtersets.py:1049 +#: circuits/forms/filtersets.py:34 circuits/forms/filtersets.py:154 +#: dcim/forms/bulk_edit.py:111 dcim/forms/bulk_edit.py:223 +#: dcim/forms/bulk_edit.py:755 dcim/forms/bulk_import.py:92 +#: dcim/forms/filtersets.py:71 dcim/forms/filtersets.py:178 +#: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:257 +#: dcim/forms/filtersets.py:360 dcim/forms/filtersets.py:667 +#: dcim/forms/filtersets.py:894 dcim/forms/filtersets.py:924 +#: dcim/forms/filtersets.py:1008 dcim/forms/filtersets.py:1047 #: dcim/forms/filtersets.py:1460 dcim/forms/filtersets.py:1484 -#: dcim/forms/filtersets.py:1508 dcim/forms/model_forms.py:80 -#: dcim/forms/model_forms.py:115 dcim/forms/object_create.py:374 -#: dcim/tables/devices.py:176 dcim/tables/sites.py:85 extras/filtersets.py:408 -#: ipam/forms/bulk_edit.py:205 ipam/forms/bulk_edit.py:437 -#: ipam/forms/bulk_edit.py:509 ipam/forms/filtersets.py:212 -#: ipam/forms/filtersets.py:407 ipam/forms/filtersets.py:456 -#: ipam/forms/model_forms.py:536 templates/dcim/device.html:18 -#: templates/dcim/rack.html:19 templates/dcim/rackreservation.html:25 -#: templates/dcim/region.html:26 templates/dcim/site.html:31 -#: templates/ipam/prefix.html:50 templates/ipam/vlan.html:19 -#: virtualization/forms/bulk_edit.py:80 virtualization/forms/filtersets.py:58 -#: virtualization/forms/filtersets.py:129 -#: virtualization/forms/model_forms.py:95 vpn/forms/filtersets.py:253 +#: dcim/forms/filtersets.py:1508 dcim/forms/model_forms.py:111 +#: dcim/forms/object_create.py:375 dcim/tables/devices.py:148 +#: dcim/tables/sites.py:85 extras/filtersets.py:455 +#: ipam/forms/bulk_edit.py:206 ipam/forms/bulk_edit.py:438 +#: ipam/forms/bulk_edit.py:512 ipam/forms/filtersets.py:216 +#: ipam/forms/filtersets.py:414 ipam/forms/filtersets.py:463 +#: ipam/forms/model_forms.py:562 templates/dcim/device.html:17 +#: templates/dcim/rack.html:16 templates/dcim/rackreservation.html:22 +#: templates/dcim/region.html:26 templates/dcim/site.html:30 +#: templates/ipam/prefix.html:49 templates/ipam/vlan.html:16 +#: virtualization/forms/bulk_edit.py:81 virtualization/forms/filtersets.py:59 +#: virtualization/forms/filtersets.py:133 +#: virtualization/forms/model_forms.py:92 vpn/forms/filtersets.py:257 msgid "Region" msgstr "Région" -#: circuits/forms/filtersets.py:38 circuits/forms/filtersets.py:158 -#: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:755 -#: dcim/forms/filtersets.py:75 dcim/forms/filtersets.py:182 -#: dcim/forms/filtersets.py:208 dcim/forms/filtersets.py:269 -#: dcim/forms/filtersets.py:364 dcim/forms/filtersets.py:671 -#: dcim/forms/filtersets.py:901 dcim/forms/filtersets.py:1015 -#: dcim/forms/filtersets.py:1054 dcim/forms/object_create.py:382 -#: extras/filtersets.py:425 ipam/forms/bulk_edit.py:210 -#: ipam/forms/bulk_edit.py:444 ipam/forms/bulk_edit.py:514 -#: ipam/forms/filtersets.py:217 ipam/forms/filtersets.py:412 -#: ipam/forms/filtersets.py:461 ipam/forms/model_forms.py:549 -#: virtualization/forms/bulk_edit.py:85 virtualization/forms/filtersets.py:68 -#: virtualization/forms/filtersets.py:134 -#: virtualization/forms/model_forms.py:101 +#: circuits/forms/filtersets.py:39 circuits/forms/filtersets.py:159 +#: dcim/forms/bulk_edit.py:231 dcim/forms/bulk_edit.py:763 +#: dcim/forms/filtersets.py:76 dcim/forms/filtersets.py:183 +#: dcim/forms/filtersets.py:209 dcim/forms/filtersets.py:270 +#: dcim/forms/filtersets.py:365 dcim/forms/filtersets.py:672 +#: dcim/forms/filtersets.py:899 dcim/forms/filtersets.py:1013 +#: dcim/forms/filtersets.py:1052 dcim/forms/object_create.py:383 +#: extras/filtersets.py:472 ipam/forms/bulk_edit.py:211 +#: ipam/forms/bulk_edit.py:445 ipam/forms/bulk_edit.py:517 +#: ipam/forms/filtersets.py:221 ipam/forms/filtersets.py:419 +#: ipam/forms/filtersets.py:468 ipam/forms/model_forms.py:575 +#: virtualization/forms/bulk_edit.py:86 virtualization/forms/filtersets.py:69 +#: virtualization/forms/filtersets.py:138 +#: virtualization/forms/model_forms.py:98 msgid "Site group" msgstr "Groupe de sites" -#: circuits/forms/filtersets.py:61 circuits/forms/filtersets.py:79 -#: circuits/forms/filtersets.py:98 circuits/forms/filtersets.py:113 -#: core/forms/filtersets.py:63 dcim/forms/bulk_edit.py:718 -#: dcim/forms/filtersets.py:164 dcim/forms/filtersets.py:196 -#: dcim/forms/filtersets.py:825 dcim/forms/filtersets.py:920 -#: dcim/forms/filtersets.py:1044 dcim/forms/filtersets.py:1152 -#: dcim/forms/filtersets.py:1174 dcim/forms/filtersets.py:1196 -#: dcim/forms/filtersets.py:1213 dcim/forms/filtersets.py:1230 -#: dcim/forms/filtersets.py:1341 dcim/forms/filtersets.py:1363 -#: dcim/forms/filtersets.py:1384 dcim/forms/filtersets.py:1399 -#: dcim/forms/filtersets.py:1410 extras/forms/filtersets.py:40 -#: extras/forms/filtersets.py:111 extras/forms/filtersets.py:142 -#: extras/forms/filtersets.py:182 extras/forms/filtersets.py:198 -#: extras/forms/filtersets.py:229 extras/forms/filtersets.py:253 -#: extras/forms/filtersets.py:450 extras/forms/filtersets.py:491 -#: ipam/forms/filtersets.py:98 ipam/forms/filtersets.py:255 -#: ipam/forms/filtersets.py:294 ipam/forms/filtersets.py:368 -#: ipam/forms/filtersets.py:449 ipam/forms/filtersets.py:508 -#: ipam/forms/filtersets.py:526 netbox/tables/tables.py:250 -#: virtualization/forms/filtersets.py:44 -#: virtualization/forms/filtersets.py:100 -#: virtualization/forms/filtersets.py:190 -#: virtualization/forms/filtersets.py:235 vpn/forms/filtersets.py:210 -#: wireless/forms/filtersets.py:33 wireless/forms/filtersets.py:73 +#: circuits/forms/filtersets.py:62 circuits/forms/filtersets.py:80 +#: circuits/forms/filtersets.py:99 circuits/forms/filtersets.py:114 +#: core/forms/filtersets.py:64 dcim/forms/bulk_edit.py:726 +#: dcim/forms/filtersets.py:165 dcim/forms/filtersets.py:197 +#: dcim/forms/filtersets.py:826 dcim/forms/filtersets.py:918 +#: dcim/forms/filtersets.py:1042 dcim/forms/filtersets.py:1150 +#: dcim/forms/filtersets.py:1172 dcim/forms/filtersets.py:1194 +#: dcim/forms/filtersets.py:1211 dcim/forms/filtersets.py:1228 +#: dcim/forms/filtersets.py:1339 dcim/forms/filtersets.py:1361 +#: dcim/forms/filtersets.py:1382 dcim/forms/filtersets.py:1397 +#: dcim/forms/filtersets.py:1410 extras/forms/filtersets.py:43 +#: extras/forms/filtersets.py:112 extras/forms/filtersets.py:143 +#: extras/forms/filtersets.py:183 extras/forms/filtersets.py:199 +#: extras/forms/filtersets.py:230 extras/forms/filtersets.py:254 +#: extras/forms/filtersets.py:450 extras/forms/filtersets.py:488 +#: ipam/forms/filtersets.py:99 ipam/forms/filtersets.py:259 +#: ipam/forms/filtersets.py:300 ipam/forms/filtersets.py:375 +#: ipam/forms/filtersets.py:456 ipam/forms/filtersets.py:515 +#: ipam/forms/filtersets.py:533 netbox/tables/tables.py:252 +#: virtualization/forms/filtersets.py:45 +#: virtualization/forms/filtersets.py:103 +#: virtualization/forms/filtersets.py:194 +#: virtualization/forms/filtersets.py:239 vpn/forms/filtersets.py:213 +#: wireless/forms/filtersets.py:34 wireless/forms/filtersets.py:74 msgid "Attributes" msgstr "Attributs" -#: circuits/forms/filtersets.py:69 circuits/tables/circuits.py:60 -#: circuits/tables/providers.py:66 templates/circuits/circuit.html:23 -#: templates/circuits/provideraccount.html:25 +#: circuits/forms/filtersets.py:70 circuits/tables/circuits.py:60 +#: circuits/tables/providers.py:66 templates/circuits/circuit.html:22 +#: templates/circuits/provideraccount.html:24 msgid "Account" msgstr "Compte" -#: circuits/forms/model_forms.py:64 -#: templates/circuits/circuittermination_edit.html:23 -#: templates/circuits/inc/circuit_termination.html:89 -#: templates/circuits/providernetwork.html:18 +#: circuits/forms/model_forms.py:153 +#: templates/circuits/inc/circuit_termination.html:88 +#: templates/circuits/providernetwork.html:17 msgid "Provider Network" msgstr "Réseau de fournisseurs" -#: circuits/forms/model_forms.py:78 templates/circuits/circuittype.html:20 -msgid "Circuit Type" -msgstr "Type de circuit" +#: circuits/forms/model_forms.py:155 +#: templates/circuits/inc/circuit_termination.html:80 +#: templates/dcim/frontport.html:121 templates/dcim/interface.html:193 +#: templates/dcim/rearport.html:111 +msgid "Circuit Termination" +msgstr "Terminaison de circuit" + +#: circuits/forms/model_forms.py:157 +msgid "Termination Details" +msgstr "Détails de terminaison" #: circuits/models/circuits.py:25 dcim/models/cables.py:67 #: dcim/models/device_component_templates.py:491 #: dcim/models/device_component_templates.py:591 #: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 #: dcim/models/device_components.py:1166 dcim/models/devices.py:469 -#: dcim/models/racks.py:43 extras/models/tags.py:28 +#: dcim/models/racks.py:44 extras/models/tags.py:28 msgid "color" msgstr "couleur" @@ -821,12 +844,12 @@ msgstr "ID de circuit unique" #: circuits/models/circuits.py:67 core/models/data.py:55 #: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 -#: dcim/models/devices.py:1170 dcim/models/devices.py:1379 -#: dcim/models/power.py:95 dcim/models/racks.py:97 dcim/models/sites.py:154 +#: dcim/models/devices.py:1155 dcim/models/devices.py:1364 +#: dcim/models/power.py:96 dcim/models/racks.py:98 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:252 ipam/models/ip.py:521 #: ipam/models/ip.py:729 ipam/models/vlans.py:175 #: virtualization/models/clusters.py:74 -#: virtualization/models/virtualmachines.py:82 vpn/models/tunnels.py:40 +#: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40 #: wireless/models.py:94 wireless/models.py:158 msgid "status" msgstr "statut" @@ -893,15 +916,15 @@ msgstr "ID du panneau de raccordement et numéro (s) de port" #: circuits/models/circuits.py:210 #: dcim/models/device_component_templates.py:61 -#: dcim/models/device_components.py:69 dcim/models/racks.py:537 +#: dcim/models/device_components.py:69 dcim/models/racks.py:538 #: extras/models/configs.py:45 extras/models/configs.py:219 -#: extras/models/customfields.py:122 extras/models/models.py:58 -#: extras/models/models.py:188 extras/models/models.py:426 -#: extras/models/models.py:541 extras/models/staging.py:31 +#: extras/models/customfields.py:123 extras/models/models.py:60 +#: extras/models/models.py:186 extras/models/models.py:424 +#: extras/models/models.py:539 extras/models/staging.py:31 #: extras/models/tags.py:32 netbox/models/__init__.py:109 #: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models.py:274 users/models.py:353 -#: virtualization/models/virtualmachines.py:282 +#: users/models/permissions.py:24 users/models/tokens.py:58 +#: users/models/users.py:33 virtualization/models/virtualmachines.py:284 msgid "description" msgstr "description" @@ -931,22 +954,23 @@ msgstr "" #: circuits/models/providers.py:104 core/models/data.py:42 #: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 #: dcim/models/device_components.py:54 dcim/models/devices.py:583 -#: dcim/models/devices.py:1310 dcim/models/devices.py:1375 -#: dcim/models/power.py:39 dcim/models/power.py:91 dcim/models/racks.py:62 +#: dcim/models/devices.py:1295 dcim/models/devices.py:1360 +#: dcim/models/power.py:39 dcim/models/power.py:92 dcim/models/racks.py:63 #: dcim/models/sites.py:138 extras/models/configs.py:36 -#: extras/models/configs.py:215 extras/models/customfields.py:89 -#: extras/models/models.py:53 extras/models/models.py:183 -#: extras/models/models.py:326 extras/models/models.py:422 -#: extras/models/models.py:531 extras/models/models.py:626 -#: extras/models/staging.py:26 ipam/models/asns.py:18 ipam/models/fhrp.py:25 -#: ipam/models/services.py:52 ipam/models/services.py:88 -#: ipam/models/vlans.py:26 ipam/models/vlans.py:164 ipam/models/vrfs.py:22 -#: ipam/models/vrfs.py:79 netbox/models/__init__.py:136 +#: extras/models/configs.py:215 extras/models/customfields.py:90 +#: extras/models/models.py:55 extras/models/models.py:181 +#: extras/models/models.py:324 extras/models/models.py:420 +#: extras/models/models.py:529 extras/models/models.py:624 +#: extras/models/scripts.py:30 extras/models/staging.py:26 +#: ipam/models/asns.py:18 ipam/models/fhrp.py:25 ipam/models/services.py:51 +#: ipam/models/services.py:87 ipam/models/vlans.py:26 ipam/models/vlans.py:164 +#: ipam/models/vrfs.py:22 ipam/models/vrfs.py:79 netbox/models/__init__.py:136 #: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models.py:349 virtualization/models/clusters.py:57 -#: virtualization/models/virtualmachines.py:70 -#: virtualization/models/virtualmachines.py:272 vpn/models/crypto.py:24 +#: users/models/permissions.py:20 users/models/users.py:28 +#: virtualization/models/clusters.py:57 +#: virtualization/models/virtualmachines.py:72 +#: virtualization/models/virtualmachines.py:274 vpn/models/crypto.py:24 #: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 #: vpn/models/crypto.py:221 vpn/models/l2vpn.py:22 vpn/models/tunnels.py:35 #: wireless/models.py:50 @@ -958,7 +982,7 @@ msgid "Full name of the provider" msgstr "Nom complet du fournisseur" #: circuits/models/providers.py:28 dcim/models/devices.py:86 -#: dcim/models/sites.py:149 extras/models/models.py:536 ipam/models/asns.py:23 +#: dcim/models/sites.py:149 extras/models/models.py:534 ipam/models/asns.py:23 #: ipam/models/vlans.py:30 netbox/models/__init__.py:140 #: netbox/models/__init__.py:185 tenancy/models/tenants.py:25 #: tenancy/models/tenants.py:49 vpn/models/l2vpn.py:27 wireless/models.py:55 @@ -999,76 +1023,77 @@ msgstr "réseaux de fournisseurs" #: circuits/tables/circuits.py:29 circuits/tables/providers.py:18 #: circuits/tables/providers.py:69 circuits/tables/providers.py:99 -#: core/tables/data.py:16 core/tables/jobs.py:14 dcim/forms/filtersets.py:60 -#: dcim/forms/object_create.py:42 dcim/tables/devices.py:88 -#: dcim/tables/devices.py:125 dcim/tables/devices.py:167 -#: dcim/tables/devices.py:322 dcim/tables/devices.py:404 -#: dcim/tables/devices.py:448 dcim/tables/devices.py:500 -#: dcim/tables/devices.py:552 dcim/tables/devices.py:672 -#: dcim/tables/devices.py:753 dcim/tables/devices.py:803 -#: dcim/tables/devices.py:869 dcim/tables/devices.py:984 -#: dcim/tables/devices.py:1004 dcim/tables/devices.py:1033 -#: dcim/tables/devices.py:1063 dcim/tables/devicetypes.py:32 -#: dcim/tables/power.py:22 dcim/tables/power.py:62 dcim/tables/racks.py:23 -#: dcim/tables/racks.py:53 dcim/tables/sites.py:24 dcim/tables/sites.py:51 -#: dcim/tables/sites.py:78 dcim/tables/sites.py:125 -#: extras/forms/filtersets.py:190 extras/tables/tables.py:40 -#: extras/tables/tables.py:83 extras/tables/tables.py:115 -#: extras/tables/tables.py:139 extras/tables/tables.py:204 -#: extras/tables/tables.py:251 extras/tables/tables.py:274 -#: extras/tables/tables.py:324 extras/tables/tables.py:376 -#: extras/tables/tables.py:399 ipam/forms/bulk_edit.py:390 -#: ipam/forms/filtersets.py:372 ipam/tables/asn.py:16 ipam/tables/ip.py:85 -#: ipam/tables/ip.py:159 ipam/tables/services.py:15 ipam/tables/services.py:40 +#: core/tables/data.py:16 core/tables/jobs.py:14 core/tables/plugins.py:13 +#: core/tables/tasks.py:11 core/tables/tasks.py:115 +#: dcim/forms/filtersets.py:61 dcim/forms/object_create.py:43 +#: dcim/tables/devices.py:60 dcim/tables/devices.py:97 +#: dcim/tables/devices.py:139 dcim/tables/devices.py:294 +#: dcim/tables/devices.py:376 dcim/tables/devices.py:420 +#: dcim/tables/devices.py:472 dcim/tables/devices.py:524 +#: dcim/tables/devices.py:644 dcim/tables/devices.py:726 +#: dcim/tables/devices.py:776 dcim/tables/devices.py:842 +#: dcim/tables/devices.py:957 dcim/tables/devices.py:977 +#: dcim/tables/devices.py:1006 dcim/tables/devices.py:1036 +#: dcim/tables/devicetypes.py:32 dcim/tables/power.py:22 +#: dcim/tables/power.py:62 dcim/tables/racks.py:23 dcim/tables/racks.py:53 +#: dcim/tables/sites.py:24 dcim/tables/sites.py:51 dcim/tables/sites.py:78 +#: dcim/tables/sites.py:125 extras/forms/filtersets.py:191 +#: extras/tables/tables.py:42 extras/tables/tables.py:88 +#: extras/tables/tables.py:120 extras/tables/tables.py:144 +#: extras/tables/tables.py:209 extras/tables/tables.py:256 +#: extras/tables/tables.py:279 extras/tables/tables.py:329 +#: extras/tables/tables.py:381 extras/tables/tables.py:404 +#: ipam/forms/bulk_edit.py:391 ipam/forms/filtersets.py:379 +#: ipam/tables/asn.py:16 ipam/tables/ip.py:85 ipam/tables/ip.py:159 +#: ipam/tables/services.py:15 ipam/tables/services.py:40 #: ipam/tables/vlans.py:64 ipam/tables/vlans.py:110 ipam/tables/vrfs.py:26 -#: ipam/tables/vrfs.py:67 templates/circuits/circuittype.html:25 -#: templates/circuits/provideraccount.html:29 -#: templates/circuits/providernetwork.html:27 -#: templates/core/datasource.html:35 templates/core/job.html:31 -#: templates/dcim/consoleport.html:31 templates/dcim/consoleserverport.html:31 -#: templates/dcim/devicebay.html:27 templates/dcim/devicerole.html:29 -#: templates/dcim/frontport.html:31 +#: ipam/tables/vrfs.py:67 templates/circuits/circuittype.html:22 +#: templates/circuits/provideraccount.html:28 +#: templates/circuits/providernetwork.html:24 +#: templates/core/datasource.html:34 templates/core/job.html:26 +#: templates/core/rq_worker.html:43 templates/dcim/consoleport.html:28 +#: templates/dcim/consoleserverport.html:28 templates/dcim/devicebay.html:24 +#: templates/dcim/devicerole.html:26 templates/dcim/frontport.html:28 #: templates/dcim/inc/interface_vlans_table.html:5 -#: templates/dcim/inc/panels/inventory_items.html:10 -#: templates/dcim/interface.html:39 templates/dcim/interface.html:171 -#: templates/dcim/inventoryitem.html:29 -#: templates/dcim/inventoryitemrole.html:19 templates/dcim/location.html:32 -#: templates/dcim/manufacturer.html:39 templates/dcim/modulebay.html:27 -#: templates/dcim/platform.html:32 templates/dcim/poweroutlet.html:31 -#: templates/dcim/powerport.html:31 templates/dcim/rackrole.html:25 -#: templates/dcim/rearport.html:31 templates/dcim/region.html:30 -#: templates/dcim/sitegroup.html:30 -#: templates/dcim/virtualdevicecontext.html:21 -#: templates/extras/admin/plugins_list.html:22 -#: templates/extras/configcontext.html:14 -#: templates/extras/configtemplate.html:14 -#: templates/extras/customfield.html:16 templates/extras/customlink.html:14 -#: templates/extras/eventrule.html:16 templates/extras/exporttemplate.html:21 -#: templates/extras/report_list.html:46 templates/extras/savedfilter.html:14 -#: templates/extras/script_list.html:52 templates/extras/tag.html:17 -#: templates/extras/webhook.html:16 templates/ipam/asnrange.html:16 -#: templates/ipam/fhrpgroup.html:31 templates/ipam/rir.html:25 -#: templates/ipam/role.html:25 templates/ipam/routetarget.html:14 -#: templates/ipam/service.html:27 templates/ipam/servicetemplate.html:16 -#: templates/ipam/vlan.html:38 templates/ipam/vlangroup.html:31 -#: templates/tenancy/contact.html:26 templates/tenancy/contactgroup.html:24 -#: templates/tenancy/contactrole.html:19 templates/tenancy/tenantgroup.html:32 -#: templates/users/group.html:18 templates/users/objectpermission.html:18 -#: templates/virtualization/cluster.html:16 -#: templates/virtualization/clustergroup.html:25 -#: templates/virtualization/clustertype.html:25 -#: templates/virtualization/virtualdisk.html:26 -#: templates/virtualization/virtualmachine.html:18 -#: templates/virtualization/vminterface.html:28 -#: templates/vpn/ikepolicy.html:14 templates/vpn/ikeproposal.html:14 -#: templates/vpn/ipsecpolicy.html:14 templates/vpn/ipsecprofile.html:14 -#: templates/vpn/ipsecprofile.html:39 templates/vpn/ipsecprofile.html:74 -#: templates/vpn/ipsecproposal.html:14 templates/vpn/l2vpn.html:15 -#: templates/vpn/tunnel.html:22 templates/vpn/tunnelgroup.html:29 -#: templates/wireless/wirelesslangroup.html:30 tenancy/tables/contacts.py:19 +#: templates/dcim/inc/panels/inventory_items.html:18 +#: templates/dcim/interface.html:38 templates/dcim/interface.html:165 +#: templates/dcim/inventoryitem.html:28 +#: templates/dcim/inventoryitemrole.html:18 templates/dcim/location.html:29 +#: templates/dcim/manufacturer.html:36 templates/dcim/modulebay.html:26 +#: templates/dcim/platform.html:29 templates/dcim/poweroutlet.html:28 +#: templates/dcim/powerport.html:28 templates/dcim/rackrole.html:22 +#: templates/dcim/rearport.html:28 templates/dcim/region.html:29 +#: templates/dcim/sitegroup.html:29 +#: templates/dcim/virtualdevicecontext.html:18 +#: templates/extras/configcontext.html:13 +#: templates/extras/configtemplate.html:13 +#: templates/extras/customfield.html:13 templates/extras/customlink.html:13 +#: templates/extras/eventrule.html:13 templates/extras/exporttemplate.html:15 +#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:46 +#: templates/extras/tag.html:14 templates/extras/webhook.html:13 +#: templates/ipam/asnrange.html:15 templates/ipam/fhrpgroup.html:30 +#: templates/ipam/rir.html:22 templates/ipam/role.html:22 +#: templates/ipam/routetarget.html:13 templates/ipam/service.html:24 +#: templates/ipam/servicetemplate.html:15 templates/ipam/vlan.html:35 +#: templates/ipam/vlangroup.html:30 templates/tenancy/contact.html:25 +#: templates/tenancy/contactgroup.html:21 +#: templates/tenancy/contactrole.html:18 templates/tenancy/tenantgroup.html:29 +#: templates/users/group.html:17 templates/users/objectpermission.html:17 +#: templates/virtualization/cluster.html:13 +#: templates/virtualization/clustergroup.html:22 +#: templates/virtualization/clustertype.html:22 +#: templates/virtualization/virtualdisk.html:25 +#: templates/virtualization/virtualmachine.html:15 +#: templates/virtualization/vminterface.html:25 +#: templates/vpn/ikepolicy.html:13 templates/vpn/ikeproposal.html:13 +#: templates/vpn/ipsecpolicy.html:13 templates/vpn/ipsecprofile.html:13 +#: templates/vpn/ipsecprofile.html:36 templates/vpn/ipsecprofile.html:69 +#: templates/vpn/ipsecproposal.html:13 templates/vpn/l2vpn.html:14 +#: templates/vpn/tunnel.html:21 templates/vpn/tunnelgroup.html:26 +#: templates/wireless/wirelesslangroup.html:29 tenancy/tables/contacts.py:19 #: tenancy/tables/contacts.py:41 tenancy/tables/contacts.py:56 #: tenancy/tables/tenants.py:16 tenancy/tables/tenants.py:38 -#: users/tables.py:62 users/tables.py:79 +#: users/tables.py:62 users/tables.py:76 #: virtualization/forms/bulk_create.py:20 #: virtualization/forms/object_create.py:13 #: virtualization/forms/object_create.py:23 @@ -1085,19 +1110,19 @@ msgid "Name" msgstr "Nom" #: circuits/tables/circuits.py:38 circuits/tables/providers.py:45 -#: circuits/tables/providers.py:79 netbox/navigation/menu.py:254 -#: netbox/navigation/menu.py:258 netbox/navigation/menu.py:260 -#: templates/circuits/provider.html:61 -#: templates/circuits/provideraccount.html:46 -#: templates/circuits/providernetwork.html:54 +#: circuits/tables/providers.py:79 netbox/navigation/menu.py:253 +#: netbox/navigation/menu.py:257 netbox/navigation/menu.py:259 +#: templates/circuits/provider.html:57 +#: templates/circuits/provideraccount.html:44 +#: templates/circuits/providernetwork.html:50 msgid "Circuits" msgstr "Circuits" -#: circuits/tables/circuits.py:52 templates/circuits/circuit.html:27 +#: circuits/tables/circuits.py:52 templates/circuits/circuit.html:26 msgid "Circuit ID" msgstr "Identifiant du circuit" -#: circuits/tables/circuits.py:65 wireless/forms/model_forms.py:157 +#: circuits/tables/circuits.py:65 wireless/forms/model_forms.py:160 msgid "Side A" msgstr "Côté A" @@ -1105,24 +1130,23 @@ msgstr "Côté A" msgid "Side Z" msgstr "Côté Z" -#: circuits/tables/circuits.py:72 templates/circuits/circuit.html:56 +#: circuits/tables/circuits.py:72 templates/circuits/circuit.html:55 msgid "Commit Rate" msgstr "Taux d'engagement" #: circuits/tables/circuits.py:75 circuits/tables/providers.py:48 #: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1046 dcim/tables/devicetypes.py:92 +#: dcim/tables/devices.py:1019 dcim/tables/devicetypes.py:92 #: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 #: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 -#: dcim/tables/sites.py:103 extras/forms/bulk_edit.py:320 -#: extras/tables/tables.py:490 ipam/tables/asn.py:69 ipam/tables/fhrp.py:34 -#: ipam/tables/ip.py:135 ipam/tables/ip.py:272 ipam/tables/ip.py:325 -#: ipam/tables/ip.py:392 ipam/tables/services.py:24 ipam/tables/services.py:54 -#: ipam/tables/vlans.py:141 ipam/tables/vrfs.py:46 ipam/tables/vrfs.py:71 -#: templates/dcim/cable_edit.html:85 templates/generic/bulk_edit.html:102 -#: templates/inc/panels/comments.html:6 tenancy/tables/contacts.py:68 -#: tenancy/tables/tenants.py:46 utilities/forms/fields/fields.py:29 -#: virtualization/tables/clusters.py:91 +#: dcim/tables/sites.py:103 extras/tables/tables.py:515 ipam/tables/asn.py:69 +#: ipam/tables/fhrp.py:34 ipam/tables/ip.py:135 ipam/tables/ip.py:272 +#: ipam/tables/ip.py:325 ipam/tables/ip.py:392 ipam/tables/services.py:24 +#: ipam/tables/services.py:54 ipam/tables/vlans.py:141 ipam/tables/vrfs.py:46 +#: ipam/tables/vrfs.py:71 templates/dcim/htmx/cable_edit.html:89 +#: templates/generic/bulk_edit.html:86 templates/inc/panels/comments.html:6 +#: tenancy/tables/contacts.py:68 tenancy/tables/tenants.py:46 +#: utilities/forms/fields/fields.py:29 virtualization/tables/clusters.py:91 #: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 #: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 #: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 @@ -1142,11 +1166,17 @@ msgstr "Nombre de comptes" msgid "ASN Count" msgstr "Nombre d'ASN" +#: core/api/views.py:36 +msgid "This user does not have permission to synchronize this data source." +msgstr "" +"Cet utilisateur n'est pas autorisé à synchroniser cette source de données." + #: core/choices.py:18 msgid "New" msgstr "Nouveau" -#: core/choices.py:19 +#: core/choices.py:19 core/constants.py:18 core/tables/tasks.py:15 +#: templates/core/rq_task.html:77 msgid "Queued" msgstr "En file d'attente" @@ -1155,51 +1185,71 @@ msgid "Syncing" msgstr "Synchronisation" #: core/choices.py:21 core/choices.py:57 core/tables/jobs.py:41 -#: extras/choices.py:210 templates/core/job.html:75 +#: extras/choices.py:224 templates/core/job.html:68 msgid "Completed" msgstr "Terminé" -#: core/choices.py:22 core/choices.py:59 dcim/choices.py:176 -#: dcim/choices.py:222 dcim/choices.py:1502 extras/choices.py:212 -#: virtualization/choices.py:47 +#: core/choices.py:22 core/choices.py:59 core/constants.py:20 +#: core/tables/tasks.py:34 dcim/choices.py:176 dcim/choices.py:222 +#: dcim/choices.py:1502 extras/choices.py:226 virtualization/choices.py:47 msgid "Failed" msgstr "Échoué" -#: core/choices.py:35 netbox/navigation/menu.py:330 -#: templates/extras/script/base.html:14 templates/extras/script_list.html:6 -#: templates/extras/script_list.html:20 templates/extras/script_result.html:18 +#: core/choices.py:35 netbox/navigation/menu.py:319 +#: netbox/navigation/menu.py:323 templates/extras/script/base.html:14 +#: templates/extras/script_list.html:7 templates/extras/script_list.html:12 +#: templates/extras/script_result.html:17 msgid "Scripts" msgstr "Scripts" -#: core/choices.py:36 netbox/navigation/menu.py:324 -#: templates/extras/report/base.html:13 templates/extras/report_list.html:7 -#: templates/extras/report_list.html:12 +#: core/choices.py:36 templates/extras/report/base.html:13 msgid "Reports" msgstr "Rapports" -#: core/choices.py:54 extras/choices.py:207 +#: core/choices.py:54 extras/choices.py:221 msgid "Pending" msgstr "En attente" -#: core/choices.py:55 core/tables/jobs.py:32 extras/choices.py:208 -#: templates/core/job.html:62 +#: core/choices.py:55 core/constants.py:23 core/tables/jobs.py:32 +#: core/tables/tasks.py:38 extras/choices.py:222 templates/core/job.html:55 msgid "Scheduled" msgstr "Programmé" -#: core/choices.py:56 extras/choices.py:209 +#: core/choices.py:56 extras/choices.py:223 msgid "Running" msgstr "Courir" -#: core/choices.py:58 extras/choices.py:211 +#: core/choices.py:58 extras/choices.py:225 msgid "Errored" msgstr "En erreur" -#: core/data_backends.py:29 templates/dcim/interface.html:224 +#: core/constants.py:19 core/tables/tasks.py:30 +msgid "Finished" +msgstr "Terminé" + +#: core/constants.py:21 core/tables/jobs.py:38 templates/core/job.html:64 +#: templates/extras/htmx/script_result.html:8 +msgid "Started" +msgstr "Commencé" + +#: core/constants.py:22 core/tables/tasks.py:26 +msgid "Deferred" +msgstr "Différé" + +#: core/constants.py:24 +msgid "Stopped" +msgstr "Arrêté" + +#: core/constants.py:25 +msgid "Cancelled" +msgstr "Annulé" + +#: core/data_backends.py:29 templates/dcim/interface.html:216 msgid "Local" msgstr "Local" -#: core/data_backends.py:47 extras/tables/tables.py:436 -#: templates/account/profile.html:16 templates/users/user.html:18 +#: core/data_backends.py:47 extras/tables/tables.py:461 +#: templates/account/profile.html:15 templates/users/user.html:17 #: users/tables.py:31 msgid "Username" msgstr "Nom d'utilisateur" @@ -1209,7 +1259,7 @@ msgid "Only used for cloning with HTTP(S)" msgstr "Utilisé uniquement pour le clonage avec HTTP(S)" #: core/data_backends.py:53 templates/account/base.html:17 -#: templates/account/password.html:11 users/forms/model_forms.py:172 +#: templates/account/password.html:11 users/forms/model_forms.py:174 msgid "Password" msgstr "Mot de passe" @@ -1230,8 +1280,8 @@ msgstr "ID de clé d'accès AWS" msgid "AWS secret access key" msgstr "Clé d'accès secrète AWS" -#: core/filtersets.py:49 extras/filtersets.py:203 extras/filtersets.py:538 -#: extras/filtersets.py:566 +#: core/filtersets.py:49 extras/filtersets.py:245 extras/filtersets.py:585 +#: extras/filtersets.py:617 msgid "Data source (ID)" msgstr "Source de données (ID)" @@ -1239,211 +1289,211 @@ msgstr "Source de données (ID)" msgid "Data source (name)" msgstr "Source de données (nom)" -#: core/forms/bulk_edit.py:24 core/forms/filtersets.py:39 -#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1012 -#: dcim/forms/bulk_edit.py:1285 dcim/forms/filtersets.py:1270 -#: dcim/tables/devices.py:577 dcim/tables/devicetypes.py:221 -#: extras/forms/bulk_edit.py:97 extras/forms/bulk_edit.py:161 -#: extras/forms/bulk_edit.py:220 extras/forms/filtersets.py:119 -#: extras/forms/filtersets.py:206 extras/forms/filtersets.py:267 -#: extras/tables/tables.py:122 extras/tables/tables.py:211 -#: extras/tables/tables.py:288 templates/core/datasource.html:43 -#: templates/dcim/interface.html:62 templates/extras/customlink.html:18 -#: templates/extras/eventrule.html:20 templates/extras/savedfilter.html:26 -#: templates/users/objectpermission.html:26 -#: templates/virtualization/vminterface.html:32 users/forms/bulk_edit.py:69 -#: users/forms/filtersets.py:71 users/tables.py:86 -#: virtualization/forms/bulk_edit.py:216 -#: virtualization/forms/filtersets.py:207 +#: core/forms/bulk_edit.py:25 core/forms/filtersets.py:40 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1020 +#: dcim/forms/bulk_edit.py:1293 dcim/forms/filtersets.py:1268 +#: dcim/tables/devices.py:549 dcim/tables/devicetypes.py:221 +#: extras/forms/bulk_edit.py:98 extras/forms/bulk_edit.py:162 +#: extras/forms/bulk_edit.py:221 extras/forms/filtersets.py:120 +#: extras/forms/filtersets.py:207 extras/forms/filtersets.py:268 +#: extras/tables/tables.py:127 extras/tables/tables.py:216 +#: extras/tables/tables.py:293 netbox/preferences.py:22 +#: templates/core/datasource.html:42 templates/dcim/interface.html:61 +#: templates/extras/customlink.html:17 templates/extras/eventrule.html:17 +#: templates/extras/savedfilter.html:25 +#: templates/users/objectpermission.html:25 +#: templates/virtualization/vminterface.html:29 users/forms/bulk_edit.py:89 +#: users/forms/filtersets.py:71 users/tables.py:83 +#: virtualization/forms/bulk_edit.py:217 +#: virtualization/forms/filtersets.py:211 msgid "Enabled" msgstr "Activé" -#: core/forms/bulk_edit.py:33 extras/forms/model_forms.py:204 -#: templates/extras/savedfilter.html:57 vpn/forms/filtersets.py:95 -#: vpn/forms/filtersets.py:124 vpn/forms/filtersets.py:148 -#: vpn/forms/filtersets.py:167 vpn/forms/model_forms.py:300 -#: vpn/forms/model_forms.py:321 vpn/forms/model_forms.py:335 -#: vpn/forms/model_forms.py:356 vpn/forms/model_forms.py:379 +#: core/forms/bulk_edit.py:34 extras/forms/model_forms.py:211 +#: templates/extras/savedfilter.html:53 vpn/forms/filtersets.py:97 +#: vpn/forms/filtersets.py:127 vpn/forms/filtersets.py:151 +#: vpn/forms/filtersets.py:170 vpn/forms/model_forms.py:301 +#: vpn/forms/model_forms.py:321 vpn/forms/model_forms.py:337 +#: vpn/forms/model_forms.py:357 vpn/forms/model_forms.py:380 msgid "Parameters" msgstr "Paramètres" -#: core/forms/bulk_edit.py:37 templates/core/datasource.html:69 +#: core/forms/bulk_edit.py:38 templates/core/datasource.html:68 msgid "Ignore rules" msgstr "Ignorer les règles" -#: core/forms/filtersets.py:26 core/forms/model_forms.py:95 -#: extras/forms/model_forms.py:167 extras/forms/model_forms.py:464 -#: extras/forms/model_forms.py:517 extras/tables/tables.py:149 -#: extras/tables/tables.py:368 extras/tables/tables.py:403 +#: core/forms/filtersets.py:27 core/forms/model_forms.py:97 +#: extras/forms/model_forms.py:174 extras/forms/model_forms.py:457 +#: extras/forms/model_forms.py:511 extras/tables/tables.py:154 +#: extras/tables/tables.py:373 extras/tables/tables.py:408 #: templates/core/datasource.html:31 -#: templates/dcim/device/render_config.html:19 -#: templates/extras/configcontext.html:30 -#: templates/extras/configtemplate.html:22 -#: templates/extras/exporttemplate.html:41 -#: templates/virtualization/virtualmachine/render_config.html:19 +#: templates/dcim/device/render_config.html:18 +#: templates/extras/configcontext.html:29 +#: templates/extras/configtemplate.html:21 +#: templates/extras/exporttemplate.html:35 +#: templates/virtualization/virtualmachine/render_config.html:18 msgid "Data Source" msgstr "Source de données" -#: core/forms/filtersets.py:51 core/forms/mixins.py:21 +#: core/forms/filtersets.py:52 core/forms/mixins.py:21 msgid "File" msgstr "Dossier" -#: core/forms/filtersets.py:56 core/forms/mixins.py:16 -#: extras/forms/filtersets.py:147 extras/forms/filtersets.py:336 +#: core/forms/filtersets.py:57 core/forms/mixins.py:16 +#: extras/forms/filtersets.py:148 extras/forms/filtersets.py:337 #: extras/forms/filtersets.py:422 msgid "Data source" msgstr "Source de données" -#: core/forms/filtersets.py:64 extras/forms/filtersets.py:449 +#: core/forms/filtersets.py:67 extras/forms/filtersets.py:449 msgid "Creation" msgstr "Création" -#: core/forms/filtersets.py:70 extras/forms/filtersets.py:473 -#: extras/forms/filtersets.py:519 extras/tables/tables.py:479 -#: templates/core/job.html:25 templates/extras/objectchange.html:56 -#: tenancy/tables/contacts.py:90 vpn/tables/l2vpn.py:59 +#: core/forms/filtersets.py:71 extras/forms/filtersets.py:470 +#: extras/forms/filtersets.py:513 extras/tables/tables.py:183 +#: extras/tables/tables.py:504 templates/core/job.html:20 +#: templates/extras/objectchange.html:51 tenancy/tables/contacts.py:90 +#: vpn/tables/l2vpn.py:59 msgid "Object Type" msgstr "Type d'objet" -#: core/forms/filtersets.py:80 +#: core/forms/filtersets.py:81 msgid "Created after" msgstr "Créé après" -#: core/forms/filtersets.py:85 +#: core/forms/filtersets.py:86 msgid "Created before" msgstr "Créé avant" -#: core/forms/filtersets.py:90 +#: core/forms/filtersets.py:91 msgid "Scheduled after" msgstr "Planifié après" -#: core/forms/filtersets.py:95 +#: core/forms/filtersets.py:96 msgid "Scheduled before" msgstr "Planifié avant" -#: core/forms/filtersets.py:100 +#: core/forms/filtersets.py:101 msgid "Started after" msgstr "Commencé après" -#: core/forms/filtersets.py:105 +#: core/forms/filtersets.py:106 msgid "Started before" msgstr "Commencé avant" -#: core/forms/filtersets.py:110 +#: core/forms/filtersets.py:111 msgid "Completed after" msgstr "Terminé après" -#: core/forms/filtersets.py:115 +#: core/forms/filtersets.py:116 msgid "Completed before" msgstr "Terminé avant" -#: core/forms/filtersets.py:122 dcim/forms/bulk_edit.py:359 -#: dcim/forms/filtersets.py:352 dcim/forms/filtersets.py:396 -#: dcim/forms/model_forms.py:251 extras/forms/filtersets.py:465 -#: extras/forms/filtersets.py:511 templates/dcim/rackreservation.html:65 -#: templates/extras/objectchange.html:40 templates/extras/savedfilter.html:22 -#: templates/users/token.html:22 templates/users/user.html:6 -#: templates/users/user.html:14 users/filtersets.py:74 users/filtersets.py:134 -#: users/forms/filtersets.py:85 users/forms/filtersets.py:126 -#: users/forms/model_forms.py:157 users/forms/model_forms.py:195 -#: users/tables.py:19 +#: core/forms/filtersets.py:123 dcim/forms/bulk_edit.py:361 +#: dcim/forms/filtersets.py:353 dcim/forms/filtersets.py:397 +#: dcim/forms/model_forms.py:258 extras/forms/filtersets.py:465 +#: extras/forms/filtersets.py:508 templates/dcim/rackreservation.html:58 +#: templates/extras/objectchange.html:35 templates/extras/savedfilter.html:21 +#: templates/inc/user_menu.html:15 templates/users/token.html:21 +#: templates/users/user.html:6 templates/users/user.html:14 +#: users/filtersets.py:97 users/filtersets.py:164 users/forms/filtersets.py:85 +#: users/forms/filtersets.py:126 users/forms/model_forms.py:159 +#: users/forms/model_forms.py:196 users/tables.py:19 msgid "User" msgstr "Utilisateur" -#: core/forms/model_forms.py:52 core/tables/data.py:46 -#: templates/core/datafile.html:36 templates/extras/report/base.html:33 -#: templates/extras/script/base.html:32 templates/extras/script_result.html:45 +#: core/forms/model_forms.py:54 core/tables/data.py:46 +#: templates/core/datafile.html:27 templates/extras/report/base.html:33 +#: templates/extras/script/base.html:32 msgid "Source" msgstr "Source" -#: core/forms/model_forms.py:56 +#: core/forms/model_forms.py:58 msgid "Backend Parameters" msgstr "Paramètres du backend" -#: core/forms/model_forms.py:94 +#: core/forms/model_forms.py:96 msgid "File Upload" msgstr "Téléversement de fichiers" -#: core/forms/model_forms.py:106 +#: core/forms/model_forms.py:108 msgid "Cannot upload a file and sync from an existing file" msgstr "" "Impossible de charger un fichier et de le synchroniser à partir d'un fichier" " existant" -#: core/forms/model_forms.py:108 +#: core/forms/model_forms.py:110 msgid "Must upload a file or select a data file to sync" msgstr "" "Vous devez télécharger un fichier ou sélectionner un fichier de données à " "synchroniser" -#: core/forms/model_forms.py:147 templates/core/configrevision.html:43 -#: templates/dcim/rack_elevation_list.html:6 +#: core/forms/model_forms.py:153 templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" -msgstr "Élévations des rayonnages" +msgstr "Élévations des baies" -#: core/forms/model_forms.py:148 dcim/choices.py:1413 -#: dcim/forms/bulk_edit.py:859 dcim/forms/bulk_edit.py:1242 -#: dcim/forms/bulk_edit.py:1260 dcim/tables/racks.py:89 -#: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 +#: core/forms/model_forms.py:157 dcim/choices.py:1413 +#: dcim/forms/bulk_edit.py:867 dcim/forms/bulk_edit.py:1250 +#: dcim/forms/bulk_edit.py:1268 dcim/tables/racks.py:89 +#: netbox/navigation/menu.py:275 netbox/navigation/menu.py:279 msgid "Power" msgstr "Pouvoir" -#: core/forms/model_forms.py:149 netbox/navigation/menu.py:142 -#: templates/core/configrevision.html:79 +#: core/forms/model_forms.py:159 netbox/navigation/menu.py:141 +#: templates/core/inc/config_data.html:37 msgid "IPAM" msgstr "IPAM" -#: core/forms/model_forms.py:150 netbox/navigation/menu.py:218 -#: templates/core/configrevision.html:95 vpn/forms/bulk_edit.py:76 -#: vpn/forms/filtersets.py:42 vpn/forms/model_forms.py:60 -#: vpn/forms/model_forms.py:145 +#: core/forms/model_forms.py:160 netbox/navigation/menu.py:217 +#: templates/core/inc/config_data.html:50 vpn/forms/bulk_edit.py:77 +#: vpn/forms/filtersets.py:43 vpn/forms/model_forms.py:61 +#: vpn/forms/model_forms.py:146 msgid "Security" msgstr "Sécurité" -#: core/forms/model_forms.py:151 templates/core/configrevision.html:107 +#: core/forms/model_forms.py:161 templates/core/inc/config_data.html:59 msgid "Banners" msgstr "Bannières" -#: core/forms/model_forms.py:152 templates/core/configrevision.html:131 +#: core/forms/model_forms.py:162 templates/core/inc/config_data.html:80 msgid "Pagination" msgstr "Pagination" -#: core/forms/model_forms.py:153 extras/forms/model_forms.py:63 -#: templates/core/configrevision.html:147 +#: core/forms/model_forms.py:163 extras/forms/model_forms.py:67 +#: templates/core/inc/config_data.html:93 msgid "Validation" msgstr "Validation" -#: core/forms/model_forms.py:154 templates/account/preferences.html:6 -#: templates/core/configrevision.html:175 +#: core/forms/model_forms.py:164 templates/account/preferences.html:6 msgid "User Preferences" msgstr "Préférences de l'utilisateur" -#: core/forms/model_forms.py:155 dcim/forms/filtersets.py:658 -#: templates/core/configrevision.html:193 users/forms/model_forms.py:64 +#: core/forms/model_forms.py:167 dcim/forms/filtersets.py:660 +#: templates/core/inc/config_data.html:127 users/forms/model_forms.py:68 msgid "Miscellaneous" msgstr "Divers" -#: core/forms/model_forms.py:158 +#: core/forms/model_forms.py:169 msgid "Config Revision" msgstr "Révision de configuration" -#: core/forms/model_forms.py:197 +#: core/forms/model_forms.py:208 msgid "This parameter has been defined statically and cannot be modified." msgstr "" "Ce paramètre a été défini de manière statique et ne peut pas être modifié." -#: core/forms/model_forms.py:205 +#: core/forms/model_forms.py:216 #, python-brace-format msgid "Current value: {value}" msgstr "Valeur actuelle : {value}" -#: core/forms/model_forms.py:207 +#: core/forms/model_forms.py:218 msgid " (default)" msgstr " (par défaut)" #: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 -#: core/models/jobs.py:50 extras/models/models.py:760 -#: netbox/models/features.py:52 users/models.py:249 +#: core/models/jobs.py:50 extras/models/models.py:758 +#: netbox/models/features.py:51 users/models/tokens.py:33 msgid "created" msgstr "créé" @@ -1487,21 +1537,22 @@ msgstr "Révision de configuration #{id}" #: dcim/models/device_components.py:284 dcim/models/device_components.py:313 #: dcim/models/device_components.py:346 dcim/models/device_components.py:464 #: dcim/models/device_components.py:606 dcim/models/device_components.py:971 -#: dcim/models/device_components.py:1045 dcim/models/power.py:101 -#: dcim/models/racks.py:127 extras/models/customfields.py:75 -#: extras/models/search.py:43 virtualization/models/clusters.py:61 +#: dcim/models/device_components.py:1045 dcim/models/power.py:102 +#: dcim/models/racks.py:128 extras/models/customfields.py:76 +#: extras/models/search.py:41 virtualization/models/clusters.py:61 #: vpn/models/l2vpn.py:32 msgid "type" msgstr "type" -#: core/models/data.py:52 extras/choices.py:34 extras/models/models.py:194 -#: templates/core/datasource.html:59 +#: core/models/data.py:52 extras/choices.py:37 extras/models/models.py:192 +#: extras/tables/tables.py:582 templates/core/datasource.html:58 msgid "URL" msgstr "URL" #: core/models/data.py:62 dcim/models/device_component_templates.py:392 -#: dcim/models/device_components.py:513 extras/models/models.py:88 -#: extras/models/models.py:331 extras/models/models.py:556 users/models.py:358 +#: dcim/models/device_components.py:513 extras/models/models.py:90 +#: extras/models/models.py:329 extras/models/models.py:554 +#: users/models/permissions.py:29 msgid "enabled" msgstr "activé" @@ -1515,7 +1566,7 @@ msgstr "" "Modèles (un par ligne) correspondant aux fichiers à ignorer lors de la " "synchronisation" -#: core/models/data.py:71 extras/models/models.py:564 +#: core/models/data.py:71 extras/models/models.py:562 msgid "parameters" msgstr "paramètres" @@ -1551,11 +1602,11 @@ msgstr "" "dépendance doit être installée : " #: core/models/data.py:286 core/models/files.py:31 -#: netbox/models/features.py:58 +#: netbox/models/features.py:57 msgid "last updated" msgstr "dernière mise à jour" -#: core/models/data.py:296 dcim/models/cables.py:438 +#: core/models/data.py:296 dcim/models/cables.py:442 msgid "path" msgstr "chemin" @@ -1587,11 +1638,11 @@ msgstr "fichier de données" msgid "data files" msgstr "fichiers de données" -#: core/models/data.py:416 +#: core/models/data.py:417 msgid "auto sync record" msgstr "enregistrement de synchronisation automatique" -#: core/models/data.py:417 +#: core/models/data.py:418 msgid "auto sync records" msgstr "enregistrements de synchronisation automatique" @@ -1635,7 +1686,7 @@ msgstr "commencé" msgid "completed" msgstr "terminé" -#: core/models/jobs.py:91 extras/models/models.py:123 +#: core/models/jobs.py:91 extras/models/models.py:121 #: extras/models/staging.py:87 msgid "data" msgstr "données" @@ -1672,7 +1723,7 @@ msgstr "" msgid "Is Active" msgstr "Est actif" -#: core/tables/data.py:50 templates/core/datafile.html:40 +#: core/tables/data.py:50 templates/core/datafile.html:31 msgid "Path" msgstr "Sentier" @@ -1680,20 +1731,21 @@ msgstr "Sentier" msgid "Last updated" msgstr "Dernière mise à jour" -#: core/tables/jobs.py:10 dcim/tables/devicetypes.py:161 -#: extras/tables/tables.py:174 extras/tables/tables.py:345 -#: netbox/tables/tables.py:184 templates/dcim/virtualchassis_edit.html:53 +#: core/tables/jobs.py:10 core/tables/tasks.py:76 +#: dcim/tables/devicetypes.py:161 extras/tables/tables.py:179 +#: extras/tables/tables.py:350 netbox/tables/tables.py:186 +#: templates/dcim/virtualchassis_edit.html:52 utilities/forms/forms.py:73 #: wireless/tables/wirelesslink.py:16 msgid "ID" msgstr "IDENTIFIANT" -#: core/tables/jobs.py:21 extras/choices.py:38 extras/tables/tables.py:236 -#: extras/tables/tables.py:282 extras/tables/tables.py:355 -#: extras/tables/tables.py:453 extras/tables/tables.py:484 -#: netbox/tables/tables.py:238 templates/extras/eventrule.html:99 -#: templates/extras/htmx/report_result.html:45 -#: templates/extras/journalentry.html:21 templates/extras/objectchange.html:62 -#: tenancy/tables/contacts.py:93 vpn/tables/l2vpn.py:64 +#: core/tables/jobs.py:21 extras/choices.py:41 extras/tables/tables.py:241 +#: extras/tables/tables.py:287 extras/tables/tables.py:360 +#: extras/tables/tables.py:478 extras/tables/tables.py:509 +#: extras/tables/tables.py:579 netbox/tables/tables.py:240 +#: templates/extras/eventrule.html:84 templates/extras/journalentry.html:18 +#: templates/extras/objectchange.html:57 tenancy/tables/contacts.py:93 +#: vpn/tables/l2vpn.py:64 msgid "Object" msgstr "Objet" @@ -1701,20 +1753,102 @@ msgstr "Objet" msgid "Interval" msgstr "Intervalle" -#: core/tables/jobs.py:38 templates/core/job.html:71 -#: templates/extras/htmx/report_result.html:7 -#: templates/extras/htmx/script_result.html:8 -msgid "Started" -msgstr "Commencé" +#: core/tables/plugins.py:16 templates/vpn/ipsecprofile.html:44 +#: vpn/forms/bulk_edit.py:141 vpn/forms/bulk_import.py:172 +#: vpn/tables/crypto.py:61 +msgid "Version" +msgstr "Version" -#: dcim/api/serializers.py:205 templates/dcim/rack.html:33 -msgid "Facility ID" -msgstr "ID de l'établissement" +#: core/tables/plugins.py:20 +msgid "Package" +msgstr "Colis" -#: dcim/api/serializers.py:321 dcim/api/serializers.py:682 +#: core/tables/plugins.py:23 +msgid "Author" +msgstr "Auteur" + +#: core/tables/plugins.py:26 +msgid "Author Email" +msgstr "Adresse électronique de l'auteur" + +#: core/tables/plugins.py:33 +msgid "No plugins found" +msgstr "Aucun plug-in n'a été trouvé" + +#: core/tables/tasks.py:18 +msgid "Oldest Task" +msgstr "La tâche la plus ancienne" + +#: core/tables/tasks.py:42 templates/core/rq_worker_list.html:34 +msgid "Workers" +msgstr "Travailleurs" + +#: core/tables/tasks.py:46 vpn/tables/tunnels.py:88 +msgid "Host" +msgstr "Hôte" + +#: core/tables/tasks.py:50 ipam/forms/filtersets.py:523 +msgid "Port" +msgstr "Port" + +#: core/tables/tasks.py:54 +msgid "DB" +msgstr "DB" + +#: core/tables/tasks.py:58 +msgid "Scheduler PID" +msgstr "PID du planificateur" + +#: core/tables/tasks.py:62 +msgid "No queues found" +msgstr "Aucune file d'attente trouvée" + +#: core/tables/tasks.py:82 +msgid "Enqueued" +msgstr "En file d'attente" + +#: core/tables/tasks.py:85 +msgid "Ended" +msgstr "Terminé" + +#: core/tables/tasks.py:93 templates/core/rq_task.html:85 +msgid "Callable" +msgstr "Appelable" + +#: core/tables/tasks.py:97 +msgid "No tasks found" +msgstr "Aucune tâche trouvée" + +#: core/tables/tasks.py:118 templates/core/rq_worker.html:47 +msgid "State" +msgstr "État" + +#: core/tables/tasks.py:121 templates/core/rq_worker.html:51 +msgid "Birth" +msgstr "Naissance" + +#: core/tables/tasks.py:124 templates/core/rq_worker.html:59 +msgid "PID" +msgstr "PID" + +#: core/tables/tasks.py:128 +msgid "No workers found" +msgstr "Aucun travailleur n'a été trouvé" + +#: core/views.py:335 core/views.py:378 core/views.py:401 core/views.py:419 +#: core/views.py:454 +#, python-brace-format +msgid "Job {job_id} not found" +msgstr "Poste {job_id} introuvable" + +#: dcim/api/serializers_/devices.py:50 dcim/api/serializers_/devicetypes.py:26 msgid "Position (U)" msgstr "Position (U)" +#: dcim/api/serializers_/racks.py:45 templates/dcim/rack.html:30 +msgid "Facility ID" +msgstr "ID de l'établissement" + #: dcim/choices.py:21 virtualization/choices.py:21 msgid "Staging" msgstr "Mise en scène" @@ -1767,7 +1901,7 @@ msgstr "{n} pouces" msgid "Reserved" msgstr "Réservé" -#: dcim/choices.py:101 templates/dcim/device.html:262 +#: dcim/choices.py:101 templates/dcim/device.html:251 msgid "Available" msgstr "Disponible" @@ -1776,7 +1910,7 @@ msgstr "Disponible" msgid "Deprecated" msgstr "Obsolète" -#: dcim/choices.py:114 templates/dcim/rack.html:128 +#: dcim/choices.py:114 templates/dcim/rack.html:123 msgid "Millimeters" msgstr "Millimètres" @@ -1784,30 +1918,30 @@ msgstr "Millimètres" msgid "Inches" msgstr "Pouces" -#: dcim/choices.py:140 dcim/forms/bulk_edit.py:66 dcim/forms/bulk_edit.py:85 -#: dcim/forms/bulk_edit.py:171 dcim/forms/bulk_edit.py:1290 +#: dcim/choices.py:140 dcim/forms/bulk_edit.py:67 dcim/forms/bulk_edit.py:86 +#: dcim/forms/bulk_edit.py:172 dcim/forms/bulk_edit.py:1298 #: dcim/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 #: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:511 #: dcim/forms/bulk_import.py:778 dcim/forms/bulk_import.py:1033 -#: dcim/forms/filtersets.py:226 dcim/forms/model_forms.py:73 -#: dcim/forms/model_forms.py:94 dcim/forms/model_forms.py:172 -#: dcim/forms/model_forms.py:962 dcim/forms/model_forms.py:1303 -#: dcim/forms/object_import.py:181 dcim/tables/devices.py:680 -#: dcim/tables/devices.py:964 extras/tables/tables.py:181 +#: dcim/forms/filtersets.py:227 dcim/forms/model_forms.py:73 +#: dcim/forms/model_forms.py:92 dcim/forms/model_forms.py:169 +#: dcim/forms/model_forms.py:1007 dcim/forms/model_forms.py:1446 +#: dcim/forms/object_import.py:176 dcim/tables/devices.py:652 +#: dcim/tables/devices.py:937 extras/tables/tables.py:186 #: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 -#: templates/dcim/interface.html:105 templates/dcim/interface.html:321 -#: templates/dcim/location.html:44 templates/dcim/region.html:38 -#: templates/dcim/sitegroup.html:38 templates/ipam/service.html:31 -#: templates/tenancy/contactgroup.html:32 -#: templates/tenancy/tenantgroup.html:40 -#: templates/virtualization/vminterface.html:42 -#: templates/wireless/wirelesslangroup.html:38 tenancy/forms/bulk_edit.py:26 -#: tenancy/forms/bulk_edit.py:60 tenancy/forms/bulk_import.py:24 -#: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:24 -#: tenancy/forms/model_forms.py:69 virtualization/forms/bulk_edit.py:206 +#: templates/dcim/interface.html:102 templates/dcim/interface.html:309 +#: templates/dcim/location.html:41 templates/dcim/region.html:37 +#: templates/dcim/sitegroup.html:37 templates/ipam/service.html:28 +#: templates/tenancy/contactgroup.html:29 +#: templates/tenancy/tenantgroup.html:37 +#: templates/virtualization/vminterface.html:39 +#: templates/wireless/wirelesslangroup.html:37 tenancy/forms/bulk_edit.py:27 +#: tenancy/forms/bulk_edit.py:61 tenancy/forms/bulk_import.py:24 +#: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:25 +#: tenancy/forms/model_forms.py:68 virtualization/forms/bulk_edit.py:207 #: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:23 -#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:20 +#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:24 +#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:21 msgid "Parent" msgstr "Parent" @@ -1815,15 +1949,15 @@ msgstr "Parent" msgid "Child" msgstr "Enfant" -#: dcim/choices.py:155 templates/dcim/device.html:345 -#: templates/dcim/rack.html:181 templates/dcim/rack_elevation_list.html:22 -#: templates/dcim/rackreservation.html:84 +#: dcim/choices.py:155 templates/dcim/device.html:331 +#: templates/dcim/rack.html:175 templates/dcim/rack_elevation_list.html:20 +#: templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Avant" -#: dcim/choices.py:156 templates/dcim/device.html:351 -#: templates/dcim/rack.html:187 templates/dcim/rack_elevation_list.html:23 -#: templates/dcim/rackreservation.html:90 +#: dcim/choices.py:156 templates/dcim/device.html:337 +#: templates/dcim/rack.html:181 templates/dcim/rack_elevation_list.html:21 +#: templates/dcim/rackreservation.html:82 msgid "Rear" msgstr "Arrière" @@ -1885,7 +2019,7 @@ msgstr "Propriétaire" #: dcim/choices.py:534 dcim/choices.py:764 dcim/choices.py:1137 #: dcim/choices.py:1139 dcim/choices.py:1344 dcim/choices.py:1346 -#: netbox/navigation/menu.py:188 +#: netbox/navigation/menu.py:187 msgid "Other" msgstr "Autres" @@ -1901,10 +2035,10 @@ msgstr "Physique" msgid "Virtual" msgstr "Virtuel" -#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1398 -#: dcim/forms/filtersets.py:1233 dcim/forms/model_forms.py:888 -#: dcim/forms/model_forms.py:1197 netbox/navigation/menu.py:128 -#: netbox/navigation/menu.py:132 templates/dcim/interface.html:217 +#: dcim/choices.py:796 dcim/choices.py:1022 dcim/forms/bulk_edit.py:1408 +#: dcim/forms/filtersets.py:1231 dcim/forms/model_forms.py:933 +#: dcim/forms/model_forms.py:1341 netbox/navigation/menu.py:127 +#: netbox/navigation/menu.py:131 templates/dcim/interface.html:210 msgid "Wireless" msgstr "Sans fil" @@ -1912,11 +2046,11 @@ msgstr "Sans fil" msgid "Virtual interfaces" msgstr "Interfaces virtuelles" -#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1295 -#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:876 -#: dcim/tables/devices.py:684 templates/dcim/interface.html:109 -#: templates/virtualization/vminterface.html:46 -#: virtualization/forms/bulk_edit.py:211 +#: dcim/choices.py:953 dcim/forms/bulk_edit.py:1303 +#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:919 +#: dcim/tables/devices.py:656 templates/dcim/interface.html:106 +#: templates/virtualization/vminterface.html:43 +#: virtualization/forms/bulk_edit.py:212 #: virtualization/forms/bulk_import.py:158 #: virtualization/tables/virtualmachines.py:159 msgid "Bridge" @@ -1942,10 +2076,10 @@ msgstr "Ethernet (panneau arrière)" msgid "Cellular" msgstr "Cellulaire" -#: dcim/choices.py:1086 dcim/forms/filtersets.py:302 -#: dcim/forms/filtersets.py:736 dcim/forms/filtersets.py:876 -#: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:53 -#: templates/dcim/virtualchassis_edit.html:55 +#: dcim/choices.py:1086 dcim/forms/filtersets.py:303 +#: dcim/forms/filtersets.py:737 dcim/forms/filtersets.py:874 +#: dcim/forms/filtersets.py:1426 templates/dcim/inventoryitem.html:52 +#: templates/dcim/virtualchassis_edit.html:54 msgid "Serial" msgstr "Série" @@ -1965,7 +2099,7 @@ msgstr "La moitié" msgid "Full" msgstr "Complet" -#: dcim/choices.py:1170 netbox/preferences.py:29 wireless/choices.py:480 +#: dcim/choices.py:1170 netbox/preferences.py:31 wireless/choices.py:480 msgid "Auto" msgstr "Automatique" @@ -2014,7 +2148,7 @@ msgstr "fibre optique" msgid "Fiber" msgstr "Fibre" -#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140 +#: dcim/choices.py:1424 dcim/forms/filtersets.py:1138 msgid "Connected" msgstr "Connecté" @@ -2022,7 +2156,7 @@ msgstr "Connecté" msgid "Kilometers" msgstr "Kilomètres" -#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62 +#: dcim/choices.py:1444 templates/dcim/cable_trace.html:65 msgid "Meters" msgstr "Compteurs" @@ -2034,12 +2168,12 @@ msgstr "Centimètres" msgid "Miles" msgstr "Miles" -#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63 +#: dcim/choices.py:1447 templates/dcim/cable_trace.html:66 msgid "Feet" msgstr "Pieds" -#: dcim/choices.py:1463 templates/dcim/device.html:332 -#: templates/dcim/rack.html:157 +#: dcim/choices.py:1463 templates/dcim/device.html:319 +#: templates/dcim/rack.html:152 msgid "Kilograms" msgstr "Kilogrammes" @@ -2047,7 +2181,7 @@ msgstr "Kilogrammes" msgid "Grams" msgstr "Grammes" -#: dcim/choices.py:1465 templates/dcim/rack.html:158 +#: dcim/choices.py:1465 templates/dcim/rack.html:153 msgid "Pounds" msgstr "Livres" @@ -2081,405 +2215,469 @@ msgstr "Format d'adresse MAC non valide : {value}" msgid "Invalid WWN format: {value}" msgstr "Format WWN non valide : {value}" -#: dcim/filtersets.py:84 +#: dcim/filtersets.py:85 msgid "Parent region (ID)" msgstr "Région parente (ID)" -#: dcim/filtersets.py:90 +#: dcim/filtersets.py:91 msgid "Parent region (slug)" msgstr "Région parente (limace)" -#: dcim/filtersets.py:101 +#: dcim/filtersets.py:115 msgid "Parent site group (ID)" msgstr "Groupe de sites parent (ID)" -#: dcim/filtersets.py:107 +#: dcim/filtersets.py:121 msgid "Parent site group (slug)" msgstr "Groupe de sites parents (slug)" -#: dcim/filtersets.py:136 ipam/filtersets.py:797 ipam/filtersets.py:930 +#: dcim/filtersets.py:163 ipam/filtersets.py:841 ipam/filtersets.py:979 msgid "Group (ID)" msgstr "Groupe (ID)" -#: dcim/filtersets.py:142 +#: dcim/filtersets.py:169 msgid "Group (slug)" msgstr "Groupe (limace)" -#: dcim/filtersets.py:148 dcim/filtersets.py:153 +#: dcim/filtersets.py:175 dcim/filtersets.py:180 msgid "AS (ID)" msgstr "COMME (ID)" -#: dcim/filtersets.py:221 dcim/filtersets.py:296 dcim/filtersets.py:395 -#: dcim/filtersets.py:939 dcim/filtersets.py:1243 dcim/filtersets.py:1981 +#: dcim/filtersets.py:245 +msgid "Parent location (ID)" +msgstr "Lieu de résidence du parent (ID)" + +#: dcim/filtersets.py:251 +msgid "Parent location (slug)" +msgstr "Localisation du parent (limace)" + +#: dcim/filtersets.py:257 dcim/filtersets.py:333 dcim/filtersets.py:432 +#: dcim/filtersets.py:1005 dcim/filtersets.py:1331 dcim/filtersets.py:2101 msgid "Location (ID)" msgstr "Lieu (ID)" -#: dcim/filtersets.py:228 dcim/filtersets.py:303 dcim/filtersets.py:402 -#: dcim/filtersets.py:1249 extras/filtersets.py:447 +#: dcim/filtersets.py:264 dcim/filtersets.py:340 dcim/filtersets.py:439 +#: dcim/filtersets.py:1337 extras/filtersets.py:494 msgid "Location (slug)" msgstr "Emplacement (limace)" -#: dcim/filtersets.py:317 dcim/filtersets.py:774 dcim/filtersets.py:876 -#: dcim/filtersets.py:1649 ipam/filtersets.py:347 ipam/filtersets.py:459 -#: ipam/filtersets.py:940 virtualization/filtersets.py:210 +#: dcim/filtersets.py:354 dcim/filtersets.py:840 dcim/filtersets.py:942 +#: dcim/filtersets.py:1769 ipam/filtersets.py:381 ipam/filtersets.py:493 +#: ipam/filtersets.py:989 virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Rôle (ID)" -#: dcim/filtersets.py:323 dcim/filtersets.py:780 dcim/filtersets.py:882 -#: dcim/filtersets.py:1655 extras/filtersets.py:463 ipam/filtersets.py:353 -#: ipam/filtersets.py:465 ipam/filtersets.py:946 +#: dcim/filtersets.py:360 dcim/filtersets.py:846 dcim/filtersets.py:948 +#: dcim/filtersets.py:1775 extras/filtersets.py:510 ipam/filtersets.py:387 +#: ipam/filtersets.py:499 ipam/filtersets.py:995 #: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "Rôle (limace)" -#: dcim/filtersets.py:352 dcim/filtersets.py:944 dcim/filtersets.py:1254 -#: dcim/filtersets.py:2043 +#: dcim/filtersets.py:389 dcim/filtersets.py:1010 dcim/filtersets.py:1342 +#: dcim/filtersets.py:2163 msgid "Rack (ID)" -msgstr "Étagère (ID)" +msgstr "Baie (ID)" -#: dcim/filtersets.py:406 extras/filtersets.py:234 extras/filtersets.py:278 -#: extras/filtersets.py:318 extras/filtersets.py:613 +#: dcim/filtersets.py:443 extras/filtersets.py:282 extras/filtersets.py:326 +#: extras/filtersets.py:365 extras/filtersets.py:664 users/filtersets.py:28 msgid "User (ID)" msgstr "Utilisateur (ID)" -#: dcim/filtersets.py:412 extras/filtersets.py:240 extras/filtersets.py:284 -#: extras/filtersets.py:324 users/filtersets.py:80 users/filtersets.py:140 +#: dcim/filtersets.py:449 extras/filtersets.py:288 extras/filtersets.py:332 +#: extras/filtersets.py:371 users/filtersets.py:103 users/filtersets.py:170 msgid "User (name)" msgstr "Utilisateur (nom)" -#: dcim/filtersets.py:440 dcim/filtersets.py:567 dcim/filtersets.py:764 -#: dcim/filtersets.py:815 dcim/filtersets.py:855 dcim/filtersets.py:1145 -#: dcim/filtersets.py:1639 +#: dcim/filtersets.py:481 dcim/filtersets.py:620 dcim/filtersets.py:830 +#: dcim/filtersets.py:881 dcim/filtersets.py:921 dcim/filtersets.py:1233 +#: dcim/filtersets.py:1759 msgid "Manufacturer (ID)" msgstr "Fabricant (ID)" -#: dcim/filtersets.py:446 dcim/filtersets.py:573 dcim/filtersets.py:770 -#: dcim/filtersets.py:821 dcim/filtersets.py:861 dcim/filtersets.py:1151 -#: dcim/filtersets.py:1645 +#: dcim/filtersets.py:487 dcim/filtersets.py:626 dcim/filtersets.py:836 +#: dcim/filtersets.py:887 dcim/filtersets.py:927 dcim/filtersets.py:1239 +#: dcim/filtersets.py:1765 msgid "Manufacturer (slug)" msgstr "Fabricant (limace)" -#: dcim/filtersets.py:450 +#: dcim/filtersets.py:491 msgid "Default platform (ID)" msgstr "Plateforme par défaut (ID)" -#: dcim/filtersets.py:456 +#: dcim/filtersets.py:497 msgid "Default platform (slug)" msgstr "Plateforme par défaut (slug)" -#: dcim/filtersets.py:459 dcim/forms/filtersets.py:452 +#: dcim/filtersets.py:500 dcim/forms/filtersets.py:452 msgid "Has a front image" msgstr "Possède une image frontale" -#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459 +#: dcim/filtersets.py:504 dcim/forms/filtersets.py:459 msgid "Has a rear image" msgstr "Possède une image arrière" -#: dcim/filtersets.py:468 dcim/filtersets.py:577 dcim/filtersets.py:997 -#: dcim/forms/filtersets.py:466 dcim/forms/filtersets.py:563 -#: dcim/forms/filtersets.py:775 +#: dcim/filtersets.py:509 dcim/filtersets.py:630 dcim/filtersets.py:1068 +#: dcim/forms/filtersets.py:466 dcim/forms/filtersets.py:562 +#: dcim/forms/filtersets.py:776 msgid "Has console ports" msgstr "Possède des ports de console" -#: dcim/filtersets.py:472 dcim/filtersets.py:581 dcim/filtersets.py:1001 -#: dcim/forms/filtersets.py:473 dcim/forms/filtersets.py:570 -#: dcim/forms/filtersets.py:782 +#: dcim/filtersets.py:513 dcim/filtersets.py:634 dcim/filtersets.py:1072 +#: dcim/forms/filtersets.py:473 dcim/forms/filtersets.py:569 +#: dcim/forms/filtersets.py:783 msgid "Has console server ports" msgstr "Possède des ports de serveur de console" -#: dcim/filtersets.py:476 dcim/filtersets.py:585 dcim/filtersets.py:1005 -#: dcim/forms/filtersets.py:480 dcim/forms/filtersets.py:577 -#: dcim/forms/filtersets.py:789 +#: dcim/filtersets.py:517 dcim/filtersets.py:638 dcim/filtersets.py:1076 +#: dcim/forms/filtersets.py:480 dcim/forms/filtersets.py:576 +#: dcim/forms/filtersets.py:790 msgid "Has power ports" msgstr "Possède des ports d'alimentation" -#: dcim/filtersets.py:480 dcim/filtersets.py:589 dcim/filtersets.py:1009 -#: dcim/forms/filtersets.py:487 dcim/forms/filtersets.py:584 -#: dcim/forms/filtersets.py:796 +#: dcim/filtersets.py:521 dcim/filtersets.py:642 dcim/filtersets.py:1080 +#: dcim/forms/filtersets.py:487 dcim/forms/filtersets.py:583 +#: dcim/forms/filtersets.py:797 msgid "Has power outlets" msgstr "Dispose de prises de courant" -#: dcim/filtersets.py:484 dcim/filtersets.py:593 dcim/filtersets.py:1013 -#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:591 -#: dcim/forms/filtersets.py:803 +#: dcim/filtersets.py:525 dcim/filtersets.py:646 dcim/filtersets.py:1084 +#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:590 +#: dcim/forms/filtersets.py:804 msgid "Has interfaces" msgstr "Possède des interfaces" -#: dcim/filtersets.py:488 dcim/filtersets.py:597 dcim/filtersets.py:1017 -#: dcim/forms/filtersets.py:501 dcim/forms/filtersets.py:598 -#: dcim/forms/filtersets.py:810 +#: dcim/filtersets.py:529 dcim/filtersets.py:650 dcim/filtersets.py:1088 +#: dcim/forms/filtersets.py:501 dcim/forms/filtersets.py:597 +#: dcim/forms/filtersets.py:811 msgid "Has pass-through ports" msgstr "Possède des ports d'intercommunication" -#: dcim/filtersets.py:492 dcim/filtersets.py:1021 dcim/forms/filtersets.py:515 +#: dcim/filtersets.py:533 dcim/filtersets.py:1092 dcim/forms/filtersets.py:515 msgid "Has module bays" msgstr "Dispose de baies pour modules" -#: dcim/filtersets.py:496 dcim/filtersets.py:1025 dcim/forms/filtersets.py:508 +#: dcim/filtersets.py:537 dcim/filtersets.py:1096 dcim/forms/filtersets.py:508 msgid "Has device bays" msgstr "Dispose de baies pour appareils" -#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522 +#: dcim/filtersets.py:541 dcim/forms/filtersets.py:522 msgid "Has inventory items" msgstr "Possède des articles en inventaire" -#: dcim/filtersets.py:645 dcim/filtersets.py:871 dcim/filtersets.py:1275 +#: dcim/filtersets.py:698 dcim/filtersets.py:937 dcim/filtersets.py:1363 msgid "Device type (ID)" msgstr "Type d'appareil (ID)" -#: dcim/filtersets.py:661 dcim/filtersets.py:1156 +#: dcim/filtersets.py:717 dcim/filtersets.py:1244 msgid "Module type (ID)" msgstr "Type de module (ID)" -#: dcim/filtersets.py:760 dcim/filtersets.py:1635 +#: dcim/filtersets.py:752 dcim/filtersets.py:1514 +msgid "Power port (ID)" +msgstr "Port d'alimentation (ID)" + +#: dcim/filtersets.py:826 dcim/filtersets.py:1755 msgid "Parent inventory item (ID)" msgstr "Article d'inventaire parent (ID)" -#: dcim/filtersets.py:803 dcim/filtersets.py:829 dcim/filtersets.py:993 +#: dcim/filtersets.py:869 dcim/filtersets.py:895 dcim/filtersets.py:1064 #: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Modèle de configuration (ID)" -#: dcim/filtersets.py:867 +#: dcim/filtersets.py:933 msgid "Device type (slug)" msgstr "Type d'appareil (slug)" -#: dcim/filtersets.py:887 +#: dcim/filtersets.py:953 msgid "Parent Device (ID)" msgstr "Appareil parent (ID)" -#: dcim/filtersets.py:891 virtualization/filtersets.py:220 +#: dcim/filtersets.py:957 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "Plateforme (ID)" -#: dcim/filtersets.py:897 extras/filtersets.py:474 +#: dcim/filtersets.py:963 extras/filtersets.py:521 #: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "Plateforme (slug)" -#: dcim/filtersets.py:933 dcim/filtersets.py:1238 dcim/filtersets.py:1733 -#: dcim/filtersets.py:1975 dcim/filtersets.py:2034 +#: dcim/filtersets.py:999 dcim/filtersets.py:1326 dcim/filtersets.py:1853 +#: dcim/filtersets.py:2095 dcim/filtersets.py:2154 msgid "Site name (slug)" msgstr "Nom du site (slug)" -#: dcim/filtersets.py:948 +#: dcim/filtersets.py:1015 +msgid "Parent bay (ID)" +msgstr "Enfant parent (ID)" + +#: dcim/filtersets.py:1019 msgid "VM cluster (ID)" msgstr "Cluster de machines virtuelles (ID)" -#: dcim/filtersets.py:954 +#: dcim/filtersets.py:1025 msgid "Device model (slug)" msgstr "Modèle d'appareil (slug)" -#: dcim/filtersets.py:965 dcim/forms/bulk_edit.py:421 +#: dcim/filtersets.py:1036 dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "Est en pleine profondeur" -#: dcim/filtersets.py:969 dcim/forms/common.py:18 dcim/forms/filtersets.py:745 -#: dcim/forms/filtersets.py:1285 dcim/models/device_components.py:519 -#: virtualization/filtersets.py:230 virtualization/filtersets.py:297 -#: virtualization/forms/filtersets.py:168 -#: virtualization/forms/filtersets.py:215 +#: dcim/filtersets.py:1040 dcim/forms/common.py:18 +#: dcim/forms/filtersets.py:746 dcim/forms/filtersets.py:1283 +#: dcim/models/device_components.py:519 virtualization/filtersets.py:230 +#: virtualization/filtersets.py:297 virtualization/forms/filtersets.py:172 +#: virtualization/forms/filtersets.py:219 msgid "MAC address" msgstr "Adresse MAC" -#: dcim/filtersets.py:976 dcim/forms/filtersets.py:754 -#: dcim/forms/filtersets.py:841 virtualization/filtersets.py:234 -#: virtualization/forms/filtersets.py:172 +#: dcim/filtersets.py:1047 dcim/filtersets.py:1201 +#: dcim/forms/filtersets.py:755 dcim/forms/filtersets.py:841 +#: virtualization/filtersets.py:234 virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "Possède une adresse IP principale" -#: dcim/filtersets.py:980 +#: dcim/filtersets.py:1051 msgid "Has an out-of-band IP" msgstr "Possède une adresse IP hors bande" -#: dcim/filtersets.py:985 +#: dcim/filtersets.py:1056 msgid "Virtual chassis (ID)" msgstr "Châssis virtuel (ID)" -#: dcim/filtersets.py:989 +#: dcim/filtersets.py:1060 msgid "Is a virtual chassis member" msgstr "Est un membre virtuel du châssis" -#: dcim/filtersets.py:1030 +#: dcim/filtersets.py:1101 msgid "OOB IP (ID)" msgstr "ASTUCE SUR L'EMPLOI (ID)" -#: dcim/filtersets.py:1162 +#: dcim/filtersets.py:1184 +msgid "VDC (ID)" +msgstr "VDC (IDENTIFIANT)" + +#: dcim/filtersets.py:1189 +msgid "Device model" +msgstr "Modèle d'appareil" + +#: dcim/filtersets.py:1194 ipam/filtersets.py:632 vpn/filtersets.py:102 +#: vpn/filtersets.py:420 +msgid "Interface (ID)" +msgstr "Interface (ID)" + +#: dcim/filtersets.py:1250 msgid "Module type (model)" msgstr "Type de module (modèle)" -#: dcim/filtersets.py:1168 +#: dcim/filtersets.py:1256 msgid "Module Bay (ID)" msgstr "Module Bay (ID)" -#: dcim/filtersets.py:1172 dcim/filtersets.py:1264 ipam/filtersets.py:577 -#: ipam/filtersets.py:807 ipam/filtersets.py:1026 -#: virtualization/filtersets.py:161 vpn/filtersets.py:351 +#: dcim/filtersets.py:1260 dcim/filtersets.py:1352 ipam/filtersets.py:611 +#: ipam/filtersets.py:851 ipam/filtersets.py:1075 +#: virtualization/filtersets.py:161 vpn/filtersets.py:398 msgid "Device (ID)" msgstr "Appareil (ID)" -#: dcim/filtersets.py:1260 +#: dcim/filtersets.py:1348 msgid "Rack (name)" -msgstr "Rack (nom)" +msgstr "Baie (nom)" -#: dcim/filtersets.py:1270 ipam/filtersets.py:572 ipam/filtersets.py:802 -#: ipam/filtersets.py:1032 vpn/filtersets.py:346 +#: dcim/filtersets.py:1358 ipam/filtersets.py:606 ipam/filtersets.py:846 +#: ipam/filtersets.py:1081 vpn/filtersets.py:393 msgid "Device (name)" msgstr "Appareil (nom)" -#: dcim/filtersets.py:1281 +#: dcim/filtersets.py:1369 msgid "Device type (model)" msgstr "Type d'appareil (modèle)" -#: dcim/filtersets.py:1286 dcim/filtersets.py:1309 +#: dcim/filtersets.py:1374 msgid "Device role (ID)" msgstr "Rôle de l'appareil (ID)" -#: dcim/filtersets.py:1292 dcim/filtersets.py:1315 +#: dcim/filtersets.py:1380 msgid "Device role (slug)" msgstr "Rôle de l'appareil (slug)" -#: dcim/filtersets.py:1297 +#: dcim/filtersets.py:1385 msgid "Virtual Chassis (ID)" msgstr "Châssis virtuel (ID)" -#: dcim/filtersets.py:1303 dcim/forms/filtersets.py:106 -#: dcim/tables/devices.py:239 netbox/navigation/menu.py:67 -#: templates/dcim/device.html:123 templates/dcim/device_edit.html:93 +#: dcim/filtersets.py:1391 dcim/forms/filtersets.py:107 +#: dcim/tables/devices.py:211 netbox/navigation/menu.py:66 +#: templates/dcim/device.html:119 templates/dcim/device_edit.html:93 #: templates/dcim/virtualchassis.html:20 #: templates/dcim/virtualchassis_add.html:8 -#: templates/dcim/virtualchassis_edit.html:25 +#: templates/dcim/virtualchassis_edit.html:24 msgid "Virtual Chassis" msgstr "Châssis virtuel" -#: dcim/filtersets.py:1335 +#: dcim/filtersets.py:1411 msgid "Module (ID)" msgstr "Module (ID)" -#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188 +#: dcim/filtersets.py:1418 +msgid "Cable (ID)" +msgstr "Câble (ID)" + +#: dcim/filtersets.py:1527 ipam/forms/bulk_import.py:188 #: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "VLAN attribué" -#: dcim/filtersets.py:1443 +#: dcim/filtersets.py:1531 msgid "Assigned VID" msgstr "VID attribué" -#: dcim/filtersets.py:1448 dcim/forms/bulk_edit.py:1374 -#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1182 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:646 ipam/filtersets.py:282 ipam/filtersets.py:293 -#: ipam/filtersets.py:449 ipam/filtersets.py:550 ipam/filtersets.py:561 -#: ipam/forms/bulk_edit.py:226 ipam/forms/bulk_edit.py:281 -#: ipam/forms/bulk_edit.py:323 ipam/forms/bulk_import.py:156 +#: dcim/filtersets.py:1536 dcim/forms/bulk_edit.py:1382 +#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1326 +#: dcim/forms/model_forms.py:1322 dcim/models/device_components.py:712 +#: dcim/tables/devices.py:618 ipam/filtersets.py:316 ipam/filtersets.py:327 +#: ipam/filtersets.py:483 ipam/filtersets.py:584 ipam/filtersets.py:595 +#: ipam/forms/bulk_edit.py:227 ipam/forms/bulk_edit.py:282 +#: ipam/forms/bulk_edit.py:324 ipam/forms/bulk_import.py:156 #: ipam/forms/bulk_import.py:242 ipam/forms/bulk_import.py:278 -#: ipam/forms/filtersets.py:66 ipam/forms/filtersets.py:167 -#: ipam/forms/filtersets.py:295 ipam/forms/model_forms.py:59 -#: ipam/forms/model_forms.py:203 ipam/forms/model_forms.py:246 -#: ipam/forms/model_forms.py:290 ipam/forms/model_forms.py:398 -#: ipam/forms/model_forms.py:412 ipam/forms/model_forms.py:426 +#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:171 +#: ipam/forms/filtersets.py:302 ipam/forms/model_forms.py:60 +#: ipam/forms/model_forms.py:200 ipam/forms/model_forms.py:245 +#: ipam/forms/model_forms.py:298 ipam/forms/model_forms.py:420 +#: ipam/forms/model_forms.py:434 ipam/forms/model_forms.py:448 #: ipam/models/ip.py:232 ipam/models/ip.py:511 ipam/models/ip.py:719 #: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 #: ipam/tables/ip.py:356 ipam/tables/ip.py:445 -#: templates/dcim/interface.html:138 templates/ipam/ipaddress.html:21 -#: templates/ipam/iprange.html:43 templates/ipam/prefix.html:20 -#: templates/ipam/vrf.html:7 templates/ipam/vrf.html:14 -#: templates/virtualization/vminterface.html:50 -#: virtualization/forms/bulk_edit.py:260 +#: templates/dcim/interface.html:133 templates/ipam/ipaddress.html:18 +#: templates/ipam/iprange.html:40 templates/ipam/prefix.html:19 +#: templates/ipam/vrf.html:7 templates/ipam/vrf.html:13 +#: templates/virtualization/vminterface.html:47 +#: virtualization/forms/bulk_edit.py:261 #: virtualization/forms/bulk_import.py:171 -#: virtualization/forms/filtersets.py:220 -#: virtualization/forms/model_forms.py:347 -#: virtualization/models/virtualmachines.py:348 +#: virtualization/forms/filtersets.py:224 +#: virtualization/forms/model_forms.py:344 +#: virtualization/models/virtualmachines.py:350 #: virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1454 ipam/filtersets.py:288 ipam/filtersets.py:299 -#: ipam/filtersets.py:455 ipam/filtersets.py:556 ipam/filtersets.py:567 +#: dcim/filtersets.py:1542 ipam/filtersets.py:322 ipam/filtersets.py:333 +#: ipam/filtersets.py:489 ipam/filtersets.py:590 ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "VRF (RD)" -#: dcim/filtersets.py:1459 ipam/filtersets.py:967 vpn/filtersets.py:314 +#: dcim/filtersets.py:1547 ipam/filtersets.py:1016 vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (IDENTIFIANT)" -#: dcim/filtersets.py:1465 dcim/forms/filtersets.py:1333 -#: dcim/tables/devices.py:594 ipam/filtersets.py:973 -#: ipam/forms/filtersets.py:499 ipam/tables/vlans.py:133 -#: templates/dcim/interface.html:94 templates/ipam/vlan.html:69 -#: templates/vpn/l2vpntermination.html:15 -#: virtualization/forms/filtersets.py:225 vpn/forms/bulk_import.py:280 -#: vpn/forms/filtersets.py:242 vpn/forms/model_forms.py:408 -#: vpn/forms/model_forms.py:426 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: dcim/filtersets.py:1553 dcim/forms/filtersets.py:1331 +#: dcim/tables/devices.py:566 ipam/filtersets.py:1022 +#: ipam/forms/filtersets.py:506 ipam/tables/vlans.py:133 +#: templates/dcim/interface.html:93 templates/ipam/vlan.html:66 +#: templates/vpn/l2vpntermination.html:12 +#: virtualization/forms/filtersets.py:229 vpn/forms/bulk_import.py:280 +#: vpn/forms/filtersets.py:246 vpn/forms/model_forms.py:409 +#: vpn/forms/model_forms.py:427 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1497 +#: dcim/filtersets.py:1585 msgid "Virtual Chassis Interfaces for Device" msgstr "Interfaces de châssis virtuelles pour appareils" -#: dcim/filtersets.py:1502 +#: dcim/filtersets.py:1590 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Interfaces de châssis virtuel pour le périphérique (ID)" -#: dcim/filtersets.py:1506 +#: dcim/filtersets.py:1594 msgid "Kind of interface" msgstr "Type d'interface" -#: dcim/filtersets.py:1511 virtualization/filtersets.py:289 +#: dcim/filtersets.py:1599 virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Interface parent (ID)" -#: dcim/filtersets.py:1516 virtualization/filtersets.py:294 +#: dcim/filtersets.py:1604 virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Interface pontée (ID)" -#: dcim/filtersets.py:1521 +#: dcim/filtersets.py:1609 msgid "LAG interface (ID)" msgstr "Interface LAG (ID)" -#: dcim/filtersets.py:1690 +#: dcim/filtersets.py:1636 dcim/filtersets.py:1648 +#: dcim/forms/filtersets.py:1243 dcim/forms/model_forms.py:1634 +#: templates/dcim/virtualdevicecontext.html:15 +msgid "Virtual Device Context" +msgstr "Contexte du périphérique virtuel" + +#: dcim/filtersets.py:1642 +msgid "Virtual Device Context (Identifier)" +msgstr "Contexte du périphérique virtuel (identifiant)" + +#: dcim/filtersets.py:1653 templates/wireless/wirelesslan.html:11 +#: wireless/forms/model_forms.py:53 +msgid "Wireless LAN" +msgstr "LAN sans fil" + +#: dcim/filtersets.py:1657 dcim/tables/devices.py:605 +msgid "Wireless link" +msgstr "Liaison sans fil" + +#: dcim/filtersets.py:1727 +msgid "Installed module (ID)" +msgstr "Module installé (ID)" + +#: dcim/filtersets.py:1738 +msgid "Installed device (ID)" +msgstr "Appareil installé (ID)" + +#: dcim/filtersets.py:1744 +msgid "Installed device (name)" +msgstr "Appareil installé (nom)" + +#: dcim/filtersets.py:1810 msgid "Master (ID)" msgstr "Maître (ID)" -#: dcim/filtersets.py:1696 +#: dcim/filtersets.py:1816 msgid "Master (name)" msgstr "Master (nom)" -#: dcim/filtersets.py:1738 tenancy/filtersets.py:221 +#: dcim/filtersets.py:1858 tenancy/filtersets.py:246 msgid "Tenant (ID)" msgstr "Locataire (ID)" -#: dcim/filtersets.py:1744 extras/filtersets.py:523 tenancy/filtersets.py:227 +#: dcim/filtersets.py:1864 extras/filtersets.py:570 tenancy/filtersets.py:252 msgid "Tenant (slug)" msgstr "Locataire (limace)" -#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990 +#: dcim/filtersets.py:1900 dcim/forms/filtersets.py:988 msgid "Unterminated" msgstr "Non terminé" -#: dcim/filtersets.py:2038 +#: dcim/filtersets.py:2158 msgid "Power panel (ID)" msgstr "Panneau d'alimentation (ID)" #: dcim/forms/bulk_create.py:40 extras/forms/filtersets.py:410 -#: extras/forms/model_forms.py:453 extras/forms/model_forms.py:504 -#: netbox/forms/base.py:82 netbox/forms/mixins.py:81 -#: netbox/tables/columns.py:448 -#: templates/circuits/inc/circuit_termination.html:119 -#: templates/generic/bulk_edit.html:81 templates/inc/panels/tags.html:5 +#: extras/forms/model_forms.py:446 extras/forms/model_forms.py:498 +#: netbox/forms/base.py:84 netbox/forms/mixins.py:81 +#: netbox/tables/columns.py:458 +#: templates/circuits/inc/circuit_termination.html:118 +#: templates/generic/bulk_edit.html:65 templates/inc/panels/tags.html:5 #: utilities/forms/fields/fields.py:81 msgid "Tags" msgstr "Balises" -#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1390 -#: dcim/forms/model_forms.py:426 dcim/forms/model_forms.py:475 -#: dcim/forms/object_create.py:196 dcim/forms/object_create.py:352 -#: dcim/tables/devices.py:198 dcim/tables/devices.py:729 -#: dcim/tables/devicetypes.py:242 templates/dcim/device.html:45 -#: templates/dcim/device.html:129 templates/dcim/modulebay.html:35 -#: templates/dcim/virtualchassis.html:59 -#: templates/dcim/virtualchassis_edit.html:56 +#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1388 +#: dcim/forms/model_forms.py:431 dcim/forms/model_forms.py:486 +#: dcim/forms/object_create.py:197 dcim/forms/object_create.py:353 +#: dcim/tables/devices.py:170 dcim/tables/devices.py:702 +#: dcim/tables/devicetypes.py:242 templates/dcim/device.html:42 +#: templates/dcim/device.html:129 templates/dcim/modulebay.html:34 +#: templates/dcim/virtualchassis.html:66 +#: templates/dcim/virtualchassis_edit.html:55 msgid "Position" msgstr "Position" @@ -2491,598 +2689,594 @@ msgstr "" "Les plages alphanumériques sont prises en charge. (Doit correspondre au " "nombre de noms en cours de création.)" -#: dcim/forms/bulk_edit.py:115 dcim/forms/bulk_import.py:99 -#: dcim/forms/model_forms.py:120 dcim/tables/sites.py:89 -#: ipam/filtersets.py:936 ipam/forms/bulk_edit.py:528 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:495 +#: dcim/forms/bulk_edit.py:116 dcim/forms/bulk_import.py:99 +#: dcim/forms/model_forms.py:116 dcim/tables/sites.py:89 +#: ipam/filtersets.py:985 ipam/forms/bulk_edit.py:531 +#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:517 #: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 -#: templates/dcim/interface.html:294 templates/dcim/site.html:37 -#: templates/ipam/inc/panels/fhrp_groups.html:10 templates/ipam/vlan.html:30 -#: templates/tenancy/contact.html:22 templates/tenancy/tenant.html:21 +#: templates/dcim/interface.html:284 templates/dcim/site.html:36 +#: templates/ipam/inc/panels/fhrp_groups.html:23 templates/ipam/vlan.html:27 +#: templates/tenancy/contact.html:21 templates/tenancy/tenant.html:20 #: templates/users/group.html:6 templates/users/group.html:14 -#: templates/virtualization/cluster.html:32 templates/vpn/tunnel.html:30 -#: templates/wireless/wirelesslan.html:19 tenancy/forms/bulk_edit.py:42 -#: tenancy/forms/bulk_edit.py:93 tenancy/forms/bulk_import.py:40 -#: tenancy/forms/bulk_import.py:81 tenancy/forms/filtersets.py:47 -#: tenancy/forms/filtersets.py:77 tenancy/forms/filtersets.py:96 -#: tenancy/forms/model_forms.py:46 tenancy/forms/model_forms.py:102 -#: tenancy/forms/model_forms.py:124 tenancy/tables/contacts.py:60 +#: templates/virtualization/cluster.html:29 templates/vpn/tunnel.html:29 +#: templates/wireless/wirelesslan.html:18 tenancy/forms/bulk_edit.py:43 +#: tenancy/forms/bulk_edit.py:94 tenancy/forms/bulk_import.py:40 +#: tenancy/forms/bulk_import.py:81 tenancy/forms/filtersets.py:48 +#: tenancy/forms/filtersets.py:78 tenancy/forms/filtersets.py:97 +#: tenancy/forms/model_forms.py:45 tenancy/forms/model_forms.py:97 +#: tenancy/forms/model_forms.py:122 tenancy/tables/contacts.py:60 #: tenancy/tables/contacts.py:107 tenancy/tables/tenants.py:42 -#: users/filtersets.py:42 users/filtersets.py:145 users/forms/filtersets.py:32 +#: users/filtersets.py:57 users/filtersets.py:175 users/forms/filtersets.py:32 #: users/forms/filtersets.py:38 users/forms/filtersets.py:80 -#: virtualization/forms/bulk_edit.py:64 virtualization/forms/bulk_import.py:47 -#: virtualization/forms/filtersets.py:84 -#: virtualization/forms/model_forms.py:69 virtualization/tables/clusters.py:70 -#: vpn/forms/bulk_edit.py:111 vpn/forms/bulk_import.py:158 -#: vpn/forms/filtersets.py:113 vpn/tables/crypto.py:31 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:47 -#: wireless/forms/bulk_import.py:36 wireless/forms/filtersets.py:45 -#: wireless/forms/model_forms.py:41 wireless/tables/wirelesslan.py:48 +#: virtualization/forms/bulk_edit.py:65 virtualization/forms/bulk_import.py:47 +#: virtualization/forms/filtersets.py:85 +#: virtualization/forms/model_forms.py:66 virtualization/tables/clusters.py:70 +#: vpn/forms/bulk_edit.py:112 vpn/forms/bulk_import.py:158 +#: vpn/forms/filtersets.py:116 vpn/tables/crypto.py:31 +#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:48 +#: wireless/forms/bulk_import.py:36 wireless/forms/filtersets.py:46 +#: wireless/forms/model_forms.py:40 wireless/tables/wirelesslan.py:48 msgid "Group" msgstr "Groupe" -#: dcim/forms/bulk_edit.py:130 +#: dcim/forms/bulk_edit.py:131 msgid "Contact name" msgstr "Nom du contact" -#: dcim/forms/bulk_edit.py:135 +#: dcim/forms/bulk_edit.py:136 msgid "Contact phone" msgstr "Téléphone de contact" -#: dcim/forms/bulk_edit.py:141 +#: dcim/forms/bulk_edit.py:142 msgid "Contact E-mail" msgstr "Adresse électronique de contact" -#: dcim/forms/bulk_edit.py:144 dcim/forms/bulk_import.py:122 -#: dcim/forms/model_forms.py:131 +#: dcim/forms/bulk_edit.py:145 dcim/forms/bulk_import.py:122 +#: dcim/forms/model_forms.py:127 msgid "Time zone" msgstr "Fuseau horaire" -#: dcim/forms/bulk_edit.py:266 dcim/forms/bulk_edit.py:1152 -#: dcim/forms/bulk_edit.py:1539 dcim/forms/bulk_import.py:207 -#: dcim/forms/bulk_import.py:1021 dcim/forms/filtersets.py:299 -#: dcim/forms/filtersets.py:704 dcim/forms/filtersets.py:1417 -#: dcim/forms/model_forms.py:224 dcim/forms/model_forms.py:970 -#: dcim/forms/model_forms.py:1311 dcim/forms/object_import.py:186 -#: dcim/tables/devices.py:202 dcim/tables/devices.py:837 -#: dcim/tables/devices.py:948 dcim/tables/devicetypes.py:300 -#: dcim/tables/racks.py:69 extras/filtersets.py:457 -#: ipam/forms/bulk_edit.py:245 ipam/forms/bulk_edit.py:294 -#: ipam/forms/bulk_edit.py:342 ipam/forms/bulk_edit.py:546 +#: dcim/forms/bulk_edit.py:267 dcim/forms/bulk_edit.py:1160 +#: dcim/forms/bulk_edit.py:1548 dcim/forms/bulk_import.py:207 +#: dcim/forms/bulk_import.py:1021 dcim/forms/filtersets.py:300 +#: dcim/forms/filtersets.py:705 dcim/forms/filtersets.py:1418 +#: dcim/forms/model_forms.py:219 dcim/forms/model_forms.py:1015 +#: dcim/forms/model_forms.py:1454 dcim/forms/object_import.py:181 +#: dcim/tables/devices.py:174 dcim/tables/devices.py:810 +#: dcim/tables/devices.py:921 dcim/tables/devicetypes.py:300 +#: dcim/tables/racks.py:69 extras/filtersets.py:504 +#: ipam/forms/bulk_edit.py:246 ipam/forms/bulk_edit.py:295 +#: ipam/forms/bulk_edit.py:343 ipam/forms/bulk_edit.py:549 #: ipam/forms/bulk_import.py:196 ipam/forms/bulk_import.py:261 #: ipam/forms/bulk_import.py:297 ipam/forms/bulk_import.py:463 -#: ipam/forms/filtersets.py:232 ipam/forms/filtersets.py:278 -#: ipam/forms/filtersets.py:346 ipam/forms/filtersets.py:490 -#: ipam/forms/model_forms.py:187 ipam/forms/model_forms.py:222 -#: ipam/forms/model_forms.py:249 ipam/forms/model_forms.py:651 +#: ipam/forms/filtersets.py:236 ipam/forms/filtersets.py:282 +#: ipam/forms/filtersets.py:353 ipam/forms/filtersets.py:497 +#: ipam/forms/model_forms.py:186 ipam/forms/model_forms.py:219 +#: ipam/forms/model_forms.py:248 ipam/forms/model_forms.py:680 #: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 #: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 -#: templates/dcim/device.html:187 -#: templates/dcim/inc/panels/inventory_items.html:12 -#: templates/dcim/interface.html:231 templates/dcim/inventoryitem.html:37 -#: templates/dcim/rack.html:50 templates/ipam/ipaddress.html:44 -#: templates/ipam/iprange.html:53 templates/ipam/prefix.html:78 -#: templates/ipam/role.html:20 templates/ipam/vlan.html:55 -#: templates/virtualization/virtualmachine.html:26 -#: templates/vpn/tunneltermination.html:18 +#: templates/dcim/device.html:179 +#: templates/dcim/inc/panels/inventory_items.html:20 +#: templates/dcim/interface.html:223 templates/dcim/inventoryitem.html:36 +#: templates/dcim/rack.html:47 templates/ipam/ipaddress.html:41 +#: templates/ipam/iprange.html:50 templates/ipam/prefix.html:77 +#: templates/ipam/role.html:19 templates/ipam/vlan.html:52 +#: templates/virtualization/virtualmachine.html:23 +#: templates/vpn/tunneltermination.html:17 #: templates/wireless/inc/wirelesslink_interface.html:20 -#: tenancy/forms/bulk_edit.py:141 tenancy/forms/filtersets.py:106 -#: tenancy/forms/model_forms.py:139 tenancy/tables/contacts.py:102 -#: virtualization/forms/bulk_edit.py:144 +#: tenancy/forms/bulk_edit.py:142 tenancy/forms/filtersets.py:107 +#: tenancy/forms/model_forms.py:137 tenancy/tables/contacts.py:102 +#: virtualization/forms/bulk_edit.py:145 #: virtualization/forms/bulk_import.py:106 -#: virtualization/forms/filtersets.py:153 -#: virtualization/forms/model_forms.py:198 -#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:86 -#: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:84 -#: vpn/forms/model_forms.py:77 vpn/forms/model_forms.py:112 +#: virtualization/forms/filtersets.py:157 +#: virtualization/forms/model_forms.py:195 +#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:87 +#: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:85 +#: vpn/forms/model_forms.py:78 vpn/forms/model_forms.py:113 #: vpn/tables/tunnels.py:82 msgid "Role" msgstr "Rôle" -#: dcim/forms/bulk_edit.py:273 dcim/forms/bulk_edit.py:605 -#: dcim/forms/bulk_edit.py:654 templates/dcim/device.html:106 -#: templates/dcim/module.html:75 templates/dcim/modulebay.html:69 -#: templates/dcim/rack.html:58 +#: dcim/forms/bulk_edit.py:274 dcim/forms/bulk_edit.py:610 +#: dcim/forms/bulk_edit.py:662 templates/dcim/device.html:103 +#: templates/dcim/module.html:74 templates/dcim/modulebay.html:66 +#: templates/dcim/rack.html:55 msgid "Serial Number" msgstr "Numéro de série" -#: dcim/forms/bulk_edit.py:276 dcim/forms/filtersets.py:306 -#: dcim/forms/filtersets.py:740 dcim/forms/filtersets.py:880 +#: dcim/forms/bulk_edit.py:277 dcim/forms/filtersets.py:307 +#: dcim/forms/filtersets.py:741 dcim/forms/filtersets.py:878 #: dcim/forms/filtersets.py:1430 msgid "Asset tag" msgstr "Étiquette d'actif" -#: dcim/forms/bulk_edit.py:286 dcim/forms/bulk_import.py:220 -#: dcim/forms/filtersets.py:291 templates/dcim/rack.html:91 -#: templates/dcim/rack_edit.html:48 +#: dcim/forms/bulk_edit.py:287 dcim/forms/bulk_import.py:220 +#: dcim/forms/filtersets.py:292 templates/dcim/rack.html:86 msgid "Width" msgstr "Largeur" -#: dcim/forms/bulk_edit.py:292 +#: dcim/forms/bulk_edit.py:293 templates/dcim/devicetype.html:37 msgid "Height (U)" msgstr "Hauteur (U)" -#: dcim/forms/bulk_edit.py:297 +#: dcim/forms/bulk_edit.py:298 msgid "Descending units" msgstr "Unités décroissantes" -#: dcim/forms/bulk_edit.py:300 +#: dcim/forms/bulk_edit.py:301 msgid "Outer width" msgstr "Largeur extérieure" -#: dcim/forms/bulk_edit.py:305 +#: dcim/forms/bulk_edit.py:306 msgid "Outer depth" msgstr "Profondeur extérieure" -#: dcim/forms/bulk_edit.py:310 dcim/forms/bulk_import.py:225 +#: dcim/forms/bulk_edit.py:311 dcim/forms/bulk_import.py:225 msgid "Outer unit" msgstr "Unité extérieure" -#: dcim/forms/bulk_edit.py:315 +#: dcim/forms/bulk_edit.py:316 msgid "Mounting depth" msgstr "Profondeur de montage" -#: dcim/forms/bulk_edit.py:320 dcim/forms/bulk_edit.py:349 -#: dcim/forms/bulk_edit.py:434 dcim/forms/bulk_edit.py:457 -#: dcim/forms/bulk_edit.py:473 dcim/forms/bulk_edit.py:493 +#: dcim/forms/bulk_edit.py:321 dcim/forms/bulk_edit.py:351 +#: dcim/forms/bulk_edit.py:436 dcim/forms/bulk_edit.py:459 +#: dcim/forms/bulk_edit.py:475 dcim/forms/bulk_edit.py:495 #: dcim/forms/bulk_import.py:332 dcim/forms/bulk_import.py:358 -#: dcim/forms/filtersets.py:250 dcim/forms/filtersets.py:311 -#: dcim/forms/filtersets.py:335 dcim/forms/filtersets.py:423 +#: dcim/forms/filtersets.py:251 dcim/forms/filtersets.py:312 +#: dcim/forms/filtersets.py:336 dcim/forms/filtersets.py:423 #: dcim/forms/filtersets.py:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:605 dcim/forms/model_forms.py:341 -#: dcim/tables/devicetypes.py:103 dcim/tables/modules.py:35 -#: dcim/tables/racks.py:103 extras/forms/bulk_edit.py:45 -#: extras/forms/bulk_edit.py:107 extras/forms/bulk_edit.py:157 -#: extras/forms/bulk_edit.py:277 extras/forms/filtersets.py:60 -#: extras/forms/filtersets.py:133 extras/forms/filtersets.py:220 -#: ipam/forms/bulk_edit.py:187 templates/dcim/device.html:329 -#: templates/dcim/devicetype.html:52 templates/dcim/moduletype.html:31 -#: templates/dcim/rack_edit.html:60 templates/dcim/rack_edit.html:63 -#: templates/extras/configcontext.html:18 templates/extras/customlink.html:26 -#: templates/extras/savedfilter.html:34 templates/ipam/role.html:33 +#: dcim/forms/filtersets.py:604 dcim/forms/model_forms.py:232 +#: dcim/forms/model_forms.py:346 dcim/tables/devicetypes.py:103 +#: dcim/tables/modules.py:35 dcim/tables/racks.py:103 +#: extras/forms/bulk_edit.py:45 extras/forms/bulk_edit.py:108 +#: extras/forms/bulk_edit.py:158 extras/forms/bulk_edit.py:278 +#: extras/forms/filtersets.py:61 extras/forms/filtersets.py:134 +#: extras/forms/filtersets.py:221 ipam/forms/bulk_edit.py:188 +#: templates/dcim/device.html:316 templates/dcim/devicetype.html:49 +#: templates/dcim/moduletype.html:30 templates/extras/configcontext.html:17 +#: templates/extras/customlink.html:25 templates/extras/savedfilter.html:33 +#: templates/ipam/role.html:30 msgid "Weight" msgstr "Poids" -#: dcim/forms/bulk_edit.py:325 dcim/forms/filtersets.py:316 +#: dcim/forms/bulk_edit.py:326 dcim/forms/filtersets.py:317 msgid "Max weight" msgstr "Poids maximum" -#: dcim/forms/bulk_edit.py:330 dcim/forms/bulk_edit.py:439 -#: dcim/forms/bulk_edit.py:478 dcim/forms/bulk_import.py:231 +#: dcim/forms/bulk_edit.py:331 dcim/forms/bulk_edit.py:441 +#: dcim/forms/bulk_edit.py:480 dcim/forms/bulk_import.py:231 #: dcim/forms/bulk_import.py:337 dcim/forms/bulk_import.py:363 -#: dcim/forms/filtersets.py:321 dcim/forms/filtersets.py:533 -#: dcim/forms/filtersets.py:609 +#: dcim/forms/filtersets.py:322 dcim/forms/filtersets.py:533 +#: dcim/forms/filtersets.py:608 msgid "Weight unit" msgstr "Unité de poids" -#: dcim/forms/bulk_edit.py:344 dcim/forms/bulk_edit.py:800 +#: dcim/forms/bulk_edit.py:345 dcim/forms/bulk_edit.py:808 #: dcim/forms/bulk_import.py:270 dcim/forms/bulk_import.py:273 #: dcim/forms/bulk_import.py:498 dcim/forms/bulk_import.py:1309 -#: dcim/forms/bulk_import.py:1313 dcim/forms/filtersets.py:101 -#: dcim/forms/filtersets.py:339 dcim/forms/filtersets.py:353 -#: dcim/forms/filtersets.py:391 dcim/forms/filtersets.py:699 -#: dcim/forms/filtersets.py:948 dcim/forms/filtersets.py:1080 -#: dcim/forms/model_forms.py:241 dcim/forms/model_forms.py:417 -#: dcim/forms/model_forms.py:669 dcim/forms/object_create.py:399 -#: dcim/tables/devices.py:194 dcim/tables/power.py:70 dcim/tables/racks.py:148 -#: ipam/forms/bulk_edit.py:464 ipam/forms/filtersets.py:427 -#: ipam/forms/model_forms.py:575 templates/dcim/device.html:30 +#: dcim/forms/bulk_import.py:1313 dcim/forms/filtersets.py:102 +#: dcim/forms/filtersets.py:340 dcim/forms/filtersets.py:354 +#: dcim/forms/filtersets.py:392 dcim/forms/filtersets.py:700 +#: dcim/forms/filtersets.py:946 dcim/forms/filtersets.py:1078 +#: dcim/forms/model_forms.py:226 dcim/forms/model_forms.py:248 +#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:700 +#: dcim/forms/object_create.py:400 dcim/tables/devices.py:166 +#: dcim/tables/power.py:70 dcim/tables/racks.py:148 +#: ipam/forms/bulk_edit.py:465 ipam/forms/filtersets.py:434 +#: ipam/forms/model_forms.py:601 templates/dcim/device.html:29 #: templates/dcim/inc/cable_termination.html:16 -#: templates/dcim/powerfeed.html:31 templates/dcim/rack.html:14 -#: templates/dcim/rack/base.html:4 templates/dcim/rack_edit.html:8 -#: templates/dcim/rackreservation.html:20 -#: templates/dcim/rackreservation.html:39 -#: virtualization/forms/model_forms.py:116 +#: templates/dcim/powerfeed.html:28 templates/dcim/rack.html:13 +#: templates/dcim/rack/base.html:4 templates/dcim/rackreservation.html:19 +#: templates/dcim/rackreservation.html:36 +#: virtualization/forms/model_forms.py:113 msgid "Rack" -msgstr "Étagère" +msgstr "Baie" -#: dcim/forms/bulk_edit.py:346 dcim/forms/bulk_edit.py:623 -#: dcim/forms/filtersets.py:247 dcim/forms/filtersets.py:332 -#: dcim/forms/filtersets.py:417 dcim/forms/filtersets.py:543 -#: dcim/forms/filtersets.py:652 dcim/forms/filtersets.py:853 -#: dcim/forms/model_forms.py:596 dcim/forms/model_forms.py:1381 +#: dcim/forms/bulk_edit.py:349 dcim/forms/bulk_edit.py:628 +#: dcim/forms/filtersets.py:248 dcim/forms/filtersets.py:333 +#: dcim/forms/filtersets.py:416 dcim/forms/filtersets.py:543 +#: dcim/forms/filtersets.py:651 dcim/forms/filtersets.py:853 +#: dcim/forms/model_forms.py:610 dcim/forms/model_forms.py:1524 #: templates/dcim/device_edit.html:20 -#: templates/dcim/inventoryitem_edit.html:23 msgid "Hardware" msgstr "Matériel" -#: dcim/forms/bulk_edit.py:400 dcim/forms/bulk_edit.py:464 -#: dcim/forms/bulk_edit.py:528 dcim/forms/bulk_edit.py:552 -#: dcim/forms/bulk_edit.py:633 dcim/forms/bulk_edit.py:1157 -#: dcim/forms/bulk_edit.py:1544 dcim/forms/bulk_import.py:319 +#: dcim/forms/bulk_edit.py:402 dcim/forms/bulk_edit.py:466 +#: dcim/forms/bulk_edit.py:530 dcim/forms/bulk_edit.py:554 +#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_edit.py:1165 +#: dcim/forms/bulk_edit.py:1553 dcim/forms/bulk_import.py:319 #: dcim/forms/bulk_import.py:353 dcim/forms/bulk_import.py:395 #: dcim/forms/bulk_import.py:431 dcim/forms/bulk_import.py:1027 #: dcim/forms/filtersets.py:429 dcim/forms/filtersets.py:554 -#: dcim/forms/filtersets.py:631 dcim/forms/filtersets.py:709 +#: dcim/forms/filtersets.py:630 dcim/forms/filtersets.py:710 #: dcim/forms/filtersets.py:858 dcim/forms/filtersets.py:1423 -#: dcim/forms/model_forms.py:274 dcim/forms/model_forms.py:288 -#: dcim/forms/model_forms.py:334 dcim/forms/model_forms.py:374 -#: dcim/forms/model_forms.py:975 dcim/forms/model_forms.py:1316 -#: dcim/forms/object_import.py:192 dcim/tables/devices.py:129 -#: dcim/tables/devices.py:205 dcim/tables/devices.py:951 +#: dcim/forms/model_forms.py:281 dcim/forms/model_forms.py:293 +#: dcim/forms/model_forms.py:339 dcim/forms/model_forms.py:379 +#: dcim/forms/model_forms.py:1020 dcim/forms/model_forms.py:1459 +#: dcim/forms/object_import.py:187 dcim/tables/devices.py:101 +#: dcim/tables/devices.py:177 dcim/tables/devices.py:924 #: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 #: dcim/tables/modules.py:20 dcim/tables/modules.py:60 -#: templates/dcim/devicetype.html:17 templates/dcim/inventoryitem.html:45 -#: templates/dcim/manufacturer.html:34 templates/dcim/modulebay.html:61 -#: templates/dcim/moduletype.html:15 templates/dcim/platform.html:40 +#: templates/dcim/devicetype.html:14 templates/dcim/inventoryitem.html:44 +#: templates/dcim/manufacturer.html:33 templates/dcim/modulebay.html:58 +#: templates/dcim/moduletype.html:14 templates/dcim/platform.html:37 msgid "Manufacturer" msgstr "Fabricant" -#: dcim/forms/bulk_edit.py:405 dcim/forms/bulk_import.py:325 -#: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:292 +#: dcim/forms/bulk_edit.py:407 dcim/forms/bulk_import.py:325 +#: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "Plateforme par défaut" -#: dcim/forms/bulk_edit.py:410 dcim/forms/bulk_edit.py:469 -#: dcim/forms/filtersets.py:437 dcim/forms/filtersets.py:558 +#: dcim/forms/bulk_edit.py:412 dcim/forms/bulk_edit.py:471 +#: dcim/forms/filtersets.py:437 dcim/forms/filtersets.py:557 msgid "Part number" msgstr "Numéro de pièce" -#: dcim/forms/bulk_edit.py:414 +#: dcim/forms/bulk_edit.py:416 msgid "U height" msgstr "Hauteur en U" -#: dcim/forms/bulk_edit.py:426 +#: dcim/forms/bulk_edit.py:428 msgid "Exclude from utilization" msgstr "Exclure de l'utilisation" -#: dcim/forms/bulk_edit.py:429 dcim/forms/bulk_edit.py:598 +#: dcim/forms/bulk_edit.py:431 dcim/forms/bulk_edit.py:603 #: dcim/forms/bulk_import.py:525 dcim/forms/filtersets.py:446 -#: dcim/forms/filtersets.py:731 templates/dcim/device.html:100 -#: templates/dcim/devicetype.html:68 +#: dcim/forms/filtersets.py:732 templates/dcim/device.html:97 +#: templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "Débit d'air" -#: dcim/forms/bulk_edit.py:453 dcim/forms/model_forms.py:307 -#: dcim/tables/devicetypes.py:78 templates/dcim/device.html:90 -#: templates/dcim/devicebay.html:59 templates/dcim/module.html:59 +#: dcim/forms/bulk_edit.py:457 dcim/forms/model_forms.py:312 +#: dcim/tables/devicetypes.py:78 templates/dcim/device.html:87 +#: templates/dcim/devicebay.html:52 templates/dcim/module.html:58 msgid "Device Type" msgstr "Type d'appareil" -#: dcim/forms/bulk_edit.py:492 dcim/forms/model_forms.py:340 +#: dcim/forms/bulk_edit.py:494 dcim/forms/model_forms.py:345 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 -#: templates/dcim/module.html:63 templates/dcim/modulebay.html:65 +#: templates/dcim/module.html:62 templates/dcim/modulebay.html:62 #: templates/dcim/moduletype.html:11 msgid "Module Type" msgstr "Type de module" -#: dcim/forms/bulk_edit.py:506 dcim/models/devices.py:474 +#: dcim/forms/bulk_edit.py:508 dcim/models/devices.py:474 msgid "VM role" msgstr "rôle de machine virtuelle" -#: dcim/forms/bulk_edit.py:509 dcim/forms/bulk_edit.py:533 -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_import.py:376 +#: dcim/forms/bulk_edit.py:511 dcim/forms/bulk_edit.py:535 +#: dcim/forms/bulk_edit.py:618 dcim/forms/bulk_import.py:376 #: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:402 #: dcim/forms/bulk_import.py:406 dcim/forms/bulk_import.py:531 -#: dcim/forms/bulk_import.py:535 dcim/forms/filtersets.py:620 -#: dcim/forms/filtersets.py:636 dcim/forms/filtersets.py:750 -#: dcim/forms/model_forms.py:353 dcim/forms/model_forms.py:379 -#: dcim/forms/model_forms.py:484 virtualization/forms/bulk_import.py:132 +#: dcim/forms/bulk_import.py:535 dcim/forms/filtersets.py:619 +#: dcim/forms/filtersets.py:635 dcim/forms/filtersets.py:751 +#: dcim/forms/model_forms.py:358 dcim/forms/model_forms.py:384 +#: dcim/forms/model_forms.py:495 virtualization/forms/bulk_import.py:132 #: virtualization/forms/bulk_import.py:133 -#: virtualization/forms/filtersets.py:180 -#: virtualization/forms/model_forms.py:218 +#: virtualization/forms/filtersets.py:184 +#: virtualization/forms/model_forms.py:215 msgid "Config template" msgstr "Modèle de configuration" -#: dcim/forms/bulk_edit.py:557 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_import.py:437 dcim/forms/filtersets.py:111 -#: dcim/forms/model_forms.py:439 dcim/forms/model_forms.py:783 -#: dcim/forms/model_forms.py:797 extras/filtersets.py:452 +#: dcim/forms/bulk_edit.py:559 dcim/forms/bulk_edit.py:959 +#: dcim/forms/bulk_import.py:437 dcim/forms/filtersets.py:112 +#: dcim/forms/model_forms.py:444 dcim/forms/model_forms.py:817 +#: dcim/forms/model_forms.py:834 extras/filtersets.py:499 msgid "Device type" msgstr "Type d'appareil" -#: dcim/forms/bulk_edit.py:565 dcim/forms/bulk_import.py:418 -#: dcim/forms/filtersets.py:116 dcim/forms/model_forms.py:444 +#: dcim/forms/bulk_edit.py:570 dcim/forms/bulk_import.py:418 +#: dcim/forms/filtersets.py:117 dcim/forms/model_forms.py:452 msgid "Device role" msgstr "Rôle de l'appareil" -#: dcim/forms/bulk_edit.py:588 dcim/forms/bulk_import.py:443 -#: dcim/forms/filtersets.py:723 dcim/forms/model_forms.py:389 -#: dcim/forms/model_forms.py:448 dcim/tables/devices.py:215 -#: extras/filtersets.py:468 templates/dcim/device.html:191 -#: templates/dcim/platform.html:27 -#: templates/virtualization/virtualmachine.html:30 -#: virtualization/forms/bulk_edit.py:159 +#: dcim/forms/bulk_edit.py:593 dcim/forms/bulk_import.py:443 +#: dcim/forms/filtersets.py:724 dcim/forms/model_forms.py:394 +#: dcim/forms/model_forms.py:456 dcim/tables/devices.py:187 +#: extras/filtersets.py:515 templates/dcim/device.html:183 +#: templates/dcim/platform.html:26 +#: templates/virtualization/virtualmachine.html:27 +#: virtualization/forms/bulk_edit.py:160 #: virtualization/forms/bulk_import.py:122 -#: virtualization/forms/filtersets.py:164 -#: virtualization/forms/model_forms.py:206 +#: virtualization/forms/filtersets.py:168 +#: virtualization/forms/model_forms.py:203 #: virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "Plateforme" -#: dcim/forms/bulk_edit.py:621 dcim/forms/bulk_edit.py:1171 -#: dcim/forms/bulk_edit.py:1534 dcim/forms/bulk_edit.py:1580 +#: dcim/forms/bulk_edit.py:626 dcim/forms/bulk_edit.py:1179 +#: dcim/forms/bulk_edit.py:1543 dcim/forms/bulk_edit.py:1589 #: dcim/forms/bulk_import.py:586 dcim/forms/bulk_import.py:648 #: dcim/forms/bulk_import.py:674 dcim/forms/bulk_import.py:700 #: dcim/forms/bulk_import.py:720 dcim/forms/bulk_import.py:773 #: dcim/forms/bulk_import.py:891 dcim/forms/bulk_import.py:939 #: dcim/forms/bulk_import.py:956 dcim/forms/bulk_import.py:968 #: dcim/forms/bulk_import.py:1016 dcim/forms/bulk_import.py:1373 -#: dcim/forms/connections.py:23 dcim/forms/filtersets.py:128 -#: dcim/forms/filtersets.py:831 dcim/forms/filtersets.py:964 -#: dcim/forms/filtersets.py:1154 dcim/forms/filtersets.py:1176 -#: dcim/forms/filtersets.py:1198 dcim/forms/filtersets.py:1215 -#: dcim/forms/filtersets.py:1235 dcim/forms/filtersets.py:1343 -#: dcim/forms/filtersets.py:1365 dcim/forms/filtersets.py:1386 -#: dcim/forms/filtersets.py:1401 dcim/forms/filtersets.py:1412 +#: dcim/forms/connections.py:24 dcim/forms/filtersets.py:129 +#: dcim/forms/filtersets.py:832 dcim/forms/filtersets.py:962 +#: dcim/forms/filtersets.py:1152 dcim/forms/filtersets.py:1174 +#: dcim/forms/filtersets.py:1196 dcim/forms/filtersets.py:1213 +#: dcim/forms/filtersets.py:1233 dcim/forms/filtersets.py:1341 +#: dcim/forms/filtersets.py:1363 dcim/forms/filtersets.py:1384 +#: dcim/forms/filtersets.py:1399 dcim/forms/filtersets.py:1413 #: dcim/forms/filtersets.py:1476 dcim/forms/filtersets.py:1500 -#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:562 -#: dcim/forms/model_forms.py:760 dcim/forms/model_forms.py:1011 -#: dcim/forms/model_forms.py:1460 dcim/forms/object_create.py:256 +#: dcim/forms/filtersets.py:1524 dcim/forms/model_forms.py:573 +#: dcim/forms/model_forms.py:794 dcim/forms/model_forms.py:1153 +#: dcim/forms/model_forms.py:1608 dcim/forms/object_create.py:257 #: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:318 -#: dcim/tables/devices.py:383 dcim/tables/devices.py:427 -#: dcim/tables/devices.py:472 dcim/tables/devices.py:526 -#: dcim/tables/devices.py:618 dcim/tables/devices.py:719 -#: dcim/tables/devices.py:779 dcim/tables/devices.py:829 -#: dcim/tables/devices.py:889 dcim/tables/devices.py:941 -#: dcim/tables/devices.py:1067 dcim/tables/modules.py:52 -#: extras/forms/filtersets.py:329 ipam/forms/bulk_import.py:303 -#: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:532 -#: ipam/forms/model_forms.py:689 ipam/tables/vlans.py:176 -#: templates/dcim/consoleport.html:23 templates/dcim/consoleserverport.html:23 -#: templates/dcim/device.html:14 templates/dcim/device.html:128 -#: templates/dcim/device_edit.html:10 templates/dcim/devicebay.html:23 -#: templates/dcim/devicebay.html:55 templates/dcim/frontport.html:23 -#: templates/dcim/interface.html:31 templates/dcim/interface.html:167 -#: templates/dcim/inventoryitem.html:21 templates/dcim/module.html:55 -#: templates/dcim/modulebay.html:21 templates/dcim/poweroutlet.html:23 -#: templates/dcim/powerport.html:23 templates/dcim/rearport.html:23 -#: templates/dcim/virtualchassis.html:58 -#: templates/dcim/virtualchassis_edit.html:52 -#: templates/dcim/virtualdevicecontext.html:25 -#: templates/ipam/ipaddress_edit.html:42 templates/ipam/service_create.html:17 -#: templates/ipam/service_edit.html:16 -#: templates/virtualization/virtualmachine.html:115 -#: templates/vpn/l2vpntermination_edit.html:22 -#: templates/vpn/tunneltermination.html:24 +#: dcim/tables/connections.py:60 dcim/tables/devices.py:290 +#: dcim/tables/devices.py:355 dcim/tables/devices.py:399 +#: dcim/tables/devices.py:444 dcim/tables/devices.py:498 +#: dcim/tables/devices.py:590 dcim/tables/devices.py:692 +#: dcim/tables/devices.py:752 dcim/tables/devices.py:802 +#: dcim/tables/devices.py:862 dcim/tables/devices.py:914 +#: dcim/tables/devices.py:1040 dcim/tables/modules.py:52 +#: extras/forms/filtersets.py:330 ipam/forms/bulk_import.py:303 +#: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:539 +#: ipam/forms/model_forms.py:317 ipam/forms/model_forms.py:716 +#: ipam/forms/model_forms.py:749 ipam/forms/model_forms.py:775 +#: ipam/tables/vlans.py:176 templates/dcim/consoleport.html:20 +#: templates/dcim/consoleserverport.html:20 templates/dcim/device.html:14 +#: templates/dcim/device.html:128 templates/dcim/device_edit.html:10 +#: templates/dcim/devicebay.html:20 templates/dcim/devicebay.html:48 +#: templates/dcim/frontport.html:20 templates/dcim/interface.html:30 +#: templates/dcim/interface.html:161 templates/dcim/inventoryitem.html:20 +#: templates/dcim/module.html:54 templates/dcim/modulebay.html:20 +#: templates/dcim/poweroutlet.html:20 templates/dcim/powerport.html:20 +#: templates/dcim/rearport.html:20 templates/dcim/virtualchassis.html:65 +#: templates/dcim/virtualchassis_edit.html:51 +#: templates/dcim/virtualdevicecontext.html:22 +#: templates/virtualization/virtualmachine.html:110 +#: templates/vpn/tunneltermination.html:23 #: templates/wireless/inc/wirelesslink_interface.html:6 -#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:136 +#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:137 #: virtualization/forms/bulk_import.py:99 -#: virtualization/forms/filtersets.py:124 -#: virtualization/forms/model_forms.py:188 +#: virtualization/forms/filtersets.py:128 +#: virtualization/forms/model_forms.py:185 #: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 #: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 -#: vpn/forms/filtersets.py:271 vpn/forms/model_forms.py:89 -#: vpn/forms/model_forms.py:124 vpn/forms/model_forms.py:237 -#: wireless/forms/model_forms.py:100 wireless/forms/model_forms.py:140 -#: wireless/tables/wirelesslan.py:75 +#: vpn/forms/filtersets.py:275 vpn/forms/model_forms.py:90 +#: vpn/forms/model_forms.py:125 vpn/forms/model_forms.py:236 +#: vpn/forms/model_forms.py:453 wireless/forms/model_forms.py:99 +#: wireless/forms/model_forms.py:141 wireless/tables/wirelesslan.py:75 msgid "Device" msgstr "Appareil" -#: dcim/forms/bulk_edit.py:624 netbox/navigation/menu.py:441 -#: templates/extras/dashboard/widget_config.html:7 +#: dcim/forms/bulk_edit.py:629 templates/extras/dashboard/widget_config.html:7 +#: virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "Configuration" -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_import.py:598 -#: dcim/forms/model_forms.py:576 dcim/forms/model_forms.py:802 +#: dcim/forms/bulk_edit.py:643 dcim/forms/bulk_import.py:598 +#: dcim/forms/model_forms.py:587 dcim/forms/model_forms.py:842 msgid "Module type" msgstr "Type de module" -#: dcim/forms/bulk_edit.py:689 dcim/forms/bulk_edit.py:874 -#: dcim/forms/bulk_edit.py:893 dcim/forms/bulk_edit.py:916 -#: dcim/forms/bulk_edit.py:958 dcim/forms/bulk_edit.py:1002 -#: dcim/forms/bulk_edit.py:1053 dcim/forms/bulk_edit.py:1080 -#: dcim/forms/bulk_edit.py:1107 dcim/forms/bulk_edit.py:1125 -#: dcim/forms/bulk_edit.py:1143 dcim/forms/filtersets.py:64 -#: dcim/forms/object_create.py:45 templates/dcim/cable.html:33 -#: templates/dcim/consoleport.html:35 templates/dcim/consoleserverport.html:35 -#: templates/dcim/devicebay.html:31 templates/dcim/frontport.html:35 -#: templates/dcim/inc/panels/inventory_items.html:11 -#: templates/dcim/interface.html:43 templates/dcim/inventoryitem.html:33 -#: templates/dcim/modulebay.html:31 templates/dcim/poweroutlet.html:35 -#: templates/dcim/powerport.html:35 templates/dcim/rearport.html:35 -#: templates/extras/customfield.html:27 templates/generic/bulk_import.html:155 +#: dcim/forms/bulk_edit.py:697 dcim/forms/bulk_edit.py:882 +#: dcim/forms/bulk_edit.py:901 dcim/forms/bulk_edit.py:924 +#: dcim/forms/bulk_edit.py:966 dcim/forms/bulk_edit.py:1010 +#: dcim/forms/bulk_edit.py:1061 dcim/forms/bulk_edit.py:1088 +#: dcim/forms/bulk_edit.py:1115 dcim/forms/bulk_edit.py:1133 +#: dcim/forms/bulk_edit.py:1151 dcim/forms/filtersets.py:65 +#: dcim/forms/object_create.py:46 templates/dcim/cable.html:32 +#: templates/dcim/consoleport.html:32 templates/dcim/consoleserverport.html:32 +#: templates/dcim/devicebay.html:28 templates/dcim/frontport.html:32 +#: templates/dcim/inc/panels/inventory_items.html:19 +#: templates/dcim/interface.html:42 templates/dcim/inventoryitem.html:32 +#: templates/dcim/modulebay.html:30 templates/dcim/poweroutlet.html:32 +#: templates/dcim/powerport.html:32 templates/dcim/rearport.html:32 +#: templates/extras/customfield.html:26 templates/generic/bulk_import.html:162 msgid "Label" msgstr "Libellé" -#: dcim/forms/bulk_edit.py:698 dcim/forms/filtersets.py:981 -#: templates/dcim/cable.html:51 +#: dcim/forms/bulk_edit.py:706 dcim/forms/filtersets.py:979 +#: templates/dcim/cable.html:50 msgid "Length" msgstr "Longueur" -#: dcim/forms/bulk_edit.py:703 dcim/forms/bulk_import.py:1174 -#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:985 +#: dcim/forms/bulk_edit.py:711 dcim/forms/bulk_import.py:1174 +#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:983 msgid "Length unit" msgstr "Unité de longueur" -#: dcim/forms/bulk_edit.py:727 templates/dcim/virtualchassis.html:24 +#: dcim/forms/bulk_edit.py:735 templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "Domaine" -#: dcim/forms/bulk_edit.py:795 dcim/forms/bulk_import.py:1296 -#: dcim/forms/filtersets.py:1071 dcim/forms/model_forms.py:664 +#: dcim/forms/bulk_edit.py:803 dcim/forms/bulk_import.py:1296 +#: dcim/forms/filtersets.py:1069 dcim/forms/model_forms.py:695 msgid "Power panel" msgstr "panneau d'alimentation" -#: dcim/forms/bulk_edit.py:817 dcim/forms/bulk_import.py:1332 -#: dcim/forms/filtersets.py:1093 templates/dcim/powerfeed.html:90 +#: dcim/forms/bulk_edit.py:825 dcim/forms/bulk_import.py:1332 +#: dcim/forms/filtersets.py:1091 templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Approvisionnement" -#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1337 -#: dcim/forms/filtersets.py:1098 templates/dcim/powerfeed.html:102 +#: dcim/forms/bulk_edit.py:831 dcim/forms/bulk_import.py:1337 +#: dcim/forms/filtersets.py:1096 templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Phase" -#: dcim/forms/bulk_edit.py:829 dcim/forms/filtersets.py:1103 -#: templates/dcim/powerfeed.html:94 +#: dcim/forms/bulk_edit.py:837 dcim/forms/filtersets.py:1101 +#: templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "tension" -#: dcim/forms/bulk_edit.py:833 dcim/forms/filtersets.py:1107 -#: templates/dcim/powerfeed.html:98 +#: dcim/forms/bulk_edit.py:841 dcim/forms/filtersets.py:1105 +#: templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Ampérage" -#: dcim/forms/bulk_edit.py:837 dcim/forms/filtersets.py:1111 +#: dcim/forms/bulk_edit.py:845 dcim/forms/filtersets.py:1109 msgid "Max utilization" msgstr "Utilisation maximale" -#: dcim/forms/bulk_edit.py:841 dcim/forms/bulk_edit.py:1200 -#: dcim/forms/bulk_edit.py:1217 dcim/forms/bulk_edit.py:1234 -#: dcim/forms/bulk_edit.py:1252 dcim/forms/bulk_edit.py:1340 -#: dcim/forms/bulk_edit.py:1478 dcim/forms/bulk_edit.py:1495 +#: dcim/forms/bulk_edit.py:849 dcim/forms/bulk_edit.py:1208 +#: dcim/forms/bulk_edit.py:1225 dcim/forms/bulk_edit.py:1242 +#: dcim/forms/bulk_edit.py:1260 dcim/forms/bulk_edit.py:1348 +#: dcim/forms/bulk_edit.py:1487 dcim/forms/bulk_edit.py:1504 msgid "Mark connected" msgstr "Marquer comme connecté" -#: dcim/forms/bulk_edit.py:926 +#: dcim/forms/bulk_edit.py:934 msgid "Maximum draw" msgstr "Tirage maximum" -#: dcim/forms/bulk_edit.py:929 dcim/models/device_component_templates.py:256 +#: dcim/forms/bulk_edit.py:937 dcim/models/device_component_templates.py:256 #: dcim/models/device_components.py:357 msgid "Maximum power draw (watts)" msgstr "Consommation électrique maximale (watts)" -#: dcim/forms/bulk_edit.py:932 +#: dcim/forms/bulk_edit.py:940 msgid "Allocated draw" msgstr "Tirage au sort attribué" -#: dcim/forms/bulk_edit.py:935 dcim/models/device_component_templates.py:263 +#: dcim/forms/bulk_edit.py:943 dcim/models/device_component_templates.py:263 #: dcim/models/device_components.py:364 msgid "Allocated power draw (watts)" msgstr "Consommation électrique allouée (watts)" -#: dcim/forms/bulk_edit.py:968 dcim/forms/bulk_import.py:731 -#: dcim/forms/model_forms.py:855 dcim/forms/model_forms.py:1083 -#: dcim/forms/model_forms.py:1368 dcim/forms/object_import.py:60 +#: dcim/forms/bulk_edit.py:976 dcim/forms/bulk_import.py:731 +#: dcim/forms/model_forms.py:898 dcim/forms/model_forms.py:1223 +#: dcim/forms/model_forms.py:1511 dcim/forms/object_import.py:55 msgid "Power port" msgstr "port d'alimentation" -#: dcim/forms/bulk_edit.py:973 dcim/forms/bulk_import.py:738 +#: dcim/forms/bulk_edit.py:981 dcim/forms/bulk_import.py:738 msgid "Feed leg" msgstr "Patte d'alimentation" -#: dcim/forms/bulk_edit.py:1019 dcim/forms/bulk_edit.py:1325 +#: dcim/forms/bulk_edit.py:1027 dcim/forms/bulk_edit.py:1333 msgid "Management only" msgstr "Gestion uniquement" -#: dcim/forms/bulk_edit.py:1029 dcim/forms/bulk_edit.py:1331 -#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1294 -#: dcim/forms/object_import.py:95 +#: dcim/forms/bulk_edit.py:1037 dcim/forms/bulk_edit.py:1339 +#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1292 +#: dcim/forms/object_import.py:90 #: dcim/models/device_component_templates.py:411 #: dcim/models/device_components.py:671 msgid "PoE mode" msgstr "Mode PoE" -#: dcim/forms/bulk_edit.py:1035 dcim/forms/bulk_edit.py:1337 -#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1299 -#: dcim/forms/object_import.py:100 +#: dcim/forms/bulk_edit.py:1043 dcim/forms/bulk_edit.py:1345 +#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1297 +#: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:417 #: dcim/models/device_components.py:677 msgid "PoE type" msgstr "Type PoE" -#: dcim/forms/bulk_edit.py:1041 dcim/forms/filtersets.py:1304 -#: dcim/forms/object_import.py:105 +#: dcim/forms/bulk_edit.py:1049 dcim/forms/filtersets.py:1302 +#: dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Rôle sans fil" -#: dcim/forms/bulk_edit.py:1178 dcim/forms/model_forms.py:595 -#: dcim/forms/model_forms.py:1026 dcim/tables/devices.py:341 -#: templates/dcim/consoleport.html:27 templates/dcim/consoleserverport.html:27 -#: templates/dcim/frontport.html:27 templates/dcim/interface.html:35 -#: templates/dcim/module.html:51 templates/dcim/modulebay.html:57 -#: templates/dcim/poweroutlet.html:27 templates/dcim/powerport.html:27 -#: templates/dcim/rearport.html:27 +#: dcim/forms/bulk_edit.py:1186 dcim/forms/model_forms.py:609 +#: dcim/forms/model_forms.py:1168 dcim/tables/devices.py:313 +#: templates/dcim/consoleport.html:24 templates/dcim/consoleserverport.html:24 +#: templates/dcim/frontport.html:24 templates/dcim/interface.html:34 +#: templates/dcim/module.html:51 templates/dcim/modulebay.html:54 +#: templates/dcim/poweroutlet.html:24 templates/dcim/powerport.html:24 +#: templates/dcim/rearport.html:24 msgid "Module" msgstr "Modules" -#: dcim/forms/bulk_edit.py:1305 dcim/tables/devices.py:689 -#: templates/dcim/interface.html:113 +#: dcim/forms/bulk_edit.py:1313 dcim/tables/devices.py:661 +#: templates/dcim/interface.html:110 msgid "LAG" msgstr "DÉCALAGE" -#: dcim/forms/bulk_edit.py:1310 dcim/forms/model_forms.py:1110 +#: dcim/forms/bulk_edit.py:1318 dcim/forms/model_forms.py:1250 msgid "Virtual device contexts" msgstr "Contextes des appareils virtuels" -#: dcim/forms/bulk_edit.py:1316 dcim/forms/bulk_import.py:659 -#: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1163 -#: dcim/forms/filtersets.py:1185 dcim/forms/filtersets.py:1258 -#: dcim/tables/devices.py:630 -#: templates/circuits/inc/circuit_termination.html:94 -#: templates/dcim/consoleport.html:43 templates/dcim/consoleserverport.html:43 +#: dcim/forms/bulk_edit.py:1324 dcim/forms/bulk_import.py:659 +#: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1161 +#: dcim/forms/filtersets.py:1183 dcim/forms/filtersets.py:1256 +#: dcim/tables/devices.py:602 +#: templates/circuits/inc/circuit_termination.html:93 +#: templates/dcim/consoleport.html:40 templates/dcim/consoleserverport.html:40 msgid "Speed" msgstr "Vitesse" -#: dcim/forms/bulk_edit.py:1345 dcim/forms/bulk_import.py:830 -#: templates/vpn/ikepolicy.html:26 templates/vpn/ipsecprofile.html:22 -#: templates/vpn/ipsecprofile.html:51 virtualization/forms/bulk_edit.py:232 -#: virtualization/forms/bulk_import.py:165 vpn/forms/bulk_edit.py:145 -#: vpn/forms/bulk_edit.py:233 vpn/forms/bulk_import.py:176 -#: vpn/forms/bulk_import.py:234 vpn/forms/filtersets.py:132 -#: vpn/forms/filtersets.py:175 vpn/forms/filtersets.py:189 +#: dcim/forms/bulk_edit.py:1353 dcim/forms/bulk_import.py:830 +#: templates/vpn/ikepolicy.html:25 templates/vpn/ipsecprofile.html:21 +#: templates/vpn/ipsecprofile.html:48 virtualization/forms/bulk_edit.py:233 +#: virtualization/forms/bulk_import.py:165 vpn/forms/bulk_edit.py:146 +#: vpn/forms/bulk_edit.py:232 vpn/forms/bulk_import.py:176 +#: vpn/forms/bulk_import.py:234 vpn/forms/filtersets.py:135 +#: vpn/forms/filtersets.py:178 vpn/forms/filtersets.py:192 #: vpn/tables/crypto.py:64 vpn/tables/crypto.py:162 msgid "Mode" msgstr "Mode" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/model_forms.py:1159 -#: ipam/forms/bulk_import.py:177 ipam/forms/filtersets.py:479 -#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:239 -#: virtualization/forms/model_forms.py:324 +#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1299 +#: ipam/forms/bulk_import.py:177 ipam/forms/filtersets.py:486 +#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:240 +#: virtualization/forms/model_forms.py:321 msgid "VLAN group" msgstr "groupe VLAN" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1164 -#: dcim/tables/devices.py:603 virtualization/forms/bulk_edit.py:247 -#: virtualization/forms/model_forms.py:329 +#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1304 +#: dcim/tables/devices.py:575 virtualization/forms/bulk_edit.py:248 +#: virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN non balisé" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1173 -#: dcim/tables/devices.py:609 virtualization/forms/bulk_edit.py:255 -#: virtualization/forms/model_forms.py:338 +#: dcim/forms/bulk_edit.py:1377 dcim/forms/model_forms.py:1313 +#: dcim/tables/devices.py:581 virtualization/forms/bulk_edit.py:256 +#: virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" msgstr "VLAN balisés" -#: dcim/forms/bulk_edit.py:1379 dcim/forms/model_forms.py:1146 +#: dcim/forms/bulk_edit.py:1387 dcim/forms/model_forms.py:1286 msgid "Wireless LAN group" msgstr "Groupe LAN sans fil" -#: dcim/forms/bulk_edit.py:1384 dcim/forms/model_forms.py:1151 -#: dcim/tables/devices.py:639 netbox/navigation/menu.py:134 -#: templates/dcim/interface.html:289 wireless/tables/wirelesslan.py:24 +#: dcim/forms/bulk_edit.py:1392 dcim/forms/model_forms.py:1291 +#: dcim/tables/devices.py:611 netbox/navigation/menu.py:133 +#: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Réseaux locaux sans fil" -#: dcim/forms/bulk_edit.py:1393 dcim/forms/filtersets.py:1231 -#: dcim/forms/model_forms.py:1192 ipam/forms/bulk_edit.py:270 -#: ipam/forms/bulk_edit.py:361 ipam/forms/filtersets.py:166 -#: templates/dcim/interface.html:126 templates/ipam/prefix.html:96 -#: virtualization/forms/model_forms.py:352 +#: dcim/forms/bulk_edit.py:1401 dcim/forms/filtersets.py:1229 +#: dcim/forms/model_forms.py:1334 ipam/forms/bulk_edit.py:271 +#: ipam/forms/bulk_edit.py:362 ipam/forms/filtersets.py:169 +#: templates/dcim/interface.html:122 templates/ipam/prefix.html:95 +#: virtualization/forms/model_forms.py:349 msgid "Addressing" msgstr "Adressage" -#: dcim/forms/bulk_edit.py:1394 dcim/forms/filtersets.py:651 -#: dcim/forms/model_forms.py:1193 virtualization/forms/model_forms.py:353 +#: dcim/forms/bulk_edit.py:1402 dcim/forms/filtersets.py:650 +#: dcim/forms/model_forms.py:1335 virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Fonctionnement" -#: dcim/forms/bulk_edit.py:1395 dcim/forms/filtersets.py:1232 -#: dcim/forms/model_forms.py:887 dcim/forms/model_forms.py:1195 +#: dcim/forms/bulk_edit.py:1403 dcim/forms/filtersets.py:1230 +#: dcim/forms/model_forms.py:932 dcim/forms/model_forms.py:1337 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1396 dcim/forms/model_forms.py:1194 -#: templates/dcim/interface.html:101 virtualization/forms/bulk_edit.py:266 -#: virtualization/forms/model_forms.py:354 +#: dcim/forms/bulk_edit.py:1404 dcim/forms/model_forms.py:1336 +#: templates/dcim/interface.html:99 virtualization/forms/bulk_edit.py:267 +#: virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Interfaces associées" -#: dcim/forms/bulk_edit.py:1397 dcim/forms/model_forms.py:1196 -#: virtualization/forms/bulk_edit.py:267 -#: virtualization/forms/model_forms.py:355 +#: dcim/forms/bulk_edit.py:1405 dcim/forms/model_forms.py:1338 +#: virtualization/forms/bulk_edit.py:268 +#: virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" msgstr "Commutation 802.1Q" -#: dcim/forms/bulk_edit.py:1458 dcim/forms/bulk_edit.py:1460 +#: dcim/forms/bulk_edit.py:1467 dcim/forms/bulk_edit.py:1469 msgid "Interface mode must be specified to assign VLANs" msgstr "Le mode d'interface doit être spécifié pour attribuer des VLAN" -#: dcim/forms/bulk_edit.py:1465 dcim/forms/common.py:50 +#: dcim/forms/bulk_edit.py:1474 dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." msgstr "" "Les VLAN balisés ne peuvent pas être attribués à une interface d'accès." @@ -3133,7 +3327,7 @@ msgstr "Nom du rôle attribué" #: dcim/forms/bulk_import.py:217 msgid "Rack type" -msgstr "Type de rack" +msgstr "Type de baie" #: dcim/forms/bulk_import.py:222 msgid "Rail-to-rail width (in inches)" @@ -3145,7 +3339,7 @@ msgstr "Unité pour les dimensions extérieures" #: dcim/forms/bulk_import.py:234 msgid "Unit for rack weights" -msgstr "Unité pour supports de pesage" +msgstr "Unité poids de la baie" #: dcim/forms/bulk_import.py:260 msgid "Parent site" @@ -3153,11 +3347,11 @@ msgstr "Site parent" #: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 msgid "Rack's location (if any)" -msgstr "Emplacement du rack (le cas échéant)" +msgstr "Emplacement de la baie (le cas échéant)" -#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:246 +#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:253 #: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 -#: templates/dcim/rackreservation.html:52 +#: templates/dcim/rackreservation.html:45 msgid "Units" msgstr "Unités" @@ -3193,7 +3387,8 @@ msgstr "Unité pour le poids du module" msgid "Limit platform assignments to this manufacturer" msgstr "Limiter les attributions de plateforme à ce fabricant" -#: dcim/forms/bulk_import.py:421 tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:421 dcim/forms/bulk_import.py:1376 +#: tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Rôle assigné" @@ -3210,25 +3405,25 @@ msgid "Assigned platform" msgstr "Plateforme attribuée" #: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 -#: dcim/forms/model_forms.py:468 +#: dcim/forms/model_forms.py:476 msgid "Virtual chassis" msgstr "Châssis virtuel" -#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:457 -#: dcim/tables/devices.py:235 extras/filtersets.py:501 -#: extras/forms/filtersets.py:330 ipam/forms/bulk_edit.py:478 -#: ipam/forms/model_forms.py:592 templates/dcim/device.html:239 -#: templates/virtualization/cluster.html:11 -#: templates/virtualization/virtualmachine.html:92 -#: templates/virtualization/virtualmachine.html:102 +#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:465 +#: dcim/tables/devices.py:207 extras/filtersets.py:548 +#: extras/forms/filtersets.py:331 ipam/forms/bulk_edit.py:479 +#: ipam/forms/model_forms.py:618 templates/dcim/device.html:231 +#: templates/virtualization/cluster.html:10 +#: templates/virtualization/virtualmachine.html:88 +#: templates/virtualization/virtualmachine.html:97 #: virtualization/filtersets.py:157 virtualization/filtersets.py:273 -#: virtualization/forms/bulk_edit.py:128 +#: virtualization/forms/bulk_edit.py:129 #: virtualization/forms/bulk_import.py:92 -#: virtualization/forms/filtersets.py:98 -#: virtualization/forms/filtersets.py:119 -#: virtualization/forms/filtersets.py:196 -#: virtualization/forms/model_forms.py:82 -#: virtualization/forms/model_forms.py:179 +#: virtualization/forms/filtersets.py:99 +#: virtualization/forms/filtersets.py:123 +#: virtualization/forms/filtersets.py:200 +#: virtualization/forms/model_forms.py:79 +#: virtualization/forms/model_forms.py:176 #: virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "Cluster" @@ -3243,7 +3438,7 @@ msgstr "Emplacement attribué (le cas échéant)" #: dcim/forms/bulk_import.py:502 msgid "Assigned rack (if any)" -msgstr "Rack assigné (le cas échéant)" +msgstr "Baie affectée (le cas échéant)" #: dcim/forms/bulk_import.py:505 msgid "Face" @@ -3251,7 +3446,7 @@ msgstr "Visage" #: dcim/forms/bulk_import.py:508 msgid "Mounted rack face" -msgstr "Face du rack montée" +msgstr "Face montée en baie" #: dcim/forms/bulk_import.py:515 msgid "Parent device (for child devices)" @@ -3275,7 +3470,7 @@ msgstr "Direction du flux d'air" msgid "The device in which this module is installed" msgstr "L'appareil sur lequel ce module est installé" -#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:569 +#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:580 msgid "Module bay" msgstr "Baie modulaire" @@ -3287,7 +3482,7 @@ msgstr "La baie du module dans laquelle ce module est installé" msgid "The type of module" msgstr "Le type de module" -#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:582 +#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:596 msgid "Replicate components" msgstr "Répliquer les composants" @@ -3299,11 +3494,11 @@ msgstr "" "Remplir automatiquement les composants associés à ce type de module (activé " "par défaut)" -#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:588 +#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:602 msgid "Adopt components" msgstr "Adoptez des composants" -#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:591 +#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:605 msgid "Adopt already existing components" msgstr "Adoptez des composants déjà existants" @@ -3328,15 +3523,15 @@ msgstr "Port d'alimentation local qui alimente cette prise" msgid "Electrical phase (for three-phase circuits)" msgstr "Phase électrique (pour circuits triphasés)" -#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1121 +#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1261 #: virtualization/forms/bulk_import.py:155 -#: virtualization/forms/model_forms.py:308 +#: virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "Interface pour les parents" -#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1129 +#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1269 #: virtualization/forms/bulk_import.py:162 -#: virtualization/forms/model_forms.py:316 +#: virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "Interface pontée" @@ -3361,7 +3556,7 @@ msgstr "" msgid "Physical medium" msgstr "Support physique" -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1265 +#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1263 msgid "Duplex" msgstr "Duplex" @@ -3379,8 +3574,8 @@ msgstr "Mode de fonctionnement IEEE 802.1Q (pour interfaces L2)" #: dcim/forms/bulk_import.py:840 ipam/forms/bulk_import.py:160 #: ipam/forms/bulk_import.py:246 ipam/forms/bulk_import.py:282 -#: ipam/forms/filtersets.py:196 ipam/forms/filtersets.py:266 -#: ipam/forms/filtersets.py:322 virtualization/forms/bulk_import.py:175 +#: ipam/forms/filtersets.py:200 ipam/forms/filtersets.py:270 +#: ipam/forms/filtersets.py:329 virtualization/forms/bulk_import.py:175 msgid "Assigned VRF" msgstr "VRF attribué" @@ -3397,8 +3592,8 @@ msgstr "Rôle sans fil (AP/station)" msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} n'est pas attribué à l'appareil {device}" -#: dcim/forms/bulk_import.py:896 dcim/forms/model_forms.py:900 -#: dcim/forms/model_forms.py:1376 dcim/forms/object_import.py:122 +#: dcim/forms/bulk_import.py:896 dcim/forms/model_forms.py:945 +#: dcim/forms/model_forms.py:1519 dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Port arrière" @@ -3411,7 +3606,7 @@ msgstr "Port arrière correspondant" msgid "Physical medium classification" msgstr "Classification des supports physiques" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:850 +#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:823 msgid "Installed device" msgstr "Appareil installé" @@ -3498,9 +3693,9 @@ msgstr "Côté {side_upper}: {device} {termination_object} est déjà connecté" msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} terminaison latérale introuvable : {device} {name}" -#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:696 -#: dcim/tables/devices.py:1037 templates/dcim/device.html:130 -#: templates/dcim/virtualchassis.html:28 templates/dcim/virtualchassis.html:60 +#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:730 +#: dcim/tables/devices.py:1010 templates/dcim/device.html:130 +#: templates/dcim/virtualchassis.html:27 templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "Maître" @@ -3529,9 +3724,9 @@ msgid "Single or three-phase" msgstr "Monophasé ou triphasé" #: dcim/forms/common.py:24 dcim/models/device_components.py:528 -#: templates/dcim/interface.html:58 -#: templates/virtualization/vminterface.html:58 -#: virtualization/forms/bulk_edit.py:224 +#: templates/dcim/interface.html:57 +#: templates/virtualization/vminterface.html:55 +#: virtualization/forms/bulk_edit.py:225 msgid "MTU" msgstr "MTU" @@ -3563,44 +3758,44 @@ msgstr "" msgid "A {model} named {name} already exists" msgstr "UN {model} nommé {name} existe déjà" -#: dcim/forms/connections.py:45 dcim/tables/power.py:66 -#: templates/dcim/inc/cable_termination.html:37 -#: templates/dcim/powerfeed.html:27 templates/dcim/powerpanel.html:19 +#: dcim/forms/connections.py:48 dcim/forms/model_forms.py:683 +#: dcim/tables/power.py:66 templates/dcim/inc/cable_termination.html:37 +#: templates/dcim/powerfeed.html:24 templates/dcim/powerpanel.html:19 #: templates/dcim/trace/powerpanel.html:4 msgid "Power Panel" msgstr "Panneau d'alimentation" -#: dcim/forms/connections.py:54 dcim/forms/model_forms.py:677 -#: templates/dcim/powerfeed.html:22 templates/dcim/powerport.html:84 +#: dcim/forms/connections.py:57 dcim/forms/model_forms.py:710 +#: templates/dcim/powerfeed.html:21 templates/dcim/powerport.html:80 msgid "Power Feed" msgstr "Alimentation" -#: dcim/forms/connections.py:74 +#: dcim/forms/connections.py:79 msgid "Side" msgstr "Côté" -#: dcim/forms/filtersets.py:141 +#: dcim/forms/filtersets.py:142 msgid "Parent region" msgstr "Région parente" -#: dcim/forms/filtersets.py:155 tenancy/forms/bulk_import.py:28 -#: tenancy/forms/bulk_import.py:62 tenancy/forms/filtersets.py:32 -#: tenancy/forms/filtersets.py:61 wireless/forms/bulk_import.py:25 -#: wireless/forms/filtersets.py:24 +#: dcim/forms/filtersets.py:156 tenancy/forms/bulk_import.py:28 +#: tenancy/forms/bulk_import.py:62 tenancy/forms/filtersets.py:33 +#: tenancy/forms/filtersets.py:62 wireless/forms/bulk_import.py:25 +#: wireless/forms/filtersets.py:25 msgid "Parent group" msgstr "Groupe de parents" -#: dcim/forms/filtersets.py:246 dcim/forms/filtersets.py:331 +#: dcim/forms/filtersets.py:247 dcim/forms/filtersets.py:332 msgid "Function" msgstr "Fonction" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:312 -#: templates/inc/panels/image_attachments.html:5 +#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:317 +#: templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "Des images" -#: dcim/forms/filtersets.py:419 dcim/forms/filtersets.py:544 -#: dcim/forms/filtersets.py:655 +#: dcim/forms/filtersets.py:421 dcim/forms/filtersets.py:546 +#: dcim/forms/filtersets.py:656 msgid "Components" msgstr "Composantes" @@ -3608,79 +3803,78 @@ msgstr "Composantes" msgid "Subdevice role" msgstr "Rôle du sous-appareil" -#: dcim/forms/filtersets.py:717 +#: dcim/forms/filtersets.py:718 msgid "Model" msgstr "Modèle" -#: dcim/forms/filtersets.py:768 +#: dcim/forms/filtersets.py:762 +msgid "Has an OOB IP" +msgstr "Possède une adresse IP OOB" + +#: dcim/forms/filtersets.py:769 msgid "Virtual chassis member" msgstr "Membre virtuel du châssis" -#: dcim/forms/filtersets.py:1123 +#: dcim/forms/filtersets.py:1121 msgid "Cabled" msgstr "câblé" -#: dcim/forms/filtersets.py:1130 +#: dcim/forms/filtersets.py:1128 msgid "Occupied" msgstr "Occupé" -#: dcim/forms/filtersets.py:1155 dcim/forms/filtersets.py:1177 -#: dcim/forms/filtersets.py:1199 dcim/forms/filtersets.py:1216 -#: dcim/forms/filtersets.py:1236 dcim/tables/devices.py:376 -#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:59 -#: templates/dcim/frontport.html:74 templates/dcim/interface.html:146 -#: templates/dcim/powerfeed.html:118 templates/dcim/poweroutlet.html:63 -#: templates/dcim/powerport.html:63 templates/dcim/rearport.html:70 +#: dcim/forms/filtersets.py:1153 dcim/forms/filtersets.py:1175 +#: dcim/forms/filtersets.py:1197 dcim/forms/filtersets.py:1214 +#: dcim/forms/filtersets.py:1234 dcim/tables/devices.py:348 +#: templates/dcim/consoleport.html:55 templates/dcim/consoleserverport.html:55 +#: templates/dcim/frontport.html:69 templates/dcim/interface.html:140 +#: templates/dcim/powerfeed.html:110 templates/dcim/poweroutlet.html:59 +#: templates/dcim/powerport.html:59 templates/dcim/rearport.html:65 msgid "Connection" msgstr "Connexion" -#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484 -#: templates/dcim/virtualdevicecontext.html:16 -msgid "Virtual Device Context" -msgstr "Contexte du périphérique virtuel" - -#: dcim/forms/filtersets.py:1248 extras/forms/bulk_edit.py:315 -#: extras/forms/bulk_import.py:245 extras/forms/filtersets.py:479 -#: extras/forms/model_forms.py:557 extras/tables/tables.py:487 -#: templates/extras/journalentry.html:33 +#: dcim/forms/filtersets.py:1246 extras/forms/bulk_edit.py:316 +#: extras/forms/bulk_import.py:242 extras/forms/filtersets.py:476 +#: extras/forms/model_forms.py:554 extras/tables/tables.py:512 +#: templates/extras/journalentry.html:30 msgid "Kind" msgstr "Type" -#: dcim/forms/filtersets.py:1277 +#: dcim/forms/filtersets.py:1275 msgid "Mgmt only" msgstr "Gestion uniquement" -#: dcim/forms/filtersets.py:1289 dcim/forms/model_forms.py:1187 -#: dcim/models/device_components.py:630 templates/dcim/interface.html:134 +#: dcim/forms/filtersets.py:1287 dcim/forms/model_forms.py:1327 +#: dcim/models/device_components.py:630 templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" -#: dcim/forms/filtersets.py:1309 +#: dcim/forms/filtersets.py:1307 msgid "Wireless channel" msgstr "Canal sans fil" -#: dcim/forms/filtersets.py:1313 +#: dcim/forms/filtersets.py:1311 msgid "Channel frequency (MHz)" msgstr "Fréquence du canal (MHz)" -#: dcim/forms/filtersets.py:1317 +#: dcim/forms/filtersets.py:1315 msgid "Channel width (MHz)" msgstr "Largeur du canal (MHz)" -#: dcim/forms/filtersets.py:1321 templates/dcim/interface.html:86 +#: dcim/forms/filtersets.py:1319 templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "Puissance de transmission (dBm)" -#: dcim/forms/filtersets.py:1344 dcim/forms/filtersets.py:1366 -#: dcim/tables/devices.py:348 templates/dcim/cable.html:12 -#: templates/dcim/cable_edit.html:46 templates/dcim/cable_trace.html:43 -#: templates/dcim/frontport.html:84 +#: dcim/forms/filtersets.py:1342 dcim/forms/filtersets.py:1364 +#: dcim/tables/devices.py:320 templates/dcim/cable.html:12 +#: templates/dcim/cable_trace.html:46 templates/dcim/frontport.html:77 +#: templates/dcim/htmx/cable_edit.html:50 #: templates/dcim/inc/connection_endpoints.html:4 -#: templates/dcim/rearport.html:80 templates/dcim/trace/cable.html:7 +#: templates/dcim/rearport.html:73 templates/dcim/trace/cable.html:7 msgid "Cable" msgstr "câble" -#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960 +#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:933 msgid "Discovered" msgstr "Découvert" @@ -3689,20 +3883,28 @@ msgstr "Découvert" msgid "A virtual chassis member already exists in position {vc_position}." msgstr "Un élément de châssis virtuel existe déjà en place {vc_position}." -#: dcim/forms/model_forms.py:101 dcim/tables/devices.py:183 -#: templates/dcim/sitegroup.html:26 -msgid "Site Group" -msgstr "Groupe de sites" - -#: dcim/forms/model_forms.py:142 +#: dcim/forms/model_forms.py:139 msgid "Contact Info" msgstr "Informations de contact" -#: dcim/forms/model_forms.py:197 templates/dcim/rackrole.html:20 +#: dcim/forms/model_forms.py:194 templates/dcim/rackrole.html:19 msgid "Rack Role" -msgstr "Role Rack" +msgstr "Role de la baie" -#: dcim/forms/model_forms.py:248 +#: dcim/forms/model_forms.py:227 +msgid "Inventory Control" +msgstr "Contrôle des stocks" + +#: dcim/forms/model_forms.py:231 +msgid "Outer Dimensions" +msgstr "Dimensions extérieures" + +#: dcim/forms/model_forms.py:233 templates/dcim/device.html:307 +#: templates/dcim/rack.html:73 +msgid "Dimensions" +msgstr "Dimensions" + +#: dcim/forms/model_forms.py:255 msgid "" "Comma-separated list of numeric unit IDs. A range may be specified using a " "hyphen." @@ -3710,135 +3912,207 @@ msgstr "" "Liste d'identifiants d'unités numériques séparés par des virgules. Une plage" " peut être spécifiée à l'aide d'un trait d'union." -#: dcim/forms/model_forms.py:259 dcim/tables/racks.py:133 +#: dcim/forms/model_forms.py:266 dcim/tables/racks.py:133 msgid "Reservation" msgstr "Réservation" -#: dcim/forms/model_forms.py:301 dcim/forms/model_forms.py:384 +#: dcim/forms/model_forms.py:306 dcim/forms/model_forms.py:389 #: utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "Identifiant" -#: dcim/forms/model_forms.py:308 templates/dcim/devicetype.html:12 +#: dcim/forms/model_forms.py:315 templates/dcim/devicetype.html:11 msgid "Chassis" msgstr "Châssis" -#: dcim/forms/model_forms.py:360 templates/dcim/devicerole.html:24 +#: dcim/forms/model_forms.py:366 templates/dcim/devicerole.html:23 msgid "Device Role" msgstr "Rôle de l'appareil" -#: dcim/forms/model_forms.py:428 dcim/models/devices.py:634 +#: dcim/forms/model_forms.py:433 dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" msgstr "L'unité la moins numérotée occupée par l'appareil" -#: dcim/forms/model_forms.py:476 +#: dcim/forms/model_forms.py:487 msgid "The position in the virtual chassis this device is identified by" msgstr "" "La position dans le châssis virtuel par laquelle cet appareil est identifié" -#: dcim/forms/model_forms.py:480 templates/dcim/device.html:131 -#: templates/dcim/virtualchassis.html:61 -#: templates/dcim/virtualchassis_edit.html:57 -#: templates/ipam/inc/panels/fhrp_groups.html:13 -#: tenancy/forms/bulk_edit.py:146 tenancy/forms/filtersets.py:109 +#: dcim/forms/model_forms.py:491 templates/dcim/device.html:131 +#: templates/dcim/virtualchassis.html:68 +#: templates/dcim/virtualchassis_edit.html:56 +#: templates/ipam/inc/panels/fhrp_groups.html:26 +#: tenancy/forms/bulk_edit.py:147 tenancy/forms/filtersets.py:110 msgid "Priority" msgstr "Priorité" -#: dcim/forms/model_forms.py:481 +#: dcim/forms/model_forms.py:492 msgid "The priority of the device in the virtual chassis" msgstr "La priorité de l'appareil dans le châssis virtuel" -#: dcim/forms/model_forms.py:585 +#: dcim/forms/model_forms.py:599 msgid "Automatically populate components associated with this module type" msgstr "Remplir automatiquement les composants associés à ce type de module" -#: dcim/forms/model_forms.py:630 +#: dcim/forms/model_forms.py:661 msgid "Maximum length is 32767 (any unit)" msgstr "La longueur maximale est de 32 767 (n'importe quelle unité)" -#: dcim/forms/model_forms.py:678 +#: dcim/forms/model_forms.py:712 msgid "Characteristics" msgstr "Caractéristiques" -#: dcim/forms/model_forms.py:1137 -msgid "LAG interface" -msgstr "Interface LAG" +#: dcim/forms/model_forms.py:1032 +msgid "Console port template" +msgstr "Modèle de port de console" -#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352 +#: dcim/forms/model_forms.py:1040 +msgid "Console server port template" +msgstr "Modèle de port de serveur de console" + +#: dcim/forms/model_forms.py:1048 +msgid "Front port template" +msgstr "Modèle de port avant" + +#: dcim/forms/model_forms.py:1056 +msgid "Interface template" +msgstr "Modèle d'interface" + +#: dcim/forms/model_forms.py:1064 +msgid "Power outlet template" +msgstr "Modèle de prise de courant" + +#: dcim/forms/model_forms.py:1072 +msgid "Power port template" +msgstr "Modèle de port d'alimentation" + +#: dcim/forms/model_forms.py:1080 +msgid "Rear port template" +msgstr "Modèle de port arrière" + +#: dcim/forms/model_forms.py:1089 dcim/forms/model_forms.py:1332 +#: dcim/forms/model_forms.py:1495 dcim/forms/model_forms.py:1527 #: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 -#: ipam/forms/model_forms.py:270 ipam/forms/model_forms.py:279 +#: ipam/forms/model_forms.py:278 ipam/forms/model_forms.py:287 #: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 -#: templates/circuits/inc/circuit_termination.html:78 -#: templates/dcim/frontport.html:113 templates/dcim/interface.html:27 -#: templates/dcim/interface.html:190 templates/dcim/interface.html:322 -#: templates/dcim/inventoryitem_edit.html:54 templates/dcim/rearport.html:109 -#: templates/ipam/fhrpgroupassignment_edit.html:11 -#: templates/virtualization/vminterface.html:19 -#: templates/vpn/tunneltermination.html:32 +#: templates/circuits/inc/circuit_termination.html:77 +#: templates/dcim/frontport.html:106 templates/dcim/interface.html:27 +#: templates/dcim/interface.html:184 templates/dcim/interface.html:310 +#: templates/dcim/rearport.html:102 +#: templates/virtualization/vminterface.html:18 +#: templates/vpn/tunneltermination.html:31 #: templates/wireless/inc/wirelesslink_interface.html:10 #: templates/wireless/wirelesslink.html:10 -#: templates/wireless/wirelesslink.html:49 -#: virtualization/forms/model_forms.py:351 vpn/forms/bulk_import.py:297 +#: templates/wireless/wirelesslink.html:45 +#: virtualization/forms/model_forms.py:348 vpn/forms/bulk_import.py:297 #: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 -#: wireless/forms/model_forms.py:112 wireless/forms/model_forms.py:152 +#: wireless/forms/model_forms.py:113 wireless/forms/model_forms.py:155 msgid "Interface" msgstr "Interface" -#: dcim/forms/model_forms.py:1285 +#: dcim/forms/model_forms.py:1090 dcim/forms/model_forms.py:1528 +#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:17 +#: templates/dcim/consoleserverport.html:74 templates/dcim/frontport.html:112 +msgid "Console Port" +msgstr "Port de console" + +#: dcim/forms/model_forms.py:1091 dcim/forms/model_forms.py:1529 +#: templates/dcim/consoleport.html:73 templates/dcim/consoleserverport.html:17 +#: templates/dcim/frontport.html:109 +msgid "Console Server Port" +msgstr "Port du serveur de consoles" + +#: dcim/forms/model_forms.py:1092 dcim/forms/model_forms.py:1530 +#: templates/circuits/inc/circuit_termination.html:78 +#: templates/dcim/consoleport.html:76 templates/dcim/consoleserverport.html:77 +#: templates/dcim/frontport.html:17 templates/dcim/frontport.html:115 +#: templates/dcim/interface.html:187 templates/dcim/rearport.html:105 +msgid "Front Port" +msgstr "Port avant" + +#: dcim/forms/model_forms.py:1093 dcim/forms/model_forms.py:1531 +#: dcim/tables/devices.py:705 +#: templates/circuits/inc/circuit_termination.html:79 +#: templates/dcim/consoleport.html:79 templates/dcim/consoleserverport.html:80 +#: templates/dcim/frontport.html:50 templates/dcim/frontport.html:118 +#: templates/dcim/interface.html:190 templates/dcim/rearport.html:17 +#: templates/dcim/rearport.html:108 +msgid "Rear Port" +msgstr "Port arrière" + +#: dcim/forms/model_forms.py:1094 dcim/forms/model_forms.py:1532 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:505 +#: templates/dcim/poweroutlet.html:44 templates/dcim/powerport.html:17 +msgid "Power Port" +msgstr "Port d'alimentation" + +#: dcim/forms/model_forms.py:1095 dcim/forms/model_forms.py:1533 +#: templates/dcim/poweroutlet.html:17 templates/dcim/powerport.html:77 +msgid "Power Outlet" +msgstr "Prise de courant" + +#: dcim/forms/model_forms.py:1097 dcim/forms/model_forms.py:1535 +msgid "Component Assignment" +msgstr "Affectation des composants" + +#: dcim/forms/model_forms.py:1140 dcim/forms/model_forms.py:1582 +msgid "An InventoryItem can only be assigned to a single component." +msgstr "Un article d'inventaire ne peut être attribué qu'à un seul composant." + +#: dcim/forms/model_forms.py:1277 +msgid "LAG interface" +msgstr "Interface LAG" + +#: dcim/forms/model_forms.py:1428 msgid "Child Device" msgstr "Appareil pour enfants" -#: dcim/forms/model_forms.py:1286 +#: dcim/forms/model_forms.py:1429 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." msgstr "" -"Les appareils enfants doivent d'abord être créés et affectés au site et au " -"rack de l'appareil parent." +"Les appareils enfants doivent d'abord être créés et affectés au site et à la" +" baie de l'appareil parent." -#: dcim/forms/model_forms.py:1328 +#: dcim/forms/model_forms.py:1471 msgid "Console port" msgstr "Port de console" -#: dcim/forms/model_forms.py:1336 +#: dcim/forms/model_forms.py:1479 msgid "Console server port" msgstr "Port du serveur de console" -#: dcim/forms/model_forms.py:1344 +#: dcim/forms/model_forms.py:1487 msgid "Front port" msgstr "Port avant" -#: dcim/forms/model_forms.py:1360 +#: dcim/forms/model_forms.py:1503 msgid "Power outlet" msgstr "prise de courant" -#: dcim/forms/model_forms.py:1380 templates/dcim/inventoryitem.html:17 -#: templates/dcim/inventoryitem_edit.html:10 +#: dcim/forms/model_forms.py:1523 templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Article d'inventaire" -#: dcim/forms/model_forms.py:1432 -msgid "An InventoryItem can only be assigned to a single component." -msgstr "Un article d'inventaire ne peut être attribué qu'à un seul composant." - -#: dcim/forms/model_forms.py:1446 templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1596 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Rôle de l'article d'inventaire" -#: dcim/forms/model_forms.py:1466 templates/dcim/device.html:195 -#: templates/dcim/virtualdevicecontext.html:33 -#: templates/virtualization/virtualmachine.html:51 +#: dcim/forms/model_forms.py:1614 templates/dcim/device.html:187 +#: templates/dcim/virtualdevicecontext.html:30 +#: templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "IPv4 principal" -#: dcim/forms/model_forms.py:1475 templates/dcim/device.html:211 -#: templates/dcim/virtualdevicecontext.html:44 -#: templates/virtualization/virtualmachine.html:67 +#: dcim/forms/model_forms.py:1623 templates/dcim/device.html:203 +#: templates/dcim/virtualdevicecontext.html:41 +#: templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" msgstr "IPv6 principal" -#: dcim/forms/object_create.py:47 dcim/forms/object_create.py:198 -#: dcim/forms/object_create.py:354 +#: dcim/forms/object_create.py:48 dcim/forms/object_create.py:199 +#: dcim/forms/object_create.py:355 msgid "" "Alphanumeric ranges are supported. (Must match the number of objects being " "created.)" @@ -3846,7 +4120,7 @@ msgstr "" "Les plages alphanumériques sont prises en charge. (Doit correspondre au " "nombre d'objets en cours de création.)" -#: dcim/forms/object_create.py:67 +#: dcim/forms/object_create.py:68 #, python-brace-format msgid "" "The provided pattern specifies {value_count} values, but {pattern_count} are" @@ -3855,18 +4129,18 @@ msgstr "" "Le modèle fourni spécifie {value_count} des valeurs, mais {pattern_count} " "sont attendus." -#: dcim/forms/object_create.py:109 dcim/forms/object_create.py:270 -#: dcim/tables/devices.py:285 +#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271 +#: dcim/tables/devices.py:257 msgid "Rear ports" msgstr "Ports arrière" -#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271 +#: dcim/forms/object_create.py:111 dcim/forms/object_create.py:272 msgid "Select one rear port assignment for each front port being created." msgstr "" "Sélectionnez une attribution de port arrière pour chaque port avant en cours" " de création." -#: dcim/forms/object_create.py:163 +#: dcim/forms/object_create.py:164 #, python-brace-format msgid "" "The number of front port templates to be created ({frontport_count}) must " @@ -3876,7 +4150,7 @@ msgstr "" "correspondre au nombre sélectionné de positions des ports arrière " "({rearport_count})." -#: dcim/forms/object_create.py:250 +#: dcim/forms/object_create.py:251 #, python-brace-format msgid "" "The string {module} will be replaced with the position of the " @@ -3885,7 +4159,7 @@ msgstr "" "La ficelle {module} sera remplacé par la position du module " "attribué, le cas échéant." -#: dcim/forms/object_create.py:319 +#: dcim/forms/object_create.py:320 #, python-brace-format msgid "" "The number of front ports to be created ({frontport_count}) must match the " @@ -3894,17 +4168,17 @@ msgstr "" "Le nombre de ports frontaux à créer ({frontport_count}) doit correspondre au" " nombre sélectionné de positions des ports arrière ({rearport_count})." -#: dcim/forms/object_create.py:408 dcim/tables/devices.py:1043 -#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:54 -#: templates/dcim/virtualchassis_edit.html:48 templates/ipam/fhrpgroup.html:39 +#: dcim/forms/object_create.py:409 dcim/tables/devices.py:1016 +#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:53 +#: templates/dcim/virtualchassis_edit.html:47 templates/ipam/fhrpgroup.html:38 msgid "Members" msgstr "Membres" -#: dcim/forms/object_create.py:417 +#: dcim/forms/object_create.py:418 msgid "Initial position" msgstr "Position initiale" -#: dcim/forms/object_create.py:420 +#: dcim/forms/object_create.py:421 msgid "" "Position of the first member device. Increases by one for each additional " "member." @@ -3912,12 +4186,12 @@ msgstr "" "Position du premier dispositif membre. Augmente d'une unité pour chaque " "membre supplémentaire." -#: dcim/forms/object_create.py:434 +#: dcim/forms/object_create.py:435 msgid "A position must be specified for the first VC member." msgstr "Une position doit être spécifiée pour le premier membre du VC." #: dcim/models/cables.py:62 dcim/models/device_component_templates.py:55 -#: dcim/models/device_components.py:63 extras/models/customfields.py:108 +#: dcim/models/device_components.py:63 extras/models/customfields.py:109 msgid "label" msgstr "étiquette" @@ -3975,7 +4249,7 @@ msgstr "terminaison de câble" msgid "cable terminations" msgstr "terminaisons de câble" -#: dcim/models/cables.py:327 +#: dcim/models/cables.py:331 #, python-brace-format msgid "" "Duplicate termination found for {app_label}.{model} {termination_id}: cable " @@ -3984,34 +4258,34 @@ msgstr "" "Un doublon de résiliation a été trouvé pour {app_label}.{model} " "{termination_id}: câble {cable_pk}" -#: dcim/models/cables.py:337 +#: dcim/models/cables.py:341 #, python-brace-format msgid "Cables cannot be terminated to {type_display} interfaces" msgstr "Les câbles ne peuvent pas être raccordés à {type_display} interfaces" -#: dcim/models/cables.py:344 +#: dcim/models/cables.py:348 msgid "Circuit terminations attached to a provider network may not be cabled." msgstr "" "Les terminaisons de circuit connectées au réseau d'un fournisseur peuvent ne" " pas être câblées." -#: dcim/models/cables.py:442 extras/models/configs.py:50 +#: dcim/models/cables.py:446 extras/models/configs.py:50 msgid "is active" msgstr "est actif" -#: dcim/models/cables.py:446 +#: dcim/models/cables.py:450 msgid "is complete" msgstr "est terminé" -#: dcim/models/cables.py:450 +#: dcim/models/cables.py:454 msgid "is split" msgstr "est divisé" -#: dcim/models/cables.py:458 +#: dcim/models/cables.py:462 msgid "cable path" msgstr "chemin de câble" -#: dcim/models/cables.py:459 +#: dcim/models/cables.py:463 msgid "cable paths" msgstr "chemins de câbles" @@ -4149,7 +4423,7 @@ msgstr "modèles d'interface" #: dcim/models/device_component_templates.py:437 #: dcim/models/device_components.py:805 -#: virtualization/models/virtualmachines.py:398 +#: virtualization/models/virtualmachines.py:400 msgid "An interface cannot be bridged to itself." msgstr "Une interface ne peut pas être reliée à elle-même." @@ -4396,22 +4670,22 @@ msgid "wireless LANs" msgstr "réseaux locaux sans fil" #: dcim/models/device_components.py:698 -#: virtualization/models/virtualmachines.py:328 +#: virtualization/models/virtualmachines.py:330 msgid "untagged VLAN" msgstr "VLAN non balisé" #: dcim/models/device_components.py:704 -#: virtualization/models/virtualmachines.py:334 +#: virtualization/models/virtualmachines.py:336 msgid "tagged VLANs" msgstr "VLAN étiquetés" #: dcim/models/device_components.py:746 -#: virtualization/models/virtualmachines.py:370 +#: virtualization/models/virtualmachines.py:372 msgid "interface" msgstr "interface" #: dcim/models/device_components.py:747 -#: virtualization/models/virtualmachines.py:371 +#: virtualization/models/virtualmachines.py:373 msgid "interfaces" msgstr "interfaces" @@ -4428,7 +4702,7 @@ msgstr "" "{display_type} les interfaces ne peuvent pas être marquées comme connectées." #: dcim/models/device_components.py:775 -#: virtualization/models/virtualmachines.py:383 +#: virtualization/models/virtualmachines.py:385 msgid "An interface cannot be its own parent." msgstr "Une interface ne peut pas être son propre parent." @@ -4641,12 +4915,12 @@ msgid "inventory item roles" msgstr "rôles des articles d'inventaire" #: dcim/models/device_components.py:1230 dcim/models/devices.py:597 -#: dcim/models/devices.py:1178 dcim/models/racks.py:113 +#: dcim/models/devices.py:1163 dcim/models/racks.py:114 msgid "serial number" msgstr "numéro de série" #: dcim/models/device_components.py:1238 dcim/models/devices.py:605 -#: dcim/models/devices.py:1185 dcim/models/racks.py:120 +#: dcim/models/devices.py:1170 dcim/models/racks.py:121 msgid "asset tag" msgstr "étiquette d'actif" @@ -4712,7 +4986,7 @@ msgstr "numéro de pièce" msgid "Discrete part number (optional)" msgstr "Numéro de pièce discret (facultatif)" -#: dcim/models/devices.py:107 dcim/models/racks.py:137 +#: dcim/models/devices.py:107 dcim/models/racks.py:138 msgid "height (U)" msgstr "hauteur (U)" @@ -4723,7 +4997,7 @@ msgstr "exclure de l'utilisation" #: dcim/models/devices.py:112 msgid "Devices of this type are excluded when calculating rack utilization." msgstr "" -"Les appareils de ce type sont exclus du calcul de l'utilisation des racks." +"Les appareils de ce type sont exclus du calcul de l'utilisation des baies." #: dcim/models/devices.py:116 msgid "is full depth" @@ -4731,7 +5005,7 @@ msgstr "est en pleine profondeur" #: dcim/models/devices.py:117 msgid "Device consumes both front and rear rack faces." -msgstr "L'appareil consomme à la fois les faces avant et arrière du châssis." +msgstr "L'appareil consomme à la fois les faces avant et arrière de la baie." #: dcim/models/devices.py:123 msgid "parent/child status" @@ -4760,8 +5034,7 @@ msgstr "types d'appareils" #: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." -msgstr "" -"La hauteur en U doit être exprimée par incréments de 0,5 unité de rack." +msgstr "La hauteur en U doit être exprimée par incréments de 0,5 unité baie." #: dcim/models/devices.py:307 #, python-brace-format @@ -4769,7 +5042,7 @@ msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" " a height of {height}U" msgstr "" -"Appareil {device} en rack {rack} ne dispose pas de suffisamment d'espace " +"Appareil {device} en baie {rack} ne dispose pas de suffisamment d'espace " "pour accueillir une hauteur de {height}U" #: dcim/models/devices.py:322 @@ -4778,9 +5051,9 @@ msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." msgstr "" -"Impossible de définir la hauteur 0U : trouvé {racked_instance_count} les instances déjà monté dans des" -" racks." +" baies." #: dcim/models/devices.py:331 msgid "" @@ -4836,7 +5109,7 @@ msgstr "La fonction de cet appareil" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Numéro de série du châssis, attribué par le fabricant" -#: dcim/models/devices.py:606 dcim/models/devices.py:1186 +#: dcim/models/devices.py:606 dcim/models/devices.py:1171 msgid "A unique tag used to identify this device" msgstr "Un tag unique utilisé pour identifier cet appareil" @@ -4846,15 +5119,15 @@ msgstr "position (U)" #: dcim/models/devices.py:640 msgid "rack face" -msgstr "face du rack" +msgstr "face de la baie" -#: dcim/models/devices.py:660 dcim/models/devices.py:1395 -#: virtualization/models/virtualmachines.py:98 +#: dcim/models/devices.py:660 dcim/models/devices.py:1380 +#: virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "IPv4 principal" -#: dcim/models/devices.py:668 dcim/models/devices.py:1403 -#: virtualization/models/virtualmachines.py:106 +#: dcim/models/devices.py:668 dcim/models/devices.py:1388 +#: virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "IPv6 principal" @@ -4866,101 +5139,104 @@ msgstr "IP hors bande" msgid "VC position" msgstr "Position en VC" -#: dcim/models/devices.py:697 +#: dcim/models/devices.py:696 msgid "Virtual chassis position" msgstr "Position virtuelle du châssis" -#: dcim/models/devices.py:700 +#: dcim/models/devices.py:699 msgid "VC priority" msgstr "Priorité VC" -#: dcim/models/devices.py:704 +#: dcim/models/devices.py:703 msgid "Virtual chassis master election priority" msgstr "Priorité d'élection principale du châssis virtuel" -#: dcim/models/devices.py:707 dcim/models/sites.py:207 +#: dcim/models/devices.py:706 dcim/models/sites.py:207 msgid "latitude" msgstr "latitude" -#: dcim/models/devices.py:712 dcim/models/devices.py:720 +#: dcim/models/devices.py:711 dcim/models/devices.py:719 #: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "Coordonnées GPS au format décimal (xx.yyyyyy)" -#: dcim/models/devices.py:715 dcim/models/sites.py:215 +#: dcim/models/devices.py:714 dcim/models/sites.py:215 msgid "longitude" msgstr "longitude" -#: dcim/models/devices.py:788 +#: dcim/models/devices.py:787 msgid "Device name must be unique per site." msgstr "Le nom de l'appareil doit être unique par site." -#: dcim/models/devices.py:799 ipam/models/services.py:75 +#: dcim/models/devices.py:798 ipam/models/services.py:74 msgid "device" msgstr "appareil" -#: dcim/models/devices.py:800 +#: dcim/models/devices.py:799 msgid "devices" msgstr "appareils" -#: dcim/models/devices.py:840 +#: dcim/models/devices.py:825 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." -msgstr "Étagère {rack} n'appartient pas au site {site}." +msgstr "La baie {rack} n'appartient pas au site {site}." -#: dcim/models/devices.py:845 +#: dcim/models/devices.py:830 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "Emplacement {location} n'appartient pas au site {site}." -#: dcim/models/devices.py:851 +#: dcim/models/devices.py:836 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." -msgstr "Étagère {rack} n'appartient pas au lieu {location}." +msgstr "La baie {rack} n'appartient pas au lieu {location}." -#: dcim/models/devices.py:858 +#: dcim/models/devices.py:843 msgid "Cannot select a rack face without assigning a rack." -msgstr "Impossible de sélectionner une face de rack sans attribuer un rack." +msgstr "" +"Impossible de sélectionner la face de baie sans d'abord attribuer une baie." -#: dcim/models/devices.py:862 +#: dcim/models/devices.py:847 msgid "Cannot select a rack position without assigning a rack." msgstr "" -"Impossible de sélectionner une position de rack sans attribuer un rack." +"Impossible de sélectionner une position en baie sans l'attribuer en premier " +"dans une baie." -#: dcim/models/devices.py:868 +#: dcim/models/devices.py:853 msgid "Position must be in increments of 0.5 rack units." -msgstr "La position doit être exprimée par incréments de 0,5 unité de rack." +msgstr "La position doit être exprimée par incréments de 0,5 unité de baie." -#: dcim/models/devices.py:872 +#: dcim/models/devices.py:857 msgid "Must specify rack face when defining rack position." msgstr "" -"Doit spécifier la face du rack lors de la définition de la position du rack." +"Doit spécifier la face de la baie lors de la définition de la position en " +"baie." -#: dcim/models/devices.py:880 +#: dcim/models/devices.py:865 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" "Un appareil de type 0U ({device_type}) ne peut pas être attribué à une " -"position de rack." +"position en baie." -#: dcim/models/devices.py:891 +#: dcim/models/devices.py:876 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." msgstr "" -"Les types d'appareils pour enfants ne peuvent pas être attribués à une face " -"de rack. Il s'agit d'un attribut de l'appareil parent." +"Les appareils de type enfant ne peuvent pas être attribués à une face de " +"baie. Il s'agit d'un attribut de l'appareil parent." -#: dcim/models/devices.py:898 +#: dcim/models/devices.py:883 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." msgstr "" -"Les types d'appareils pour enfants ne peuvent pas être affectés à une " -"position en rack. Il s'agit d'un attribut de l'appareil parent." +"Les appareils de type enfant ne peuvent pas être affectés à une position en " +"baie. Il s'agit d'un attribut de l'appareil parent." -#: dcim/models/devices.py:912 +#: dcim/models/devices.py:897 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " @@ -4969,22 +5245,22 @@ msgstr "" "U{position} est déjà occupé ou ne dispose pas de suffisamment d'espace pour " "accueillir ce type d'appareil : {device_type} ({u_height}U)" -#: dcim/models/devices.py:927 +#: dcim/models/devices.py:912 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "{ip} n'est pas une adresse IPv4." -#: dcim/models/devices.py:936 dcim/models/devices.py:951 +#: dcim/models/devices.py:921 dcim/models/devices.py:936 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "L'adresse IP spécifiée ({ip}) n'est pas attribué à cet appareil." -#: dcim/models/devices.py:942 +#: dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "{ip} n'est pas une adresse IPv6." -#: dcim/models/devices.py:969 +#: dcim/models/devices.py:954 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " @@ -4994,25 +5270,25 @@ msgstr "" "d'appareils, mais le type de cet appareil appartient à " "{devicetype_manufacturer}." -#: dcim/models/devices.py:980 +#: dcim/models/devices.py:965 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "Le cluster attribué appartient à un autre site ({site})" -#: dcim/models/devices.py:988 +#: dcim/models/devices.py:973 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "La position d'un appareil affecté à un châssis virtuel doit être définie." -#: dcim/models/devices.py:1193 +#: dcim/models/devices.py:1178 msgid "module" msgstr "module" -#: dcim/models/devices.py:1194 +#: dcim/models/devices.py:1179 msgid "modules" msgstr "modules" -#: dcim/models/devices.py:1210 +#: dcim/models/devices.py:1195 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -5021,22 +5297,22 @@ msgstr "" "Le module doit être installé dans une baie de modules appartenant au " "périphérique attribué ({device})." -#: dcim/models/devices.py:1314 +#: dcim/models/devices.py:1299 msgid "domain" msgstr "domaine" -#: dcim/models/devices.py:1327 dcim/models/devices.py:1328 +#: dcim/models/devices.py:1312 dcim/models/devices.py:1313 msgid "virtual chassis" msgstr "châssis virtuel" -#: dcim/models/devices.py:1343 +#: dcim/models/devices.py:1328 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "Le master sélectionné ({master}) n'est pas attribué à ce châssis virtuel." -#: dcim/models/devices.py:1359 +#: dcim/models/devices.py:1344 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -5045,41 +5321,42 @@ msgstr "" "Impossible de supprimer le châssis virtuel {self}. Il existe des interfaces " "membres qui forment des interfaces LAG inter-châssis." -#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1369 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificateur" -#: dcim/models/devices.py:1385 +#: dcim/models/devices.py:1370 msgid "Numeric identifier unique to the parent device" msgstr "Identifiant numérique propre à l'appareil parent" -#: dcim/models/devices.py:1413 extras/models/models.py:129 -#: extras/models/models.py:724 netbox/models/__init__.py:114 +#: dcim/models/devices.py:1398 extras/models/customfields.py:210 +#: extras/models/models.py:127 extras/models/models.py:722 +#: netbox/models/__init__.py:114 msgid "comments" msgstr "commentaires" -#: dcim/models/devices.py:1429 +#: dcim/models/devices.py:1414 msgid "virtual device context" msgstr "contexte du périphérique virtuel" -#: dcim/models/devices.py:1430 +#: dcim/models/devices.py:1415 msgid "virtual device contexts" msgstr "contextes de périphériques virtuels" -#: dcim/models/devices.py:1462 +#: dcim/models/devices.py:1447 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} n'est pas un IPV{family} adresse." -#: dcim/models/devices.py:1468 +#: dcim/models/devices.py:1453 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "L'adresse IP principale doit appartenir à une interface sur l'appareil " "attribué." #: dcim/models/mixins.py:15 extras/models/configs.py:41 -#: extras/models/models.py:343 extras/models/models.py:552 -#: extras/models/search.py:50 ipam/models/ip.py:193 +#: extras/models/models.py:341 extras/models/models.py:550 +#: extras/models/search.py:48 ipam/models/ip.py:193 msgid "weight" msgstr "poids" @@ -5107,144 +5384,144 @@ msgstr "" "Emplacement {location} ({location_site}) se trouve sur un site différent de " "{site}" -#: dcim/models/power.py:107 +#: dcim/models/power.py:108 msgid "supply" msgstr "fourniture" -#: dcim/models/power.py:113 +#: dcim/models/power.py:114 msgid "phase" msgstr "phase" -#: dcim/models/power.py:119 +#: dcim/models/power.py:120 msgid "voltage" msgstr "tension" -#: dcim/models/power.py:124 +#: dcim/models/power.py:125 msgid "amperage" msgstr "ampérage" -#: dcim/models/power.py:129 +#: dcim/models/power.py:130 msgid "max utilization" msgstr "utilisation maximale" -#: dcim/models/power.py:132 +#: dcim/models/power.py:133 msgid "Maximum permissible draw (percentage)" msgstr "Tirage maximum autorisé (pourcentage)" -#: dcim/models/power.py:135 +#: dcim/models/power.py:136 msgid "available power" msgstr "puissance disponible" -#: dcim/models/power.py:163 +#: dcim/models/power.py:164 msgid "power feed" msgstr "alimentation" -#: dcim/models/power.py:164 +#: dcim/models/power.py:165 msgid "power feeds" msgstr "alimentations" -#: dcim/models/power.py:178 +#: dcim/models/power.py:179 #, python-brace-format msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " "are in different sites." msgstr "" -"Étagère {rack} ({rack_site}) et panneau d'alimentation {powerpanel} " +"Baie {rack} ({rack_site}) et panneau d'alimentation {powerpanel} " "({powerpanel_site}) se trouvent sur des sites différents." -#: dcim/models/power.py:189 +#: dcim/models/power.py:190 msgid "Voltage cannot be negative for AC supply" msgstr "" "La tension ne peut pas être négative pour l'alimentation en courant " "alternatif" -#: dcim/models/racks.py:49 -msgid "rack role" -msgstr "rôle de rack" - #: dcim/models/racks.py:50 -msgid "rack roles" -msgstr "rôles de rack" +msgid "rack role" +msgstr "rôle de la baie" -#: dcim/models/racks.py:74 +#: dcim/models/racks.py:51 +msgid "rack roles" +msgstr "rôles de la baie" + +#: dcim/models/racks.py:75 msgid "facility ID" msgstr "ID de l'établissement" -#: dcim/models/racks.py:75 +#: dcim/models/racks.py:76 msgid "Locally-assigned identifier" msgstr "Identifiant attribué localement" -#: dcim/models/racks.py:108 ipam/forms/bulk_import.py:200 +#: dcim/models/racks.py:109 ipam/forms/bulk_import.py:200 #: ipam/forms/bulk_import.py:265 ipam/forms/bulk_import.py:300 #: ipam/forms/bulk_import.py:467 virtualization/forms/bulk_import.py:112 msgid "Functional role" msgstr "Rôle fonctionnel" -#: dcim/models/racks.py:121 +#: dcim/models/racks.py:122 msgid "A unique tag used to identify this rack" -msgstr "Une étiquette unique utilisée pour identifier ce rack" +msgstr "Une étiquette unique utilisée pour identifier cette baie" -#: dcim/models/racks.py:132 +#: dcim/models/racks.py:133 msgid "width" msgstr "largeur" -#: dcim/models/racks.py:133 +#: dcim/models/racks.py:134 msgid "Rail-to-rail width" msgstr "Largeur rail à rail" -#: dcim/models/racks.py:139 +#: dcim/models/racks.py:140 msgid "Height in rack units" -msgstr "Hauteur en unités de rayonnage" +msgstr "Hauteur en U de la baie" -#: dcim/models/racks.py:143 +#: dcim/models/racks.py:144 msgid "starting unit" msgstr "unité de départ" -#: dcim/models/racks.py:145 +#: dcim/models/racks.py:146 msgid "Starting unit for rack" -msgstr "Unité de départ pour rack" +msgstr "Unité de départ pour baie" -#: dcim/models/racks.py:149 +#: dcim/models/racks.py:150 msgid "descending units" msgstr "unités décroissantes" -#: dcim/models/racks.py:150 +#: dcim/models/racks.py:151 msgid "Units are numbered top-to-bottom" msgstr "Les unités sont numérotées de haut en bas" -#: dcim/models/racks.py:153 +#: dcim/models/racks.py:154 msgid "outer width" msgstr "largeur extérieure" -#: dcim/models/racks.py:156 +#: dcim/models/racks.py:157 msgid "Outer dimension of rack (width)" -msgstr "Dimension extérieure du rack (largeur)" +msgstr "Dimension extérieure de la baie (largeur)" -#: dcim/models/racks.py:159 +#: dcim/models/racks.py:160 msgid "outer depth" msgstr "profondeur extérieure" -#: dcim/models/racks.py:162 +#: dcim/models/racks.py:163 msgid "Outer dimension of rack (depth)" -msgstr "Dimension extérieure du rack (profondeur)" +msgstr "Dimension extérieure de la baie (profondeur)" -#: dcim/models/racks.py:165 +#: dcim/models/racks.py:166 msgid "outer unit" msgstr "unité extérieure" -#: dcim/models/racks.py:171 +#: dcim/models/racks.py:172 msgid "max weight" msgstr "poids maximum" -#: dcim/models/racks.py:174 +#: dcim/models/racks.py:175 msgid "Maximum load capacity for the rack" -msgstr "Capacité de charge maximale du rack" +msgstr "Capacité de charge maximale de la baie" -#: dcim/models/racks.py:182 +#: dcim/models/racks.py:183 msgid "mounting depth" msgstr "profondeur de montage" -#: dcim/models/racks.py:186 +#: dcim/models/racks.py:187 msgid "" "Maximum depth of a mounted device, in millimeters. For four-post racks, this" " is the distance between the front and rear rails." @@ -5252,69 +5529,69 @@ msgstr "" "Profondeur maximale d'un appareil monté, en millimètres. Pour les supports à" " quatre montants, il s'agit de la distance entre les rails avant et arrière." -#: dcim/models/racks.py:220 -msgid "rack" -msgstr "rack" - #: dcim/models/racks.py:221 -msgid "racks" -msgstr "étagères" +msgid "rack" +msgstr "baie" -#: dcim/models/racks.py:236 +#: dcim/models/racks.py:222 +msgid "racks" +msgstr "baies" + +#: dcim/models/racks.py:237 #, python-brace-format msgid "Assigned location must belong to parent site ({site})." msgstr "L'emplacement attribué doit appartenir au site parent ({site})." -#: dcim/models/racks.py:240 +#: dcim/models/racks.py:241 msgid "Must specify a unit when setting an outer width/depth" msgstr "" "Doit spécifier une unité lors du réglage d'une largeur/profondeur extérieure" -#: dcim/models/racks.py:244 +#: dcim/models/racks.py:245 msgid "Must specify a unit when setting a maximum weight" msgstr "Doit spécifier une unité lors de la définition d'un poids maximum" -#: dcim/models/racks.py:254 +#: dcim/models/racks.py:255 #, python-brace-format msgid "" "Rack must be at least {min_height}U tall to house currently installed " "devices." msgstr "" -"Le rack doit être au moins {min_height}Je parle pour héberger les appareils " +"La baie doit être au moins {min_height} pour héberger les appareils " "actuellement installés." -#: dcim/models/racks.py:261 +#: dcim/models/racks.py:262 #, python-brace-format msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." msgstr "" -"La numérotation des unités de rayonnage doit commencer à {position} ou moins" -" pour héberger les appareils actuellement installés." +"La numérotation des unités de baie doit commencer à {position} ou moins pour" +" héberger les appareils actuellement installés." -#: dcim/models/racks.py:269 +#: dcim/models/racks.py:270 #, python-brace-format msgid "Location must be from the same site, {site}." msgstr "L'emplacement doit provenir du même site, {site}." -#: dcim/models/racks.py:522 +#: dcim/models/racks.py:523 msgid "units" msgstr "des unités" -#: dcim/models/racks.py:548 -msgid "rack reservation" -msgstr "réservation de rayonnages" - #: dcim/models/racks.py:549 -msgid "rack reservations" -msgstr "réservations de racks" +msgid "rack reservation" +msgstr "réservation de baie" -#: dcim/models/racks.py:566 +#: dcim/models/racks.py:550 +msgid "rack reservations" +msgstr "réservations de baies" + +#: dcim/models/racks.py:567 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" -msgstr "Unité (s) non valide (s) pour {height}Étagère en U : {unit_list}" +msgstr "Unité(s) non valide(s) pour une baie à {height}U : {unit_list}" -#: dcim/models/racks.py:579 +#: dcim/models/racks.py:580 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" msgstr "Les unités suivantes ont déjà été réservées : {unit_list}" @@ -5355,11 +5632,11 @@ msgstr "groupes de sites" msgid "Full name of the site" msgstr "Nom complet du site" -#: dcim/models/sites.py:181 +#: dcim/models/sites.py:181 dcim/models/sites.py:279 msgid "facility" msgstr "installation" -#: dcim/models/sites.py:184 +#: dcim/models/sites.py:184 dcim/models/sites.py:282 msgid "Local facility ID or description" msgstr "Identifiant ou description de l'établissement local" @@ -5387,23 +5664,23 @@ msgstr "site" msgid "sites" msgstr "sites" -#: dcim/models/sites.py:303 +#: dcim/models/sites.py:309 msgid "A location with this name already exists within the specified site." msgstr "Un emplacement portant ce nom existe déjà au sein du site spécifié." -#: dcim/models/sites.py:313 +#: dcim/models/sites.py:319 msgid "A location with this slug already exists within the specified site." msgstr "Un emplacement contenant ce slug existe déjà dans le site spécifié." -#: dcim/models/sites.py:316 +#: dcim/models/sites.py:322 msgid "location" msgstr "emplacement" -#: dcim/models/sites.py:317 +#: dcim/models/sites.py:323 msgid "locations" msgstr "les lieux" -#: dcim/models/sites.py:331 +#: dcim/models/sites.py:337 #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" @@ -5436,11 +5713,11 @@ msgstr "Lieu B" #: dcim/tables/cables.py:89 msgid "Rack A" -msgstr "Étagère A" +msgstr "Baie A" #: dcim/tables/cables.py:95 msgid "Rack B" -msgstr "Étagère B" +msgstr "Baie B" #: dcim/tables/cables.py:101 msgid "Site A" @@ -5450,109 +5727,102 @@ msgstr "Site A" msgid "Site B" msgstr "Site B" -#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:18 -#: templates/dcim/consoleserverport.html:75 templates/dcim/frontport.html:119 -#: templates/dcim/inventoryitem_edit.html:39 -msgid "Console Port" -msgstr "Port de console" - #: dcim/tables/connections.py:31 dcim/tables/connections.py:50 #: dcim/tables/connections.py:71 #: templates/dcim/inc/connection_endpoints.html:16 msgid "Reachable" msgstr "Joignable" -#: dcim/tables/connections.py:46 dcim/tables/devices.py:533 -#: templates/dcim/inventoryitem_edit.html:64 -#: templates/dcim/poweroutlet.html:47 templates/dcim/powerport.html:18 -msgid "Power Port" -msgstr "Port d'alimentation" - -#: dcim/tables/devices.py:94 dcim/tables/devices.py:139 +#: dcim/tables/devices.py:66 dcim/tables/devices.py:111 #: dcim/tables/racks.py:81 dcim/tables/sites.py:143 -#: netbox/navigation/menu.py:57 netbox/navigation/menu.py:61 -#: netbox/navigation/menu.py:63 virtualization/forms/model_forms.py:125 +#: extras/tables/tables.py:435 netbox/navigation/menu.py:56 +#: netbox/navigation/menu.py:60 netbox/navigation/menu.py:62 +#: virtualization/forms/model_forms.py:122 #: virtualization/tables/clusters.py:83 virtualization/views.py:211 msgid "Devices" msgstr "Appareils" -#: dcim/tables/devices.py:99 dcim/tables/devices.py:144 +#: dcim/tables/devices.py:71 dcim/tables/devices.py:116 #: virtualization/tables/clusters.py:88 msgid "VMs" msgstr "machines virtuelles" -#: dcim/tables/devices.py:133 dcim/tables/devices.py:249 -#: extras/forms/model_forms.py:515 templates/dcim/device.html:114 +#: dcim/tables/devices.py:105 dcim/tables/devices.py:221 +#: extras/forms/model_forms.py:509 templates/dcim/device.html:111 #: templates/dcim/device/render_config.html:11 -#: templates/dcim/device/render_config.html:15 -#: templates/dcim/devicerole.html:47 templates/dcim/platform.html:44 +#: templates/dcim/device/render_config.html:14 +#: templates/dcim/devicerole.html:44 templates/dcim/platform.html:41 #: templates/extras/configtemplate.html:10 -#: templates/virtualization/virtualmachine.html:47 +#: templates/virtualization/virtualmachine.html:44 #: templates/virtualization/virtualmachine/render_config.html:11 -#: templates/virtualization/virtualmachine/render_config.html:15 +#: templates/virtualization/virtualmachine/render_config.html:14 #: virtualization/tables/virtualmachines.py:106 msgid "Config Template" msgstr "Modèle de configuration" -#: dcim/tables/devices.py:220 dcim/tables/devices.py:1078 -#: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:296 -#: ipam/tables/ip.py:352 ipam/tables/ip.py:418 ipam/tables/ip.py:441 -#: templates/ipam/ipaddress.html:12 templates/ipam/ipaddress_edit.html:14 +#: dcim/tables/devices.py:155 templates/dcim/sitegroup.html:26 +msgid "Site Group" +msgstr "Groupe de sites" + +#: dcim/tables/devices.py:192 dcim/tables/devices.py:1051 +#: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:304 +#: ipam/forms/model_forms.py:313 ipam/tables/ip.py:352 ipam/tables/ip.py:418 +#: ipam/tables/ip.py:441 templates/ipam/ipaddress.html:11 #: virtualization/tables/virtualmachines.py:94 msgid "IP Address" msgstr "Adresse IP" -#: dcim/tables/devices.py:224 dcim/tables/devices.py:1082 +#: dcim/tables/devices.py:196 dcim/tables/devices.py:1055 #: virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "Adresse IPv4" -#: dcim/tables/devices.py:228 dcim/tables/devices.py:1086 +#: dcim/tables/devices.py:200 dcim/tables/devices.py:1059 #: virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "Adresse IPv6" -#: dcim/tables/devices.py:243 +#: dcim/tables/devices.py:215 msgid "VC Position" msgstr "Position en VC" -#: dcim/tables/devices.py:246 +#: dcim/tables/devices.py:218 msgid "VC Priority" msgstr "Priorité VC" -#: dcim/tables/devices.py:253 templates/dcim/device_edit.html:38 +#: dcim/tables/devices.py:225 templates/dcim/device_edit.html:38 #: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "Appareil parent" -#: dcim/tables/devices.py:258 +#: dcim/tables/devices.py:230 msgid "Position (Device Bay)" msgstr "Position (baie de l'appareil)" -#: dcim/tables/devices.py:267 +#: dcim/tables/devices.py:239 msgid "Console ports" msgstr "Ports de console" -#: dcim/tables/devices.py:270 +#: dcim/tables/devices.py:242 msgid "Console server ports" msgstr "Ports du serveur de consoles" -#: dcim/tables/devices.py:273 +#: dcim/tables/devices.py:245 msgid "Power ports" msgstr "Ports d'alimentation" -#: dcim/tables/devices.py:276 +#: dcim/tables/devices.py:248 msgid "Power outlets" msgstr "Prises de courant" -#: dcim/tables/devices.py:279 dcim/tables/devices.py:1091 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1005 dcim/views.py:1244 -#: dcim/views.py:1930 netbox/navigation/menu.py:82 -#: netbox/navigation/menu.py:238 templates/dcim/device/base.html:37 +#: dcim/tables/devices.py:251 dcim/tables/devices.py:1064 +#: dcim/tables/devicetypes.py:125 dcim/views.py:1004 dcim/views.py:1243 +#: dcim/views.py:1929 netbox/navigation/menu.py:81 +#: netbox/navigation/menu.py:237 templates/dcim/device/base.html:37 #: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 #: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 -#: templates/dcim/virtualdevicecontext.html:64 -#: templates/dcim/virtualdevicecontext.html:85 +#: templates/dcim/virtualdevicecontext.html:61 +#: templates/dcim/virtualdevicecontext.html:81 #: templates/virtualization/virtualmachine/base.html:27 #: templates/virtualization/virtualmachine_list.html:14 #: virtualization/tables/virtualmachines.py:100 virtualization/views.py:368 @@ -5560,145 +5830,133 @@ msgstr "Prises de courant" msgid "Interfaces" msgstr "Interfaces" -#: dcim/tables/devices.py:282 +#: dcim/tables/devices.py:254 msgid "Front ports" msgstr "Ports avant" -#: dcim/tables/devices.py:288 +#: dcim/tables/devices.py:260 msgid "Device bays" msgstr "Baies pour appareils" -#: dcim/tables/devices.py:291 +#: dcim/tables/devices.py:263 msgid "Module bays" msgstr "Baies pour modules" -#: dcim/tables/devices.py:294 +#: dcim/tables/devices.py:266 msgid "Inventory items" msgstr "Articles d'inventaire" -#: dcim/tables/devices.py:333 dcim/tables/modules.py:56 +#: dcim/tables/devices.py:305 dcim/tables/modules.py:56 #: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "Module Bay" -#: dcim/tables/devices.py:354 +#: dcim/tables/devices.py:326 msgid "Cable Color" msgstr "Couleur du câble" -#: dcim/tables/devices.py:360 +#: dcim/tables/devices.py:332 msgid "Link Peers" msgstr "Lier les pairs" -#: dcim/tables/devices.py:363 +#: dcim/tables/devices.py:335 msgid "Mark Connected" msgstr "Marquer comme connecté" -#: dcim/tables/devices.py:479 +#: dcim/tables/devices.py:451 msgid "Maximum draw (W)" msgstr "Tirage maximal (W)" -#: dcim/tables/devices.py:482 +#: dcim/tables/devices.py:454 msgid "Allocated draw (W)" msgstr "Tirage alloué (W)" -#: dcim/tables/devices.py:582 ipam/forms/model_forms.py:711 +#: dcim/tables/devices.py:554 ipam/forms/model_forms.py:738 #: ipam/tables/fhrp.py:28 ipam/views.py:597 ipam/views.py:691 -#: netbox/navigation/menu.py:146 netbox/navigation/menu.py:148 -#: templates/dcim/interface.html:351 templates/ipam/ipaddress_bulk_add.html:15 -#: templates/ipam/service.html:43 templates/virtualization/vminterface.html:88 +#: netbox/navigation/menu.py:145 netbox/navigation/menu.py:147 +#: templates/dcim/interface.html:339 templates/ipam/ipaddress_bulk_add.html:15 +#: templates/ipam/service.html:40 templates/virtualization/vminterface.html:85 #: vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "Adresses IP" -#: dcim/tables/devices.py:588 netbox/navigation/menu.py:190 -#: templates/ipam/inc/panels/fhrp_groups.html:5 +#: dcim/tables/devices.py:560 netbox/navigation/menu.py:189 +#: templates/ipam/inc/panels/fhrp_groups.html:6 msgid "FHRP Groups" msgstr "Groupes FHRP" -#: dcim/tables/devices.py:600 templates/dcim/interface.html:90 -#: templates/virtualization/vminterface.html:70 templates/vpn/tunnel.html:18 -#: templates/vpn/tunneltermination.html:14 vpn/forms/bulk_edit.py:75 -#: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:41 -#: vpn/forms/filtersets.py:81 vpn/forms/model_forms.py:59 -#: vpn/forms/model_forms.py:144 vpn/tables/tunnels.py:78 +#: dcim/tables/devices.py:572 templates/dcim/interface.html:89 +#: templates/virtualization/vminterface.html:67 templates/vpn/tunnel.html:18 +#: templates/vpn/tunneltermination.html:13 vpn/forms/bulk_edit.py:76 +#: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:42 +#: vpn/forms/filtersets.py:82 vpn/forms/model_forms.py:60 +#: vpn/forms/model_forms.py:145 vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "Tunnel" -#: dcim/tables/devices.py:625 dcim/tables/devicetypes.py:224 -#: templates/dcim/interface.html:66 +#: dcim/tables/devices.py:597 dcim/tables/devicetypes.py:224 +#: templates/dcim/interface.html:65 msgid "Management Only" msgstr "Gestion uniquement" -#: dcim/tables/devices.py:633 -msgid "Wireless link" -msgstr "Liaison sans fil" - -#: dcim/tables/devices.py:643 +#: dcim/tables/devices.py:615 msgid "VDCs" msgstr "VDC" -#: dcim/tables/devices.py:651 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1080 dcim/views.py:2023 -#: netbox/navigation/menu.py:91 templates/dcim/device/base.html:52 +#: dcim/tables/devices.py:623 dcim/tables/devicetypes.py:48 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1079 dcim/views.py:2022 +#: netbox/navigation/menu.py:90 templates/dcim/device/base.html:52 #: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 -#: templates/dcim/inc/panels/inventory_items.html:5 -#: templates/dcim/inventoryitemrole.html:33 +#: templates/dcim/inc/panels/inventory_items.html:6 +#: templates/dcim/inventoryitemrole.html:32 msgid "Inventory Items" msgstr "Articles d'inventaire" -#: dcim/tables/devices.py:732 -#: templates/circuits/inc/circuit_termination.html:80 -#: templates/dcim/consoleport.html:81 templates/dcim/consoleserverport.html:81 -#: templates/dcim/frontport.html:53 templates/dcim/frontport.html:125 -#: templates/dcim/interface.html:196 templates/dcim/inventoryitem_edit.html:69 -#: templates/dcim/rearport.html:18 templates/dcim/rearport.html:115 -msgid "Rear Port" -msgstr "Port arrière" - -#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51 +#: dcim/tables/devices.py:870 templates/dcim/modulebay.html:49 msgid "Installed Module" msgstr "Module installé" -#: dcim/tables/devices.py:900 +#: dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Série du module" -#: dcim/tables/devices.py:904 +#: dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Étiquette d'actif du module" -#: dcim/tables/devices.py:913 +#: dcim/tables/devices.py:886 msgid "Module Status" msgstr "État du module" -#: dcim/tables/devices.py:955 dcim/tables/devicetypes.py:308 -#: templates/dcim/inventoryitem.html:41 +#: dcim/tables/devices.py:928 dcim/tables/devicetypes.py:308 +#: templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Composant" -#: dcim/tables/devices.py:1010 +#: dcim/tables/devices.py:983 msgid "Items" msgstr "Objets" -#: dcim/tables/devicetypes.py:38 netbox/navigation/menu.py:72 -#: netbox/navigation/menu.py:74 +#: dcim/tables/devicetypes.py:38 netbox/navigation/menu.py:71 +#: netbox/navigation/menu.py:73 msgid "Device Types" msgstr "Types d'appareils" -#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:75 +#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:74 msgid "Module Types" msgstr "Types de modules" -#: dcim/tables/devicetypes.py:53 extras/forms/filtersets.py:379 -#: extras/forms/model_forms.py:423 netbox/navigation/menu.py:66 +#: dcim/tables/devicetypes.py:53 extras/forms/filtersets.py:380 +#: extras/forms/model_forms.py:416 extras/tables/tables.py:430 +#: netbox/navigation/menu.py:65 msgid "Platforms" msgstr "Plateformes" -#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:32 +#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Plateforme par défaut" -#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:48 +#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Pleine profondeur" @@ -5710,71 +5968,71 @@ msgstr "Hauteur en U" msgid "Instances" msgstr "Instances" -#: dcim/tables/devicetypes.py:113 dcim/views.py:945 dcim/views.py:1184 -#: dcim/views.py:1870 netbox/navigation/menu.py:85 +#: dcim/tables/devicetypes.py:113 dcim/views.py:944 dcim/views.py:1183 +#: dcim/views.py:1869 netbox/navigation/menu.py:84 #: templates/dcim/device/base.html:25 templates/dcim/device_list.html:15 #: templates/dcim/devicetype/base.html:22 templates/dcim/module.html:22 #: templates/dcim/moduletype/base.html:22 msgid "Console Ports" msgstr "Ports de console" -#: dcim/tables/devicetypes.py:116 dcim/views.py:960 dcim/views.py:1199 -#: dcim/views.py:1885 netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:116 dcim/views.py:959 dcim/views.py:1198 +#: dcim/views.py:1884 netbox/navigation/menu.py:85 #: templates/dcim/device/base.html:28 templates/dcim/device_list.html:22 #: templates/dcim/devicetype/base.html:25 templates/dcim/module.html:25 #: templates/dcim/moduletype/base.html:25 msgid "Console Server Ports" msgstr "Ports du serveur de consoles" -#: dcim/tables/devicetypes.py:119 dcim/views.py:975 dcim/views.py:1214 -#: dcim/views.py:1900 netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:119 dcim/views.py:974 dcim/views.py:1213 +#: dcim/views.py:1899 netbox/navigation/menu.py:86 #: templates/dcim/device/base.html:31 templates/dcim/device_list.html:29 #: templates/dcim/devicetype/base.html:28 templates/dcim/module.html:28 #: templates/dcim/moduletype/base.html:28 msgid "Power Ports" msgstr "Ports d'alimentation" -#: dcim/tables/devicetypes.py:122 dcim/views.py:990 dcim/views.py:1229 -#: dcim/views.py:1915 netbox/navigation/menu.py:88 +#: dcim/tables/devicetypes.py:122 dcim/views.py:989 dcim/views.py:1228 +#: dcim/views.py:1914 netbox/navigation/menu.py:87 #: templates/dcim/device/base.html:34 templates/dcim/device_list.html:36 #: templates/dcim/devicetype/base.html:31 templates/dcim/module.html:31 #: templates/dcim/moduletype/base.html:31 msgid "Power Outlets" msgstr "Prises de courant" -#: dcim/tables/devicetypes.py:128 dcim/views.py:1020 dcim/views.py:1259 -#: dcim/views.py:1951 netbox/navigation/menu.py:83 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1019 dcim/views.py:1258 +#: dcim/views.py:1950 netbox/navigation/menu.py:82 #: templates/dcim/device/base.html:40 templates/dcim/devicetype/base.html:37 #: templates/dcim/module.html:37 templates/dcim/moduletype/base.html:37 msgid "Front Ports" msgstr "Ports avant" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1035 dcim/views.py:1274 -#: dcim/views.py:1966 netbox/navigation/menu.py:84 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1034 dcim/views.py:1273 +#: dcim/views.py:1965 netbox/navigation/menu.py:83 #: templates/dcim/device/base.html:43 templates/dcim/device_list.html:50 #: templates/dcim/devicetype/base.html:40 templates/dcim/module.html:40 #: templates/dcim/moduletype/base.html:40 msgid "Rear Ports" msgstr "Ports arrière" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1065 dcim/views.py:2004 -#: netbox/navigation/menu.py:90 templates/dcim/device/base.html:49 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1064 dcim/views.py:2003 +#: netbox/navigation/menu.py:89 templates/dcim/device/base.html:49 #: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Baies pour appareils" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1050 dcim/views.py:1985 -#: netbox/navigation/menu.py:89 templates/dcim/device/base.html:46 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1049 dcim/views.py:1984 +#: netbox/navigation/menu.py:88 templates/dcim/device/base.html:46 #: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 msgid "Module Bays" msgstr "Baies pour modules" -#: dcim/tables/power.py:36 netbox/navigation/menu.py:282 -#: templates/core/configrevision.html:59 templates/dcim/powerpanel.html:53 +#: dcim/tables/power.py:36 netbox/navigation/menu.py:281 +#: templates/dcim/powerpanel.html:51 msgid "Power Feeds" msgstr "Alimentations" -#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:106 +#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99 msgid "Max Utilization" msgstr "Utilisation maximale" @@ -5783,12 +6041,12 @@ msgid "Available Power (VA)" msgstr "Puissance disponible (VA)" #: dcim/tables/racks.py:29 dcim/tables/sites.py:138 -#: netbox/navigation/menu.py:25 netbox/navigation/menu.py:27 +#: netbox/navigation/menu.py:24 netbox/navigation/menu.py:26 msgid "Racks" -msgstr "Étagères" +msgstr "Baies" -#: dcim/tables/racks.py:73 templates/dcim/device.html:323 -#: templates/dcim/rack.html:95 +#: dcim/tables/racks.py:73 templates/dcim/device.html:310 +#: templates/dcim/rack.html:90 msgid "Height" msgstr "Hauteur" @@ -5796,11 +6054,11 @@ msgstr "Hauteur" msgid "Space" msgstr "Espace" -#: dcim/tables/racks.py:96 templates/dcim/rack.html:105 +#: dcim/tables/racks.py:96 templates/dcim/rack.html:100 msgid "Outer Width" msgstr "Largeur extérieure" -#: dcim/tables/racks.py:100 templates/dcim/rack.html:115 +#: dcim/tables/racks.py:100 templates/dcim/rack.html:110 msgid "Outer Depth" msgstr "Profondeur extérieure" @@ -5809,10 +6067,10 @@ msgid "Max Weight" msgstr "Poids maximum" #: dcim/tables/sites.py:30 dcim/tables/sites.py:57 -#: extras/forms/filtersets.py:359 extras/forms/model_forms.py:403 -#: ipam/forms/bulk_edit.py:128 ipam/forms/model_forms.py:152 -#: ipam/tables/asn.py:66 netbox/navigation/menu.py:16 -#: netbox/navigation/menu.py:18 +#: extras/forms/filtersets.py:360 extras/forms/model_forms.py:396 +#: ipam/forms/bulk_edit.py:129 ipam/forms/model_forms.py:151 +#: ipam/tables/asn.py:66 netbox/navigation/menu.py:15 +#: netbox/navigation/menu.py:17 msgid "Sites" msgstr "Sites" @@ -5825,274 +6083,277 @@ msgstr "Le scénario de test doit définir peer_termination_type" msgid "Disconnected {count} {type}" msgstr "Déconnecté {count} {type}" -#: dcim/views.py:696 netbox/navigation/menu.py:29 +#: dcim/views.py:696 netbox/navigation/menu.py:28 msgid "Reservations" msgstr "Réservations" -#: dcim/views.py:714 +#: dcim/views.py:714 templates/dcim/location.html:90 +#: templates/dcim/site.html:139 msgid "Non-Racked Devices" msgstr "Appareils non rackés" -#: dcim/views.py:2036 extras/forms/model_forms.py:463 +#: dcim/views.py:2035 extras/forms/model_forms.py:456 #: templates/extras/configcontext.html:10 -#: virtualization/forms/model_forms.py:228 virtualization/views.py:408 +#: virtualization/forms/model_forms.py:225 virtualization/views.py:408 msgid "Config Context" msgstr "Contexte de configuration" -#: dcim/views.py:2046 virtualization/views.py:418 +#: dcim/views.py:2045 virtualization/views.py:418 msgid "Render Config" msgstr "Configuration du rendu" -#: dcim/views.py:2974 ipam/tables/ip.py:233 +#: dcim/views.py:2970 ipam/tables/ip.py:233 msgid "Children" msgstr "Enfants" -#: extras/api/customfields.py:92 +#: extras/api/customfields.py:88 #, python-brace-format msgid "Unknown related object(s): {name}" msgstr "Objet associé inconnu: {name}" -#: extras/api/serializers.py:154 +#: extras/api/serializers_/customfields.py:74 msgid "Changing the type of custom fields is not supported." msgstr "" "La modification du type de champs personnalisés n'est pas prise en charge." -#: extras/api/serializers.py:549 extras/api/serializers.py:554 -msgid "Scheduling is not enabled for this report." -msgstr "La planification n'est pas activée pour ce rapport." - -#: extras/api/serializers.py:599 extras/api/serializers.py:604 +#: extras/api/serializers_/scripts.py:71 extras/api/serializers_/scripts.py:76 msgid "Scheduling is not enabled for this script." msgstr "La planification n'est pas activée pour ce script." -#: extras/choices.py:27 extras/forms/misc.py:14 +#: extras/choices.py:30 extras/forms/misc.py:14 msgid "Text" msgstr "Texte" -#: extras/choices.py:28 +#: extras/choices.py:31 msgid "Text (long)" msgstr "Texte (long)" -#: extras/choices.py:29 +#: extras/choices.py:32 msgid "Integer" msgstr "Entier" -#: extras/choices.py:30 +#: extras/choices.py:33 msgid "Decimal" msgstr "Décimal" -#: extras/choices.py:31 +#: extras/choices.py:34 msgid "Boolean (true/false)" msgstr "Booléen (vrai/faux)" -#: extras/choices.py:32 +#: extras/choices.py:35 msgid "Date" msgstr "Date" -#: extras/choices.py:33 +#: extras/choices.py:36 msgid "Date & time" msgstr "Date et heure" -#: extras/choices.py:35 +#: extras/choices.py:38 msgid "JSON" msgstr "JSON" -#: extras/choices.py:36 +#: extras/choices.py:39 msgid "Selection" msgstr "Sélection" -#: extras/choices.py:37 +#: extras/choices.py:40 msgid "Multiple selection" msgstr "Sélection multiple" -#: extras/choices.py:39 +#: extras/choices.py:42 msgid "Multiple objects" msgstr "Objets multiples" -#: extras/choices.py:50 templates/extras/customfield.html:69 vpn/choices.py:20 +#: extras/choices.py:53 netbox/preferences.py:21 +#: templates/extras/customfield.html:66 vpn/choices.py:20 #: wireless/choices.py:27 msgid "Disabled" msgstr "Désactivé" -#: extras/choices.py:51 +#: extras/choices.py:54 msgid "Loose" msgstr "Lâche" -#: extras/choices.py:52 +#: extras/choices.py:55 msgid "Exact" msgstr "Exact" -#: extras/choices.py:63 +#: extras/choices.py:66 msgid "Always" msgstr "Toujours" -#: extras/choices.py:64 +#: extras/choices.py:67 msgid "If set" msgstr "Si défini" -#: extras/choices.py:65 extras/choices.py:78 +#: extras/choices.py:68 extras/choices.py:81 msgid "Hidden" msgstr "Caché" -#: extras/choices.py:76 +#: extras/choices.py:79 msgid "Yes" msgstr "Oui" -#: extras/choices.py:77 +#: extras/choices.py:80 msgid "No" msgstr "Non" -#: extras/choices.py:105 templates/tenancy/contact.html:58 -#: tenancy/forms/bulk_edit.py:117 wireless/forms/model_forms.py:159 +#: extras/choices.py:108 templates/tenancy/contact.html:57 +#: tenancy/forms/bulk_edit.py:118 wireless/forms/model_forms.py:162 msgid "Link" msgstr "Lien" -#: extras/choices.py:119 +#: extras/choices.py:122 msgid "Newest" msgstr "Le plus récent" -#: extras/choices.py:120 +#: extras/choices.py:123 msgid "Oldest" msgstr "Le plus ancien" -#: extras/choices.py:136 templates/generic/object.html:51 +#: extras/choices.py:139 templates/generic/object.html:61 msgid "Updated" msgstr "Mis à jour" -#: extras/choices.py:137 +#: extras/choices.py:140 msgid "Deleted" msgstr "Supprimé" -#: extras/choices.py:154 extras/choices.py:176 +#: extras/choices.py:157 extras/choices.py:181 msgid "Info" msgstr "Infos" -#: extras/choices.py:155 extras/choices.py:175 +#: extras/choices.py:158 extras/choices.py:180 msgid "Success" msgstr "Succès" -#: extras/choices.py:156 extras/choices.py:177 +#: extras/choices.py:159 extras/choices.py:182 msgid "Warning" msgstr "Avertissement" -#: extras/choices.py:157 +#: extras/choices.py:160 msgid "Danger" msgstr "Danger" -#: extras/choices.py:174 utilities/choices.py:190 +#: extras/choices.py:178 +msgid "Debug" +msgstr "Déboguer" + +#: extras/choices.py:179 netbox/choices.py:104 msgid "Default" msgstr "Par défaut" -#: extras/choices.py:178 +#: extras/choices.py:183 msgid "Failure" msgstr "Défaillance" -#: extras/choices.py:185 +#: extras/choices.py:199 msgid "Hourly" msgstr "Toutes les heures" -#: extras/choices.py:186 +#: extras/choices.py:200 msgid "12 hours" msgstr "12 heures" -#: extras/choices.py:187 +#: extras/choices.py:201 msgid "Daily" msgstr "Tous les jours" -#: extras/choices.py:188 +#: extras/choices.py:202 msgid "Weekly" msgstr "Hebdo" -#: extras/choices.py:189 +#: extras/choices.py:203 msgid "30 days" msgstr "30 jours" -#: extras/choices.py:254 extras/tables/tables.py:291 -#: templates/dcim/virtualchassis_edit.html:108 -#: templates/extras/eventrule.html:51 -#: templates/generic/bulk_add_component.html:56 -#: templates/generic/object_edit.html:29 templates/generic/object_edit.html:70 +#: extras/choices.py:268 extras/tables/tables.py:296 +#: templates/dcim/virtualchassis_edit.html:107 +#: templates/extras/eventrule.html:40 +#: templates/generic/bulk_add_component.html:68 +#: templates/generic/object_edit.html:47 templates/generic/object_edit.html:80 #: templates/ipam/inc/ipaddress_edit_header.html:10 msgid "Create" msgstr "Créez" -#: extras/choices.py:255 extras/tables/tables.py:294 -#: templates/extras/eventrule.html:55 +#: extras/choices.py:269 extras/tables/tables.py:299 +#: templates/extras/eventrule.html:44 msgid "Update" msgstr "Mise à jour" -#: extras/choices.py:256 extras/tables/tables.py:297 -#: templates/circuits/inc/circuit_termination.html:22 -#: templates/dcim/inc/panels/inventory_items.html:29 -#: templates/dcim/moduletype/component_templates.html:24 -#: templates/dcim/powerpanel.html:71 templates/extras/eventrule.html:59 -#: templates/extras/report_list.html:34 templates/extras/script_list.html:33 -#: templates/generic/bulk_delete.html:18 templates/generic/bulk_delete.html:45 -#: templates/generic/object_delete.html:15 templates/htmx/delete_form.html:57 -#: templates/ipam/inc/panels/fhrp_groups.html:35 -#: templates/users/objectpermission.html:49 -#: utilities/templates/buttons/delete.html:9 +#: extras/choices.py:270 extras/tables/tables.py:302 +#: templates/circuits/inc/circuit_termination.html:23 +#: templates/dcim/inc/panels/inventory_items.html:37 +#: templates/dcim/moduletype/component_templates.html:23 +#: templates/dcim/powerpanel.html:66 templates/extras/eventrule.html:48 +#: templates/extras/script_list.html:37 templates/generic/bulk_delete.html:20 +#: templates/generic/bulk_delete.html:66 +#: templates/generic/object_delete.html:19 templates/htmx/delete_form.html:57 +#: templates/ipam/inc/panels/fhrp_groups.html:48 +#: templates/users/objectpermission.html:46 +#: utilities/templates/buttons/delete.html:11 msgid "Delete" msgstr "Supprimer" -#: extras/choices.py:280 utilities/choices.py:143 utilities/choices.py:191 +#: extras/choices.py:294 netbox/choices.py:57 netbox/choices.py:105 msgid "Blue" msgstr "Bleu" -#: extras/choices.py:281 utilities/choices.py:142 utilities/choices.py:192 +#: extras/choices.py:295 netbox/choices.py:56 netbox/choices.py:106 msgid "Indigo" msgstr "Indigo" -#: extras/choices.py:282 utilities/choices.py:140 utilities/choices.py:193 +#: extras/choices.py:296 netbox/choices.py:54 netbox/choices.py:107 msgid "Purple" msgstr "Violet" -#: extras/choices.py:283 utilities/choices.py:137 utilities/choices.py:194 +#: extras/choices.py:297 netbox/choices.py:51 netbox/choices.py:108 msgid "Pink" msgstr "Rose" -#: extras/choices.py:284 utilities/choices.py:136 utilities/choices.py:195 +#: extras/choices.py:298 netbox/choices.py:50 netbox/choices.py:109 msgid "Red" msgstr "rouge" -#: extras/choices.py:285 utilities/choices.py:154 utilities/choices.py:196 +#: extras/choices.py:299 netbox/choices.py:68 netbox/choices.py:110 msgid "Orange" msgstr "Orange" -#: extras/choices.py:286 utilities/choices.py:152 utilities/choices.py:197 +#: extras/choices.py:300 netbox/choices.py:66 netbox/choices.py:111 msgid "Yellow" msgstr "Jaune" -#: extras/choices.py:287 utilities/choices.py:149 utilities/choices.py:198 +#: extras/choices.py:301 netbox/choices.py:63 netbox/choices.py:112 msgid "Green" msgstr "Vert" -#: extras/choices.py:288 utilities/choices.py:146 utilities/choices.py:199 +#: extras/choices.py:302 netbox/choices.py:60 netbox/choices.py:113 msgid "Teal" msgstr "Sarcelle" -#: extras/choices.py:289 utilities/choices.py:145 utilities/choices.py:200 +#: extras/choices.py:303 netbox/choices.py:59 netbox/choices.py:114 msgid "Cyan" msgstr "Cyan" -#: extras/choices.py:290 utilities/choices.py:201 +#: extras/choices.py:304 netbox/choices.py:115 msgid "Gray" msgstr "gris" -#: extras/choices.py:291 utilities/choices.py:160 utilities/choices.py:202 +#: extras/choices.py:305 netbox/choices.py:74 netbox/choices.py:116 msgid "Black" msgstr "noir" -#: extras/choices.py:292 utilities/choices.py:161 utilities/choices.py:203 +#: extras/choices.py:306 netbox/choices.py:75 netbox/choices.py:117 msgid "White" msgstr "blanc" -#: extras/choices.py:306 extras/forms/model_forms.py:235 -#: extras/forms/model_forms.py:321 templates/extras/webhook.html:11 +#: extras/choices.py:320 extras/forms/model_forms.py:242 +#: extras/forms/model_forms.py:327 templates/extras/webhook.html:10 msgid "Webhook" msgstr "Webhook" -#: extras/choices.py:307 templates/extras/script/base.html:29 +#: extras/choices.py:321 extras/forms/model_forms.py:315 +#: templates/extras/script/base.html:29 msgid "Script" msgstr "Scénario" @@ -6138,25 +6399,25 @@ msgstr "Type de widget" msgid "Unregistered widget class: {name}" msgstr "Classe de widget non enregistrée : {name}" -#: extras/dashboard/widgets.py:115 +#: extras/dashboard/widgets.py:126 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} doit définir une méthode render ()." -#: extras/dashboard/widgets.py:150 +#: extras/dashboard/widgets.py:161 msgid "Note" msgstr "Remarque" -#: extras/dashboard/widgets.py:151 +#: extras/dashboard/widgets.py:162 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Affichez du contenu personnalisé arbitraire. Markdown est pris en charge." -#: extras/dashboard/widgets.py:164 +#: extras/dashboard/widgets.py:175 msgid "Object Counts" msgstr "Nombre d'objets" -#: extras/dashboard/widgets.py:165 +#: extras/dashboard/widgets.py:176 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -6164,227 +6425,232 @@ msgstr "" "Affichez un ensemble de modèles NetBox et le nombre d'objets créés pour " "chaque type." -#: extras/dashboard/widgets.py:175 +#: extras/dashboard/widgets.py:186 msgid "Filters to apply when counting the number of objects" msgstr "Filtres à appliquer lors du comptage du nombre d'objets" -#: extras/dashboard/widgets.py:183 +#: extras/dashboard/widgets.py:194 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Format non valide. Les filtres d'objets doivent être transmis sous forme de " "dictionnaire." -#: extras/dashboard/widgets.py:211 +#: extras/dashboard/widgets.py:222 msgid "Object List" msgstr "Liste d'objets" -#: extras/dashboard/widgets.py:212 +#: extras/dashboard/widgets.py:223 msgid "Display an arbitrary list of objects." msgstr "Afficher une liste arbitraire d'objets." -#: extras/dashboard/widgets.py:225 +#: extras/dashboard/widgets.py:236 msgid "The default number of objects to display" msgstr "Le nombre d'objets à afficher par défaut" -#: extras/dashboard/widgets.py:237 +#: extras/dashboard/widgets.py:248 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Format non valide. Les paramètres d'URL doivent être transmis sous forme de " "dictionnaire." -#: extras/dashboard/widgets.py:272 +#: extras/dashboard/widgets.py:283 msgid "RSS Feed" msgstr "Fil RSS" -#: extras/dashboard/widgets.py:277 +#: extras/dashboard/widgets.py:288 msgid "Embed an RSS feed from an external website." msgstr "Intégrez un flux RSS provenant d'un site Web externe." -#: extras/dashboard/widgets.py:284 +#: extras/dashboard/widgets.py:295 msgid "Feed URL" msgstr "URL du flux" -#: extras/dashboard/widgets.py:289 +#: extras/dashboard/widgets.py:300 msgid "The maximum number of objects to display" msgstr "Le nombre maximum d'objets à afficher" -#: extras/dashboard/widgets.py:294 +#: extras/dashboard/widgets.py:305 msgid "How long to stored the cached content (in seconds)" msgstr "Durée de conservation du contenu mis en cache (en secondes)" -#: extras/dashboard/widgets.py:346 templates/account/base.html:10 -#: templates/account/bookmarks.html:7 templates/inc/profile_button.html:29 +#: extras/dashboard/widgets.py:357 templates/account/base.html:10 +#: templates/account/bookmarks.html:7 templates/inc/user_menu.html:30 msgid "Bookmarks" msgstr "Signets" -#: extras/dashboard/widgets.py:350 +#: extras/dashboard/widgets.py:361 msgid "Show your personal bookmarks" msgstr "Afficher vos favoris personnels" -#: extras/events.py:133 +#: extras/events.py:128 #, python-brace-format msgid "Unknown action type for an event rule: {action_type}" msgstr "Type d'action inconnu pour une règle d'événement : {action_type}" -#: extras/events.py:181 +#: extras/events.py:176 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" msgstr "" "Impossible d'importer le pipeline d'événements {name} erreur : {error}" -#: extras/filtersets.py:207 extras/filtersets.py:542 extras/filtersets.py:570 +#: extras/filtersets.py:45 +msgid "Script module (ID)" +msgstr "Module de script (ID)" + +#: extras/filtersets.py:249 extras/filtersets.py:589 extras/filtersets.py:621 msgid "Data file (ID)" msgstr "Fichier de données (ID)" -#: extras/filtersets.py:479 virtualization/forms/filtersets.py:114 +#: extras/filtersets.py:526 virtualization/forms/filtersets.py:118 msgid "Cluster type" msgstr "Type de cluster" -#: extras/filtersets.py:485 virtualization/filtersets.py:95 +#: extras/filtersets.py:532 virtualization/filtersets.py:95 #: virtualization/filtersets.py:147 msgid "Cluster type (slug)" msgstr "Type de cluster (slug)" -#: extras/filtersets.py:490 ipam/forms/bulk_edit.py:475 -#: ipam/forms/model_forms.py:589 virtualization/forms/filtersets.py:108 +#: extras/filtersets.py:537 ipam/forms/bulk_edit.py:476 +#: ipam/forms/model_forms.py:615 virtualization/forms/filtersets.py:112 msgid "Cluster group" msgstr "Groupe de clusters" -#: extras/filtersets.py:496 virtualization/filtersets.py:136 +#: extras/filtersets.py:543 virtualization/filtersets.py:136 msgid "Cluster group (slug)" msgstr "Groupe de clusters (slug)" -#: extras/filtersets.py:506 tenancy/forms/forms.py:16 +#: extras/filtersets.py:553 tenancy/forms/forms.py:16 #: tenancy/forms/forms.py:39 msgid "Tenant group" msgstr "Groupe de locataires" -#: extras/filtersets.py:512 tenancy/filtersets.py:164 -#: tenancy/filtersets.py:184 +#: extras/filtersets.py:559 tenancy/filtersets.py:189 +#: tenancy/filtersets.py:209 msgid "Tenant group (slug)" msgstr "Groupe de locataires (slug)" -#: extras/filtersets.py:528 templates/extras/tag.html:12 +#: extras/filtersets.py:575 extras/forms/model_forms.py:374 +#: templates/extras/tag.html:11 msgid "Tag" msgstr "Balise" -#: extras/filtersets.py:534 +#: extras/filtersets.py:581 msgid "Tag (slug)" msgstr "Tag (limace)" -#: extras/filtersets.py:594 extras/forms/filtersets.py:438 +#: extras/filtersets.py:645 extras/forms/filtersets.py:438 msgid "Has local config context data" msgstr "Possède des données contextuelles de configuration locales" -#: extras/filtersets.py:619 +#: extras/filtersets.py:670 msgid "User name" msgstr "Nom d'utilisateur" -#: extras/forms/bulk_edit.py:32 extras/forms/filtersets.py:56 +#: extras/forms/bulk_edit.py:32 extras/forms/filtersets.py:57 msgid "Group name" msgstr "Nom du groupe" -#: extras/forms/bulk_edit.py:40 extras/forms/filtersets.py:64 -#: extras/tables/tables.py:47 templates/extras/customfield.html:39 -#: templates/generic/bulk_import.html:116 +#: extras/forms/bulk_edit.py:40 extras/forms/filtersets.py:65 +#: extras/tables/tables.py:49 templates/extras/customfield.html:38 +#: templates/generic/bulk_import.html:118 msgid "Required" msgstr "Obligatoire" #: extras/forms/bulk_edit.py:53 extras/forms/bulk_import.py:57 -#: extras/forms/filtersets.py:78 extras/models/customfields.py:193 +#: extras/forms/filtersets.py:79 extras/models/customfields.py:194 msgid "UI visible" msgstr "Interface utilisateur visible" #: extras/forms/bulk_edit.py:58 extras/forms/bulk_import.py:63 -#: extras/forms/filtersets.py:83 extras/models/customfields.py:200 +#: extras/forms/filtersets.py:84 extras/models/customfields.py:201 msgid "UI editable" msgstr "Interface utilisateur modifiable" -#: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:86 +#: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:87 msgid "Is cloneable" msgstr "Est cloneable" -#: extras/forms/bulk_edit.py:102 extras/forms/filtersets.py:126 +#: extras/forms/bulk_edit.py:103 extras/forms/filtersets.py:127 msgid "New window" msgstr "Nouvelle fenêtre" -#: extras/forms/bulk_edit.py:111 +#: extras/forms/bulk_edit.py:112 msgid "Button class" msgstr "Classe de boutons" -#: extras/forms/bulk_edit.py:128 extras/forms/filtersets.py:164 -#: extras/models/models.py:439 +#: extras/forms/bulk_edit.py:129 extras/forms/filtersets.py:165 +#: extras/models/models.py:437 msgid "MIME type" msgstr "Type MIME" -#: extras/forms/bulk_edit.py:133 extras/forms/filtersets.py:167 +#: extras/forms/bulk_edit.py:134 extras/forms/filtersets.py:168 msgid "File extension" msgstr "Extension de fichier" -#: extras/forms/bulk_edit.py:138 extras/forms/filtersets.py:171 +#: extras/forms/bulk_edit.py:139 extras/forms/filtersets.py:172 msgid "As attachment" msgstr "En pièce jointe" -#: extras/forms/bulk_edit.py:166 extras/forms/filtersets.py:213 -#: extras/tables/tables.py:214 templates/extras/savedfilter.html:30 +#: extras/forms/bulk_edit.py:167 extras/forms/filtersets.py:214 +#: extras/tables/tables.py:219 templates/extras/savedfilter.html:29 msgid "Shared" msgstr "Partagé" -#: extras/forms/bulk_edit.py:189 extras/forms/filtersets.py:242 -#: extras/models/models.py:204 +#: extras/forms/bulk_edit.py:190 extras/forms/filtersets.py:243 +#: extras/models/models.py:202 msgid "HTTP method" msgstr "Méthode HTTP" -#: extras/forms/bulk_edit.py:193 extras/forms/filtersets.py:236 -#: templates/extras/webhook.html:37 +#: extras/forms/bulk_edit.py:194 extras/forms/filtersets.py:237 +#: templates/extras/webhook.html:30 msgid "Payload URL" msgstr "URL de charge utile" -#: extras/forms/bulk_edit.py:198 extras/models/models.py:244 +#: extras/forms/bulk_edit.py:199 extras/models/models.py:242 msgid "SSL verification" msgstr "Vérification SSL" -#: extras/forms/bulk_edit.py:201 templates/extras/webhook.html:45 +#: extras/forms/bulk_edit.py:202 templates/extras/webhook.html:38 msgid "Secret" msgstr "Secret" -#: extras/forms/bulk_edit.py:206 +#: extras/forms/bulk_edit.py:207 msgid "CA file path" msgstr "chemin du fichier CA" -#: extras/forms/bulk_edit.py:225 +#: extras/forms/bulk_edit.py:226 msgid "On create" msgstr "Lors de la création" -#: extras/forms/bulk_edit.py:230 +#: extras/forms/bulk_edit.py:231 msgid "On update" msgstr "Sur mise à jour" -#: extras/forms/bulk_edit.py:235 +#: extras/forms/bulk_edit.py:236 msgid "On delete" msgstr "Lors de la suppression" -#: extras/forms/bulk_edit.py:240 +#: extras/forms/bulk_edit.py:241 msgid "On job start" msgstr "Au début du travail" -#: extras/forms/bulk_edit.py:245 +#: extras/forms/bulk_edit.py:246 msgid "On job end" msgstr "En fin de travail" -#: extras/forms/bulk_edit.py:282 +#: extras/forms/bulk_edit.py:283 msgid "Is active" msgstr "Est actif" #: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 #: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 -#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:114 -#: extras/forms/filtersets.py:160 extras/forms/filtersets.py:201 -#: extras/forms/model_forms.py:43 extras/forms/model_forms.py:127 -#: extras/forms/model_forms.py:156 extras/forms/model_forms.py:197 -#: extras/forms/model_forms.py:253 -msgid "Content types" -msgstr "Types de contenu" +#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:115 +#: extras/forms/filtersets.py:202 extras/forms/model_forms.py:43 +#: extras/forms/model_forms.py:131 extras/forms/model_forms.py:163 +#: extras/forms/model_forms.py:204 extras/forms/model_forms.py:261 +#: extras/forms/model_forms.py:368 users/forms/model_forms.py:276 +msgid "Object types" +msgstr "Types d'objets" #: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 #: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 @@ -6396,9 +6662,9 @@ msgstr "Un ou plusieurs types d'objets attribués" msgid "Field data type (e.g. text, integer, etc.)" msgstr "Type de données de champ (par exemple texte, entier, etc.)" -#: extras/forms/bulk_import.py:44 extras/forms/filtersets.py:48 -#: extras/forms/filtersets.py:259 extras/forms/model_forms.py:47 -#: extras/forms/model_forms.py:223 tenancy/forms/filtersets.py:91 +#: extras/forms/bulk_import.py:44 extras/forms/filtersets.py:186 +#: extras/forms/filtersets.py:260 extras/forms/model_forms.py:230 +#: tenancy/forms/filtersets.py:92 msgid "Object type" msgstr "Type d'objet" @@ -6406,7 +6672,7 @@ msgstr "Type d'objet" msgid "Object type (for object or multi-object fields)" msgstr "Type d'objet (pour les champs d'objets ou multi-objets)" -#: extras/forms/bulk_import.py:50 extras/forms/filtersets.py:73 +#: extras/forms/bulk_import.py:50 extras/forms/filtersets.py:74 msgid "Choice set" msgstr "Coffret Choice" @@ -6435,11 +6701,11 @@ msgstr "" "virgules avec des libellés facultatifs séparés par deux points : " "« Choice1:First Choice, Choice2:Second Choice »" -#: extras/forms/bulk_import.py:120 extras/models/models.py:353 +#: extras/forms/bulk_import.py:120 extras/models/models.py:351 msgid "button class" msgstr "classe de boutons" -#: extras/forms/bulk_import.py:123 extras/models/models.py:357 +#: extras/forms/bulk_import.py:123 extras/models/models.py:355 msgid "" "The class of the first link in a group will be used for the dropdown button" msgstr "" @@ -6463,139 +6729,143 @@ msgstr "Webhook {name} introuvable" msgid "Script {name} not found" msgstr "Scénario {name} introuvable" -#: extras/forms/bulk_import.py:242 +#: extras/forms/bulk_import.py:239 msgid "Assigned object type" msgstr "Type d'objet attribué" -#: extras/forms/bulk_import.py:247 +#: extras/forms/bulk_import.py:244 msgid "The classification of entry" msgstr "La classification de l'entrée" -#: extras/forms/filtersets.py:53 +#: extras/forms/filtersets.py:49 extras/forms/model_forms.py:47 +msgid "Related object type" +msgstr "Type d'objet associé" + +#: extras/forms/filtersets.py:54 msgid "Field type" msgstr "Type de champ" -#: extras/forms/filtersets.py:97 extras/tables/tables.py:65 -#: templates/generic/bulk_import.html:148 +#: extras/forms/filtersets.py:98 extras/tables/tables.py:70 +#: templates/generic/bulk_import.html:154 msgid "Choices" msgstr "Choix" -#: extras/forms/filtersets.py:141 extras/forms/filtersets.py:327 -#: extras/forms/filtersets.py:417 extras/forms/model_forms.py:458 -#: templates/core/job.html:86 templates/extras/configcontext.html:86 -#: templates/extras/eventrule.html:111 +#: extras/forms/filtersets.py:142 extras/forms/filtersets.py:328 +#: extras/forms/filtersets.py:417 extras/forms/model_forms.py:451 +#: templates/core/job.html:78 templates/extras/configcontext.html:82 +#: templates/extras/eventrule.html:90 msgid "Data" msgstr "Données" -#: extras/forms/filtersets.py:152 extras/forms/filtersets.py:341 -#: extras/forms/filtersets.py:427 utilities/choices.py:219 -#: utilities/forms/bulk_import.py:27 +#: extras/forms/filtersets.py:153 extras/forms/filtersets.py:342 +#: extras/forms/filtersets.py:427 netbox/choices.py:133 +#: utilities/forms/bulk_import.py:26 msgid "Data file" msgstr "Fichier de données" -#: extras/forms/filtersets.py:185 -msgid "Content type" -msgstr "Type de contenu" +#: extras/forms/filtersets.py:161 +msgid "Content types" +msgstr "Types de contenu" -#: extras/forms/filtersets.py:232 extras/models/models.py:209 +#: extras/forms/filtersets.py:233 extras/models/models.py:207 msgid "HTTP content type" msgstr "Type de contenu HTTP" -#: extras/forms/filtersets.py:254 extras/forms/model_forms.py:271 -#: templates/extras/eventrule.html:46 +#: extras/forms/filtersets.py:255 extras/forms/model_forms.py:280 +#: templates/extras/eventrule.html:37 msgid "Events" msgstr "Évènements" -#: extras/forms/filtersets.py:264 +#: extras/forms/filtersets.py:265 msgid "Action type" msgstr "Type d'action" -#: extras/forms/filtersets.py:278 +#: extras/forms/filtersets.py:279 msgid "Object creations" msgstr "Créations d'objets" -#: extras/forms/filtersets.py:285 +#: extras/forms/filtersets.py:286 msgid "Object updates" msgstr "mises à jour des objets" -#: extras/forms/filtersets.py:292 +#: extras/forms/filtersets.py:293 msgid "Object deletions" msgstr "Suppressions d'objets" -#: extras/forms/filtersets.py:299 +#: extras/forms/filtersets.py:300 msgid "Job starts" msgstr "Début du travail" -#: extras/forms/filtersets.py:306 extras/forms/model_forms.py:290 +#: extras/forms/filtersets.py:307 extras/forms/model_forms.py:300 msgid "Job terminations" msgstr "Résiliations d'emploi" -#: extras/forms/filtersets.py:315 +#: extras/forms/filtersets.py:316 msgid "Tagged object type" msgstr "Type d'objet balisé" -#: extras/forms/filtersets.py:320 +#: extras/forms/filtersets.py:321 msgid "Allowed object type" msgstr "Type d'objet autorisé" -#: extras/forms/filtersets.py:349 extras/forms/model_forms.py:393 -#: netbox/navigation/menu.py:19 +#: extras/forms/filtersets.py:350 extras/forms/model_forms.py:386 +#: netbox/navigation/menu.py:18 msgid "Regions" msgstr "Régions" -#: extras/forms/filtersets.py:354 extras/forms/model_forms.py:398 +#: extras/forms/filtersets.py:355 extras/forms/model_forms.py:391 msgid "Site groups" msgstr "Groupes de sites" -#: extras/forms/filtersets.py:364 extras/forms/model_forms.py:408 -#: netbox/navigation/menu.py:21 +#: extras/forms/filtersets.py:365 extras/forms/model_forms.py:401 +#: netbox/navigation/menu.py:20 templates/dcim/site.html:126 msgid "Locations" msgstr "Localisations" -#: extras/forms/filtersets.py:369 extras/forms/model_forms.py:413 +#: extras/forms/filtersets.py:370 extras/forms/model_forms.py:406 msgid "Device types" msgstr "Types d'appareils" -#: extras/forms/filtersets.py:374 extras/forms/model_forms.py:418 +#: extras/forms/filtersets.py:375 extras/forms/model_forms.py:411 msgid "Roles" msgstr "Rôles" -#: extras/forms/filtersets.py:384 extras/forms/model_forms.py:428 +#: extras/forms/filtersets.py:385 extras/forms/model_forms.py:421 msgid "Cluster types" msgstr "Types de clusters" -#: extras/forms/filtersets.py:390 extras/forms/model_forms.py:433 +#: extras/forms/filtersets.py:390 extras/forms/model_forms.py:426 msgid "Cluster groups" msgstr "Groupes de clusters" -#: extras/forms/filtersets.py:395 extras/forms/model_forms.py:438 -#: netbox/navigation/menu.py:243 netbox/navigation/menu.py:245 -#: templates/virtualization/clustertype.html:33 +#: extras/forms/filtersets.py:395 extras/forms/model_forms.py:431 +#: netbox/navigation/menu.py:242 netbox/navigation/menu.py:244 +#: templates/virtualization/clustertype.html:30 #: virtualization/tables/clusters.py:23 virtualization/tables/clusters.py:45 msgid "Clusters" msgstr "Clusters" -#: extras/forms/filtersets.py:400 extras/forms/model_forms.py:443 +#: extras/forms/filtersets.py:400 extras/forms/model_forms.py:436 msgid "Tenant groups" msgstr "Groupes de locataires" -#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:495 +#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:492 msgid "After" msgstr "Après" -#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:500 +#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:497 msgid "Before" msgstr "Avant" -#: extras/forms/filtersets.py:490 extras/tables/tables.py:431 -#: templates/extras/htmx/report_result.html:43 -#: templates/extras/objectchange.html:34 +#: extras/forms/filtersets.py:487 extras/tables/tables.py:456 +#: extras/tables/tables.py:542 extras/tables/tables.py:567 +#: templates/extras/objectchange.html:31 msgid "Time" msgstr "Heure" -#: extras/forms/filtersets.py:504 extras/forms/model_forms.py:273 -#: extras/tables/tables.py:445 templates/extras/eventrule.html:90 -#: templates/extras/objectchange.html:50 +#: extras/forms/filtersets.py:501 extras/forms/model_forms.py:284 +#: extras/tables/tables.py:470 templates/extras/eventrule.html:77 +#: templates/extras/objectchange.html:45 msgid "Action" msgstr "Action" @@ -6604,19 +6874,19 @@ msgid "Type of the related object (for object/multi-object fields only)" msgstr "" "Type de l'objet associé (pour les champs objet/multi-objets uniquement)" -#: extras/forms/model_forms.py:58 templates/extras/customfield.html:11 +#: extras/forms/model_forms.py:61 templates/extras/customfield.html:10 msgid "Custom Field" msgstr "Champ personnalisé" -#: extras/forms/model_forms.py:61 templates/extras/customfield.html:60 +#: extras/forms/model_forms.py:64 templates/extras/customfield.html:58 msgid "Behavior" msgstr "Comportement" -#: extras/forms/model_forms.py:62 +#: extras/forms/model_forms.py:66 msgid "Values" msgstr "Valeurs" -#: extras/forms/model_forms.py:71 +#: extras/forms/model_forms.py:75 msgid "" "The type of data stored in this field. For object/multi-object fields, " "select the related object type below." @@ -6624,7 +6894,7 @@ msgstr "" "Le type de données stockées dans ce champ. Pour les champs objet/multi-" "objets, sélectionnez le type d'objet associé ci-dessous." -#: extras/forms/model_forms.py:74 +#: extras/forms/model_forms.py:78 msgid "" "This will be displayed as help text for the form field. Markdown is " "supported." @@ -6632,7 +6902,7 @@ msgstr "" "Cela sera affiché sous forme de texte d'aide pour le champ du formulaire. " "Markdown est pris en charge." -#: extras/forms/model_forms.py:91 +#: extras/forms/model_forms.py:95 msgid "" "Enter one choice per line. An optional label may be specified for each " "choice by appending it with a colon. Example:" @@ -6640,15 +6910,15 @@ msgstr "" "Entrez un choix par ligne. Une étiquette facultative peut être spécifiée " "pour chaque choix en l'ajoutant par deux points. Exemple :" -#: extras/forms/model_forms.py:132 templates/extras/customlink.html:10 +#: extras/forms/model_forms.py:138 templates/extras/customlink.html:10 msgid "Custom Link" msgstr "Lien personnalisé" -#: extras/forms/model_forms.py:133 +#: extras/forms/model_forms.py:140 msgid "Templates" msgstr "Modèles" -#: extras/forms/model_forms.py:145 +#: extras/forms/model_forms.py:152 #, python-brace-format msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " @@ -6658,57 +6928,57 @@ msgstr "" "{example}. Les liens qui s'affichent sous forme de texte vide ne seront pas " "affichés." -#: extras/forms/model_forms.py:149 +#: extras/forms/model_forms.py:156 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" "Code modèle Jinja2 pour l'URL du lien. Référencez l'objet comme {example}." -#: extras/forms/model_forms.py:160 extras/forms/model_forms.py:509 +#: extras/forms/model_forms.py:167 extras/forms/model_forms.py:503 msgid "Template code" msgstr "Code du modèle" -#: extras/forms/model_forms.py:166 templates/extras/exporttemplate.html:17 +#: extras/forms/model_forms.py:173 templates/extras/exporttemplate.html:12 msgid "Export Template" msgstr "Modèle d'exportation" -#: extras/forms/model_forms.py:168 +#: extras/forms/model_forms.py:175 msgid "Rendering" msgstr "Rendu" -#: extras/forms/model_forms.py:182 extras/forms/model_forms.py:534 +#: extras/forms/model_forms.py:189 extras/forms/model_forms.py:528 msgid "Template content is populated from the remote source selected below." msgstr "" "Le contenu du modèle est renseigné à partir de la source distante " "sélectionnée ci-dessous." -#: extras/forms/model_forms.py:189 extras/forms/model_forms.py:541 +#: extras/forms/model_forms.py:196 extras/forms/model_forms.py:535 msgid "Must specify either local content or a data file" msgstr "Doit spécifier un contenu local ou un fichier de données" -#: extras/forms/model_forms.py:203 netbox/forms/mixins.py:70 +#: extras/forms/model_forms.py:210 netbox/forms/mixins.py:70 #: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "Filtre enregistré" -#: extras/forms/model_forms.py:236 templates/extras/webhook.html:28 +#: extras/forms/model_forms.py:245 templates/extras/webhook.html:23 msgid "HTTP Request" msgstr "Requête HTTP" -#: extras/forms/model_forms.py:239 templates/extras/webhook.html:53 +#: extras/forms/model_forms.py:247 templates/extras/webhook.html:44 msgid "SSL" msgstr "SLL" -#: extras/forms/model_forms.py:257 +#: extras/forms/model_forms.py:265 msgid "Action choice" msgstr "Choix de l'action" -#: extras/forms/model_forms.py:262 +#: extras/forms/model_forms.py:270 msgid "Enter conditions in JSON format." msgstr "Entrez les conditions dans JSON format." -#: extras/forms/model_forms.py:266 +#: extras/forms/model_forms.py:274 msgid "" "Enter parameters to pass to the action in JSON format." @@ -6716,100 +6986,97 @@ msgstr "" "Entrez les paramètres à transmettre à l'action dans JSON format." -#: extras/forms/model_forms.py:270 templates/extras/eventrule.html:11 +#: extras/forms/model_forms.py:279 templates/extras/eventrule.html:10 msgid "Event Rule" msgstr "Règle de l'événement" -#: extras/forms/model_forms.py:272 templates/extras/eventrule.html:78 +#: extras/forms/model_forms.py:281 templates/extras/eventrule.html:66 msgid "Conditions" msgstr "Les conditions" -#: extras/forms/model_forms.py:286 +#: extras/forms/model_forms.py:296 msgid "Creations" msgstr "Créations" -#: extras/forms/model_forms.py:287 +#: extras/forms/model_forms.py:297 msgid "Updates" msgstr "mises à jour" -#: extras/forms/model_forms.py:288 +#: extras/forms/model_forms.py:298 msgid "Deletions" msgstr "Suppressions" -#: extras/forms/model_forms.py:289 +#: extras/forms/model_forms.py:299 msgid "Job executions" msgstr "Exécutions de tâches" -#: extras/forms/model_forms.py:375 users/forms/model_forms.py:286 -msgid "Object types" -msgstr "Types d'objets" - -#: extras/forms/model_forms.py:448 netbox/navigation/menu.py:40 +#: extras/forms/model_forms.py:441 netbox/navigation/menu.py:39 #: tenancy/tables/tenants.py:22 msgid "Tenants" msgstr "Locataires" -#: extras/forms/model_forms.py:465 ipam/forms/filtersets.py:141 -#: ipam/forms/filtersets.py:527 templates/extras/configcontext.html:62 -#: templates/ipam/ipaddress.html:62 templates/ipam/vlan_edit.html:30 -#: tenancy/forms/filtersets.py:86 users/forms/model_forms.py:324 +#: extras/forms/model_forms.py:461 ipam/forms/filtersets.py:142 +#: ipam/forms/filtersets.py:534 ipam/forms/model_forms.py:321 +#: templates/extras/configcontext.html:60 templates/ipam/ipaddress.html:59 +#: templates/ipam/vlan_edit.html:30 tenancy/forms/filtersets.py:87 +#: users/forms/model_forms.py:314 msgid "Assignment" msgstr "Affectation" -#: extras/forms/model_forms.py:491 +#: extras/forms/model_forms.py:485 msgid "Data is populated from the remote source selected below." msgstr "" "Les données sont renseignées à partir de la source distante sélectionnée ci-" "dessous." -#: extras/forms/model_forms.py:497 +#: extras/forms/model_forms.py:491 msgid "Must specify either local data or a data file" msgstr "Doit spécifier des données locales ou un fichier de données" -#: extras/forms/model_forms.py:516 templates/core/datafile.html:65 +#: extras/forms/model_forms.py:510 templates/core/datafile.html:55 msgid "Content" msgstr "Contenu" -#: extras/forms/reports.py:18 extras/forms/scripts.py:24 +#: extras/forms/reports.py:17 extras/forms/scripts.py:23 msgid "Schedule at" msgstr "Horaire à" -#: extras/forms/reports.py:19 +#: extras/forms/reports.py:18 msgid "Schedule execution of report to a set time" msgstr "Planifier l'exécution du rapport à une heure définie" -#: extras/forms/reports.py:24 extras/forms/scripts.py:30 +#: extras/forms/reports.py:23 extras/forms/scripts.py:29 msgid "Recurs every" msgstr "Récurrent chaque fois" -#: extras/forms/reports.py:28 +#: extras/forms/reports.py:27 msgid "Interval at which this report is re-run (in minutes)" msgstr "Intervalle auquel ce rapport est réexécuté (en minutes)" -#: extras/forms/reports.py:36 extras/forms/scripts.py:42 +#: extras/forms/reports.py:35 extras/forms/scripts.py:41 #, python-brace-format msgid " (current time: {now})" msgstr " (heure actuelle : {now})" -#: extras/forms/reports.py:46 extras/forms/scripts.py:52 +#: extras/forms/reports.py:45 extras/forms/scripts.py:51 msgid "Scheduled time must be in the future." msgstr "L'heure prévue doit se situer dans le futur." -#: extras/forms/scripts.py:18 +#: extras/forms/scripts.py:17 msgid "Commit changes" msgstr "Valider les modifications" -#: extras/forms/scripts.py:19 +#: extras/forms/scripts.py:18 msgid "Commit changes to the database (uncheck for a dry-run)" msgstr "" "Validez les modifications apportées à la base de données (décochez cette " "case pour une exécution à sec)" -#: extras/forms/scripts.py:25 +#: extras/forms/scripts.py:24 msgid "Schedule execution of script to a set time" msgstr "Planifier l'exécution du script à une heure définie" -#: extras/forms/scripts.py:34 +#: extras/forms/scripts.py:33 msgid "Interval at which this script is re-run (in minutes)" msgstr "Intervalle auquel ce script est réexécuté (en minutes)" @@ -6907,36 +7174,36 @@ msgstr "modèle de configuration" msgid "config templates" msgstr "modèles de configuration" -#: extras/models/customfields.py:72 +#: extras/models/customfields.py:73 msgid "The object(s) to which this field applies." msgstr "Le ou les objets auxquels ce champ s'applique." -#: extras/models/customfields.py:79 +#: extras/models/customfields.py:80 msgid "The type of data this custom field holds" msgstr "Le type de données que contient ce champ personnalisé" -#: extras/models/customfields.py:86 +#: extras/models/customfields.py:87 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" "Le type d'objet NetBox auquel ce champ correspond (pour les champs d'objets)" -#: extras/models/customfields.py:92 +#: extras/models/customfields.py:93 msgid "Internal field name" msgstr "Nom du champ interne" -#: extras/models/customfields.py:96 +#: extras/models/customfields.py:97 msgid "Only alphanumeric characters and underscores are allowed." msgstr "" "Seuls les caractères alphanumériques et les traits de soulignement sont " "autorisés." -#: extras/models/customfields.py:101 +#: extras/models/customfields.py:102 msgid "Double underscores are not permitted in custom field names." msgstr "" "Les doubles soulignements ne sont pas autorisés dans les noms de champs " "personnalisés." -#: extras/models/customfields.py:112 +#: extras/models/customfields.py:113 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" @@ -6944,19 +7211,19 @@ msgstr "" "Nom du champ tel qu'il est affiché aux utilisateurs (s'il n'est pas fourni, " "« le nom du champ sera utilisé) »" -#: extras/models/customfields.py:116 extras/models/models.py:347 +#: extras/models/customfields.py:117 extras/models/models.py:345 msgid "group name" msgstr "nom du groupe" -#: extras/models/customfields.py:119 +#: extras/models/customfields.py:120 msgid "Custom fields within the same group will be displayed together" msgstr "Les champs personnalisés d'un même groupe seront affichés ensemble" -#: extras/models/customfields.py:127 +#: extras/models/customfields.py:128 msgid "required" msgstr "requis" -#: extras/models/customfields.py:129 +#: extras/models/customfields.py:130 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." @@ -6964,11 +7231,11 @@ msgstr "" "Si c'est vrai, ce champ est obligatoire lors de la création de nouveaux " "objets ou de la modification d'un objet existant." -#: extras/models/customfields.py:132 +#: extras/models/customfields.py:133 msgid "search weight" msgstr "poids de recherche" -#: extras/models/customfields.py:135 +#: extras/models/customfields.py:136 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." @@ -6977,11 +7244,11 @@ msgstr "" "comme plus importantes. Les champs dont le poids de recherche est nul seront" " ignorés." -#: extras/models/customfields.py:140 +#: extras/models/customfields.py:141 msgid "filter logic" msgstr "logique de filtrage" -#: extras/models/customfields.py:144 +#: extras/models/customfields.py:145 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." @@ -6989,11 +7256,11 @@ msgstr "" "Loose correspond à n'importe quelle instance d'une chaîne donnée ; " "correspond exactement à l'ensemble du champ." -#: extras/models/customfields.py:147 +#: extras/models/customfields.py:148 msgid "default" msgstr "défaut" -#: extras/models/customfields.py:151 +#: extras/models/customfields.py:152 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." @@ -7001,37 +7268,37 @@ msgstr "" "Valeur par défaut pour le champ (doit être une valeur JSON). Encapsulez des " "chaînes avec des guillemets doubles (par exemple, « Foo »)." -#: extras/models/customfields.py:156 +#: extras/models/customfields.py:157 msgid "display weight" msgstr "poids de l'écran" -#: extras/models/customfields.py:157 +#: extras/models/customfields.py:158 msgid "Fields with higher weights appear lower in a form." msgstr "" "Les champs dont le poids est plus élevé apparaissent plus bas dans un " "formulaire." -#: extras/models/customfields.py:162 +#: extras/models/customfields.py:163 msgid "minimum value" msgstr "valeur minimale" -#: extras/models/customfields.py:163 +#: extras/models/customfields.py:164 msgid "Minimum allowed value (for numeric fields)" msgstr "Valeur minimale autorisée (pour les champs numériques)" -#: extras/models/customfields.py:168 +#: extras/models/customfields.py:169 msgid "maximum value" msgstr "valeur maximale" -#: extras/models/customfields.py:169 +#: extras/models/customfields.py:170 msgid "Maximum allowed value (for numeric fields)" msgstr "Valeur maximale autorisée (pour les champs numériques)" -#: extras/models/customfields.py:175 +#: extras/models/customfields.py:176 msgid "validation regex" msgstr "regex de validation" -#: extras/models/customfields.py:177 +#: extras/models/customfields.py:178 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7043,178 +7310,178 @@ msgstr "" "exemple, ^ [DE A À Z]{3}$ limitera les valeurs à exactement " "trois lettres majuscules." -#: extras/models/customfields.py:185 +#: extras/models/customfields.py:186 msgid "choice set" msgstr "set de choix" -#: extras/models/customfields.py:194 +#: extras/models/customfields.py:195 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" "Indique si le champ personnalisé est affiché dans l'interface utilisateur" -#: extras/models/customfields.py:201 +#: extras/models/customfields.py:202 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" "Indique si la valeur du champ personnalisé peut être modifiée dans " "l'interface utilisateur" -#: extras/models/customfields.py:205 +#: extras/models/customfields.py:206 msgid "is cloneable" msgstr "est clonable" -#: extras/models/customfields.py:206 +#: extras/models/customfields.py:207 msgid "Replicate this value when cloning objects" msgstr "Répliquez cette valeur lors du clonage d'objets" -#: extras/models/customfields.py:219 +#: extras/models/customfields.py:224 msgid "custom field" msgstr "champ personnalisé" -#: extras/models/customfields.py:220 +#: extras/models/customfields.py:225 msgid "custom fields" msgstr "champs personnalisés" -#: extras/models/customfields.py:309 +#: extras/models/customfields.py:314 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "Valeur par défaut non valide »{value}« : {error}" -#: extras/models/customfields.py:316 +#: extras/models/customfields.py:321 msgid "A minimum value may be set only for numeric fields" msgstr "" "Une valeur minimale ne peut être définie que pour les champs numériques" -#: extras/models/customfields.py:318 +#: extras/models/customfields.py:323 msgid "A maximum value may be set only for numeric fields" msgstr "" "Une valeur maximale ne peut être définie que pour les champs numériques" -#: extras/models/customfields.py:328 +#: extras/models/customfields.py:333 msgid "" "Regular expression validation is supported only for text and URL fields" msgstr "" "La validation des expressions régulières est prise en charge uniquement pour" " les champs de texte et d'URL" -#: extras/models/customfields.py:338 +#: extras/models/customfields.py:343 msgid "Selection fields must specify a set of choices." msgstr "Les champs de sélection doivent spécifier un ensemble de choix." -#: extras/models/customfields.py:342 +#: extras/models/customfields.py:347 msgid "Choices may be set only on selection fields." msgstr "Les choix ne peuvent être définis que sur les champs de sélection." -#: extras/models/customfields.py:349 +#: extras/models/customfields.py:354 msgid "Object fields must define an object type." msgstr "Les champs d'objet doivent définir un type d'objet." -#: extras/models/customfields.py:354 +#: extras/models/customfields.py:359 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "{type} les champs ne peuvent pas définir de type d'objet." -#: extras/models/customfields.py:434 +#: extras/models/customfields.py:439 msgid "True" msgstr "Vrai" -#: extras/models/customfields.py:435 +#: extras/models/customfields.py:440 msgid "False" msgstr "Faux" -#: extras/models/customfields.py:517 +#: extras/models/customfields.py:522 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" "Les valeurs doivent correspondre à cette expression régulière : " "{regex}" -#: extras/models/customfields.py:611 +#: extras/models/customfields.py:616 msgid "Value must be a string." msgstr "La valeur doit être une chaîne." -#: extras/models/customfields.py:613 +#: extras/models/customfields.py:618 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "La valeur doit correspondre à « regex »{regex}'" -#: extras/models/customfields.py:618 +#: extras/models/customfields.py:623 msgid "Value must be an integer." msgstr "La valeur doit être un entier." -#: extras/models/customfields.py:621 extras/models/customfields.py:636 +#: extras/models/customfields.py:626 extras/models/customfields.py:641 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "La valeur doit être d'au moins {minimum}" -#: extras/models/customfields.py:625 extras/models/customfields.py:640 +#: extras/models/customfields.py:630 extras/models/customfields.py:645 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "La valeur ne doit pas dépasser {maximum}" -#: extras/models/customfields.py:633 +#: extras/models/customfields.py:638 msgid "Value must be a decimal." msgstr "La valeur doit être une décimale." -#: extras/models/customfields.py:645 +#: extras/models/customfields.py:650 msgid "Value must be true or false." msgstr "La valeur doit être vraie ou fausse." -#: extras/models/customfields.py:653 +#: extras/models/customfields.py:658 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "Les valeurs de date doivent être au format ISO 8601 (AAAA-MM-JJ)." -#: extras/models/customfields.py:662 +#: extras/models/customfields.py:667 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" "Les valeurs de date et d'heure doivent être au format ISO 8601 (YYYY-MM-DD " "HH:MM:SS)." -#: extras/models/customfields.py:669 +#: extras/models/customfields.py:674 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "Choix non valide ({value}) pour le set de choix {choiceset}." -#: extras/models/customfields.py:679 +#: extras/models/customfields.py:684 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "Choix (s) non valide ({value}) pour le set de choix {choiceset}." -#: extras/models/customfields.py:688 +#: extras/models/customfields.py:693 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "La valeur doit être un identifiant d'objet, et non {type}" -#: extras/models/customfields.py:694 +#: extras/models/customfields.py:699 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "La valeur doit être une liste d'identifiants d'objets, et non {type}" -#: extras/models/customfields.py:698 +#: extras/models/customfields.py:703 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "ID d'objet non valide trouvé : {id}" -#: extras/models/customfields.py:701 +#: extras/models/customfields.py:706 msgid "Required field cannot be empty." msgstr "Le champ obligatoire ne peut pas être vide." -#: extras/models/customfields.py:720 +#: extras/models/customfields.py:725 msgid "Base set of predefined choices (optional)" msgstr "Ensemble de base de choix prédéfinis (facultatif)" -#: extras/models/customfields.py:732 +#: extras/models/customfields.py:737 msgid "Choices are automatically ordered alphabetically" msgstr "Les choix sont automatiquement classés par ordre alphabétique" -#: extras/models/customfields.py:739 +#: extras/models/customfields.py:744 msgid "custom field choice set" msgstr "ensemble de choix de champs personnalisés" -#: extras/models/customfields.py:740 +#: extras/models/customfields.py:745 msgid "custom field choice sets" msgstr "ensembles de choix de champs personnalisés" -#: extras/models/customfields.py:776 +#: extras/models/customfields.py:781 msgid "Must define base or extra choices." msgstr "Doit définir des choix de base ou supplémentaires." @@ -7234,80 +7501,80 @@ msgstr "tableau de bord" msgid "dashboards" msgstr "tableaux de bord" -#: extras/models/models.py:49 +#: extras/models/models.py:51 msgid "object types" msgstr "types d'objets" -#: extras/models/models.py:50 +#: extras/models/models.py:52 msgid "The object(s) to which this rule applies." msgstr "Le ou les objets auxquels cette règle s'applique." -#: extras/models/models.py:63 +#: extras/models/models.py:65 msgid "on create" msgstr "lors de la création" -#: extras/models/models.py:65 +#: extras/models/models.py:67 msgid "Triggers when a matching object is created." msgstr "Se déclenche lorsqu'un objet correspondant est créé." -#: extras/models/models.py:68 +#: extras/models/models.py:70 msgid "on update" msgstr "sur mise à jour" -#: extras/models/models.py:70 +#: extras/models/models.py:72 msgid "Triggers when a matching object is updated." msgstr "Se déclenche lorsqu'un objet correspondant est mis à jour." -#: extras/models/models.py:73 +#: extras/models/models.py:75 msgid "on delete" msgstr "lors de la suppression" -#: extras/models/models.py:75 +#: extras/models/models.py:77 msgid "Triggers when a matching object is deleted." msgstr "Se déclenche lorsqu'un objet correspondant est supprimé." -#: extras/models/models.py:78 +#: extras/models/models.py:80 msgid "on job start" msgstr "au début de la tâche" -#: extras/models/models.py:80 +#: extras/models/models.py:82 msgid "Triggers when a job for a matching object is started." msgstr "Se déclenche lorsqu'une tâche est lancée pour un objet correspondant." -#: extras/models/models.py:83 +#: extras/models/models.py:85 msgid "on job end" msgstr "en fin de travail" -#: extras/models/models.py:85 +#: extras/models/models.py:87 msgid "Triggers when a job for a matching object terminates." msgstr "Se déclenche lorsqu'une tâche pour un objet correspondant se termine." -#: extras/models/models.py:92 +#: extras/models/models.py:94 msgid "conditions" msgstr "conditions" -#: extras/models/models.py:95 +#: extras/models/models.py:97 msgid "" "A set of conditions which determine whether the event will be generated." msgstr "Un ensemble de conditions qui déterminent si l'événement sera généré." -#: extras/models/models.py:103 +#: extras/models/models.py:105 msgid "action type" msgstr "type d'action" -#: extras/models/models.py:126 +#: extras/models/models.py:124 msgid "Additional data to pass to the action object" msgstr "Données supplémentaires à transmettre à l'objet d'action" -#: extras/models/models.py:138 +#: extras/models/models.py:136 msgid "event rule" msgstr "règle de l'événement" -#: extras/models/models.py:139 +#: extras/models/models.py:137 msgid "event rules" msgstr "règles de l'événement" -#: extras/models/models.py:155 +#: extras/models/models.py:153 msgid "" "At least one event type must be selected: create, update, delete, job start," " and/or job end." @@ -7315,7 +7582,7 @@ msgstr "" "Au moins un type d'événement doit être sélectionné : création, mise à jour, " "suppression, début et/ou fin de tâche." -#: extras/models/models.py:196 +#: extras/models/models.py:194 msgid "" "This URL will be called using the HTTP method defined when the webhook is " "called. Jinja2 template processing is supported with the same context as the" @@ -7325,7 +7592,7 @@ msgstr "" "du webhook. Le traitement du modèle Jinja2 est pris en charge dans le même " "contexte que le corps de la requête." -#: extras/models/models.py:211 +#: extras/models/models.py:209 msgid "" "The complete list of official content types is available ici." -#: extras/models/models.py:216 +#: extras/models/models.py:214 msgid "additional headers" msgstr "en-têtes supplémentaires" -#: extras/models/models.py:219 +#: extras/models/models.py:217 msgid "" "User-supplied HTTP headers to be sent with the request in addition to the " "HTTP content type. Headers should be defined in the format Name: " @@ -7351,11 +7618,11 @@ msgstr "" "Nom : Value. Le traitement du modèle Jinja2 est pris en charge " "dans le même contexte que le corps de la requête (ci-dessous)." -#: extras/models/models.py:225 +#: extras/models/models.py:223 msgid "body template" msgstr "modèle de carrosserie" -#: extras/models/models.py:228 +#: extras/models/models.py:226 msgid "" "Jinja2 template for a custom request body. If blank, a JSON object " "representing the change will be included. Available context data includes: " @@ -7369,11 +7636,11 @@ msgstr "" "d'utilisateur, identifiant_demande, et " "données." -#: extras/models/models.py:234 +#: extras/models/models.py:232 msgid "secret" msgstr "secret" -#: extras/models/models.py:238 +#: extras/models/models.py:236 msgid "" "When provided, the request will include a X-Hook-Signature " "header containing a HMAC hex digest of the payload body using the secret as " @@ -7384,16 +7651,16 @@ msgstr "" "charge utile en utilisant le secret comme clé. Le secret n'est pas transmis " "dans la demande." -#: extras/models/models.py:245 +#: extras/models/models.py:243 msgid "Enable SSL certificate verification. Disable with caution!" msgstr "" "Activez la vérification des certificats SSL. Désactivez avec précaution !" -#: extras/models/models.py:251 templates/extras/webhook.html:62 +#: extras/models/models.py:249 templates/extras/webhook.html:51 msgid "CA File Path" msgstr "Chemin du fichier CA" -#: extras/models/models.py:253 +#: extras/models/models.py:251 msgid "" "The specific CA certificate file to use for SSL verification. Leave blank to" " use the system defaults." @@ -7401,65 +7668,65 @@ msgstr "" "Le fichier de certificat CA spécifique à utiliser pour la vérification SSL. " "Laissez ce champ vide pour utiliser les paramètres par défaut du système." -#: extras/models/models.py:264 +#: extras/models/models.py:262 msgid "webhook" msgstr "webhook" -#: extras/models/models.py:265 +#: extras/models/models.py:263 msgid "webhooks" msgstr "webhooks" -#: extras/models/models.py:283 +#: extras/models/models.py:281 msgid "Do not specify a CA certificate file if SSL verification is disabled." msgstr "" "Ne spécifiez pas de fichier de certificat CA si la vérification SSL est " "désactivée." -#: extras/models/models.py:323 +#: extras/models/models.py:321 msgid "The object type(s) to which this link applies." msgstr "Le ou les types d'objets auxquels ce lien s'applique." -#: extras/models/models.py:335 +#: extras/models/models.py:333 msgid "link text" msgstr "texte du lien" -#: extras/models/models.py:336 +#: extras/models/models.py:334 msgid "Jinja2 template code for link text" msgstr "Code modèle Jinja2 pour le texte du lien" -#: extras/models/models.py:339 +#: extras/models/models.py:337 msgid "link URL" msgstr "URL du lien" -#: extras/models/models.py:340 +#: extras/models/models.py:338 msgid "Jinja2 template code for link URL" msgstr "Code modèle Jinja2 pour l'URL du lien" -#: extras/models/models.py:350 +#: extras/models/models.py:348 msgid "Links with the same group will appear as a dropdown menu" msgstr "Les liens avec le même groupe apparaîtront dans un menu déroulant" -#: extras/models/models.py:360 +#: extras/models/models.py:358 msgid "new window" msgstr "nouvelle fenêtre" -#: extras/models/models.py:362 +#: extras/models/models.py:360 msgid "Force link to open in a new window" msgstr "Forcer l'ouverture du lien dans une nouvelle fenêtre" -#: extras/models/models.py:371 +#: extras/models/models.py:369 msgid "custom link" msgstr "lien personnalisé" -#: extras/models/models.py:372 +#: extras/models/models.py:370 msgid "custom links" msgstr "liens personnalisés" -#: extras/models/models.py:419 +#: extras/models/models.py:417 msgid "The object type(s) to which this template applies." msgstr "Le ou les types d'objets auxquels ce modèle s'applique." -#: extras/models/models.py:432 +#: extras/models/models.py:430 msgid "" "Jinja2 template code. The list of objects being exported is passed as a " "context variable named queryset." @@ -7467,150 +7734,154 @@ msgstr "" "Code du modèle Jinja2. La liste des objets exportés est transmise sous forme" " de variable de contexte nommée ensemble de requêtes." -#: extras/models/models.py:440 +#: extras/models/models.py:438 msgid "Defaults to text/plain; charset=utf-8" msgstr "" "La valeur par défaut est texte/plain ; jeu de caractères = " "utf-8" -#: extras/models/models.py:443 +#: extras/models/models.py:441 msgid "file extension" msgstr "extension de fichier" -#: extras/models/models.py:446 +#: extras/models/models.py:444 msgid "Extension to append to the rendered filename" msgstr "Extension à ajouter au nom de fichier affiché" -#: extras/models/models.py:449 +#: extras/models/models.py:447 msgid "as attachment" msgstr "en pièce jointe" -#: extras/models/models.py:451 +#: extras/models/models.py:449 msgid "Download file as attachment" msgstr "Télécharger le fichier en pièce jointe" -#: extras/models/models.py:460 +#: extras/models/models.py:458 msgid "export template" msgstr "modèle d'exportation" -#: extras/models/models.py:461 +#: extras/models/models.py:459 msgid "export templates" msgstr "modèles d'exportation" -#: extras/models/models.py:478 +#: extras/models/models.py:476 #, python-brace-format msgid "\"{name}\" is a reserved name. Please choose a different name." msgstr "«{name}« est un nom réservé. Veuillez choisir un autre nom." -#: extras/models/models.py:528 +#: extras/models/models.py:526 msgid "The object type(s) to which this filter applies." msgstr "Le ou les types d'objets auxquels ce filtre s'applique." -#: extras/models/models.py:560 +#: extras/models/models.py:558 msgid "shared" msgstr "partagé" -#: extras/models/models.py:573 +#: extras/models/models.py:571 msgid "saved filter" msgstr "filtre enregistré" -#: extras/models/models.py:574 +#: extras/models/models.py:572 msgid "saved filters" msgstr "filtres enregistrés" -#: extras/models/models.py:592 +#: extras/models/models.py:590 msgid "Filter parameters must be stored as a dictionary of keyword arguments." msgstr "" "Les paramètres de filtre doivent être stockés sous la forme d'un " "dictionnaire d'arguments de mots-clés." -#: extras/models/models.py:620 +#: extras/models/models.py:618 msgid "image height" msgstr "hauteur de l'image" -#: extras/models/models.py:623 +#: extras/models/models.py:621 msgid "image width" msgstr "largeur de l'image" -#: extras/models/models.py:640 +#: extras/models/models.py:638 msgid "image attachment" msgstr "image en pièce jointe" -#: extras/models/models.py:641 +#: extras/models/models.py:639 msgid "image attachments" msgstr "images jointes" -#: extras/models/models.py:655 +#: extras/models/models.py:653 #, python-brace-format msgid "Image attachments cannot be assigned to this object type ({type})." msgstr "" "Les images jointes ne peuvent pas être attribuées à ce type d'objet " "({type})." -#: extras/models/models.py:718 +#: extras/models/models.py:716 msgid "kind" msgstr "sorte" -#: extras/models/models.py:732 +#: extras/models/models.py:730 msgid "journal entry" msgstr "entrée de journal" -#: extras/models/models.py:733 +#: extras/models/models.py:731 msgid "journal entries" msgstr "entrées de journal" -#: extras/models/models.py:748 +#: extras/models/models.py:746 #, python-brace-format msgid "Journaling is not supported for this object type ({type})." msgstr "" "La journalisation n'est pas prise en charge pour ce type d'objet ({type})." -#: extras/models/models.py:790 +#: extras/models/models.py:788 msgid "bookmark" msgstr "signet" -#: extras/models/models.py:791 +#: extras/models/models.py:789 msgid "bookmarks" msgstr "signets" -#: extras/models/models.py:804 +#: extras/models/models.py:802 #, python-brace-format msgid "Bookmarks cannot be assigned to this object type ({type})." msgstr "Les signets ne peuvent pas être affectés à ce type d'objet ({type})." -#: extras/models/reports.py:46 -msgid "report module" -msgstr "module de rapport" +#: extras/models/scripts.py:42 +msgid "is executable" +msgstr "est exécutable" -#: extras/models/reports.py:47 -msgid "report modules" -msgstr "modules de rapports" +#: extras/models/scripts.py:64 +msgid "script" +msgstr "script" -#: extras/models/scripts.py:46 +#: extras/models/scripts.py:65 +msgid "scripts" +msgstr "scripts" + +#: extras/models/scripts.py:110 msgid "script module" msgstr "module de script" -#: extras/models/scripts.py:47 +#: extras/models/scripts.py:111 msgid "script modules" msgstr "modules de script" -#: extras/models/search.py:24 +#: extras/models/search.py:22 msgid "timestamp" msgstr "horodatage" -#: extras/models/search.py:39 +#: extras/models/search.py:37 msgid "field" msgstr "champ" -#: extras/models/search.py:47 +#: extras/models/search.py:45 msgid "value" msgstr "valeur" -#: extras/models/search.py:58 +#: extras/models/search.py:56 msgid "cached value" msgstr "valeur mise en cache" -#: extras/models/search.py:59 +#: extras/models/search.py:57 msgid "cached values" msgstr "valeurs mises en cache" @@ -7650,147 +7921,229 @@ msgstr "article étiqueté" msgid "tagged items" msgstr "articles étiquetés" -#: extras/scripts.py:360 -msgid "The script must define a run() method." -msgstr "Le script doit définir une méthode run ()." - -#: extras/scripts.py:371 +#: extras/scripts.py:439 msgid "Script Data" msgstr "Données de script" -#: extras/scripts.py:375 +#: extras/scripts.py:443 msgid "Script Execution Parameters" msgstr "Paramètres d'exécution du script" -#: extras/signals.py:121 +#: extras/scripts.py:662 +msgid "Database changes have been reverted automatically." +msgstr "" +"Les modifications apportées à la base de données ont été annulées " +"automatiquement." + +#: extras/scripts.py:675 +msgid "Script aborted with error: " +msgstr "Le script a été abandonné avec une erreur : " + +#: extras/scripts.py:685 +msgid "An exception occurred: " +msgstr "Une exception s'est produite : " + +#: extras/scripts.py:688 +msgid "Database changes have been reverted due to error." +msgstr "" +"Les modifications apportées à la base de données ont été annulées en raison " +"d'une erreur." + +#: extras/signals.py:146 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "La suppression est empêchée par une règle de protection : {message}" -#: extras/tables/tables.py:44 extras/tables/tables.py:119 -#: extras/tables/tables.py:143 extras/tables/tables.py:208 -#: extras/tables/tables.py:285 -msgid "Content Types" -msgstr "Types de contenu" - -#: extras/tables/tables.py:50 -msgid "Visible" -msgstr "Visible" - -#: extras/tables/tables.py:53 -msgid "Editable" -msgstr "Modifiable" - -#: extras/tables/tables.py:60 templates/extras/customfield.html:48 -msgid "Choice Set" -msgstr "Coffret Choice" - -#: extras/tables/tables.py:68 -msgid "Is Cloneable" -msgstr "Est clonable" - -#: extras/tables/tables.py:98 -msgid "Count" -msgstr "Compter" - -#: extras/tables/tables.py:101 -msgid "Order Alphabetically" -msgstr "Ordre alphabétique" - -#: extras/tables/tables.py:125 templates/extras/customlink.html:34 -msgid "New Window" -msgstr "Nouvelle fenêtre" - -#: extras/tables/tables.py:146 -msgid "As Attachment" -msgstr "En tant que pièce jointe" - -#: extras/tables/tables.py:153 extras/tables/tables.py:372 -#: extras/tables/tables.py:407 templates/core/datafile.html:32 -#: templates/dcim/device/render_config.html:23 -#: templates/extras/configcontext.html:40 -#: templates/extras/configtemplate.html:32 -#: templates/extras/exporttemplate.html:51 -#: templates/generic/bulk_import.html:30 -#: templates/virtualization/virtualmachine/render_config.html:23 -msgid "Data File" -msgstr "Fichier de données" - -#: extras/tables/tables.py:158 extras/tables/tables.py:384 -#: extras/tables/tables.py:412 -msgid "Synced" -msgstr "Synchronisé" - -#: extras/tables/tables.py:178 -msgid "Content Type" -msgstr "Type de contenu" - -#: extras/tables/tables.py:185 -msgid "Image" -msgstr "Image" - -#: extras/tables/tables.py:190 -msgid "Size (Bytes)" -msgstr "Taille (octets)" - -#: extras/tables/tables.py:233 extras/tables/tables.py:331 -#: templates/extras/customfield.html:96 templates/extras/eventrule.html:32 -#: templates/users/objectpermission.html:68 users/tables.py:83 +#: extras/tables/tables.py:46 extras/tables/tables.py:124 +#: extras/tables/tables.py:148 extras/tables/tables.py:213 +#: extras/tables/tables.py:238 extras/tables/tables.py:290 +#: extras/tables/tables.py:336 templates/extras/customfield.html:93 +#: templates/extras/eventrule.html:27 templates/users/objectpermission.html:64 +#: users/tables.py:80 msgid "Object Types" msgstr "Types d'objets" -#: extras/tables/tables.py:255 +#: extras/tables/tables.py:52 +msgid "Visible" +msgstr "Visible" + +#: extras/tables/tables.py:55 +msgid "Editable" +msgstr "Modifiable" + +#: extras/tables/tables.py:61 +msgid "Related Object Type" +msgstr "Type d'objet associé" + +#: extras/tables/tables.py:65 templates/extras/customfield.html:47 +msgid "Choice Set" +msgstr "Coffret Choice" + +#: extras/tables/tables.py:73 +msgid "Is Cloneable" +msgstr "Est clonable" + +#: extras/tables/tables.py:103 +msgid "Count" +msgstr "Compter" + +#: extras/tables/tables.py:106 +msgid "Order Alphabetically" +msgstr "Ordre alphabétique" + +#: extras/tables/tables.py:130 templates/extras/customlink.html:33 +msgid "New Window" +msgstr "Nouvelle fenêtre" + +#: extras/tables/tables.py:151 +msgid "As Attachment" +msgstr "En tant que pièce jointe" + +#: extras/tables/tables.py:158 extras/tables/tables.py:377 +#: extras/tables/tables.py:412 templates/core/datafile.html:24 +#: templates/dcim/device/render_config.html:22 +#: templates/extras/configcontext.html:39 +#: templates/extras/configtemplate.html:31 +#: templates/extras/exporttemplate.html:45 +#: templates/generic/bulk_import.html:35 +#: templates/virtualization/virtualmachine/render_config.html:22 +msgid "Data File" +msgstr "Fichier de données" + +#: extras/tables/tables.py:163 extras/tables/tables.py:389 +#: extras/tables/tables.py:417 +msgid "Synced" +msgstr "Synchronisé" + +#: extras/tables/tables.py:190 +msgid "Image" +msgstr "Image" + +#: extras/tables/tables.py:195 +msgid "Size (Bytes)" +msgstr "Taille (octets)" + +#: extras/tables/tables.py:260 msgid "SSL Validation" msgstr "Validation SSL" -#: extras/tables/tables.py:300 +#: extras/tables/tables.py:305 msgid "Job Start" msgstr "Début du travail" -#: extras/tables/tables.py:303 +#: extras/tables/tables.py:308 msgid "Job End" msgstr "Fin du travail" -#: extras/tables/tables.py:441 templates/account/profile.html:20 -#: templates/users/user.html:22 +#: extras/tables/tables.py:425 netbox/navigation/menu.py:64 +#: templates/dcim/devicerole.html:8 +msgid "Device Roles" +msgstr "Rôles des appareils" + +#: extras/tables/tables.py:440 netbox/navigation/menu.py:234 +#: netbox/navigation/menu.py:236 virtualization/views.py:186 +msgid "Virtual Machines" +msgstr "Machines virtuelles" + +#: extras/tables/tables.py:466 templates/account/profile.html:19 +#: templates/users/user.html:21 msgid "Full Name" msgstr "Nom complet" -#: extras/tables/tables.py:458 templates/extras/objectchange.html:72 +#: extras/tables/tables.py:483 templates/extras/objectchange.html:67 msgid "Request ID" msgstr "ID de demande" -#: extras/tables/tables.py:495 +#: extras/tables/tables.py:520 msgid "Comments (Short)" msgstr "Commentaires (courts)" -#: extras/validators.py:15 +#: extras/tables/tables.py:539 extras/tables/tables.py:561 +msgid "Line" +msgstr "Ligne" + +#: extras/tables/tables.py:546 extras/tables/tables.py:571 +#: extras/tables/tables.py:575 +msgid "Level" +msgstr "Niveau" + +#: extras/tables/tables.py:549 extras/tables/tables.py:585 +msgid "Message" +msgstr "Message" + +#: extras/tables/tables.py:553 extras/tables/tables.py:589 +#: netbox/tables/tables.py:261 +msgid "No results found" +msgstr "Aucun résultat trouvé" + +#: extras/tables/tables.py:564 +msgid "Method" +msgstr "Méthode" + +#: extras/validators.py:16 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Assurez-vous que cette valeur est égale à %(limit_value)s." -#: extras/validators.py:26 +#: extras/validators.py:27 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Assurez-vous que cette valeur n'est pas égale %(limit_value)s." -#: extras/validators.py:37 +#: extras/validators.py:38 msgid "This field must be empty." msgstr "Ce champ doit être vide." -#: extras/validators.py:52 +#: extras/validators.py:53 msgid "This field must not be empty." msgstr "Ce champ ne doit pas être vide." -#: extras/validators.py:121 +#: extras/validators.py:95 +msgid "Validation rules must be passed as a dictionary" +msgstr "" +"Les règles de validation doivent être transmises sous forme de dictionnaire" + +#: extras/validators.py:120 +#, python-brace-format +msgid "Custom validation failed for {attribute}: {exception}" +msgstr "La validation personnalisée a échoué pour {attribute}: {exception}" + +#: extras/validators.py:140 +#, python-brace-format +msgid "Invalid attribute \"{name}\" for request" +msgstr "Attribut non valide »{name}« pour demande" + +#: extras/validators.py:157 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Attribut non valide »{name}« pour {model}" -#: extras/views.py:880 +#: extras/views.py:889 msgid "Your dashboard has been reset." msgstr "Votre tableau de bord a été réinitialisé." +#: extras/views.py:935 +msgid "Added widget: " +msgstr "Widget ajouté : " + +#: extras/views.py:976 +msgid "Updated widget: " +msgstr "Widget mis à jour : " + +#: extras/views.py:1012 +msgid "Deleted widget: " +msgstr "Widget supprimé : " + +#: extras/views.py:1014 +msgid "Error deleting widget: " +msgstr "Erreur lors de la suppression du widget : " + +#: extras/views.py:1081 +msgid "Unable to run script: RQ worker process not running." +msgstr "" +"Impossible d'exécuter le script : le processus de travail RQ n'est pas en " +"cours d'exécution." + #: ipam/api/field_serializers.py:17 msgid "Enter a valid IPv4 or IPv6 address with optional mask." msgstr "Entrez une adresse IPv4 ou IPv6 valide avec un masque facultatif." @@ -7809,7 +8162,7 @@ msgstr "Entrez un préfixe IPv4 ou IPv6 valide et un masque en notation CIDR." msgid "Invalid IP prefix format: {data}" msgstr "Format de préfixe IP non valide : {data}" -#: ipam/api/views.py:383 +#: ipam/api/views.py:358 msgid "" "Insufficient space is available to accommodate the requested prefix size(s)" msgstr "" @@ -7861,142 +8214,162 @@ msgstr "Texte brut" msgid "Invalid IP address format: {address}" msgstr "Format d'adresse IP non valide : {address}" -#: ipam/filtersets.py:47 vpn/filtersets.py:276 +#: ipam/filtersets.py:48 vpn/filtersets.py:323 msgid "Import target" msgstr "Objectif d'importation" -#: ipam/filtersets.py:53 vpn/filtersets.py:282 +#: ipam/filtersets.py:54 vpn/filtersets.py:329 msgid "Import target (name)" msgstr "Cible d'importation (nom)" -#: ipam/filtersets.py:58 vpn/filtersets.py:287 +#: ipam/filtersets.py:59 vpn/filtersets.py:334 msgid "Export target" msgstr "Objectif d'exportation" -#: ipam/filtersets.py:64 vpn/filtersets.py:293 +#: ipam/filtersets.py:65 vpn/filtersets.py:340 msgid "Export target (name)" msgstr "Cible d'exportation (nom)" -#: ipam/filtersets.py:85 +#: ipam/filtersets.py:86 msgid "Importing VRF" msgstr "Importation de VRF" -#: ipam/filtersets.py:91 +#: ipam/filtersets.py:92 msgid "Import VRF (RD)" msgstr "Importer VRF (RD)" -#: ipam/filtersets.py:96 +#: ipam/filtersets.py:97 msgid "Exporting VRF" msgstr "Exportation de fichiers VRF" -#: ipam/filtersets.py:102 +#: ipam/filtersets.py:103 msgid "Export VRF (RD)" msgstr "Exporter VRF (RD)" -#: ipam/filtersets.py:132 ipam/filtersets.py:247 ipam/forms/model_forms.py:229 +#: ipam/filtersets.py:108 +msgid "Importing L2VPN" +msgstr "Importation de L2VPN" + +#: ipam/filtersets.py:114 +msgid "Importing L2VPN (identifier)" +msgstr "Importation de L2VPN (identifiant)" + +#: ipam/filtersets.py:119 +msgid "Exporting L2VPN" +msgstr "Exportation de L2VPN" + +#: ipam/filtersets.py:125 +msgid "Exporting L2VPN (identifier)" +msgstr "Exportation de L2VPN (identifiant)" + +#: ipam/filtersets.py:155 ipam/filtersets.py:281 ipam/forms/model_forms.py:227 #: ipam/tables/ip.py:211 templates/ipam/prefix.html:12 msgid "Prefix" msgstr "Préfixe" -#: ipam/filtersets.py:136 ipam/filtersets.py:175 ipam/filtersets.py:198 +#: ipam/filtersets.py:159 ipam/filtersets.py:198 ipam/filtersets.py:221 msgid "RIR (ID)" msgstr "RIRE (ID)" -#: ipam/filtersets.py:142 ipam/filtersets.py:181 ipam/filtersets.py:204 +#: ipam/filtersets.py:165 ipam/filtersets.py:204 ipam/filtersets.py:227 msgid "RIR (slug)" msgstr "RIR (limace)" -#: ipam/filtersets.py:251 +#: ipam/filtersets.py:285 msgid "Within prefix" msgstr "Dans le préfixe" -#: ipam/filtersets.py:255 +#: ipam/filtersets.py:289 msgid "Within and including prefix" msgstr "Dans le préfixe et y compris" -#: ipam/filtersets.py:259 +#: ipam/filtersets.py:293 msgid "Prefixes which contain this prefix or IP" msgstr "Préfixes contenant ce préfixe ou cette adresse IP" -#: ipam/filtersets.py:270 ipam/filtersets.py:538 ipam/forms/bulk_edit.py:326 -#: ipam/forms/filtersets.py:191 ipam/forms/filtersets.py:317 +#: ipam/filtersets.py:304 ipam/filtersets.py:572 ipam/forms/bulk_edit.py:327 +#: ipam/forms/filtersets.py:195 ipam/forms/filtersets.py:324 msgid "Mask length" msgstr "Longueur du masque" -#: ipam/filtersets.py:339 vpn/filtersets.py:399 +#: ipam/filtersets.py:373 vpn/filtersets.py:446 msgid "VLAN (ID)" msgstr "VLAN (IDENTIFIANT)" -#: ipam/filtersets.py:343 vpn/filtersets.py:394 +#: ipam/filtersets.py:377 vpn/filtersets.py:441 msgid "VLAN number (1-4094)" msgstr "Numéro de VLAN (1-4094)" -#: ipam/filtersets.py:437 ipam/filtersets.py:441 ipam/filtersets.py:533 -#: ipam/forms/model_forms.py:430 templates/tenancy/contact.html:54 -#: tenancy/forms/bulk_edit.py:112 +#: ipam/filtersets.py:471 ipam/filtersets.py:475 ipam/filtersets.py:567 +#: ipam/forms/model_forms.py:452 templates/tenancy/contact.html:53 +#: tenancy/forms/bulk_edit.py:113 msgid "Address" msgstr "Adresse" -#: ipam/filtersets.py:445 +#: ipam/filtersets.py:479 msgid "Ranges which contain this prefix or IP" msgstr "Plages contenant ce préfixe ou cette adresse IP" -#: ipam/filtersets.py:473 ipam/filtersets.py:529 +#: ipam/filtersets.py:507 ipam/filtersets.py:563 msgid "Parent prefix" msgstr "Préfixe parent" -#: ipam/filtersets.py:582 ipam/filtersets.py:812 ipam/filtersets.py:1042 -#: vpn/filtersets.py:357 +#: ipam/filtersets.py:616 ipam/filtersets.py:856 ipam/filtersets.py:1091 +#: vpn/filtersets.py:404 msgid "Virtual machine (name)" msgstr "Machine virtuelle (nom)" -#: ipam/filtersets.py:587 ipam/filtersets.py:817 ipam/filtersets.py:1036 +#: ipam/filtersets.py:621 ipam/filtersets.py:861 ipam/filtersets.py:1085 #: virtualization/filtersets.py:278 virtualization/filtersets.py:317 -#: vpn/filtersets.py:362 +#: vpn/filtersets.py:409 msgid "Virtual machine (ID)" msgstr "Machine virtuelle (ID)" -#: ipam/filtersets.py:593 vpn/filtersets.py:97 vpn/filtersets.py:368 +#: ipam/filtersets.py:627 vpn/filtersets.py:97 vpn/filtersets.py:415 msgid "Interface (name)" msgstr "Interface (nom)" -#: ipam/filtersets.py:598 vpn/filtersets.py:102 vpn/filtersets.py:373 -msgid "Interface (ID)" -msgstr "Interface (ID)" - -#: ipam/filtersets.py:604 vpn/filtersets.py:108 vpn/filtersets.py:379 +#: ipam/filtersets.py:638 vpn/filtersets.py:108 vpn/filtersets.py:426 msgid "VM interface (name)" msgstr "Interface de machine virtuelle (nom)" -#: ipam/filtersets.py:609 vpn/filtersets.py:113 +#: ipam/filtersets.py:643 vpn/filtersets.py:113 msgid "VM interface (ID)" msgstr "Interface de machine virtuelle (ID)" -#: ipam/filtersets.py:614 +#: ipam/filtersets.py:648 msgid "FHRP group (ID)" msgstr "Groupe FHRP (ID)" -#: ipam/filtersets.py:618 +#: ipam/filtersets.py:652 msgid "Is assigned to an interface" msgstr "Est affecté à une interface" -#: ipam/filtersets.py:622 +#: ipam/filtersets.py:656 msgid "Is assigned" msgstr "Est attribué" -#: ipam/filtersets.py:1047 +#: ipam/filtersets.py:668 +msgid "Service (ID)" +msgstr "Service (ID)" + +#: ipam/filtersets.py:673 +msgid "NAT inside IP address (ID)" +msgstr "Adresse IP intérieure NAT (ID)" + +#: ipam/filtersets.py:1096 msgid "IP address (ID)" msgstr "Adresse IP (ID)" -#: ipam/filtersets.py:1053 ipam/models/ip.py:787 +#: ipam/filtersets.py:1102 ipam/models/ip.py:787 msgid "IP address" msgstr "Adresse IP" -#: ipam/filtersets.py:1079 +#: ipam/filtersets.py:1131 msgid "Primary IPv4 (ID)" msgstr "IPv4 principal (ID)" -#: ipam/filtersets.py:1084 +#: ipam/filtersets.py:1136 msgid "Primary IPv6 (ID)" msgstr "IPv6 principal (ID)" @@ -8025,116 +8398,116 @@ msgstr "Entrez une adresse IPv4 ou IPv6 valide (avec masque CIDR)." msgid "CIDR mask (e.g. /24) is required." msgstr "Un masque CIDR (par exemple /24) est requis." -#: ipam/forms/bulk_create.py:14 +#: ipam/forms/bulk_create.py:13 msgid "Address pattern" msgstr "Modèle d'adresse" -#: ipam/forms/bulk_edit.py:47 +#: ipam/forms/bulk_edit.py:48 msgid "Enforce unique space" msgstr "Renforcez un espace unique" -#: ipam/forms/bulk_edit.py:85 +#: ipam/forms/bulk_edit.py:86 msgid "Is private" msgstr "Est privé" -#: ipam/forms/bulk_edit.py:106 ipam/forms/bulk_edit.py:135 -#: ipam/forms/bulk_edit.py:160 ipam/forms/bulk_import.py:88 +#: ipam/forms/bulk_edit.py:107 ipam/forms/bulk_edit.py:136 +#: ipam/forms/bulk_edit.py:161 ipam/forms/bulk_import.py:88 #: ipam/forms/bulk_import.py:108 ipam/forms/bulk_import.py:128 -#: ipam/forms/filtersets.py:109 ipam/forms/filtersets.py:124 -#: ipam/forms/filtersets.py:147 ipam/forms/model_forms.py:93 -#: ipam/forms/model_forms.py:108 ipam/forms/model_forms.py:130 -#: ipam/forms/model_forms.py:148 ipam/models/asns.py:31 +#: ipam/forms/filtersets.py:110 ipam/forms/filtersets.py:125 +#: ipam/forms/filtersets.py:148 ipam/forms/model_forms.py:94 +#: ipam/forms/model_forms.py:107 ipam/forms/model_forms.py:129 +#: ipam/forms/model_forms.py:147 ipam/models/asns.py:31 #: ipam/models/asns.py:103 ipam/models/ip.py:70 ipam/models/ip.py:89 #: ipam/tables/asn.py:20 ipam/tables/asn.py:45 -#: templates/ipam/aggregate.html:19 templates/ipam/asn.html:28 -#: templates/ipam/asnrange.html:20 templates/ipam/rir.html:20 +#: templates/ipam/aggregate.html:18 templates/ipam/asn.html:27 +#: templates/ipam/asnrange.html:19 templates/ipam/rir.html:19 msgid "RIR" msgstr "RIR" -#: ipam/forms/bulk_edit.py:168 +#: ipam/forms/bulk_edit.py:169 msgid "Date added" msgstr "Date d'ajout" -#: ipam/forms/bulk_edit.py:229 +#: ipam/forms/bulk_edit.py:230 msgid "Prefix length" msgstr "Longueur du préfixe" -#: ipam/forms/bulk_edit.py:252 ipam/forms/filtersets.py:236 -#: templates/ipam/prefix.html:86 +#: ipam/forms/bulk_edit.py:253 ipam/forms/filtersets.py:240 +#: templates/ipam/prefix.html:85 msgid "Is a pool" msgstr "C'est une piscine" -#: ipam/forms/bulk_edit.py:257 ipam/forms/bulk_edit.py:301 -#: ipam/forms/filtersets.py:243 ipam/forms/filtersets.py:282 +#: ipam/forms/bulk_edit.py:258 ipam/forms/bulk_edit.py:302 +#: ipam/forms/filtersets.py:247 ipam/forms/filtersets.py:286 #: ipam/models/ip.py:271 ipam/models/ip.py:538 msgid "Treat as fully utilized" msgstr "Traiter comme s'il avait été pleinement utilisé" -#: ipam/forms/bulk_edit.py:349 ipam/models/ip.py:771 +#: ipam/forms/bulk_edit.py:350 ipam/models/ip.py:771 msgid "DNS name" msgstr "Nom DNS" -#: ipam/forms/bulk_edit.py:370 ipam/forms/bulk_edit.py:569 +#: ipam/forms/bulk_edit.py:371 ipam/forms/bulk_edit.py:572 #: ipam/forms/bulk_import.py:393 ipam/forms/bulk_import.py:477 -#: ipam/forms/bulk_import.py:503 ipam/forms/filtersets.py:376 -#: ipam/forms/filtersets.py:511 templates/ipam/fhrpgroup.html:23 -#: templates/ipam/inc/panels/fhrp_groups.html:11 -#: templates/ipam/service.html:35 templates/ipam/servicetemplate.html:20 +#: ipam/forms/bulk_import.py:503 ipam/forms/filtersets.py:383 +#: ipam/forms/filtersets.py:518 templates/ipam/fhrpgroup.html:22 +#: templates/ipam/inc/panels/fhrp_groups.html:24 +#: templates/ipam/service.html:32 templates/ipam/servicetemplate.html:19 msgid "Protocol" msgstr "Protocole" -#: ipam/forms/bulk_edit.py:377 ipam/forms/filtersets.py:383 -#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:27 +#: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:390 +#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:26 msgid "Group ID" msgstr "ID de groupe" -#: ipam/forms/bulk_edit.py:382 ipam/forms/filtersets.py:388 -#: wireless/forms/bulk_edit.py:67 wireless/forms/bulk_edit.py:114 +#: ipam/forms/bulk_edit.py:383 ipam/forms/filtersets.py:395 +#: wireless/forms/bulk_edit.py:68 wireless/forms/bulk_edit.py:115 #: wireless/forms/bulk_import.py:62 wireless/forms/bulk_import.py:65 #: wireless/forms/bulk_import.py:104 wireless/forms/bulk_import.py:107 -#: wireless/forms/filtersets.py:53 wireless/forms/filtersets.py:87 +#: wireless/forms/filtersets.py:54 wireless/forms/filtersets.py:88 msgid "Authentication type" msgstr "Type d'authentification" -#: ipam/forms/bulk_edit.py:387 ipam/forms/filtersets.py:392 +#: ipam/forms/bulk_edit.py:388 ipam/forms/filtersets.py:399 msgid "Authentication key" msgstr "Clé d'authentification" -#: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:369 -#: ipam/forms/model_forms.py:441 netbox/navigation/menu.py:376 -#: templates/ipam/fhrpgroup.html:51 +#: ipam/forms/bulk_edit.py:405 ipam/forms/filtersets.py:376 +#: ipam/forms/model_forms.py:463 netbox/navigation/menu.py:369 +#: templates/ipam/fhrpgroup.html:49 #: templates/wireless/inc/authentication_attrs.html:5 -#: wireless/forms/bulk_edit.py:90 wireless/forms/bulk_edit.py:137 -#: wireless/forms/filtersets.py:35 wireless/forms/filtersets.py:75 -#: wireless/forms/model_forms.py:56 wireless/forms/model_forms.py:161 +#: wireless/forms/bulk_edit.py:91 wireless/forms/bulk_edit.py:138 +#: wireless/forms/filtersets.py:36 wireless/forms/filtersets.py:76 +#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:164 msgid "Authentication" msgstr "Authentification" -#: ipam/forms/bulk_edit.py:414 +#: ipam/forms/bulk_edit.py:415 msgid "Minimum child VLAN VID" msgstr "VID VLAN minimum pour enfants" -#: ipam/forms/bulk_edit.py:420 +#: ipam/forms/bulk_edit.py:421 msgid "Maximum child VLAN VID" msgstr "VID VLAN maximum pour enfants" -#: ipam/forms/bulk_edit.py:428 ipam/forms/model_forms.py:531 +#: ipam/forms/bulk_edit.py:429 ipam/forms/model_forms.py:557 msgid "Scope type" msgstr "Type de portée" -#: ipam/forms/bulk_edit.py:489 ipam/forms/model_forms.py:604 -#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:39 +#: ipam/forms/bulk_edit.py:491 ipam/forms/model_forms.py:632 +#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:38 msgid "Scope" msgstr "Champ" -#: ipam/forms/bulk_edit.py:560 +#: ipam/forms/bulk_edit.py:563 msgid "Site & Group" msgstr "Site et groupe" -#: ipam/forms/bulk_edit.py:574 ipam/forms/model_forms.py:667 -#: ipam/forms/model_forms.py:701 ipam/tables/services.py:19 -#: ipam/tables/services.py:49 templates/ipam/service.html:39 -#: templates/ipam/servicetemplate.html:24 +#: ipam/forms/bulk_edit.py:577 ipam/forms/model_forms.py:696 +#: ipam/forms/model_forms.py:728 ipam/tables/services.py:19 +#: ipam/tables/services.py:49 templates/ipam/service.html:36 +#: templates/ipam/servicetemplate.html:23 msgid "Ports" msgstr "Ports" @@ -8155,15 +8528,15 @@ msgstr "RIR attribué" msgid "VLAN's group (if any)" msgstr "Le groupe du VLAN (le cas échéant)" -#: ipam/forms/bulk_import.py:184 ipam/forms/model_forms.py:219 +#: ipam/forms/bulk_import.py:184 ipam/forms/model_forms.py:216 #: ipam/models/vlans.py:214 ipam/tables/ip.py:254 -#: templates/ipam/prefix.html:61 templates/ipam/vlan.html:13 +#: templates/ipam/prefix.html:60 templates/ipam/vlan.html:12 #: templates/ipam/vlan/base.html:6 templates/ipam/vlan_edit.html:10 -#: templates/vpn/l2vpntermination_edit.html:17 -#: templates/wireless/wirelesslan.html:31 vpn/forms/bulk_import.py:304 -#: vpn/forms/filtersets.py:280 vpn/forms/model_forms.py:433 -#: wireless/forms/bulk_edit.py:54 wireless/forms/bulk_import.py:48 -#: wireless/forms/model_forms.py:49 wireless/models.py:101 +#: templates/wireless/wirelesslan.html:30 vpn/forms/bulk_import.py:304 +#: vpn/forms/filtersets.py:284 vpn/forms/model_forms.py:433 +#: vpn/forms/model_forms.py:452 wireless/forms/bulk_edit.py:55 +#: wireless/forms/bulk_import.py:48 wireless/forms/model_forms.py:48 +#: wireless/models.py:101 msgid "VLAN" msgstr "VLAN" @@ -8172,14 +8545,14 @@ msgid "Parent device of assigned interface (if any)" msgstr "Appareil parent auquel est attribuée l'interface (le cas échéant)" #: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:695 virtualization/filtersets.py:284 -#: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:199 -#: virtualization/forms/bulk_edit.py:325 +#: ipam/forms/model_forms.py:722 virtualization/filtersets.py:284 +#: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:200 +#: virtualization/forms/bulk_edit.py:326 #: virtualization/forms/bulk_import.py:146 #: virtualization/forms/bulk_import.py:207 -#: virtualization/forms/filtersets.py:204 -#: virtualization/forms/filtersets.py:240 -#: virtualization/forms/model_forms.py:291 vpn/forms/bulk_import.py:93 +#: virtualization/forms/filtersets.py:208 +#: virtualization/forms/filtersets.py:244 +#: virtualization/forms/model_forms.py:288 vpn/forms/bulk_import.py:93 #: vpn/forms/bulk_import.py:290 msgid "Virtual machine" msgstr "Machine virtuelle" @@ -8251,145 +8624,152 @@ msgstr "Obligatoire s'il n'est pas attribué à un appareil" msgid "{ip} is not assigned to this device/VM." msgstr "{ip} n'est pas attribué à cet appareil/à cette machine virtuelle." -#: ipam/forms/filtersets.py:46 ipam/forms/model_forms.py:60 -#: netbox/navigation/menu.py:177 vpn/forms/model_forms.py:409 +#: ipam/forms/filtersets.py:47 ipam/forms/model_forms.py:61 +#: netbox/navigation/menu.py:176 vpn/forms/model_forms.py:410 msgid "Route Targets" msgstr "Cibles de l'itinéraire" -#: ipam/forms/filtersets.py:52 ipam/forms/model_forms.py:47 -#: vpn/forms/filtersets.py:221 vpn/forms/model_forms.py:396 +#: ipam/forms/filtersets.py:53 ipam/forms/model_forms.py:48 +#: vpn/forms/filtersets.py:224 vpn/forms/model_forms.py:397 msgid "Import targets" msgstr "Cibles d'importation" -#: ipam/forms/filtersets.py:57 ipam/forms/model_forms.py:52 -#: vpn/forms/filtersets.py:226 vpn/forms/model_forms.py:401 +#: ipam/forms/filtersets.py:58 ipam/forms/model_forms.py:53 +#: vpn/forms/filtersets.py:229 vpn/forms/model_forms.py:402 msgid "Export targets" msgstr "Objectifs d'exportation" -#: ipam/forms/filtersets.py:72 +#: ipam/forms/filtersets.py:73 msgid "Imported by VRF" msgstr "Importé par VRF" -#: ipam/forms/filtersets.py:77 +#: ipam/forms/filtersets.py:78 msgid "Exported by VRF" msgstr "Exporté par VRF" -#: ipam/forms/filtersets.py:86 ipam/tables/ip.py:89 templates/ipam/rir.html:33 +#: ipam/forms/filtersets.py:87 ipam/tables/ip.py:89 templates/ipam/rir.html:30 msgid "Private" msgstr "Privé" -#: ipam/forms/filtersets.py:104 ipam/forms/filtersets.py:186 -#: ipam/forms/filtersets.py:261 ipam/forms/filtersets.py:312 +#: ipam/forms/filtersets.py:105 ipam/forms/filtersets.py:190 +#: ipam/forms/filtersets.py:265 ipam/forms/filtersets.py:319 msgid "Address family" msgstr "Famille d'adresses" -#: ipam/forms/filtersets.py:118 templates/ipam/asnrange.html:26 +#: ipam/forms/filtersets.py:119 templates/ipam/asnrange.html:25 msgid "Range" msgstr "Plage" -#: ipam/forms/filtersets.py:127 +#: ipam/forms/filtersets.py:128 msgid "Start" msgstr "Démarrer" -#: ipam/forms/filtersets.py:131 +#: ipam/forms/filtersets.py:132 msgid "End" msgstr "Fin" -#: ipam/forms/filtersets.py:181 +#: ipam/forms/filtersets.py:185 msgid "Search within" msgstr "Rechercher dans" -#: ipam/forms/filtersets.py:202 ipam/forms/filtersets.py:328 +#: ipam/forms/filtersets.py:206 ipam/forms/filtersets.py:335 msgid "Present in VRF" msgstr "Présent en VRF" -#: ipam/forms/filtersets.py:297 +#: ipam/forms/filtersets.py:304 msgid "Device/VM" msgstr "Appareil/VM" -#: ipam/forms/filtersets.py:333 +#: ipam/forms/filtersets.py:314 +msgid "Parent Prefix" +msgstr "Préfixe parent" + +#: ipam/forms/filtersets.py:340 msgid "Assigned Device" msgstr "Appareil attribué" -#: ipam/forms/filtersets.py:338 +#: ipam/forms/filtersets.py:345 msgid "Assigned VM" msgstr "Machine virtuelle attribuée" -#: ipam/forms/filtersets.py:352 +#: ipam/forms/filtersets.py:359 msgid "Assigned to an interface" msgstr "Affecté à une interface" -#: ipam/forms/filtersets.py:359 templates/ipam/ipaddress.html:54 +#: ipam/forms/filtersets.py:366 templates/ipam/ipaddress.html:51 msgid "DNS Name" msgstr "Nom DNS" -#: ipam/forms/filtersets.py:401 ipam/forms/filtersets.py:494 -#: ipam/models/vlans.py:156 templates/ipam/vlan.html:34 +#: ipam/forms/filtersets.py:408 ipam/forms/filtersets.py:501 +#: ipam/models/vlans.py:156 templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "IDENTIFIANT DE VLAN" -#: ipam/forms/filtersets.py:433 +#: ipam/forms/filtersets.py:440 msgid "Minimum VID" msgstr "VID minimum" -#: ipam/forms/filtersets.py:439 +#: ipam/forms/filtersets.py:446 msgid "Maximum VID" msgstr "VID maximum" -#: ipam/forms/filtersets.py:516 -msgid "Port" -msgstr "Port" - -#: ipam/forms/filtersets.py:537 ipam/tables/vlans.py:191 -#: templates/ipam/ipaddress_edit.html:47 templates/ipam/service_create.html:22 -#: templates/ipam/service_edit.html:21 -#: templates/virtualization/virtualdisk.html:22 -#: templates/virtualization/virtualmachine.html:13 -#: templates/virtualization/vminterface.html:24 -#: templates/vpn/l2vpntermination_edit.html:27 -#: templates/vpn/tunneltermination.html:26 -#: virtualization/forms/filtersets.py:189 -#: virtualization/forms/filtersets.py:234 -#: virtualization/forms/model_forms.py:223 +#: ipam/forms/filtersets.py:544 ipam/forms/model_forms.py:318 +#: ipam/forms/model_forms.py:750 ipam/forms/model_forms.py:776 +#: ipam/tables/vlans.py:191 templates/virtualization/virtualdisk.html:21 +#: templates/virtualization/virtualmachine.html:12 +#: templates/virtualization/vminterface.html:21 +#: templates/vpn/tunneltermination.html:25 +#: virtualization/forms/filtersets.py:193 +#: virtualization/forms/filtersets.py:238 +#: virtualization/forms/model_forms.py:220 #: virtualization/tables/virtualmachines.py:128 #: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 -#: vpn/forms/filtersets.py:289 vpn/forms/model_forms.py:161 -#: vpn/forms/model_forms.py:172 vpn/forms/model_forms.py:274 +#: vpn/forms/filtersets.py:293 vpn/forms/model_forms.py:160 +#: vpn/forms/model_forms.py:171 vpn/forms/model_forms.py:273 +#: vpn/forms/model_forms.py:454 msgid "Virtual Machine" msgstr "Machine virtuelle" -#: ipam/forms/model_forms.py:113 ipam/tables/ip.py:116 -#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:39 +#: ipam/forms/model_forms.py:78 templates/ipam/routetarget.html:10 +msgid "Route Target" +msgstr "Cible de l'itinéraire" + +#: ipam/forms/model_forms.py:112 ipam/tables/ip.py:116 +#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38 msgid "Aggregate" msgstr "Agrégat" -#: ipam/forms/model_forms.py:134 templates/ipam/asnrange.html:12 +#: ipam/forms/model_forms.py:133 templates/ipam/asnrange.html:12 msgid "ASN Range" msgstr "Plage ASN" -#: ipam/forms/model_forms.py:230 +#: ipam/forms/model_forms.py:229 msgid "Site/VLAN Assignment" msgstr "Affectation de site/VLAN" -#: ipam/forms/model_forms.py:256 templates/ipam/iprange.html:11 +#: ipam/forms/model_forms.py:257 templates/ipam/iprange.html:10 msgid "IP Range" msgstr "Plage IP" -#: ipam/forms/model_forms.py:285 ipam/forms/model_forms.py:440 -#: templates/ipam/fhrpgroup.html:19 templates/ipam/ipaddress_edit.html:52 +#: ipam/forms/model_forms.py:293 ipam/forms/model_forms.py:319 +#: ipam/forms/model_forms.py:462 templates/ipam/fhrpgroup.html:19 msgid "FHRP Group" msgstr "Groupe FHRP" -#: ipam/forms/model_forms.py:300 +#: ipam/forms/model_forms.py:308 msgid "Make this the primary IP for the device/VM" msgstr "" "Faites-en l'adresse IP principale de l'appareil/de la machine virtuelle" -#: ipam/forms/model_forms.py:351 +#: ipam/forms/model_forms.py:323 +msgid "NAT IP (Inside)" +msgstr "IP NAT (interne)" + +#: ipam/forms/model_forms.py:373 msgid "An IP address can only be assigned to a single object." msgstr "Une adresse IP ne peut être attribuée qu'à un seul objet." -#: ipam/forms/model_forms.py:357 ipam/models/ip.py:896 +#: ipam/forms/model_forms.py:379 ipam/models/ip.py:896 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" @@ -8397,32 +8777,32 @@ msgstr "" "Impossible de réattribuer l'adresse IP lorsqu'elle est désignée comme " "adresse IP principale pour l'objet parent" -#: ipam/forms/model_forms.py:367 +#: ipam/forms/model_forms.py:389 msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "" "Seules les adresses IP attribuées à une interface peuvent être désignées " "comme adresses IP principales." -#: ipam/forms/model_forms.py:442 +#: ipam/forms/model_forms.py:464 msgid "Virtual IP Address" msgstr "Adresse IP virtuelle" -#: ipam/forms/model_forms.py:523 +#: ipam/forms/model_forms.py:549 msgid "Assignment already exists" msgstr "L'affectation existe déjà" -#: ipam/forms/model_forms.py:602 ipam/forms/model_forms.py:641 +#: ipam/forms/model_forms.py:628 ipam/forms/model_forms.py:670 #: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 #: templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "Groupe VLAN" -#: ipam/forms/model_forms.py:603 +#: ipam/forms/model_forms.py:629 msgid "Child VLANs" msgstr "VLAN pour enfants" -#: ipam/forms/model_forms.py:672 ipam/forms/model_forms.py:706 +#: ipam/forms/model_forms.py:701 ipam/forms/model_forms.py:733 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." @@ -8430,15 +8810,32 @@ msgstr "" "Liste séparée par des virgules d'un ou de plusieurs numéros de port. Une " "plage peut être spécifiée à l'aide d'un trait d'union." -#: ipam/forms/model_forms.py:677 templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:706 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "Modèle de service" -#: ipam/forms/model_forms.py:728 +#: ipam/forms/model_forms.py:753 +msgid "Port(s)" +msgstr "Port (x)" + +#: ipam/forms/model_forms.py:754 ipam/forms/model_forms.py:782 +#: templates/ipam/service.html:21 +msgid "Service" +msgstr "Service" + +#: ipam/forms/model_forms.py:767 msgid "Service template" msgstr "Modèle de service" -#: ipam/forms/model_forms.py:758 +#: ipam/forms/model_forms.py:779 +msgid "From Template" +msgstr "À partir du modèle" + +#: ipam/forms/model_forms.py:780 +msgid "Custom" +msgstr "Personnalisé" + +#: ipam/forms/model_forms.py:810 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" @@ -8475,7 +8872,7 @@ msgstr "Numéro de système autonome 16 ou 32 bits" msgid "group ID" msgstr "ID de groupe" -#: ipam/models/fhrp.py:30 ipam/models/services.py:22 +#: ipam/models/fhrp.py:30 ipam/models/services.py:21 msgid "protocol" msgstr "protocole" @@ -8515,7 +8912,7 @@ msgstr "privé" msgid "IP space managed by this RIR is considered private" msgstr "L'espace IP géré par ce RIR est considéré comme privé" -#: ipam/models/ip.py:71 netbox/navigation/menu.py:170 +#: ipam/models/ip.py:71 netbox/navigation/menu.py:169 msgid "RIRs" msgstr "IR" @@ -8690,7 +9087,7 @@ msgstr "L'état opérationnel de cette adresse IP" msgid "The functional role of this IP" msgstr "Le rôle fonctionnel de cette propriété intellectuelle" -#: ipam/models/ip.py:764 templates/ipam/ipaddress.html:75 +#: ipam/models/ip.py:764 templates/ipam/ipaddress.html:72 msgid "NAT (inside)" msgstr "NAT (intérieur)" @@ -8703,7 +9100,7 @@ msgstr "" msgid "Hostname or FQDN (not case-sensitive)" msgstr "Nom d'hôte ou FQDN (pas de distinction majuscules/minuscules)" -#: ipam/models/ip.py:788 ipam/models/services.py:94 +#: ipam/models/ip.py:788 ipam/models/services.py:93 msgid "IP addresses" msgstr "Adresses IP" @@ -8735,39 +9132,39 @@ msgstr "Adresse IP dupliquée trouvée dans {table}: {ipaddress}" msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "Seules les adresses IPv6 peuvent se voir attribuer le statut SLAAC" -#: ipam/models/services.py:33 +#: ipam/models/services.py:32 msgid "port numbers" msgstr "numéros de port" -#: ipam/models/services.py:59 +#: ipam/models/services.py:58 msgid "service template" msgstr "modèle de service" -#: ipam/models/services.py:60 +#: ipam/models/services.py:59 msgid "service templates" msgstr "modèles de services" -#: ipam/models/services.py:95 +#: ipam/models/services.py:94 msgid "The specific IP addresses (if any) to which this service is bound" msgstr "" "Les adresses IP spécifiques (le cas échéant) auxquelles ce service est lié" -#: ipam/models/services.py:102 +#: ipam/models/services.py:101 msgid "service" msgstr "service" -#: ipam/models/services.py:103 +#: ipam/models/services.py:102 msgid "services" msgstr "services" -#: ipam/models/services.py:117 +#: ipam/models/services.py:116 msgid "" "A service cannot be associated with both a device and a virtual machine." msgstr "" "Un service ne peut pas être associé à la fois à un appareil et à une machine" " virtuelle." -#: ipam/models/services.py:119 +#: ipam/models/services.py:118 msgid "" "A service must be associated with either a device or a virtual machine." msgstr "" @@ -8828,8 +9225,8 @@ msgid "The primary function of this VLAN" msgstr "La principale fonction de ce VLAN" #: ipam/models/vlans.py:215 ipam/tables/ip.py:175 ipam/tables/vlans.py:78 -#: ipam/views.py:960 netbox/navigation/menu.py:181 -#: netbox/navigation/menu.py:183 +#: ipam/views.py:959 netbox/navigation/menu.py:180 +#: netbox/navigation/menu.py:182 msgid "VLANs" msgstr "VLAN" @@ -8865,8 +9262,8 @@ msgstr "renforcer un espace unique" msgid "Prevent duplicate prefixes/IP addresses within this VRF" msgstr "Empêchez les préfixes/adresses IP dupliqués dans ce VRF" -#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:174 -#: netbox/navigation/menu.py:176 +#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:173 +#: netbox/navigation/menu.py:175 msgid "VRFs" msgstr "VRF" @@ -8894,8 +9291,8 @@ msgstr "Nombre de sites" msgid "Provider Count" msgstr "Nombre de fournisseurs" -#: ipam/tables/ip.py:94 netbox/navigation/menu.py:167 -#: netbox/navigation/menu.py:169 +#: ipam/tables/ip.py:94 netbox/navigation/menu.py:166 +#: netbox/navigation/menu.py:168 msgid "Aggregates" msgstr "Agrégats" @@ -8904,19 +9301,19 @@ msgid "Added" msgstr "Ajouté" #: ipam/tables/ip.py:127 ipam/tables/ip.py:165 ipam/tables/vlans.py:138 -#: ipam/views.py:349 netbox/navigation/menu.py:153 -#: netbox/navigation/menu.py:155 templates/ipam/vlan.html:87 +#: ipam/views.py:349 netbox/navigation/menu.py:152 +#: netbox/navigation/menu.py:154 templates/ipam/vlan.html:84 msgid "Prefixes" msgstr "Préfixes" #: ipam/tables/ip.py:130 ipam/tables/ip.py:267 ipam/tables/ip.py:320 -#: ipam/tables/vlans.py:82 templates/dcim/device.html:263 -#: templates/ipam/aggregate.html:25 templates/ipam/iprange.html:32 -#: templates/ipam/prefix.html:100 +#: ipam/tables/vlans.py:82 templates/dcim/device.html:252 +#: templates/ipam/aggregate.html:24 templates/ipam/iprange.html:29 +#: templates/ipam/prefix.html:106 msgid "Utilization" msgstr "Utilisation" -#: ipam/tables/ip.py:170 netbox/navigation/menu.py:149 +#: ipam/tables/ip.py:170 netbox/navigation/menu.py:148 msgid "IP Ranges" msgstr "Plages d'adresses IP" @@ -8924,7 +9321,7 @@ msgstr "Plages d'adresses IP" msgid "Prefix (Flat)" msgstr "Préfixe (plat)" -#: ipam/tables/ip.py:224 templates/dcim/rack_edit.html:52 +#: ipam/tables/ip.py:224 msgid "Depth" msgstr "Profondeur" @@ -8952,8 +9349,8 @@ msgstr "NAT (extérieur)" msgid "Assigned" msgstr "Attribué" -#: ipam/tables/ip.py:424 templates/vpn/l2vpntermination.html:19 -#: vpn/forms/filtersets.py:235 +#: ipam/tables/ip.py:424 templates/vpn/l2vpntermination.html:16 +#: vpn/forms/filtersets.py:240 msgid "Assigned Object" msgstr "Objet assigné" @@ -9015,23 +9412,23 @@ msgstr "Préfixes pour enfants" msgid "Child Ranges" msgstr "Plages pour enfants" -#: ipam/views.py:888 +#: ipam/views.py:887 msgid "Related IPs" msgstr "IP associées" -#: ipam/views.py:1117 +#: ipam/views.py:1115 msgid "Device Interfaces" msgstr "Interfaces des appareils" -#: ipam/views.py:1135 +#: ipam/views.py:1133 msgid "VM Interfaces" msgstr "Interfaces de machines virtuelles" -#: netbox/api/fields.py:62 +#: netbox/api/fields.py:63 msgid "This field may not be blank." msgstr "Ce champ n'est peut-être pas vide." -#: netbox/api/fields.py:66 +#: netbox/api/fields.py:68 msgid "" "Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " "or list." @@ -9039,58 +9436,117 @@ msgstr "" "La valeur doit être transmise directement (par exemple « foo » : 123) ; " "n'utilisez pas de dictionnaire ni de liste." -#: netbox/api/fields.py:86 +#: netbox/api/fields.py:89 #, python-brace-format msgid "{value} is not a valid choice." msgstr "{value} n'est pas un choix valable." -#: netbox/api/fields.py:99 +#: netbox/api/fields.py:102 #, python-brace-format msgid "Invalid content type: {content_type}" msgstr "Type de contenu non valide : {content_type}" -#: netbox/api/fields.py:100 +#: netbox/api/fields.py:103 msgid "Invalid value. Specify a content type as '.'." msgstr "" "Valeur non valide. Spécifiez un type de contenu comme " "«.'." -#: netbox/api/serializers/nested.py:35 -#, python-brace-format -msgid "Related object not found using the provided attributes: {params}" -msgstr "Objet associé introuvable à l'aide des attributs fournis : {params}" - -#: netbox/api/serializers/nested.py:38 -#, python-brace-format -msgid "Multiple objects match the provided attributes: {params}" -msgstr "Plusieurs objets correspondent aux attributs fournis : {params}" - -#: netbox/api/serializers/nested.py:50 -#, python-brace-format -msgid "" -"Related objects must be referenced by numeric ID or by dictionary of " -"attributes. Received an unrecognized value: {value}" -msgstr "" -"Les objets associés doivent être référencés par un identifiant numérique ou " -"par un dictionnaire d'attributs. A reçu une valeur non reconnue : {value}" - -#: netbox/api/serializers/nested.py:59 -#, python-brace-format -msgid "Related object not found using the provided numeric ID: {id}" -msgstr "" -"Objet associé introuvable à l'aide de l'identifiant numérique fourni : {id}" - -#: netbox/authentication.py:137 +#: netbox/authentication/__init__.py:138 #, python-brace-format msgid "Invalid permission {permission} for model {model}" msgstr "Autorisation non valide {permission} pour modèle {model}" +#: netbox/choices.py:49 +msgid "Dark Red" +msgstr "Rouge foncé" + +#: netbox/choices.py:52 +msgid "Rose" +msgstr "Rose" + +#: netbox/choices.py:53 +msgid "Fuchsia" +msgstr "Fuchsia" + +#: netbox/choices.py:55 +msgid "Dark Purple" +msgstr "Violet foncé" + +#: netbox/choices.py:58 +msgid "Light Blue" +msgstr "Bleu clair" + +#: netbox/choices.py:61 +msgid "Aqua" +msgstr "Aqua" + +#: netbox/choices.py:62 +msgid "Dark Green" +msgstr "Vert foncé" + +#: netbox/choices.py:64 +msgid "Light Green" +msgstr "Vert clair" + +#: netbox/choices.py:65 +msgid "Lime" +msgstr "Citron" + +#: netbox/choices.py:67 +msgid "Amber" +msgstr "Ambre" + +#: netbox/choices.py:69 +msgid "Dark Orange" +msgstr "Orange foncé" + +#: netbox/choices.py:70 +msgid "Brown" +msgstr "Marron" + +#: netbox/choices.py:71 +msgid "Light Grey" +msgstr "gris clair" + +#: netbox/choices.py:72 +msgid "Grey" +msgstr "gris" + +#: netbox/choices.py:73 +msgid "Dark Grey" +msgstr "gris foncé" + +#: netbox/choices.py:131 +msgid "Direct" +msgstr "Directement" + +#: netbox/choices.py:132 +msgid "Upload" +msgstr "Téléverser" + +#: netbox/choices.py:144 netbox/choices.py:158 +msgid "Auto-detect" +msgstr "Détection automatique" + +#: netbox/choices.py:159 +msgid "Comma" +msgstr "Virgule" + +#: netbox/choices.py:160 +msgid "Semicolon" +msgstr "Point-virgule" + +#: netbox/choices.py:161 +msgid "Tab" +msgstr "Onglet" + #: netbox/config/__init__.py:67 #, python-brace-format msgid "Invalid configuration parameter: {item}" msgstr "Paramètre de configuration non valide : {item}" -#: netbox/config/parameters.py:22 templates/core/configrevision.html:111 +#: netbox/config/parameters.py:22 templates/core/inc/config_data.html:62 msgid "Login banner" msgstr "Bannière de connexion" @@ -9098,7 +9554,7 @@ msgstr "Bannière de connexion" msgid "Additional content to display on the login page" msgstr "Contenu supplémentaire à afficher sur la page de connexion" -#: netbox/config/parameters.py:33 templates/core/configrevision.html:115 +#: netbox/config/parameters.py:33 templates/core/inc/config_data.html:66 msgid "Maintenance banner" msgstr "Bannière de maintenance" @@ -9106,7 +9562,7 @@ msgstr "Bannière de maintenance" msgid "Additional content to display when in maintenance mode" msgstr "Contenu supplémentaire à afficher en mode maintenance" -#: netbox/config/parameters.py:44 templates/core/configrevision.html:119 +#: netbox/config/parameters.py:44 templates/core/inc/config_data.html:70 msgid "Top banner" msgstr "Bannière supérieure" @@ -9114,7 +9570,7 @@ msgstr "Bannière supérieure" msgid "Additional content to display at the top of every page" msgstr "Contenu supplémentaire à afficher en haut de chaque page" -#: netbox/config/parameters.py:55 templates/core/configrevision.html:123 +#: netbox/config/parameters.py:55 templates/core/inc/config_data.html:74 msgid "Bottom banner" msgstr "Bannière inférieure" @@ -9130,7 +9586,7 @@ msgstr "Un espace IP unique au monde" msgid "Enforce unique IP addressing within the global table" msgstr "Appliquez un adressage IP unique dans le tableau global" -#: netbox/config/parameters.py:75 templates/core/configrevision.html:87 +#: netbox/config/parameters.py:75 templates/core/inc/config_data.html:44 msgid "Prefer IPv4" msgstr "Préférez IPv4" @@ -9140,21 +9596,22 @@ msgstr "Préférez les adresses IPv4 à IPv6" #: netbox/config/parameters.py:84 msgid "Rack unit height" -msgstr "Hauteur de l'unité de rayonnage" +msgstr "Hauteur de la baie" #: netbox/config/parameters.py:86 msgid "Default unit height for rendered rack elevations" msgstr "" -"Hauteur unitaire par défaut pour les élévations des rayonnages affichées" +"Valeur par défaut du nombre d'unités pour les élévations des baies affichées" #: netbox/config/parameters.py:91 msgid "Rack unit width" -msgstr "Largeur de l'unité de rack" +msgstr "Largeur de l'unité de la baie" #: netbox/config/parameters.py:93 msgid "Default unit width for rendered rack elevations" msgstr "" -"Largeur unitaire par défaut pour les élévations des rayonnages affichées" +"Valeur par défaut de la largeur des unités pour les élévations des baies " +"affichées" #: netbox/config/parameters.py:100 msgid "Powerfeed voltage" @@ -9180,7 +9637,7 @@ msgstr "Utilisation maximale de Powerfeed" msgid "Default max utilization for powerfeeds" msgstr "Utilisation maximale par défaut pour les alimentations" -#: netbox/config/parameters.py:123 templates/core/configrevision.html:99 +#: netbox/config/parameters.py:123 templates/core/inc/config_data.html:53 msgid "Allowed URL schemes" msgstr "Schémas d'URL autorisés" @@ -9197,7 +9654,7 @@ msgstr "Taille de page par défaut" msgid "Maximum page size" msgstr "Taille de page maximale" -#: netbox/config/parameters.py:150 templates/core/configrevision.html:151 +#: netbox/config/parameters.py:150 templates/core/inc/config_data.html:96 msgid "Custom validators" msgstr "Validateurs personnalisés" @@ -9205,7 +9662,7 @@ msgstr "Validateurs personnalisés" msgid "Custom validation rules (JSON)" msgstr "Règles de validation personnalisées (JSON)" -#: netbox/config/parameters.py:160 templates/core/configrevision.html:161 +#: netbox/config/parameters.py:160 templates/core/inc/config_data.html:104 msgid "Protection rules" msgstr "Règles de protection" @@ -9213,7 +9670,7 @@ msgstr "Règles de protection" msgid "Deletion protection rules (JSON)" msgstr "Règles de protection contre la suppression (JSON)" -#: netbox/config/parameters.py:172 +#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117 msgid "Default preferences" msgstr "Préférences par défaut" @@ -9221,7 +9678,7 @@ msgstr "Préférences par défaut" msgid "Default preferences for new users" msgstr "Préférences par défaut pour les nouveaux utilisateurs" -#: netbox/config/parameters.py:181 templates/core/configrevision.html:197 +#: netbox/config/parameters.py:181 templates/core/inc/config_data.html:129 msgid "Maintenance mode" msgstr "Mode de maintenance" @@ -9229,7 +9686,7 @@ msgstr "Mode de maintenance" msgid "Enable maintenance mode" msgstr "Activer le mode maintenance" -#: netbox/config/parameters.py:188 templates/core/configrevision.html:201 +#: netbox/config/parameters.py:188 templates/core/inc/config_data.html:133 msgid "GraphQL enabled" msgstr "GraphQL activé" @@ -9237,7 +9694,7 @@ msgstr "GraphQL activé" msgid "Enable the GraphQL API" msgstr "Activez l'API GraphQL" -#: netbox/config/parameters.py:195 templates/core/configrevision.html:205 +#: netbox/config/parameters.py:195 templates/core/inc/config_data.html:137 msgid "Changelog retention" msgstr "Conservation du journal des modifications" @@ -9257,7 +9714,7 @@ msgstr "" "Jours pendant lesquels vous conservez l'historique des résultats du travail " "(défini sur zéro pour une durée illimitée)" -#: netbox/config/parameters.py:209 templates/core/configrevision.html:213 +#: netbox/config/parameters.py:209 templates/core/inc/config_data.html:145 msgid "Maps URL" msgstr "URL des cartes" @@ -9265,39 +9722,43 @@ msgstr "URL des cartes" msgid "Base URL for mapping geographic locations" msgstr "URL de base pour cartographier les emplacements géographiques" -#: netbox/forms/__init__.py:13 +#: netbox/forms/__init__.py:12 msgid "Partial match" msgstr "Match partiel" -#: netbox/forms/__init__.py:14 +#: netbox/forms/__init__.py:13 msgid "Exact match" msgstr "Correspondance exacte" -#: netbox/forms/__init__.py:15 +#: netbox/forms/__init__.py:14 msgid "Starts with" msgstr "Commence par" -#: netbox/forms/__init__.py:16 +#: netbox/forms/__init__.py:15 msgid "Ends with" msgstr "Se termine par" -#: netbox/forms/__init__.py:17 +#: netbox/forms/__init__.py:16 msgid "Regex" msgstr "Regex" -#: netbox/forms/__init__.py:35 +#: netbox/forms/__init__.py:34 msgid "Object type(s)" msgstr "Type (s) d'objet" -#: netbox/forms/base.py:77 -msgid "Id" -msgstr "Id" +#: netbox/forms/base.py:88 +msgid "" +"Tag slugs separated by commas, encased with double quotes (e.g. " +"\"tag1,tag2,tag3\")" +msgstr "" +"Slugs de balises séparés par des virgules, encadrés par des guillemets " +"doubles (par exemple « tag1, tag2, tag3 »)" -#: netbox/forms/base.py:116 +#: netbox/forms/base.py:118 msgid "Add tags" msgstr "Ajouter des tags" -#: netbox/forms/base.py:121 +#: netbox/forms/base.py:123 msgid "Remove tags" msgstr "Supprimer les tags" @@ -9306,400 +9767,387 @@ msgstr "Supprimer les tags" msgid "{class_name} must specify a model class." msgstr "{class_name} doit spécifier une classe de modèle." -#: netbox/models/features.py:278 +#: netbox/models/features.py:277 #, python-brace-format msgid "Unknown field name '{name}' in custom field data." msgstr "" "Nom de champ inconnu '{name}'dans les données de champs personnalisés." -#: netbox/models/features.py:284 +#: netbox/models/features.py:283 #, python-brace-format msgid "Invalid value for custom field '{name}': {error}" msgstr "Valeur non valide pour le champ personnalisé '{name}« : {error}" -#: netbox/models/features.py:291 +#: netbox/models/features.py:290 #, python-brace-format msgid "Missing required custom field '{name}'." msgstr "Champ personnalisé obligatoire manquant '{name}'." -#: netbox/models/features.py:438 +#: netbox/models/features.py:441 msgid "Remote data source" msgstr "Source de données distante" -#: netbox/models/features.py:448 +#: netbox/models/features.py:451 msgid "data path" msgstr "chemin de données" -#: netbox/models/features.py:452 +#: netbox/models/features.py:455 msgid "Path to remote file (relative to data source root)" msgstr "" "Chemin vers le fichier distant (par rapport à la racine de la source de " "données)" -#: netbox/models/features.py:455 +#: netbox/models/features.py:458 msgid "auto sync enabled" msgstr "synchronisation automatique activée" -#: netbox/models/features.py:457 +#: netbox/models/features.py:460 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Activer la synchronisation automatique des données lors de la mise à jour du" " fichier de données" -#: netbox/models/features.py:460 +#: netbox/models/features.py:463 msgid "date synced" msgstr "date de synchronisation" -#: netbox/models/features.py:554 +#: netbox/models/features.py:557 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} doit implémenter une méthode sync_data ()." -#: netbox/navigation/menu.py:12 +#: netbox/navigation/menu.py:11 msgid "Organization" msgstr "Organisation" -#: netbox/navigation/menu.py:20 +#: netbox/navigation/menu.py:19 msgid "Site Groups" msgstr "Groupes de sites" -#: netbox/navigation/menu.py:28 +#: netbox/navigation/menu.py:27 msgid "Rack Roles" -msgstr "Rôles des racks" +msgstr "Rôles des baies" -#: netbox/navigation/menu.py:32 +#: netbox/navigation/menu.py:31 msgid "Elevations" msgstr "Élévations" -#: netbox/navigation/menu.py:41 +#: netbox/navigation/menu.py:40 msgid "Tenant Groups" msgstr "Groupes de locataires" -#: netbox/navigation/menu.py:48 +#: netbox/navigation/menu.py:47 msgid "Contact Groups" msgstr "Groupes de contacts" -#: netbox/navigation/menu.py:49 templates/tenancy/contactrole.html:8 +#: netbox/navigation/menu.py:48 templates/tenancy/contactrole.html:8 msgid "Contact Roles" msgstr "Rôles de contact" -#: netbox/navigation/menu.py:50 +#: netbox/navigation/menu.py:49 msgid "Contact Assignments" msgstr "Assignations de contact" -#: netbox/navigation/menu.py:64 +#: netbox/navigation/menu.py:63 msgid "Modules" msgstr "Modules" -#: netbox/navigation/menu.py:65 templates/dcim/devicerole.html:8 -msgid "Device Roles" -msgstr "Rôles des appareils" - -#: netbox/navigation/menu.py:68 templates/dcim/device.html:162 +#: netbox/navigation/menu.py:67 templates/dcim/device.html:157 #: templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "Contextes des appareils virtuels" -#: netbox/navigation/menu.py:76 +#: netbox/navigation/menu.py:75 msgid "Manufacturers" msgstr "Fabricants" -#: netbox/navigation/menu.py:80 +#: netbox/navigation/menu.py:79 msgid "Device Components" msgstr "Composants de l'appareil" -#: netbox/navigation/menu.py:92 templates/dcim/inventoryitemrole.html:8 +#: netbox/navigation/menu.py:91 templates/dcim/inventoryitemrole.html:8 msgid "Inventory Item Roles" msgstr "Rôles des articles d'inventaire" -#: netbox/navigation/menu.py:99 netbox/navigation/menu.py:103 +#: netbox/navigation/menu.py:98 netbox/navigation/menu.py:102 msgid "Connections" msgstr "Connexions" -#: netbox/navigation/menu.py:105 +#: netbox/navigation/menu.py:104 msgid "Cables" msgstr "Câbles" -#: netbox/navigation/menu.py:106 +#: netbox/navigation/menu.py:105 msgid "Wireless Links" msgstr "Liaisons sans fil" -#: netbox/navigation/menu.py:109 +#: netbox/navigation/menu.py:108 msgid "Interface Connections" msgstr "Connexions d'interface" -#: netbox/navigation/menu.py:114 +#: netbox/navigation/menu.py:113 msgid "Console Connections" msgstr "Connexions à la console" -#: netbox/navigation/menu.py:119 +#: netbox/navigation/menu.py:118 msgid "Power Connections" msgstr "Connexions électriques" -#: netbox/navigation/menu.py:135 +#: netbox/navigation/menu.py:134 msgid "Wireless LAN Groups" msgstr "Groupes LAN sans fil" -#: netbox/navigation/menu.py:156 +#: netbox/navigation/menu.py:155 msgid "Prefix & VLAN Roles" msgstr "Préfixes et rôles VLAN" -#: netbox/navigation/menu.py:162 +#: netbox/navigation/menu.py:161 msgid "ASN Ranges" msgstr "Plages ASN" -#: netbox/navigation/menu.py:184 +#: netbox/navigation/menu.py:183 msgid "VLAN Groups" msgstr "Groupes VLAN" -#: netbox/navigation/menu.py:191 +#: netbox/navigation/menu.py:190 msgid "Service Templates" msgstr "Modèles de services" -#: netbox/navigation/menu.py:192 templates/dcim/device.html:304 -#: templates/ipam/ipaddress.html:122 -#: templates/virtualization/virtualmachine.html:157 +#: netbox/navigation/menu.py:191 templates/dcim/device.html:294 +#: templates/ipam/ipaddress.html:118 +#: templates/virtualization/virtualmachine.html:150 msgid "Services" msgstr "Des services" -#: netbox/navigation/menu.py:199 +#: netbox/navigation/menu.py:198 msgid "VPN" msgstr "VPN" -#: netbox/navigation/menu.py:203 netbox/navigation/menu.py:205 +#: netbox/navigation/menu.py:202 netbox/navigation/menu.py:204 #: vpn/tables/tunnels.py:24 msgid "Tunnels" msgstr "Tunnels" -#: netbox/navigation/menu.py:206 templates/vpn/tunnelgroup.html:8 +#: netbox/navigation/menu.py:205 templates/vpn/tunnelgroup.html:8 msgid "Tunnel Groups" msgstr "Groupes de tunnels" -#: netbox/navigation/menu.py:207 +#: netbox/navigation/menu.py:206 msgid "Tunnel Terminations" msgstr "Terminaisons de tunnels" -#: netbox/navigation/menu.py:211 netbox/navigation/menu.py:213 +#: netbox/navigation/menu.py:210 netbox/navigation/menu.py:212 #: vpn/models/l2vpn.py:64 msgid "L2VPNs" msgstr "VPN L2" -#: netbox/navigation/menu.py:214 templates/vpn/l2vpn.html:57 -#: templates/vpn/tunnel.html:73 vpn/tables/tunnels.py:58 +#: netbox/navigation/menu.py:213 templates/vpn/l2vpn.html:56 +#: templates/vpn/tunnel.html:72 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "Résiliations" -#: netbox/navigation/menu.py:220 +#: netbox/navigation/menu.py:219 msgid "IKE Proposals" msgstr "Propositions IKE" -#: netbox/navigation/menu.py:221 templates/vpn/ikeproposal.html:42 +#: netbox/navigation/menu.py:220 templates/vpn/ikeproposal.html:41 msgid "IKE Policies" msgstr "Politiques IKE" -#: netbox/navigation/menu.py:222 +#: netbox/navigation/menu.py:221 msgid "IPSec Proposals" msgstr "Propositions IPSec" -#: netbox/navigation/menu.py:223 templates/vpn/ipsecproposal.html:38 +#: netbox/navigation/menu.py:222 templates/vpn/ipsecproposal.html:37 msgid "IPSec Policies" msgstr "Politiques IPSec" -#: netbox/navigation/menu.py:224 templates/vpn/ikepolicy.html:39 -#: templates/vpn/ipsecpolicy.html:26 +#: netbox/navigation/menu.py:223 templates/vpn/ikepolicy.html:38 +#: templates/vpn/ipsecpolicy.html:25 msgid "IPSec Profiles" msgstr "Profils IPSec" -#: netbox/navigation/menu.py:231 templates/dcim/device_edit.html:78 +#: netbox/navigation/menu.py:230 templates/dcim/device_edit.html:78 msgid "Virtualization" msgstr "Virtualisation" -#: netbox/navigation/menu.py:235 netbox/navigation/menu.py:237 -#: virtualization/views.py:186 -msgid "Virtual Machines" -msgstr "Machines virtuelles" - -#: netbox/navigation/menu.py:239 -#: templates/virtualization/virtualmachine.html:177 +#: netbox/navigation/menu.py:238 +#: templates/virtualization/virtualmachine.html:170 #: templates/virtualization/virtualmachine/base.html:32 #: templates/virtualization/virtualmachine_list.html:21 #: virtualization/tables/virtualmachines.py:103 virtualization/views.py:389 msgid "Virtual Disks" msgstr "Disques virtuels" -#: netbox/navigation/menu.py:246 +#: netbox/navigation/menu.py:245 msgid "Cluster Types" msgstr "Types de clusters" -#: netbox/navigation/menu.py:247 +#: netbox/navigation/menu.py:246 msgid "Cluster Groups" msgstr "Groupes de clusters" -#: netbox/navigation/menu.py:261 +#: netbox/navigation/menu.py:260 msgid "Circuit Types" msgstr "Types de circuits" -#: netbox/navigation/menu.py:265 netbox/navigation/menu.py:267 +#: netbox/navigation/menu.py:264 netbox/navigation/menu.py:266 msgid "Providers" msgstr "Prestataires" -#: netbox/navigation/menu.py:268 templates/circuits/provider.html:53 +#: netbox/navigation/menu.py:267 templates/circuits/provider.html:51 msgid "Provider Accounts" msgstr "Comptes des fournisseurs" -#: netbox/navigation/menu.py:269 +#: netbox/navigation/menu.py:268 msgid "Provider Networks" msgstr "Réseaux de fournisseurs" -#: netbox/navigation/menu.py:283 +#: netbox/navigation/menu.py:282 msgid "Power Panels" msgstr "Panneaux d'alimentation" -#: netbox/navigation/menu.py:294 +#: netbox/navigation/menu.py:293 msgid "Configurations" msgstr "Configurations" -#: netbox/navigation/menu.py:296 +#: netbox/navigation/menu.py:295 msgid "Config Contexts" msgstr "Contextes de configuration" -#: netbox/navigation/menu.py:297 +#: netbox/navigation/menu.py:296 msgid "Config Templates" msgstr "Modèles de configuration" -#: netbox/navigation/menu.py:304 netbox/navigation/menu.py:308 +#: netbox/navigation/menu.py:303 netbox/navigation/menu.py:307 msgid "Customization" msgstr "Personnalisation" -#: netbox/navigation/menu.py:310 -#: templates/circuits/circuittermination_edit.html:53 -#: templates/dcim/cable_edit.html:77 templates/dcim/device_edit.html:103 -#: templates/dcim/inventoryitem_edit.html:102 templates/dcim/rack_edit.html:81 +#: netbox/navigation/menu.py:309 templates/dcim/device_edit.html:103 +#: templates/dcim/htmx/cable_edit.html:81 #: templates/dcim/virtualchassis_add.html:31 -#: templates/dcim/virtualchassis_edit.html:41 -#: templates/generic/bulk_edit.html:92 templates/htmx/form.html:32 -#: templates/inc/panels/custom_fields.html:7 -#: templates/ipam/ipaddress_bulk_add.html:35 -#: templates/ipam/ipaddress_edit.html:88 templates/ipam/service_create.html:75 -#: templates/ipam/service_edit.html:62 templates/ipam/vlan_edit.html:63 -#: templates/tenancy/contactassignment_edit.html:31 -#: templates/vpn/l2vpntermination_edit.html:51 +#: templates/dcim/virtualchassis_edit.html:40 +#: templates/generic/bulk_edit.html:76 templates/htmx/form.html:19 +#: templates/inc/filter_list.html:30 templates/inc/panels/custom_fields.html:7 +#: templates/ipam/ipaddress_bulk_add.html:35 templates/ipam/vlan_edit.html:63 msgid "Custom Fields" msgstr "Champs personnalisés" -#: netbox/navigation/menu.py:311 +#: netbox/navigation/menu.py:310 msgid "Custom Field Choices" msgstr "Choix de champs personnalisés" -#: netbox/navigation/menu.py:312 +#: netbox/navigation/menu.py:311 msgid "Custom Links" msgstr "Liens personnalisés" -#: netbox/navigation/menu.py:313 +#: netbox/navigation/menu.py:312 msgid "Export Templates" msgstr "Modèles d'exportation" -#: netbox/navigation/menu.py:314 +#: netbox/navigation/menu.py:313 msgid "Saved Filters" msgstr "Filtres enregistrés" -#: netbox/navigation/menu.py:316 +#: netbox/navigation/menu.py:315 msgid "Image Attachments" msgstr "Pièces jointes à des images" -#: netbox/navigation/menu.py:320 -msgid "Reports & Scripts" -msgstr "Rapports et scripts" - -#: netbox/navigation/menu.py:340 +#: netbox/navigation/menu.py:333 msgid "Operations" msgstr "Opérations" -#: netbox/navigation/menu.py:344 +#: netbox/navigation/menu.py:337 msgid "Integrations" msgstr "Intégrations" -#: netbox/navigation/menu.py:346 +#: netbox/navigation/menu.py:339 msgid "Data Sources" msgstr "Sources de données" -#: netbox/navigation/menu.py:347 +#: netbox/navigation/menu.py:340 msgid "Event Rules" msgstr "Règles de l'événement" -#: netbox/navigation/menu.py:348 +#: netbox/navigation/menu.py:341 msgid "Webhooks" msgstr "Webhooks" -#: netbox/navigation/menu.py:352 netbox/navigation/menu.py:356 +#: netbox/navigation/menu.py:345 netbox/navigation/menu.py:349 #: netbox/views/generic/feature_views.py:151 #: templates/extras/report/base.html:37 templates/extras/script/base.html:36 msgid "Jobs" msgstr "Emplois" -#: netbox/navigation/menu.py:362 +#: netbox/navigation/menu.py:355 msgid "Logging" msgstr "Journalisation" -#: netbox/navigation/menu.py:364 +#: netbox/navigation/menu.py:357 msgid "Journal Entries" msgstr "Entrées de journal" -#: netbox/navigation/menu.py:365 templates/extras/objectchange.html:8 +#: netbox/navigation/menu.py:358 templates/extras/objectchange.html:8 #: templates/extras/objectchange_list.html:4 msgid "Change Log" msgstr "Journal des modifications" -#: netbox/navigation/menu.py:372 templates/inc/profile_button.html:18 +#: netbox/navigation/menu.py:365 templates/inc/user_menu.html:11 msgid "Admin" msgstr "Administrateur" -#: netbox/navigation/menu.py:381 templates/users/group.html:27 -#: users/forms/model_forms.py:243 users/forms/model_forms.py:256 -#: users/forms/model_forms.py:310 users/tables.py:105 +#: netbox/navigation/menu.py:373 templates/users/group.html:29 +#: users/forms/model_forms.py:236 users/forms/model_forms.py:248 +#: users/forms/model_forms.py:300 users/tables.py:102 msgid "Users" msgstr "Utilisateurs" -#: netbox/navigation/menu.py:404 users/forms/model_forms.py:183 -#: users/forms/model_forms.py:196 users/forms/model_forms.py:315 -#: users/tables.py:35 users/tables.py:109 +#: netbox/navigation/menu.py:392 users/forms/model_forms.py:185 +#: users/forms/model_forms.py:197 users/forms/model_forms.py:305 +#: users/tables.py:35 users/tables.py:106 msgid "Groups" msgstr "Groupes" -#: netbox/navigation/menu.py:426 templates/account/base.html:21 -#: templates/inc/profile_button.html:39 +#: netbox/navigation/menu.py:411 templates/account/base.html:21 +#: templates/inc/user_menu.html:36 msgid "API Tokens" msgstr "Jetons d'API" -#: netbox/navigation/menu.py:433 users/forms/model_forms.py:189 -#: users/forms/model_forms.py:198 users/forms/model_forms.py:249 -#: users/forms/model_forms.py:257 +#: netbox/navigation/menu.py:417 users/forms/model_forms.py:191 +#: users/forms/model_forms.py:199 users/forms/model_forms.py:242 +#: users/forms/model_forms.py:249 msgid "Permissions" msgstr "Autorisations" -#: netbox/navigation/menu.py:445 -msgid "Current Config" -msgstr "Config actuelle" +#: netbox/navigation/menu.py:424 netbox/navigation/menu.py:428 +#: templates/core/system.html:7 +msgid "System" +msgstr "Système" -#: netbox/navigation/menu.py:451 -msgid "Config Revisions" -msgstr "Révisions de configuration" +#: netbox/navigation/menu.py:432 +msgid "Configuration History" +msgstr "Historique de configuration" -#: netbox/navigation/menu.py:491 templates/500.html:35 -#: templates/account/preferences.html:29 +#: netbox/navigation/menu.py:437 templates/core/rq_task.html:8 +#: templates/core/rq_task_list.html:22 +msgid "Background Tasks" +msgstr "Tâches d'arrière-plan" + +#: netbox/navigation/menu.py:475 templates/500.html:35 +#: templates/account/preferences.html:22 templates/core/system.html:76 msgid "Plugins" msgstr "Plug-ins" -#: netbox/plugins/navigation.py:46 netbox/plugins/navigation.py:68 +#: netbox/plugins/navigation.py:47 netbox/plugins/navigation.py:69 msgid "Permissions must be passed as a tuple or list." msgstr "" "Les autorisations doivent être transmises sous forme de tuple ou de liste." -#: netbox/plugins/navigation.py:50 +#: netbox/plugins/navigation.py:51 msgid "Buttons must be passed as a tuple or list." msgstr "Les boutons doivent être transmis sous forme de tuple ou de liste." -#: netbox/plugins/navigation.py:72 +#: netbox/plugins/navigation.py:73 msgid "Button color must be a choice within ButtonColorChoices." msgstr "La couleur du bouton doit être sélectionnée dans ButtonColorChoices." @@ -9750,54 +10198,61 @@ msgid "extra_context must be a dictionary" msgstr "extra_context doit être un dictionnaire" #: netbox/preferences.py:19 -msgid "Color mode" -msgstr "Mode couleur" +msgid "HTMX Navigation" +msgstr "Navigation HTML" -#: netbox/preferences.py:21 -msgid "Light" -msgstr "Lumière" +#: netbox/preferences.py:24 +msgid "Enable dynamic UI navigation" +msgstr "Activer la navigation dynamique dans l'interface utilisateur" -#: netbox/preferences.py:22 -msgid "Dark" -msgstr "Sombre" - -#: netbox/preferences.py:27 +#: netbox/preferences.py:29 msgid "Language" msgstr "Langue" #: netbox/preferences.py:34 +msgid "Forces UI translation to the specified language." +msgstr "" +"Force la traduction de l'interface utilisateur dans la langue spécifiée." + +#: netbox/preferences.py:37 msgid "Page length" msgstr "Longueur de page" -#: netbox/preferences.py:36 +#: netbox/preferences.py:39 msgid "The default number of objects to display per page" msgstr "Le nombre d'objets par défaut à afficher par page" -#: netbox/preferences.py:40 +#: netbox/preferences.py:43 msgid "Paginator placement" msgstr "Emplacement du paginateur" -#: netbox/preferences.py:42 +#: netbox/preferences.py:45 msgid "Bottom" msgstr "En bas" -#: netbox/preferences.py:43 +#: netbox/preferences.py:46 msgid "Top" msgstr "Haut" -#: netbox/preferences.py:44 +#: netbox/preferences.py:47 msgid "Both" msgstr "Les deux" -#: netbox/preferences.py:46 +#: netbox/preferences.py:50 msgid "Where the paginator controls will be displayed relative to a table" msgstr "" "Où les commandes du paginateur seront affichées par rapport à un tableau" -#: netbox/preferences.py:52 +#: netbox/preferences.py:55 msgid "Data format" msgstr "Format des données" +#: netbox/preferences.py:60 +msgid "The preferred syntax for displaying generic data within the UI" +msgstr "" +"Syntaxe préférée pour afficher des données génériques dans l'interface " +"utilisateur" + #: netbox/registry.py:14 #, python-brace-format msgid "Invalid store: {key}" @@ -9811,63 +10266,59 @@ msgstr "Impossible d'ajouter des magasins au registre après l'initialisation" msgid "Cannot delete stores from registry" msgstr "Impossible de supprimer des magasins du registre" -#: netbox/settings.py:724 +#: netbox/settings.py:706 msgid "English" msgstr "Anglais" -#: netbox/settings.py:725 +#: netbox/settings.py:707 msgid "Spanish" msgstr "espagnol" -#: netbox/settings.py:726 +#: netbox/settings.py:708 msgid "French" msgstr "français" -#: netbox/settings.py:727 +#: netbox/settings.py:709 msgid "Japanese" msgstr "japonais" -#: netbox/settings.py:728 +#: netbox/settings.py:710 msgid "Portuguese" msgstr "portugais" -#: netbox/settings.py:729 +#: netbox/settings.py:711 msgid "Russian" msgstr "russe" -#: netbox/settings.py:730 +#: netbox/settings.py:712 msgid "Turkish" msgstr "Turc" -#: netbox/tables/columns.py:175 +#: netbox/tables/columns.py:185 msgid "Toggle all" msgstr "Tout afficher" -#: netbox/tables/columns.py:277 templates/inc/profile_button.html:56 +#: netbox/tables/columns.py:287 msgid "Toggle Dropdown" msgstr "Basculer vers le menu déroulant" -#: netbox/tables/columns.py:542 templates/core/job.html:40 +#: netbox/tables/columns.py:552 templates/core/job.html:35 msgid "Error" msgstr "Erreur" -#: netbox/tables/tables.py:243 templates/generic/bulk_import.html:115 +#: netbox/tables/tables.py:245 templates/generic/bulk_import.html:117 msgid "Field" msgstr "Champ" -#: netbox/tables/tables.py:246 +#: netbox/tables/tables.py:248 msgid "Value" msgstr "Valeur" -#: netbox/tables/tables.py:259 -msgid "No results found" -msgstr "Aucun résultat trouvé" - #: netbox/tests/dummy_plugin/navigation.py:29 msgid "Dummy Plugin" msgstr "Plugin Dummy" -#: netbox/views/generic/bulk_views.py:397 +#: netbox/views/generic/bulk_views.py:405 #, python-brace-format msgid "Row {i}: Object with ID {id} does not exist" msgstr "Rangée {i}: Objet avec identifiant {id} n'existe pas" @@ -9927,7 +10378,7 @@ msgstr "L'exception complète est fournie ci-dessous" msgid "Python version" msgstr "Version Python" -#: templates/500.html:34 +#: templates/500.html:34 templates/core/system.html:31 msgid "NetBox version" msgstr "Version NetBox" @@ -9952,13 +10403,13 @@ msgstr "sur GitHub" msgid "Home Page" msgstr "Page d'accueil" -#: templates/account/base.html:7 templates/inc/profile_button.html:24 -#: vpn/forms/bulk_edit.py:256 vpn/forms/filtersets.py:186 -#: vpn/forms/model_forms.py:378 +#: templates/account/base.html:7 templates/inc/user_menu.html:27 +#: vpn/forms/bulk_edit.py:255 vpn/forms/filtersets.py:189 +#: vpn/forms/model_forms.py:379 msgid "Profile" msgstr "Profil" -#: templates/account/base.html:13 templates/inc/profile_button.html:34 +#: templates/account/base.html:13 templates/inc/user_menu.html:33 msgid "Preferences" msgstr "Préférences" @@ -9966,62 +10417,62 @@ msgstr "Préférences" msgid "Change Password" msgstr "Modifier le mot de passe" -#: templates/account/password.html:17 templates/account/preferences.html:82 -#: templates/core/configrevision_restore.html:80 +#: templates/account/password.html:17 templates/account/preferences.html:77 +#: templates/core/configrevision_restore.html:63 #: templates/dcim/devicebay_populate.html:34 -#: templates/dcim/virtualchassis_add_member.html:24 -#: templates/dcim/virtualchassis_edit.html:104 -#: templates/extras/object_journal.html:26 templates/extras/script.html:36 -#: templates/generic/bulk_add_component.html:55 -#: templates/generic/bulk_delete.html:46 templates/generic/bulk_edit.html:125 -#: templates/generic/bulk_import.html:53 templates/generic/bulk_import.html:75 -#: templates/generic/bulk_import.html:97 templates/generic/bulk_remove.html:42 -#: templates/generic/bulk_rename.html:44 -#: templates/generic/confirmation_form.html:20 -#: templates/generic/object_edit.html:76 templates/htmx/delete_form.html:53 +#: templates/dcim/virtualchassis_add_member.html:26 +#: templates/dcim/virtualchassis_edit.html:103 +#: templates/extras/object_journal.html:26 templates/extras/script.html:37 +#: templates/generic/bulk_add_component.html:67 +#: templates/generic/bulk_delete.html:65 templates/generic/bulk_edit.html:106 +#: templates/generic/bulk_import.html:56 templates/generic/bulk_import.html:78 +#: templates/generic/bulk_import.html:100 +#: templates/generic/bulk_remove.html:62 templates/generic/bulk_rename.html:63 +#: templates/generic/confirmation_form.html:19 +#: templates/generic/object_edit.html:72 templates/htmx/delete_form.html:53 #: templates/htmx/delete_form.html:55 templates/ipam/ipaddress_assign.html:31 #: templates/virtualization/cluster_add_devices.html:30 msgid "Cancel" msgstr "Annuler" -#: templates/account/password.html:18 templates/account/preferences.html:83 +#: templates/account/password.html:18 templates/account/preferences.html:78 #: templates/dcim/devicebay_populate.html:35 -#: templates/dcim/virtualchassis_add_member.html:26 -#: templates/dcim/virtualchassis_edit.html:106 +#: templates/dcim/virtualchassis_add_member.html:28 +#: templates/dcim/virtualchassis_edit.html:105 #: templates/extras/dashboard/widget_add.html:26 #: templates/extras/dashboard/widget_config.html:19 #: templates/extras/object_journal.html:27 -#: templates/generic/object_edit.html:66 +#: templates/generic/object_edit.html:75 #: utilities/templates/helpers/applied_filters.html:16 #: utilities/templates/helpers/table_config_form.html:40 msgid "Save" msgstr "Sauvegarder" -#: templates/account/preferences.html:41 +#: templates/account/preferences.html:34 msgid "Table Configurations" msgstr "Configurations des tables" -#: templates/account/preferences.html:46 +#: templates/account/preferences.html:39 msgid "Clear table preferences" msgstr "Effacer les préférences du tableau" -#: templates/account/preferences.html:53 +#: templates/account/preferences.html:47 msgid "Toggle All" msgstr "Tout afficher" -#: templates/account/preferences.html:55 +#: templates/account/preferences.html:49 msgid "Table" msgstr "Tableau" -#: templates/account/preferences.html:56 +#: templates/account/preferences.html:50 msgid "Ordering" msgstr "Commander" -#: templates/account/preferences.html:57 +#: templates/account/preferences.html:51 msgid "Columns" msgstr "Colonnes" -#: templates/account/preferences.html:76 templates/dcim/cable_trace.html:113 +#: templates/account/preferences.html:71 templates/dcim/cable_trace.html:113 #: templates/extras/object_configcontext.html:55 msgid "None found" msgstr "Aucun n'a été trouvé" @@ -10034,54 +10485,55 @@ msgstr "Profil utilisateur" msgid "Account Details" msgstr "Détails du compte" -#: templates/account/profile.html:30 templates/tenancy/contact.html:44 -#: templates/users/user.html:26 tenancy/forms/bulk_edit.py:108 +#: templates/account/profile.html:29 templates/tenancy/contact.html:43 +#: templates/users/user.html:25 tenancy/forms/bulk_edit.py:109 msgid "Email" msgstr "Courrier électronique" -#: templates/account/profile.html:34 templates/users/user.html:30 +#: templates/account/profile.html:33 templates/users/user.html:29 msgid "Account Created" msgstr "Compte créé" -#: templates/account/profile.html:38 templates/users/user.html:34 +#: templates/account/profile.html:37 templates/users/user.html:33 msgid "Last Login" msgstr "Dernière connexion" -#: templates/account/profile.html:42 templates/users/user.html:46 +#: templates/account/profile.html:41 templates/users/user.html:45 msgid "Superuser" msgstr "Superutilisateur" -#: templates/account/profile.html:46 -msgid "Admin Access" -msgstr "Accès administrateur" +#: templates/account/profile.html:45 templates/inc/user_menu.html:13 +#: templates/users/user.html:41 +msgid "Staff" +msgstr "Le personnel" -#: templates/account/profile.html:55 templates/users/objectpermission.html:86 -#: templates/users/user.html:55 +#: templates/account/profile.html:53 templates/users/objectpermission.html:82 +#: templates/users/user.html:53 msgid "Assigned Groups" msgstr "Groupes assignés" -#: templates/account/profile.html:60 +#: templates/account/profile.html:58 #: templates/circuits/circuit_terminations_swap.html:18 #: templates/circuits/circuit_terminations_swap.html:26 #: templates/circuits/inc/circuit_termination.html:154 -#: templates/dcim/devicebay.html:66 -#: templates/dcim/inc/panels/inventory_items.html:37 -#: templates/dcim/interface.html:306 templates/dcim/modulebay.html:79 -#: templates/extras/configcontext.html:73 templates/extras/eventrule.html:84 -#: templates/extras/htmx/script_result.html:54 +#: templates/dcim/devicebay.html:59 +#: templates/dcim/inc/panels/inventory_items.html:45 +#: templates/dcim/interface.html:296 templates/dcim/modulebay.html:76 +#: templates/extras/configcontext.html:70 templates/extras/eventrule.html:72 +#: templates/extras/htmx/script_result.html:56 #: templates/extras/object_configcontext.html:28 -#: templates/extras/objectchange.html:128 -#: templates/extras/objectchange.html:145 templates/extras/webhook.html:79 -#: templates/extras/webhook.html:91 templates/inc/panel_table.html:12 +#: templates/extras/objectchange.html:123 +#: templates/extras/objectchange.html:141 templates/extras/webhook.html:67 +#: templates/extras/webhook.html:79 templates/inc/panel_table.html:13 #: templates/inc/panels/comments.html:12 -#: templates/ipam/inc/panels/fhrp_groups.html:43 templates/users/group.html:32 -#: templates/users/group.html:42 templates/users/objectpermission.html:81 -#: templates/users/objectpermission.html:91 templates/users/user.html:60 -#: templates/users/user.html:70 +#: templates/ipam/inc/panels/fhrp_groups.html:56 templates/users/group.html:34 +#: templates/users/group.html:44 templates/users/objectpermission.html:77 +#: templates/users/objectpermission.html:87 templates/users/user.html:58 +#: templates/users/user.html:68 msgid "None" msgstr "Aucune" -#: templates/account/profile.html:70 templates/users/user.html:80 +#: templates/account/profile.html:68 templates/users/user.html:78 msgid "Recent Activity" msgstr "Activité récente" @@ -10095,12 +10547,12 @@ msgstr "Mes jetons d'API" msgid "Token" msgstr "Jeton" -#: templates/account/token.html:40 templates/users/token.html:32 -#: users/forms/bulk_edit.py:87 +#: templates/account/token.html:39 templates/users/token.html:31 +#: users/forms/bulk_edit.py:107 msgid "Write enabled" msgstr "Écriture activée" -#: templates/account/token.html:52 templates/users/token.html:44 +#: templates/account/token.html:51 templates/users/token.html:43 msgid "Last used" msgstr "Dernière utilisation" @@ -10108,77 +10560,51 @@ msgstr "Dernière utilisation" msgid "Add a Token" msgstr "Ajouter un jeton" -#: templates/admin/index.html:10 -msgid "System" -msgstr "Système" - -#: templates/admin/index.html:14 -msgid "Background Tasks" -msgstr "Tâches d'arrière-plan" - -#: templates/admin/index.html:19 -msgid "Installed plugins" -msgstr "Plug-ins installés" - -#: templates/base/base.html:28 templates/extras/admin/plugins_list.html:8 -#: templates/home.html:24 +#: templates/base/base.html:18 templates/home.html:27 msgid "Home" msgstr "Accueil" -#: templates/base/layout.html:27 templates/base/layout.html:37 -#: templates/login.html:34 -msgid "NetBox logo" -msgstr "Logo NetBox" - -#: templates/base/layout.html:76 -msgid "Debug mode is enabled" -msgstr "Le mode de débogage est activé" - -#: templates/base/layout.html:77 -msgid "" -"Performance may be limited. Debugging should never be enabled on a " -"production system" -msgstr "" -"Les performances peuvent être limitées. Le débogage ne doit jamais être " -"activé sur un système en production" - -#: templates/base/layout.html:83 -msgid "Maintenance Mode" -msgstr "Mode Maintenance" - -#: templates/base/layout.html:134 -msgid "Docs" -msgstr "Docs" - -#: templates/base/layout.html:139 templates/rest_framework/api.html:10 -msgid "REST API" -msgstr "API REST" - -#: templates/base/layout.html:144 -msgid "REST API documentation" -msgstr "Documentation de l'API REST" - -#: templates/base/layout.html:150 -msgid "GraphQL API" -msgstr "API GraphQL" - -#: templates/base/layout.html:156 -msgid "Source Code" -msgstr "Code source" - -#: templates/base/layout.html:161 -msgid "Community" -msgstr "Communauté" - -#: templates/base/sidenav.html:12 templates/base/sidenav.html:17 +#: templates/base/layout.html:32 msgid "NetBox Logo" msgstr "Logo NetBox" -#: templates/circuits/circuit.html:48 +#: templates/base/layout.html:56 +msgid "Enable dark mode" +msgstr "Activer le mode sombre" + +#: templates/base/layout.html:59 +msgid "Enable light mode" +msgstr "Activer le mode éclairage" + +#: templates/base/layout.html:145 +msgid "Docs" +msgstr "Docs" + +#: templates/base/layout.html:151 templates/rest_framework/api.html:10 +msgid "REST API" +msgstr "API REST" + +#: templates/base/layout.html:157 +msgid "REST API documentation" +msgstr "Documentation de l'API REST" + +#: templates/base/layout.html:164 +msgid "GraphQL API" +msgstr "API GraphQL" + +#: templates/base/layout.html:171 +msgid "Source Code" +msgstr "Code source" + +#: templates/base/layout.html:177 +msgid "Community" +msgstr "Communauté" + +#: templates/circuits/circuit.html:47 msgid "Install Date" msgstr "Date d'installation" -#: templates/circuits/circuit.html:52 +#: templates/circuits/circuit.html:51 msgid "Termination Date" msgstr "Date de résiliation" @@ -10199,85 +10625,75 @@ msgstr "Coté A" msgid "Z side" msgstr "Côté Z" -#: templates/circuits/circuittermination_edit.html:9 -#: templates/circuits/inc/circuit_termination.html:81 -#: templates/dcim/frontport.html:128 templates/dcim/interface.html:199 -#: templates/dcim/rearport.html:118 -msgid "Circuit Termination" -msgstr "Terminaison de circuit" - -#: templates/circuits/circuittermination_edit.html:41 -msgid "Termination Details" -msgstr "Détails de terminaison" - #: templates/circuits/circuittype.html:10 msgid "Add Circuit" msgstr "Ajouter un circuit" -#: templates/circuits/inc/circuit_termination.html:9 +#: templates/circuits/circuittype.html:19 +msgid "Circuit Type" +msgstr "Type de circuit" + +#: templates/circuits/inc/circuit_termination.html:6 +#: templates/circuits/inc/circuit_termination.html:41 +#: templates/dcim/cable.html:68 templates/dcim/cable.html:72 +#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:77 +msgid "Termination" +msgstr "Résiliation" + +#: templates/circuits/inc/circuit_termination.html:10 #: templates/dcim/devicetype/component_templates.html:33 #: templates/dcim/manufacturer.html:11 -#: templates/dcim/moduletype/component_templates.html:30 -#: templates/generic/bulk_add_component.html:8 -#: templates/users/objectpermission.html:41 +#: templates/dcim/moduletype/component_templates.html:29 +#: templates/generic/bulk_add_component.html:22 +#: templates/users/objectpermission.html:38 #: utilities/templates/buttons/add.html:4 #: utilities/templates/helpers/table_config_form.html:20 msgid "Add" msgstr "Ajouter" -#: templates/circuits/inc/circuit_termination.html:14 -#: templates/circuits/inc/circuit_termination.html:63 -#: templates/dcim/inc/panels/inventory_items.html:24 -#: templates/dcim/moduletype/component_templates.html:21 -#: templates/dcim/powerpanel.html:61 templates/generic/object_edit.html:29 +#: templates/circuits/inc/circuit_termination.html:15 +#: templates/circuits/inc/circuit_termination.html:62 +#: templates/dcim/inc/panels/inventory_items.html:32 +#: templates/dcim/moduletype/component_templates.html:20 +#: templates/dcim/powerpanel.html:56 templates/extras/script_list.html:32 +#: templates/generic/object_edit.html:47 #: templates/ipam/inc/ipaddress_edit_header.html:10 -#: templates/ipam/inc/panels/fhrp_groups.html:30 +#: templates/ipam/inc/panels/fhrp_groups.html:43 #: utilities/templates/buttons/edit.html:3 msgid "Edit" msgstr "Modifier" -#: templates/circuits/inc/circuit_termination.html:17 +#: templates/circuits/inc/circuit_termination.html:18 msgid "Swap" msgstr "Échange" -#: templates/circuits/inc/circuit_termination.html:26 -#, python-format -msgid "Termination %(side)s" -msgstr "Résiliation %(side)s" - -#: templates/circuits/inc/circuit_termination.html:42 -#: templates/dcim/cable.html:70 templates/dcim/cable.html:76 -#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:76 -msgid "Termination" -msgstr "Résiliation" - -#: templates/circuits/inc/circuit_termination.html:46 -#: templates/dcim/consoleport.html:62 templates/dcim/consoleserverport.html:62 -#: templates/dcim/powerfeed.html:122 +#: templates/circuits/inc/circuit_termination.html:45 +#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:60 +#: templates/dcim/powerfeed.html:114 msgid "Marked as connected" msgstr "Marqué comme connecté" -#: templates/circuits/inc/circuit_termination.html:48 +#: templates/circuits/inc/circuit_termination.html:47 msgid "to" msgstr "pour" +#: templates/circuits/inc/circuit_termination.html:57 #: templates/circuits/inc/circuit_termination.html:58 -#: templates/circuits/inc/circuit_termination.html:59 -#: templates/dcim/frontport.html:87 +#: templates/dcim/frontport.html:80 #: templates/dcim/inc/connection_endpoints.html:7 -#: templates/dcim/interface.html:160 templates/dcim/rearport.html:83 +#: templates/dcim/interface.html:154 templates/dcim/rearport.html:76 msgid "Trace" msgstr "Trace" -#: templates/circuits/inc/circuit_termination.html:62 +#: templates/circuits/inc/circuit_termination.html:61 msgid "Edit cable" msgstr "Modifier le câble" -#: templates/circuits/inc/circuit_termination.html:67 +#: templates/circuits/inc/circuit_termination.html:66 msgid "Remove cable" msgstr "Retirez le câble" -#: templates/circuits/inc/circuit_termination.html:68 +#: templates/circuits/inc/circuit_termination.html:67 #: templates/dcim/bulk_disconnect.html:5 #: templates/dcim/device/consoleports.html:12 #: templates/dcim/device/consoleserverports.html:12 @@ -10285,40 +10701,32 @@ msgstr "Retirez le câble" #: templates/dcim/device/interfaces.html:16 #: templates/dcim/device/poweroutlets.html:12 #: templates/dcim/device/powerports.html:12 -#: templates/dcim/device/rearports.html:12 templates/dcim/powerpanel.html:66 +#: templates/dcim/device/rearports.html:12 templates/dcim/powerpanel.html:61 msgid "Disconnect" msgstr "Déconnectez" -#: templates/circuits/inc/circuit_termination.html:75 -#: templates/dcim/consoleport.html:71 templates/dcim/consoleserverport.html:71 -#: templates/dcim/frontport.html:109 templates/dcim/interface.html:186 -#: templates/dcim/interface.html:206 templates/dcim/powerfeed.html:136 -#: templates/dcim/poweroutlet.html:75 templates/dcim/poweroutlet.html:76 -#: templates/dcim/powerport.html:77 templates/dcim/rearport.html:105 +#: templates/circuits/inc/circuit_termination.html:74 +#: templates/dcim/consoleport.html:69 templates/dcim/consoleserverport.html:70 +#: templates/dcim/frontport.html:102 templates/dcim/interface.html:180 +#: templates/dcim/interface.html:200 templates/dcim/powerfeed.html:127 +#: templates/dcim/poweroutlet.html:71 templates/dcim/poweroutlet.html:72 +#: templates/dcim/powerport.html:73 templates/dcim/rearport.html:98 msgid "Connect" msgstr "Connecter" -#: templates/circuits/inc/circuit_termination.html:79 -#: templates/dcim/consoleport.html:78 templates/dcim/consoleserverport.html:78 -#: templates/dcim/frontport.html:18 templates/dcim/frontport.html:122 -#: templates/dcim/interface.html:193 templates/dcim/inventoryitem_edit.html:49 -#: templates/dcim/rearport.html:112 -msgid "Front Port" -msgstr "Port avant" - -#: templates/circuits/inc/circuit_termination.html:97 +#: templates/circuits/inc/circuit_termination.html:96 msgid "Downstream" msgstr "En aval" -#: templates/circuits/inc/circuit_termination.html:98 +#: templates/circuits/inc/circuit_termination.html:97 msgid "Upstream" msgstr "En amont" -#: templates/circuits/inc/circuit_termination.html:107 +#: templates/circuits/inc/circuit_termination.html:106 msgid "Cross-Connect" msgstr "Connexion croisée" -#: templates/circuits/inc/circuit_termination.html:111 +#: templates/circuits/inc/circuit_termination.html:110 msgid "Patch Panel/Port" msgstr "Panneau de raccordement et port" @@ -10330,90 +10738,50 @@ msgstr "Ajouter un circuit" msgid "Provider Account" msgstr "Compte du fournisseur" -#: templates/core/configrevision.html:47 -msgid "Default unit height" -msgstr "Hauteur de l'unité par défaut" +#: templates/core/configrevision.html:35 +msgid "Configuration Data" +msgstr "Données de configuration" -#: templates/core/configrevision.html:51 -msgid "Default unit width" -msgstr "Largeur de l'unité par défaut" - -#: templates/core/configrevision.html:63 -msgid "Default voltage" -msgstr "Tension par défaut" - -#: templates/core/configrevision.html:67 -msgid "Default amperage" -msgstr "Ampérage par défaut" - -#: templates/core/configrevision.html:71 -msgid "Default max utilization" -msgstr "Utilisation maximale par défaut" - -#: templates/core/configrevision.html:83 -msgid "Enforce global unique" -msgstr "Appliquez une approche unique au monde" - -#: templates/core/configrevision.html:135 -msgid "Paginate count" -msgstr "Nombre de pages" - -#: templates/core/configrevision.html:139 -msgid "Max page size" -msgstr "Taille de page maximale" - -#: templates/core/configrevision.html:179 -msgid "Default user preferences" -msgstr "Préférences utilisateur par défaut" - -#: templates/core/configrevision.html:209 -msgid "Job retention" -msgstr "Maintien de l'emploi" - -#: templates/core/configrevision.html:221 +#: templates/core/configrevision.html:40 msgid "Comment" msgstr "Commentaire" #: templates/core/configrevision_restore.html:8 -#: templates/core/configrevision_restore.html:43 -#: templates/core/configrevision_restore.html:79 +#: templates/core/configrevision_restore.html:25 +#: templates/core/configrevision_restore.html:64 msgid "Restore" msgstr "Restaurer" -#: templates/core/configrevision_restore.html:21 -msgid "Config revisions" -msgstr "Révisions de configuration" - -#: templates/core/configrevision_restore.html:54 +#: templates/core/configrevision_restore.html:36 msgid "Parameter" msgstr "Paramètre" -#: templates/core/configrevision_restore.html:55 +#: templates/core/configrevision_restore.html:37 msgid "Current Value" msgstr "Valeur actuelle" -#: templates/core/configrevision_restore.html:56 +#: templates/core/configrevision_restore.html:38 msgid "New Value" msgstr "Nouvelle valeur" -#: templates/core/configrevision_restore.html:66 +#: templates/core/configrevision_restore.html:50 msgid "Changed" msgstr "Modifié" -#: templates/core/datafile.html:47 +#: templates/core/datafile.html:38 msgid "Last Updated" msgstr "Dernière mise à jour" -#: templates/core/datafile.html:51 templates/ipam/iprange.html:28 -#: templates/virtualization/virtualdisk.html:30 +#: templates/core/datafile.html:42 templates/ipam/iprange.html:25 +#: templates/virtualization/virtualdisk.html:29 msgid "Size" msgstr "Taille" -#: templates/core/datafile.html:52 +#: templates/core/datafile.html:43 msgid "bytes" msgstr "octets" -#: templates/core/datafile.html:55 +#: templates/core/datafile.html:46 msgid "SHA256 Hash" msgstr "Hachage SHA256" @@ -10422,39 +10790,246 @@ msgstr "Hachage SHA256" msgid "Sync" msgstr "Synchroniser" -#: templates/core/datasource.html:51 +#: templates/core/datasource.html:50 msgid "Last synced" msgstr "Dernière synchronisation" -#: templates/core/datasource.html:86 +#: templates/core/datasource.html:84 msgid "Backend" msgstr "Backend" -#: templates/core/datasource.html:102 +#: templates/core/datasource.html:99 msgid "No parameters defined" msgstr "Aucun paramètre défini" -#: templates/core/datasource.html:118 +#: templates/core/datasource.html:114 msgid "Files" msgstr "Dossiers" -#: templates/core/job.html:21 +#: templates/core/inc/config_data.html:7 +msgid "Rack elevations" +msgstr "Élévations des rayonnages" + +#: templates/core/inc/config_data.html:10 +msgid "Default unit height" +msgstr "Hauteur de l'unité par défaut" + +#: templates/core/inc/config_data.html:14 +msgid "Default unit width" +msgstr "Largeur de l'unité par défaut" + +#: templates/core/inc/config_data.html:20 +msgid "Power feeds" +msgstr "Alimentations" + +#: templates/core/inc/config_data.html:23 +msgid "Default voltage" +msgstr "Tension par défaut" + +#: templates/core/inc/config_data.html:27 +msgid "Default amperage" +msgstr "Ampérage par défaut" + +#: templates/core/inc/config_data.html:31 +msgid "Default max utilization" +msgstr "Utilisation maximale par défaut" + +#: templates/core/inc/config_data.html:40 +msgid "Enforce global unique" +msgstr "Appliquez une approche unique au monde" + +#: templates/core/inc/config_data.html:83 +msgid "Paginate count" +msgstr "Nombre de pages" + +#: templates/core/inc/config_data.html:87 +msgid "Max page size" +msgstr "Taille de page maximale" + +#: templates/core/inc/config_data.html:114 +msgid "User preferences" +msgstr "Préférences de l'utilisateur" + +#: templates/core/inc/config_data.html:141 +msgid "Job retention" +msgstr "Maintien de l'emploi" + +#: templates/core/job.html:17 templates/core/rq_task.html:12 +#: templates/core/rq_task.html:49 templates/core/rq_task.html:58 msgid "Job" msgstr "Emploi" -#: templates/core/job.html:45 templates/extras/journalentry.html:29 +#: templates/core/job.html:40 templates/extras/journalentry.html:26 msgid "Created By" msgstr "Créé par" -#: templates/core/job.html:54 +#: templates/core/job.html:48 msgid "Scheduling" msgstr "Planification" -#: templates/core/job.html:66 +#: templates/core/job.html:59 #, python-format msgid "every %(interval)s minutes" msgstr "chaque %(interval)s minutes" +#: templates/core/rq_queue_list.html:5 templates/core/rq_queue_list.html:13 +#: templates/core/rq_task_list.html:14 templates/core/rq_worker.html:7 +msgid "Background Queues" +msgstr "Files d'attente en arrière-plan" + +#: templates/core/rq_queue_list.html:24 templates/core/rq_queue_list.html:25 +#: templates/core/rq_worker_list.html:44 templates/core/rq_worker_list.html:45 +#: templates/extras/script_result.html:49 +#: templates/extras/script_result.html:51 +#: templates/inc/table_controls_htmx.html:18 +#: templates/inc/table_controls_htmx.html:20 +msgid "Configure Table" +msgstr "Configurer le tableau" + +#: templates/core/rq_task.html:29 +msgid "Stop" +msgstr "Arrête" + +#: templates/core/rq_task.html:34 +msgid "Requeue" +msgstr "File d'attente" + +#: templates/core/rq_task.html:39 +msgid "Enqueue" +msgstr "File d'attente" + +#: templates/core/rq_task.html:61 +msgid "Queue" +msgstr "File d'attente" + +#: templates/core/rq_task.html:65 +msgid "Timeout" +msgstr "Délai d'attente" + +#: templates/core/rq_task.html:69 +msgid "Result TTL" +msgstr "Résultat TTL" + +#: templates/core/rq_task.html:89 +msgid "Meta" +msgstr "Méta" + +#: templates/core/rq_task.html:93 +msgid "Arguments" +msgstr "Arguments" + +#: templates/core/rq_task.html:97 +msgid "Keyword Arguments" +msgstr "Arguments relatifs aux" + +#: templates/core/rq_task.html:103 +msgid "Depends on" +msgstr "Cela dépend de" + +#: templates/core/rq_task.html:109 +msgid "Exception" +msgstr "Exception" + +#: templates/core/rq_task_list.html:28 +msgid "tasks in " +msgstr "tâches dans " + +#: templates/core/rq_task_list.html:33 +msgid "Queued Jobs" +msgstr "Jobs en file d'attente" + +#: templates/core/rq_task_list.html:64 templates/extras/script_result.html:68 +#, python-format +msgid "" +"Select all %(count)s %(object_type_plural)s matching query" +msgstr "" +"Sélectionnez tous %(count)s %(object_type_plural)s requête " +"correspondante" + +#: templates/core/rq_worker.html:10 +msgid "Worker Info" +msgstr "Informations sur les travailleurs" + +#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40 +msgid "Worker" +msgstr "Travailleur" + +#: templates/core/rq_worker.html:55 +msgid "Queues" +msgstr "Files d'attente" + +#: templates/core/rq_worker.html:63 +msgid "Curent Job" +msgstr "Emplois actuels" + +#: templates/core/rq_worker.html:67 +msgid "Successful job count" +msgstr "Nombre d'emplois réussis" + +#: templates/core/rq_worker.html:71 +msgid "Failed job count" +msgstr "Nombre de tâches échouées" + +#: templates/core/rq_worker.html:75 +msgid "Total working time" +msgstr "Temps de travail total" + +#: templates/core/rq_worker.html:76 +msgid "seconds" +msgstr "secondes" + +#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21 +msgid "Background Workers" +msgstr "Travailleurs de fond" + +#: templates/core/rq_worker_list.html:27 +msgid "Workers in " +msgstr "Travailleurs en " + +#: templates/core/system.html:11 utilities/templates/buttons/export.html:4 +msgid "Export" +msgstr "Exporter" + +#: templates/core/system.html:28 +msgid "System Status" +msgstr "État du système" + +#: templates/core/system.html:35 +msgid "Django version" +msgstr "Version de Django" + +#: templates/core/system.html:39 +msgid "PotsgreSQL version" +msgstr "Version de PostgreSQL" + +#: templates/core/system.html:43 +msgid "Database name" +msgstr "Nom de base de données" + +#: templates/core/system.html:47 +msgid "Database size" +msgstr "Taille de base de données" + +#: templates/core/system.html:52 +msgid "Unavailable" +msgstr "Non disponible" + +#: templates/core/system.html:57 +msgid "RQ workers" +msgstr "Travailleurs de RQ" + +#: templates/core/system.html:60 +msgid "default queue" +msgstr "file d'attente par défaut" + +#: templates/core/system.html:64 +msgid "System time" +msgstr "Heure du système" + +#: templates/core/system.html:86 +msgid "Current Configuration" +msgstr "Configuration actuelle" + #: templates/dcim/bulk_disconnect.html:9 #, python-format msgid "" @@ -10462,57 +11037,49 @@ msgid "" msgstr "" "Êtes-vous sûr de vouloir les déconnecter %(count)s %(obj_type_plural)s?" -#: templates/dcim/cable_edit.html:12 -msgid "A Side" -msgstr "Un côté" - -#: templates/dcim/cable_edit.html:29 -msgid "B Side" -msgstr "Côté B" - -#: templates/dcim/cable_trace.html:6 +#: templates/dcim/cable_trace.html:10 #, python-format msgid "Cable Trace for %(object_type)s %(object)s" msgstr "Cable Trace pour %(object_type)s %(object)s" -#: templates/dcim/cable_trace.html:21 templates/dcim/inc/rack_elevation.html:7 +#: templates/dcim/cable_trace.html:24 templates/dcim/inc/rack_elevation.html:7 msgid "Download SVG" msgstr "Télécharger SVG" -#: templates/dcim/cable_trace.html:27 +#: templates/dcim/cable_trace.html:30 msgid "Asymmetric Path" msgstr "Trajectoire asymétrique" -#: templates/dcim/cable_trace.html:28 +#: templates/dcim/cable_trace.html:31 msgid "The nodes below have no links and result in an asymmetric path" msgstr "" "Les nœuds ci-dessous n'ont aucun lien et génèrent un chemin asymétrique" -#: templates/dcim/cable_trace.html:35 +#: templates/dcim/cable_trace.html:38 msgid "Path split" msgstr "Parcours divisé" -#: templates/dcim/cable_trace.html:36 +#: templates/dcim/cable_trace.html:39 msgid "Select a node below to continue" msgstr "Sélectionnez un nœud ci-dessous pour continuer" -#: templates/dcim/cable_trace.html:52 +#: templates/dcim/cable_trace.html:55 msgid "Trace Completed" msgstr "Trace terminée" -#: templates/dcim/cable_trace.html:55 +#: templates/dcim/cable_trace.html:58 msgid "Total segments" msgstr "Nombre total de segments" -#: templates/dcim/cable_trace.html:59 +#: templates/dcim/cable_trace.html:62 msgid "Total length" msgstr "Longueur totale" -#: templates/dcim/cable_trace.html:74 +#: templates/dcim/cable_trace.html:77 msgid "No paths found" msgstr "Aucun chemin trouvé" -#: templates/dcim/cable_trace.html:83 +#: templates/dcim/cable_trace.html:85 msgid "Related Paths" msgstr "Chemins associés" @@ -10536,100 +11103,90 @@ msgstr "Incomplet" msgid "Rename Selected" msgstr "Renommer la sélection" -#: templates/dcim/consoleport.html:67 templates/dcim/consoleserverport.html:67 -#: templates/dcim/frontport.html:105 templates/dcim/interface.html:182 -#: templates/dcim/poweroutlet.html:73 templates/dcim/powerport.html:73 +#: templates/dcim/consoleport.html:65 templates/dcim/consoleserverport.html:66 +#: templates/dcim/frontport.html:98 templates/dcim/interface.html:176 +#: templates/dcim/poweroutlet.html:69 templates/dcim/powerport.html:69 msgid "Not Connected" msgstr "Non connecté" -#: templates/dcim/consoleport.html:75 templates/dcim/consoleserverport.html:18 -#: templates/dcim/frontport.html:116 templates/dcim/inventoryitem_edit.html:44 -msgid "Console Server Port" -msgstr "Port du serveur de consoles" +#: templates/dcim/device.html:33 +msgid "Highlight device in rack" +msgstr "Surligner l'appareil dans le rack" -#: templates/dcim/device.html:35 -msgid "Highlight device" -msgstr "Surligner l'appareil" - -#: templates/dcim/device.html:57 +#: templates/dcim/device.html:54 msgid "Not racked" -msgstr "Non rincé" +msgstr "Pas mis en baie" -#: templates/dcim/device.html:64 templates/dcim/site.html:96 +#: templates/dcim/device.html:61 templates/dcim/site.html:93 msgid "GPS Coordinates" msgstr "Coordonnées GPS" -#: templates/dcim/device.html:70 templates/dcim/site.html:102 +#: templates/dcim/device.html:67 templates/dcim/site.html:99 msgid "Map It" msgstr "Cartographiez-le" -#: templates/dcim/device.html:110 templates/dcim/inventoryitem.html:57 -#: templates/dcim/module.html:79 templates/dcim/modulebay.html:73 -#: templates/dcim/rack.html:62 +#: templates/dcim/device.html:107 templates/dcim/inventoryitem.html:56 +#: templates/dcim/module.html:78 templates/dcim/modulebay.html:70 +#: templates/dcim/rack.html:59 msgid "Asset Tag" msgstr "Étiquette d'actif" -#: templates/dcim/device.html:153 +#: templates/dcim/device.html:122 msgid "View Virtual Chassis" msgstr "Afficher le châssis virtuel" -#: templates/dcim/device.html:170 +#: templates/dcim/device.html:161 msgid "Create VDC" msgstr "Créer un VDC" -#: templates/dcim/device.html:179 templates/dcim/device_edit.html:64 -#: virtualization/forms/model_forms.py:226 +#: templates/dcim/device.html:172 templates/dcim/device_edit.html:64 +#: virtualization/forms/model_forms.py:223 msgid "Management" msgstr "Gestion" -#: templates/dcim/device.html:200 templates/dcim/device.html:216 -#: templates/virtualization/virtualmachine.html:56 -#: templates/virtualization/virtualmachine.html:72 +#: templates/dcim/device.html:192 templates/dcim/device.html:208 +#: templates/virtualization/virtualmachine.html:53 +#: templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "NAT pour" -#: templates/dcim/device.html:202 templates/dcim/device.html:218 -#: templates/virtualization/virtualmachine.html:58 -#: templates/virtualization/virtualmachine.html:74 +#: templates/dcim/device.html:194 templates/dcim/device.html:210 +#: templates/virtualization/virtualmachine.html:55 +#: templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "NAT" -#: templates/dcim/device.html:254 templates/dcim/rack.html:70 +#: templates/dcim/device.html:244 templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "Utilisation de l'énergie" -#: templates/dcim/device.html:259 +#: templates/dcim/device.html:248 msgid "Input" msgstr "Entrée" -#: templates/dcim/device.html:260 +#: templates/dcim/device.html:249 msgid "Outlets" msgstr "Prises" -#: templates/dcim/device.html:261 +#: templates/dcim/device.html:250 msgid "Allocated" msgstr "Alloué" -#: templates/dcim/device.html:270 templates/dcim/device.html:272 -#: templates/dcim/device.html:288 templates/dcim/powerfeed.html:70 +#: templates/dcim/device.html:260 templates/dcim/device.html:262 +#: templates/dcim/device.html:278 templates/dcim/powerfeed.html:67 msgid "VA" msgstr "VA" -#: templates/dcim/device.html:282 +#: templates/dcim/device.html:272 msgctxt "Leg of a power feed" msgid "Leg" msgstr "Jambe" -#: templates/dcim/device.html:312 -#: templates/virtualization/virtualmachine.html:165 +#: templates/dcim/device.html:298 +#: templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "Ajouter un service" -#: templates/dcim/device.html:319 templates/dcim/rack.html:77 -#: templates/dcim/rack_edit.html:38 -msgid "Dimensions" -msgstr "Dimensions" - #: templates/dcim/device/base.html:21 templates/dcim/device_list.html:9 #: templates/dcim/devicetype/base.html:18 templates/dcim/module.html:18 #: templates/dcim/moduletype/base.html:18 @@ -10670,12 +11227,12 @@ msgstr "Masquer le virtuel" msgid "Hide Disconnected" msgstr "Masquer les déconnectés" -#: templates/dcim/device/interfaces.html:28 +#: templates/dcim/device/interfaces.html:27 msgid "Add Interfaces" msgstr "Ajouter des interfaces" #: templates/dcim/device/inventory.html:10 -#: templates/dcim/inc/panels/inventory_items.html:46 +#: templates/dcim/inc/panels/inventory_items.html:10 msgid "Add Inventory Item" msgstr "Ajouter un article d'inventaire" @@ -10700,23 +11257,23 @@ msgstr "Ajouter des ports arrière" msgid "Config" msgstr "Configuration" -#: templates/dcim/device/render_config.html:37 -#: templates/virtualization/virtualmachine/render_config.html:37 +#: templates/dcim/device/render_config.html:35 +#: templates/virtualization/virtualmachine/render_config.html:35 msgid "Context Data" msgstr "Données contextuelles" -#: templates/dcim/device/render_config.html:57 -#: templates/virtualization/virtualmachine/render_config.html:57 -msgid "Download" -msgstr "Télécharger" - -#: templates/dcim/device/render_config.html:60 -#: templates/virtualization/virtualmachine/render_config.html:60 +#: templates/dcim/device/render_config.html:53 +#: templates/virtualization/virtualmachine/render_config.html:53 msgid "Rendered Config" msgstr "Configuration rendue" -#: templates/dcim/device/render_config.html:65 -#: templates/virtualization/virtualmachine/render_config.html:65 +#: templates/dcim/device/render_config.html:55 +#: templates/virtualization/virtualmachine/render_config.html:55 +msgid "Download" +msgstr "Télécharger" + +#: templates/dcim/device/render_config.html:61 +#: templates/virtualization/virtualmachine/render_config.html:61 msgid "No configuration template found" msgstr "Aucun modèle de configuration trouvé" @@ -10729,7 +11286,7 @@ msgstr "Baie Parent" msgid "Regenerate Slug" msgstr "Régénérez la limace" -#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:7 +#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:21 #: utilities/templates/helpers/table_config_form.html:23 msgid "Remove" msgstr "Supprimer" @@ -10739,35 +11296,21 @@ msgid "Local Config Context Data" msgstr "Données contextuelles de configuration locales" #: templates/dcim/device_list.html:82 -#: templates/dcim/moduletype/component_templates.html:18 -#: templates/generic/bulk_rename.html:34 +#: templates/dcim/moduletype/component_templates.html:17 +#: templates/generic/bulk_rename.html:57 #: templates/virtualization/virtualmachine/interfaces.html:11 #: templates/virtualization/virtualmachine/virtual_disks.html:11 msgid "Rename" msgstr "Renommer" -#: templates/dcim/devicebay.html:18 +#: templates/dcim/devicebay.html:17 msgid "Device Bay" msgstr "Baie pour appareils" -#: templates/dcim/devicebay.html:48 +#: templates/dcim/devicebay.html:43 msgid "Installed Device" msgstr "Appareil installé" -#: templates/dcim/devicebay_delete.html:6 -#, python-format -msgid "Delete device bay %(devicebay)s?" -msgstr "Supprimer la baie de l'appareil %(devicebay)s?" - -#: templates/dcim/devicebay_delete.html:11 -#, python-format -msgid "" -"Are you sure you want to delete this device bay from " -"%(device)s?" -msgstr "" -"Êtes-vous sûr de vouloir supprimer cette baie d'appareils de " -"%(device)s?" - #: templates/dcim/devicebay_depopulate.html:6 #, python-format msgid "Remove %(device)s from %(device_bay)s?" @@ -10794,61 +11337,65 @@ msgstr "Baie" msgid "Add Device" msgstr "Ajouter un appareil" -#: templates/dcim/devicerole.html:43 +#: templates/dcim/devicerole.html:40 msgid "VM Role" msgstr "Rôle de la machine virtuelle" -#: templates/dcim/devicetype.html:21 templates/dcim/moduletype.html:19 +#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:18 msgid "Model Name" msgstr "Nom du modèle" -#: templates/dcim/devicetype.html:28 templates/dcim/moduletype.html:23 +#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:22 msgid "Part Number" msgstr "Numéro de pièce" -#: templates/dcim/devicetype.html:40 -msgid "Height (U" -msgstr "Hauteur (U)" - -#: templates/dcim/devicetype.html:44 +#: templates/dcim/devicetype.html:41 msgid "Exclude From Utilization" msgstr "Exclure de l'utilisation" -#: templates/dcim/devicetype.html:62 +#: templates/dcim/devicetype.html:59 msgid "Parent/Child" msgstr "Parent/Enfant" -#: templates/dcim/devicetype.html:74 +#: templates/dcim/devicetype.html:71 msgid "Front Image" msgstr "Image avant" -#: templates/dcim/devicetype.html:86 +#: templates/dcim/devicetype.html:83 msgid "Rear Image" msgstr "Image arrière" -#: templates/dcim/frontport.html:57 +#: templates/dcim/frontport.html:54 msgid "Rear Port Position" msgstr "Position du port arrière" -#: templates/dcim/frontport.html:79 templates/dcim/interface.html:150 -#: templates/dcim/poweroutlet.html:67 templates/dcim/powerport.html:67 -#: templates/dcim/rearport.html:75 +#: templates/dcim/frontport.html:72 templates/dcim/interface.html:144 +#: templates/dcim/poweroutlet.html:63 templates/dcim/powerport.html:63 +#: templates/dcim/rearport.html:68 msgid "Marked as Connected" msgstr "Marqué comme connecté" -#: templates/dcim/frontport.html:93 templates/dcim/rearport.html:89 +#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82 msgid "Connection Status" msgstr "État de la connexion" +#: templates/dcim/htmx/cable_edit.html:10 +msgid "A Side" +msgstr "Un côté" + +#: templates/dcim/htmx/cable_edit.html:30 +msgid "B Side" +msgstr "Côté B" + #: templates/dcim/inc/cable_termination.html:65 msgid "No termination" msgstr "Pas de résiliation" -#: templates/dcim/inc/cable_toggle_buttons.html:4 +#: templates/dcim/inc/cable_toggle_buttons.html:3 msgid "Mark Planned" msgstr "Marquer comme prévu" -#: templates/dcim/inc/cable_toggle_buttons.html:8 +#: templates/dcim/inc/cable_toggle_buttons.html:6 msgid "Mark Installed" msgstr "Marquer comme installé" @@ -10865,7 +11412,7 @@ msgid "Path Endpoints" msgstr "Points de terminaison du chemin" #: templates/dcim/inc/endpoint_connection.html:8 -#: templates/dcim/powerfeed.html:128 templates/dcim/rearport.html:101 +#: templates/dcim/powerfeed.html:120 templates/dcim/rearport.html:94 msgid "Not connected" msgstr "Non connecté" @@ -10890,115 +11437,104 @@ msgstr "Tout effacer" msgid "Add Child Interface" msgstr "Ajouter une interface enfant" -#: templates/dcim/interface.html:51 +#: templates/dcim/interface.html:50 msgid "Speed/Duplex" msgstr "Vitesse/Duplex" -#: templates/dcim/interface.html:74 +#: templates/dcim/interface.html:73 msgid "PoE Mode" msgstr "Mode PoE" -#: templates/dcim/interface.html:78 +#: templates/dcim/interface.html:77 msgid "PoE Type" msgstr "Type de PoE" -#: templates/dcim/interface.html:82 -#: templates/virtualization/vminterface.html:66 +#: templates/dcim/interface.html:81 +#: templates/virtualization/vminterface.html:63 msgid "802.1Q Mode" msgstr "Mode 802.1Q" -#: templates/dcim/interface.html:130 -#: templates/virtualization/vminterface.html:62 +#: templates/dcim/interface.html:125 +#: templates/virtualization/vminterface.html:59 msgid "MAC Address" msgstr "Adresse MAC" -#: templates/dcim/interface.html:157 +#: templates/dcim/interface.html:151 msgid "Wireless Link" msgstr "Liaison sans fil" -#: templates/dcim/interface.html:226 vpn/choices.py:55 +#: templates/dcim/interface.html:218 vpn/choices.py:55 msgid "Peer" msgstr "Pair" -#: templates/dcim/interface.html:238 +#: templates/dcim/interface.html:230 #: templates/wireless/inc/wirelesslink_interface.html:26 msgid "Channel" msgstr "Chaîne" -#: templates/dcim/interface.html:247 +#: templates/dcim/interface.html:239 #: templates/wireless/inc/wirelesslink_interface.html:32 msgid "Channel Frequency" msgstr "Fréquence du canal" -#: templates/dcim/interface.html:250 templates/dcim/interface.html:258 -#: templates/dcim/interface.html:269 templates/dcim/interface.html:277 +#: templates/dcim/interface.html:242 templates/dcim/interface.html:250 +#: templates/dcim/interface.html:261 templates/dcim/interface.html:269 msgid "MHz" msgstr "MHz" -#: templates/dcim/interface.html:266 +#: templates/dcim/interface.html:258 #: templates/wireless/inc/wirelesslink_interface.html:42 msgid "Channel Width" msgstr "Largeur du canal" -#: templates/dcim/interface.html:295 templates/wireless/wirelesslan.html:15 -#: templates/wireless/wirelesslink.html:24 wireless/forms/bulk_edit.py:59 -#: wireless/forms/bulk_edit.py:101 wireless/forms/filtersets.py:39 -#: wireless/forms/filtersets.py:79 wireless/models.py:81 +#: templates/dcim/interface.html:285 templates/wireless/wirelesslan.html:14 +#: templates/wireless/wirelesslink.html:21 wireless/forms/bulk_edit.py:60 +#: wireless/forms/bulk_edit.py:102 wireless/forms/filtersets.py:40 +#: wireless/forms/filtersets.py:80 wireless/models.py:81 #: wireless/models.py:155 wireless/tables/wirelesslan.py:44 msgid "SSID" msgstr "SAID" -#: templates/dcim/interface.html:316 +#: templates/dcim/interface.html:305 msgid "LAG Members" msgstr "Membres du GAL" -#: templates/dcim/interface.html:335 +#: templates/dcim/interface.html:323 msgid "No member interfaces" msgstr "Aucune interface pour les membres" -#: templates/dcim/interface.html:359 templates/ipam/fhrpgroup.html:80 +#: templates/dcim/interface.html:343 templates/ipam/fhrpgroup.html:73 #: templates/ipam/iprange/ip_addresses.html:7 #: templates/ipam/prefix/ip_addresses.html:7 -#: templates/virtualization/vminterface.html:96 +#: templates/virtualization/vminterface.html:89 msgid "Add IP Address" msgstr "Ajouter une adresse IP" -#: templates/dcim/inventoryitem.html:25 +#: templates/dcim/inventoryitem.html:24 msgid "Parent Item" msgstr "Article parent" -#: templates/dcim/inventoryitem.html:49 +#: templates/dcim/inventoryitem.html:48 msgid "Part ID" msgstr "ID de pièce" -#: templates/dcim/inventoryitem_bulk_delete.html:5 -msgid "This will also delete all child inventory items of those listed" -msgstr "" -"Cela supprimera également tous les articles de l'inventaire pour enfants " -"parmi ceux répertoriés." - -#: templates/dcim/inventoryitem_edit.html:33 -msgid "Component Assignment" -msgstr "Affectation des composants" - -#: templates/dcim/inventoryitem_edit.html:59 -#: templates/dcim/poweroutlet.html:18 templates/dcim/powerport.html:81 -msgid "Power Outlet" -msgstr "Prise de courant" - #: templates/dcim/location.html:17 msgid "Add Child Location" msgstr "Ajouter la localisation de l'enfant" -#: templates/dcim/location.html:76 +#: templates/dcim/location.html:58 templates/dcim/site.html:55 +msgid "Facility" +msgstr "Facilité" + +#: templates/dcim/location.html:77 msgid "Child Locations" msgstr "Localisations pour enfants" -#: templates/dcim/location.html:84 templates/dcim/site.html:137 +#: templates/dcim/location.html:81 templates/dcim/site.html:130 msgid "Add a Location" msgstr "Ajouter un lieu" -#: templates/dcim/location.html:98 templates/dcim/site.html:151 +#: templates/dcim/location.html:94 templates/dcim/site.html:143 msgid "Add a Device" msgstr "Ajouter un appareil" @@ -11010,129 +11546,117 @@ msgstr "Ajouter un type d'appareil" msgid "Add Module Type" msgstr "Ajouter un type de module" -#: templates/dcim/powerfeed.html:56 +#: templates/dcim/powerfeed.html:53 msgid "Connected Device" msgstr "Appareil connecté" -#: templates/dcim/powerfeed.html:66 +#: templates/dcim/powerfeed.html:63 msgid "Utilization (Allocated" msgstr "Utilisation (allouée)" -#: templates/dcim/powerfeed.html:85 +#: templates/dcim/powerfeed.html:80 msgid "Electrical Characteristics" msgstr "Caractéristiques électriques" -#: templates/dcim/powerfeed.html:95 +#: templates/dcim/powerfeed.html:88 msgctxt "Abbreviation for volts" msgid "V" msgstr "V" -#: templates/dcim/powerfeed.html:99 +#: templates/dcim/powerfeed.html:92 msgctxt "Abbreviation for amperes" msgid "A" msgstr "UN" -#: templates/dcim/poweroutlet.html:51 +#: templates/dcim/poweroutlet.html:48 msgid "Feed Leg" msgstr "Patte d'alimentation" -#: templates/dcim/powerpanel.html:77 +#: templates/dcim/powerpanel.html:72 msgid "Add Power Feeds" msgstr "Ajouter des sources d'alimentation" -#: templates/dcim/powerport.html:47 +#: templates/dcim/powerport.html:44 msgid "Maximum Draw" msgstr "Tirage maximum" -#: templates/dcim/powerport.html:51 +#: templates/dcim/powerport.html:48 msgid "Allocated Draw" msgstr "Tirage alloué" -#: templates/dcim/rack.html:66 +#: templates/dcim/rack.html:63 msgid "Space Utilization" msgstr "Utilisation de l'espace" -#: templates/dcim/rack.html:96 +#: templates/dcim/rack.html:91 msgid "descending" msgstr "descendant" -#: templates/dcim/rack.html:96 +#: templates/dcim/rack.html:91 msgid "ascending" msgstr "ascendant" -#: templates/dcim/rack.html:99 +#: templates/dcim/rack.html:94 msgid "Starting Unit" msgstr "Unité de départ" -#: templates/dcim/rack.html:125 +#: templates/dcim/rack.html:120 msgid "Mounting Depth" msgstr "Profondeur de montage" -#: templates/dcim/rack.html:135 +#: templates/dcim/rack.html:130 msgid "Rack Weight" -msgstr "Poids du rack" +msgstr "Poids de la baie" -#: templates/dcim/rack.html:145 templates/dcim/rack_edit.html:67 +#: templates/dcim/rack.html:140 msgid "Maximum Weight" msgstr "Poids maximum" -#: templates/dcim/rack.html:155 +#: templates/dcim/rack.html:150 msgid "Total Weight" msgstr "Poids total" -#: templates/dcim/rack.html:173 templates/dcim/rack_elevation_list.html:16 +#: templates/dcim/rack.html:167 templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Images et étiquettes" -#: templates/dcim/rack.html:174 templates/dcim/rack_elevation_list.html:17 +#: templates/dcim/rack.html:168 templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Images uniquement" -#: templates/dcim/rack.html:175 templates/dcim/rack_elevation_list.html:18 +#: templates/dcim/rack.html:169 templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Étiquettes uniquement" -#: templates/dcim/rack/reservations.html:9 +#: templates/dcim/rack/reservations.html:8 msgid "Add reservation" msgstr "Ajouter une réservation" -#: templates/dcim/rack_edit.html:21 -msgid "Inventory Control" -msgstr "Contrôle des stocks" - -#: templates/dcim/rack_edit.html:45 -msgid "Outer Dimensions" -msgstr "Dimensions extérieures" - -#: templates/dcim/rack_edit.html:56 templates/dcim/rack_edit.html:71 -msgid "Unit" -msgstr "Unité" - #: templates/dcim/rack_elevation_list.html:12 msgid "View List" msgstr "Afficher la liste" -#: templates/dcim/rack_elevation_list.html:27 +#: templates/dcim/rack_elevation_list.html:25 msgid "Sort By" msgstr "Trier par" -#: templates/dcim/rack_elevation_list.html:77 +#: templates/dcim/rack_elevation_list.html:74 msgid "No Racks Found" -msgstr "Aucun support n'a été trouvé" +msgstr "Aucune baie trouvée" #: templates/dcim/rack_list.html:8 msgid "View Elevations" msgstr "Afficher les élévations" -#: templates/dcim/rackreservation.html:47 +#: templates/dcim/rackreservation.html:42 msgid "Reservation Details" msgstr "Détails de la réservation" #: templates/dcim/rackrole.html:10 msgid "Add Rack" -msgstr "Ajouter un rack" +msgstr "Ajouter un baie" -#: templates/dcim/rearport.html:53 +#: templates/dcim/rearport.html:50 msgid "Positions" msgstr "Positions" @@ -11140,58 +11664,54 @@ msgstr "Positions" msgid "Add Site" msgstr "Ajouter un site" -#: templates/dcim/region.html:56 +#: templates/dcim/region.html:55 msgid "Child Regions" msgstr "Régions infantiles" -#: templates/dcim/region.html:64 +#: templates/dcim/region.html:59 msgid "Add Region" msgstr "Ajouter une région" -#: templates/dcim/site.html:56 -msgid "Facility" -msgstr "Facilité" - -#: templates/dcim/site.html:64 +#: templates/dcim/site.html:63 msgid "Time Zone" msgstr "Fuseau horaire" -#: templates/dcim/site.html:67 +#: templates/dcim/site.html:66 msgid "UTC" msgstr "UTC" -#: templates/dcim/site.html:68 +#: templates/dcim/site.html:67 msgid "Site time" msgstr "Heure du site" -#: templates/dcim/site.html:75 +#: templates/dcim/site.html:74 msgid "Physical Address" msgstr "Adresse physique" -#: templates/dcim/site.html:81 +#: templates/dcim/site.html:80 msgid "Map" msgstr "Carte" -#: templates/dcim/site.html:92 +#: templates/dcim/site.html:89 msgid "Shipping Address" msgstr "Adresse de livraison" -#: templates/dcim/sitegroup.html:56 templates/tenancy/contactgroup.html:49 -#: templates/tenancy/tenantgroup.html:58 -#: templates/wireless/wirelesslangroup.html:56 +#: templates/dcim/sitegroup.html:55 templates/tenancy/contactgroup.html:46 +#: templates/tenancy/tenantgroup.html:55 +#: templates/wireless/wirelesslangroup.html:55 msgid "Child Groups" msgstr "Groupes d'enfants" -#: templates/dcim/sitegroup.html:64 +#: templates/dcim/sitegroup.html:59 msgid "Add Site Group" msgstr "Ajouter un groupe de sites" #: templates/dcim/trace/attachment.html:5 -#: templates/extras/exporttemplate.html:37 +#: templates/extras/exporttemplate.html:31 msgid "Attachment" msgstr "Pièce jointe" -#: templates/dcim/virtualchassis.html:86 +#: templates/dcim/virtualchassis.html:57 msgid "Add Member" msgstr "Ajouter un membre" @@ -11199,27 +11719,34 @@ msgstr "Ajouter un membre" msgid "Member Devices" msgstr "Appareils pour les membres" -#: templates/dcim/virtualchassis_add_member.html:6 +#: templates/dcim/virtualchassis_add_member.html:10 #, python-format msgid "Add New Member to Virtual Chassis %(virtual_chassis)s" msgstr "Ajouter un nouveau membre à Virtual Chassis %(virtual_chassis)s" -#: templates/dcim/virtualchassis_add_member.html:17 +#: templates/dcim/virtualchassis_add_member.html:19 msgid "Add New Member" msgstr "Ajouter un nouveau membre" -#: templates/dcim/virtualchassis_add_member.html:25 -msgid "Add Another" -msgstr "Ajouter un autre" +#: templates/dcim/virtualchassis_add_member.html:27 +#: templates/generic/object_edit.html:78 +#: templates/users/objectpermission.html:31 users/forms/filtersets.py:68 +#: users/forms/model_forms.py:312 +msgid "Actions" +msgstr "Des actions" + +#: templates/dcim/virtualchassis_add_member.html:29 +msgid "Save & Add Another" +msgstr "Enregistrer et ajouter un autre" #: templates/dcim/virtualchassis_edit.html:7 #, python-format msgid "Editing Virtual Chassis %(name)s" msgstr "Édition d'un châssis virtuel %(name)s" -#: templates/dcim/virtualchassis_edit.html:54 +#: templates/dcim/virtualchassis_edit.html:53 msgid "Rack/Unit" -msgstr "Rack/unité" +msgstr "Baie/unité" #: templates/dcim/virtualchassis_remove_member.html:5 msgid "Remove Virtual Chassis Member" @@ -11234,7 +11761,7 @@ msgstr "" "Êtes-vous sûr de vouloir supprimer %(device)s à partir d'un" " châssis virtuel %(name)s?" -#: templates/dcim/virtualdevicecontext.html:29 templates/vpn/l2vpn.html:19 +#: templates/dcim/virtualdevicecontext.html:26 templates/vpn/l2vpn.html:18 msgid "Identifier" msgstr "Identifiant" @@ -11344,39 +11871,15 @@ msgstr "" "des informations d'identification de NetBox et en émettant une requête pour " "SÉLECTIONNER LA VERSION ()." -#: templates/extras/admin/plugins_list.html:4 -#: templates/extras/admin/plugins_list.html:9 -#: templates/extras/admin/plugins_list.html:13 -msgid "Installed Plugins" -msgstr "Plugins installés" - -#: templates/extras/admin/plugins_list.html:23 -msgid "Package Name" -msgstr "Nom du package" - -#: templates/extras/admin/plugins_list.html:24 -msgid "Author" -msgstr "Auteur" - -#: templates/extras/admin/plugins_list.html:25 -msgid "Author Email" -msgstr "Adresse électronique de l'auteur" - -#: templates/extras/admin/plugins_list.html:27 -#: templates/vpn/ipsecprofile.html:47 vpn/forms/bulk_edit.py:140 -#: vpn/forms/bulk_import.py:172 vpn/tables/crypto.py:61 -msgid "Version" -msgstr "Version" - -#: templates/extras/configcontext.html:46 -#: templates/extras/configtemplate.html:38 -#: templates/extras/exporttemplate.html:57 +#: templates/extras/configcontext.html:45 +#: templates/extras/configtemplate.html:37 +#: templates/extras/exporttemplate.html:51 msgid "The data file associated with this object has been deleted" msgstr "Le fichier de données associé à cet objet a été supprimé" -#: templates/extras/configcontext.html:55 -#: templates/extras/configtemplate.html:47 -#: templates/extras/exporttemplate.html:66 +#: templates/extras/configcontext.html:54 +#: templates/extras/configtemplate.html:46 +#: templates/extras/exporttemplate.html:60 msgid "Data Synced" msgstr "Données synchronisées" @@ -11386,81 +11889,81 @@ msgstr "Données synchronisées" msgid "Sync Data" msgstr "Synchroniser les données" -#: templates/extras/configtemplate.html:58 +#: templates/extras/configtemplate.html:56 msgid "Environment Parameters" msgstr "Paramètres de l'environnement" -#: templates/extras/configtemplate.html:69 -#: templates/extras/exporttemplate.html:88 +#: templates/extras/configtemplate.html:67 +#: templates/extras/exporttemplate.html:79 msgid "Template" msgstr "Modèle" -#: templates/extras/customfield.html:31 templates/extras/customlink.html:22 +#: templates/extras/customfield.html:30 templates/extras/customlink.html:21 msgid "Group Name" msgstr "Nom du groupe" -#: templates/extras/customfield.html:43 +#: templates/extras/customfield.html:42 msgid "Cloneable" msgstr "Clonable" -#: templates/extras/customfield.html:53 +#: templates/extras/customfield.html:52 msgid "Default Value" msgstr "Valeur par défaut" -#: templates/extras/customfield.html:64 +#: templates/extras/customfield.html:61 msgid "Search Weight" msgstr "Poids de recherche" -#: templates/extras/customfield.html:74 +#: templates/extras/customfield.html:71 msgid "Filter Logic" msgstr "Logique des filtres" -#: templates/extras/customfield.html:78 +#: templates/extras/customfield.html:75 msgid "Display Weight" msgstr "Poids de l'écran" -#: templates/extras/customfield.html:82 +#: templates/extras/customfield.html:79 msgid "UI Visible" msgstr "Interface utilisateur visible" -#: templates/extras/customfield.html:86 +#: templates/extras/customfield.html:83 msgid "UI Editable" msgstr "Interface utilisateur modifiable" -#: templates/extras/customfield.html:108 +#: templates/extras/customfield.html:103 msgid "Validation Rules" msgstr "Règles de validation" -#: templates/extras/customfield.html:112 +#: templates/extras/customfield.html:106 msgid "Minimum Value" msgstr "Valeur minimale" -#: templates/extras/customfield.html:116 +#: templates/extras/customfield.html:110 msgid "Maximum Value" msgstr "Valeur maximale" -#: templates/extras/customfield.html:120 +#: templates/extras/customfield.html:114 msgid "Regular Expression" msgstr "Expression régulière" -#: templates/extras/customlink.html:30 +#: templates/extras/customlink.html:29 msgid "Button Class" msgstr "Classe de boutons" -#: templates/extras/customlink.html:41 templates/extras/exporttemplate.html:73 -#: templates/extras/savedfilter.html:41 +#: templates/extras/customlink.html:39 templates/extras/exporttemplate.html:66 +#: templates/extras/savedfilter.html:39 msgid "Assigned Models" msgstr "Modèles assignés" -#: templates/extras/customlink.html:57 +#: templates/extras/customlink.html:53 msgid "Link Text" msgstr "Texte du lien" -#: templates/extras/customlink.html:65 +#: templates/extras/customlink.html:61 msgid "Link URL" msgstr "URL du lien" -#: templates/extras/dashboard/reset.html:4 templates/home.html:63 +#: templates/extras/dashboard/reset.html:4 templates/home.html:66 msgid "Reset Dashboard" msgstr "Réinitialisation du tableau" @@ -11488,7 +11991,7 @@ msgstr "Ajouter un widget" msgid "No bookmarks have been added yet." msgstr "Aucun favori n'a encore été ajouté." -#: templates/extras/dashboard/widgets/objectcounts.html:15 +#: templates/extras/dashboard/widgets/objectcounts.html:10 msgid "No permission" msgstr "Aucune autorisation" @@ -11512,72 +12015,39 @@ msgstr "Un problème s'est produit lors de la récupération du flux RSS" msgid "HTTP" msgstr "HTTP" -#: templates/extras/eventrule.html:63 +#: templates/extras/eventrule.html:52 msgid "Job start" msgstr "Début du travail" -#: templates/extras/eventrule.html:67 +#: templates/extras/eventrule.html:56 msgid "Job end" msgstr "Fin du travail" -#: templates/extras/exporttemplate.html:29 +#: templates/extras/exporttemplate.html:23 msgid "MIME Type" msgstr "Type MIME" -#: templates/extras/exporttemplate.html:33 +#: templates/extras/exporttemplate.html:27 msgid "File Extension" msgstr "Extension de fichier" -#: templates/extras/htmx/report_result.html:9 #: templates/extras/htmx/script_result.html:10 msgid "Scheduled for" msgstr "Prévu pour" -#: templates/extras/htmx/report_result.html:14 #: templates/extras/htmx/script_result.html:15 msgid "Duration" msgstr "Durée" -#: templates/extras/htmx/report_result.html:20 -msgid "Report Methods" -msgstr "Méthodes de rapport" +#: templates/extras/htmx/script_result.html:23 +msgid "Test Summary" +msgstr "Résumé du test" -#: templates/extras/htmx/report_result.html:38 -msgid "Report Results" -msgstr "Résultats du rapport" +#: templates/extras/htmx/script_result.html:43 +msgid "Log" +msgstr "Journal" -#: templates/extras/htmx/report_result.html:44 -#: templates/extras/htmx/script_result.html:26 -msgid "Level" -msgstr "Niveau" - -#: templates/extras/htmx/report_result.html:46 -#: templates/extras/htmx/script_result.html:27 -msgid "Message" -msgstr "Message" - -#: templates/extras/htmx/script_result.html:21 -msgid "Script Log" -msgstr "Journal des scripts" - -#: templates/extras/htmx/script_result.html:25 -msgid "Line" -msgstr "Ligne" - -#: templates/extras/htmx/script_result.html:38 -msgid "No log output" -msgstr "Aucune sortie de journal" - -#: templates/extras/htmx/script_result.html:46 -msgid "Exec Time" -msgstr "Heure d'exécution" - -#: templates/extras/htmx/script_result.html:46 -msgctxt "Unit of time" -msgid "seconds" -msgstr "secondes" - -#: templates/extras/htmx/script_result.html:50 +#: templates/extras/htmx/script_result.html:52 msgid "Output" msgstr "sortie" @@ -11589,7 +12059,7 @@ msgstr "Chargement" msgid "Results pending" msgstr "Résultats en attente" -#: templates/extras/journalentry.html:16 +#: templates/extras/journalentry.html:15 msgid "Journal Entry" msgstr "Entrée de journal" @@ -11624,129 +12094,96 @@ msgstr "Le contexte de configuration local remplace tous les contextes source" msgid "Source Contexts" msgstr "Contextes sources" -#: templates/extras/object_journal.html:18 +#: templates/extras/object_journal.html:17 msgid "New Journal Entry" msgstr "Nouvelle entrée de journal" -#: templates/extras/objectchange.html:29 -#: templates/users/objectpermission.html:45 +#: templates/extras/objectchange.html:28 +#: templates/users/objectpermission.html:42 msgid "Change" msgstr "Changez" -#: templates/extras/objectchange.html:84 +#: templates/extras/objectchange.html:78 msgid "Difference" msgstr "Différence" -#: templates/extras/objectchange.html:87 +#: templates/extras/objectchange.html:81 msgid "Previous" msgstr "Précédent" -#: templates/extras/objectchange.html:90 +#: templates/extras/objectchange.html:84 msgid "Next" msgstr "Prochaine" -#: templates/extras/objectchange.html:98 +#: templates/extras/objectchange.html:92 msgid "Object Created" msgstr "Objet créé" -#: templates/extras/objectchange.html:100 +#: templates/extras/objectchange.html:94 msgid "Object Deleted" msgstr "Objet supprimé" -#: templates/extras/objectchange.html:102 +#: templates/extras/objectchange.html:96 msgid "No Changes" msgstr "Aucune modification" -#: templates/extras/objectchange.html:117 +#: templates/extras/objectchange.html:110 msgid "Pre-Change Data" msgstr "Données préalables à la modification" -#: templates/extras/objectchange.html:126 +#: templates/extras/objectchange.html:121 msgid "Warning: Comparing non-atomic change to previous change record" msgstr "" "Avertissement : Comparaison d'une modification non atomique avec " "l'enregistrement de modification précédent" -#: templates/extras/objectchange.html:136 +#: templates/extras/objectchange.html:130 msgid "Post-Change Data" msgstr "Données après modification" -#: templates/extras/objectchange.html:157 +#: templates/extras/objectchange.html:153 #, python-format msgid "See All %(count)s Changes" msgstr "Tout afficher %(count)s Changements" -#: templates/extras/report.html:14 -msgid "This report is invalid and cannot be run." -msgstr "Ce rapport n'est pas valide et ne peut pas être exécuté." - -#: templates/extras/report.html:23 templates/extras/report_list.html:88 -msgid "Run Again" -msgstr "Exécutez à nouveau" - -#: templates/extras/report.html:25 templates/extras/report_list.html:90 -msgid "Run Report" -msgstr "Exécuter le rapport" - -#: templates/extras/report.html:36 -msgid "Last run" -msgstr "Dernière course" - #: templates/extras/report/base.html:30 msgid "Report" msgstr "Rapport" -#: templates/extras/report_list.html:48 templates/extras/script_list.html:54 -msgid "Last Run" -msgstr "Dernière course" - -#: templates/extras/report_list.html:70 templates/extras/script_list.html:77 -msgid "Never" -msgstr "Jamais" - -#: templates/extras/report_list.html:75 -msgid "Report has no test methods" -msgstr "Le rapport ne contient aucune méthode de test" - -#: templates/extras/report_list.html:76 -msgid "Invalid" -msgstr "Non valide" - -#: templates/extras/report_list.html:125 -msgid "No Reports Found" -msgstr "Aucun rapport n'a été trouvé" - -#: templates/extras/report_list.html:128 -#, python-format -msgid "" -"Get started by creating a report from " -"an uploaded file or data source." -msgstr "" -"Commencez par création d'un rapport à " -"partir d'un fichier ou d'une source de données chargé." - -#: templates/extras/script.html:13 +#: templates/extras/script.html:14 msgid "You do not have permission to run scripts" msgstr "Vous n'êtes pas autorisé à exécuter des scripts" -#: templates/extras/script.html:37 +#: templates/extras/script.html:40 templates/extras/script.html:44 +#: templates/extras/script_list.html:88 msgid "Run Script" msgstr "Exécuter le script" -#: templates/extras/script_list.html:44 -#, python-format -msgid "" -"Script file at %(file_path)s could not be " -"loaded." -msgstr "" -"Fichier de script sur %(file_path)s n'a pas pu " -"être chargé." +#: templates/extras/script/jobs.html:16 +msgid "Script no longer exists in the source file." +msgstr "Le script n'existe plus dans le fichier source." -#: templates/extras/script_list.html:91 +#: templates/extras/script_list.html:48 +msgid "Last Run" +msgstr "Dernière course" + +#: templates/extras/script_list.html:63 +msgid "Script is no longer present in the source file" +msgstr "Le script n'est plus présent dans le fichier source" + +#: templates/extras/script_list.html:76 +msgid "Never" +msgstr "Jamais" + +#: templates/extras/script_list.html:86 +msgid "Run Again" +msgstr "Exécutez à nouveau" + +#: templates/extras/script_list.html:140 msgid "No Scripts Found" msgstr "Aucun script n'a été trouvé" -#: templates/extras/script_list.html:94 +#: templates/extras/script_list.html:143 #, python-format msgid "" "Get started by creating a script from " @@ -11755,121 +12192,120 @@ msgstr "" "Commencez par création d'un script à " "partir d'un fichier ou d'une source de données chargé." -#: templates/extras/script_result.html:42 -msgid "Log" -msgstr "Journal" +#: templates/extras/script_result.html:35 +#: templates/generic/object_list.html:50 templates/search.html:13 +msgid "Results" +msgstr "Résultats" -#: templates/extras/tag.html:35 +#: templates/extras/tag.html:32 msgid "Tagged Items" msgstr "Articles tagués" -#: templates/extras/tag.html:47 +#: templates/extras/tag.html:43 msgid "Allowed Object Types" msgstr "Types d'objets autorisés" -#: templates/extras/tag.html:56 +#: templates/extras/tag.html:51 msgid "Any" msgstr "N'importe lequel" -#: templates/extras/tag.html:63 +#: templates/extras/tag.html:57 msgid "Tagged Item Types" msgstr "Types d'articles tagués" -#: templates/extras/tag.html:89 +#: templates/extras/tag.html:81 msgid "Tagged Objects" msgstr "Objets balisés" -#: templates/extras/webhook.html:33 +#: templates/extras/webhook.html:26 msgid "HTTP Method" msgstr "Méthode HTTP" -#: templates/extras/webhook.html:41 +#: templates/extras/webhook.html:34 msgid "HTTP Content Type" msgstr "Type de contenu HTTP" -#: templates/extras/webhook.html:58 +#: templates/extras/webhook.html:47 msgid "SSL Verification" msgstr "Vérification SSL" -#: templates/extras/webhook.html:73 +#: templates/extras/webhook.html:61 msgid "Additional Headers" msgstr "En-têtes supplémentaires" -#: templates/extras/webhook.html:85 +#: templates/extras/webhook.html:73 msgid "Body Template" msgstr "Modèle de carrosserie" -#: templates/generic/bulk_add_component.html:15 +#: templates/generic/bulk_add_component.html:29 msgid "Bulk Creation" msgstr "Création en masse" -#: templates/generic/bulk_add_component.html:20 -#: templates/generic/bulk_edit.html:28 +#: templates/generic/bulk_add_component.html:34 +#: templates/generic/bulk_delete.html:32 templates/generic/bulk_edit.html:33 msgid "Selected Objects" msgstr "Objets sélectionnés" -#: templates/generic/bulk_add_component.html:46 +#: templates/generic/bulk_add_component.html:58 msgid "to Add" msgstr "à ajouter" -#: templates/generic/bulk_delete.html:24 +#: templates/generic/bulk_delete.html:27 +msgid "Bulk Delete" +msgstr "Suppression groupée" + +#: templates/generic/bulk_delete.html:49 msgid "Confirm Bulk Deletion" msgstr "Confirmer la suppression groupée" -#: templates/generic/bulk_delete.html:26 -msgctxt "Noun" -msgid "Warning" -msgstr "Avertissement" - -#: templates/generic/bulk_delete.html:27 +#: templates/generic/bulk_delete.html:50 #, python-format msgid "" "The following operation will delete %(count)s " -"%(type_plural)s. Please carefully review the objects to be deleted and " -"confirm below." +"%(type_plural)s. Please carefully review the selected objects and confirm " +"this action." msgstr "" "L'opération suivante supprimera %(count)s %(type_plural)s. " -"Veuillez examiner attentivement les objets à supprimer et confirmer ci-" -"dessous." +"Vérifiez attentivement les objets sélectionnés et confirmez cette action." -#: templates/generic/bulk_edit.html:16 templates/generic/object_edit.html:17 +#: templates/generic/bulk_edit.html:21 templates/generic/object_edit.html:22 msgid "Editing" msgstr "Édition" -#: templates/generic/bulk_edit.html:23 +#: templates/generic/bulk_edit.html:28 msgid "Bulk Edit" msgstr "Modifier en bloc" -#: templates/generic/bulk_edit.html:124 templates/generic/bulk_rename.html:42 +#: templates/generic/bulk_edit.html:107 templates/generic/bulk_rename.html:66 msgid "Apply" msgstr "Appliquer" -#: templates/generic/bulk_import.html:14 +#: templates/generic/bulk_import.html:19 msgid "Bulk Import" msgstr "Importation en vrac" -#: templates/generic/bulk_import.html:20 +#: templates/generic/bulk_import.html:25 msgid "Direct Import" msgstr "Importation directe" -#: templates/generic/bulk_import.html:25 +#: templates/generic/bulk_import.html:30 msgid "Upload File" msgstr "Charger un fichier" -#: templates/generic/bulk_import.html:51 templates/generic/bulk_import.html:73 -#: templates/generic/bulk_import.html:95 +#: templates/generic/bulk_import.html:58 templates/generic/bulk_import.html:80 +#: templates/generic/bulk_import.html:102 msgid "Submit" msgstr "Soumettre" -#: templates/generic/bulk_import.html:110 +#: templates/generic/bulk_import.html:113 msgid "Field Options" msgstr "Options de terrain" -#: templates/generic/bulk_import.html:117 +#: templates/generic/bulk_import.html:119 msgid "Accessor" msgstr "Accessoire" -#: templates/generic/bulk_import.html:154 +#: templates/generic/bulk_import.html:161 msgid "Import Value" msgstr "Valeur d'importation" @@ -11897,46 +12333,47 @@ msgstr "" "unique. Par exemple, %(example)s identifierait un VRF grâce à " "son identificateur d'itinéraire." -#: templates/generic/bulk_remove.html:13 +#: templates/generic/bulk_remove.html:28 +msgid "Bulk Remove" +msgstr "Supprimer en bloc" + +#: templates/generic/bulk_remove.html:42 msgid "Confirm Bulk Removal" msgstr "Confirmer la suppression groupée" -#: templates/generic/bulk_remove.html:15 +#: templates/generic/bulk_remove.html:43 #, python-format msgid "" -"Warning: The following operation will remove %(count)s " -"%(obj_type_plural)s from %(parent_obj)s." +"The following operation will remove %(count)s %(obj_type_plural)s from " +"%(parent_obj)s. Please carefully review the %(obj_type_plural)s to be " +"removed and confirm below." msgstr "" -"Avertissement : L'opération suivante supprimera %(count)s " -"%(obj_type_plural)s à partir de %(parent_obj)s." +"L'opération suivante supprimera %(count)s %(obj_type_plural)s à partir de " +"%(parent_obj)s. Veuillez lire attentivement le %(obj_type_plural)s à " +"supprimer et à confirmer ci-dessous." -#: templates/generic/bulk_remove.html:21 +#: templates/generic/bulk_remove.html:64 #, python-format -msgid "" -"Please carefully review the %(obj_type_plural)s to be removed and confirm " -"below." -msgstr "" -"Veuillez lire attentivement le %(obj_type_plural)s à supprimer et à " -"confirmer ci-dessous." - -#: templates/generic/bulk_remove.html:38 -#, python-format -msgid "Delete these %(count)s %(obj_type_plural)s" +msgid "Remove these %(count)s %(obj_type_plural)s" msgstr "Supprimez-les %(count)s %(obj_type_plural)s" -#: templates/generic/bulk_rename.html:7 +#: templates/generic/bulk_rename.html:20 msgid "Renaming" msgstr "Renommer" -#: templates/generic/bulk_rename.html:16 +#: templates/generic/bulk_rename.html:27 +msgid "Bulk Rename" +msgstr "Renommer en bloc" + +#: templates/generic/bulk_rename.html:39 msgid "Current Name" msgstr "Nom actuel" -#: templates/generic/bulk_rename.html:17 +#: templates/generic/bulk_rename.html:40 msgid "New Name" msgstr "Nouveau nom" -#: templates/generic/bulk_rename.html:40 +#: templates/generic/bulk_rename.html:64 #: utilities/templates/widgets/markdown_input.html:11 msgid "Preview" msgstr "Aperçu" @@ -11945,83 +12382,77 @@ msgstr "Aperçu" msgid "Are you sure" msgstr "Tu es sûr" -#: templates/generic/confirmation_form.html:19 +#: templates/generic/confirmation_form.html:20 msgid "Confirm" msgstr "Confirmez" -#: templates/generic/object.html:51 -msgid "ago" -msgstr "depuis" - -#: templates/generic/object_children.html:27 +#: templates/generic/object_children.html:47 #: utilities/templates/buttons/bulk_edit.html:4 msgid "Edit Selected" msgstr "Modifier la sélection" -#: templates/generic/object_children.html:41 +#: templates/generic/object_children.html:61 #: utilities/templates/buttons/bulk_delete.html:4 msgid "Delete Selected" msgstr "Supprimer la sélection" -#: templates/generic/object_edit.html:19 +#: templates/generic/object_edit.html:24 #, python-format msgid "Add a new %(object_type)s" msgstr "Ajouter un nouveau %(object_type)s" -#: templates/generic/object_edit.html:47 +#: templates/generic/object_edit.html:35 msgid "View model documentation" msgstr "Afficher la documentation du modèle" -#: templates/generic/object_edit.html:48 +#: templates/generic/object_edit.html:36 msgid "Help" msgstr "Aide" -#: templates/generic/object_edit.html:73 +#: templates/generic/object_edit.html:83 msgid "Create & Add Another" msgstr "Créez et ajoutez-en un autre" -#: templates/generic/object_list.html:48 templates/search.html:13 -msgid "Results" -msgstr "Résultats" - -#: templates/generic/object_list.html:54 +#: templates/generic/object_list.html:57 msgid "Filters" msgstr "Filtres" -#: templates/generic/object_list.html:94 +#: templates/generic/object_list.html:96 #, python-format msgid "" -"Select all %(count)s %(object_type_plural)s matching query" +"Select all %(count)s " +"%(object_type_plural)s matching query" msgstr "" -"Sélectionnez tous %(count)s %(object_type_plural)s requête " +"Sélectionnez tous %(count)s %(object_type_plural)s requête " "correspondante" -#: templates/home.html:12 +#: templates/home.html:15 msgid "New Release Available" msgstr "Nouvelle version disponible" -#: templates/home.html:14 +#: templates/home.html:16 msgid "is available" msgstr "est disponible" -#: templates/home.html:17 +#: templates/home.html:18 msgctxt "Document title" msgid "Upgrade Instructions" msgstr "Instructions de mise à niveau" -#: templates/home.html:37 +#: templates/home.html:40 msgid "Unlock Dashboard" msgstr "Ouvrez le tableau de bord" -#: templates/home.html:46 +#: templates/home.html:49 msgid "Lock Dashboard" msgstr "Tableau de bord verrouillé" -#: templates/home.html:57 +#: templates/home.html:60 msgid "Add Widget" msgstr "Ajouter un widget" -#: templates/home.html:60 +#: templates/home.html:63 msgid "Save Layout" msgstr "Enregistrer la mise en page" @@ -12046,12 +12477,12 @@ msgstr "Les objets suivants seront supprimés à la suite de cette action." msgid "Select" msgstr "Sélectionnez" -#: templates/inc/filter_list.html:50 +#: templates/inc/filter_list.html:42 #: utilities/templates/helpers/table_config_form.html:39 msgid "Reset" msgstr "Réinitialiser" -#: templates/inc/missing_prerequisites.html:7 +#: templates/inc/missing_prerequisites.html:8 #, python-format msgid "" "Before you can add a %(model)s you must first create a " @@ -12060,15 +12491,23 @@ msgstr "" "Avant de pouvoir ajouter un %(model)s vous devez d'abord créer un " "%(prerequisite_model)s." -#: templates/inc/paginator.html:38 templates/inc/paginator_htmx.html:53 -msgid "Per Page" -msgstr "Par page" +#: templates/inc/paginator.html:14 +msgid "Page selection" +msgstr "Sélection de page" -#: templates/inc/paginator.html:49 templates/inc/paginator_htmx.html:69 +#: templates/inc/paginator.html:74 #, python-format msgid "Showing %(start)s-%(end)s of %(total)s" msgstr "Montrant %(start)s-%(end)s de %(total)s" +#: templates/inc/paginator.html:81 +msgid "Pagination options" +msgstr "Options de pagination" + +#: templates/inc/paginator.html:85 +msgid "Per Page" +msgstr "Par page" + #: templates/inc/panels/image_attachments.html:10 msgid "Attach an image" msgstr "Joindre une image" @@ -12081,33 +12520,28 @@ msgstr "Objets associés" msgid "No tags assigned" msgstr "Aucune étiquette attribuée" -#: templates/inc/profile_button.html:12 templates/inc/profile_button.html:62 -msgid "Dark Mode" -msgstr "Mode sombre" - -#: templates/inc/profile_button.html:45 -msgid "Log Out" -msgstr "Déconnectez-vous" - -#: templates/inc/profile_button.html:53 -msgid "Log In" -msgstr "Se connecter" - -#: templates/inc/sync_warning.html:7 +#: templates/inc/sync_warning.html:10 msgid "Data is out of sync with upstream file" msgstr "Les données ne sont pas synchronisées avec le fichier en amont" -#: templates/inc/table_controls_htmx.html:16 -#: templates/inc/table_controls_htmx.html:18 -msgid "Configure Table" -msgstr "Configurer le tableau" +#: templates/inc/user_menu.html:23 +msgid "Django Admin" +msgstr "Administrateur Django" -#: templates/ipam/aggregate.html:15 templates/ipam/ipaddress.html:17 -#: templates/ipam/iprange.html:16 templates/ipam/prefix.html:16 +#: templates/inc/user_menu.html:40 +msgid "Log Out" +msgstr "Déconnectez-vous" + +#: templates/inc/user_menu.html:47 templates/login.html:36 +msgid "Log In" +msgstr "Se connecter" + +#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14 +#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15 msgid "Family" msgstr "Famille" -#: templates/ipam/aggregate.html:40 +#: templates/ipam/aggregate.html:39 msgid "Date Added" msgstr "Date d'ajout" @@ -12116,26 +12550,22 @@ msgstr "Date d'ajout" msgid "Add Prefix" msgstr "Ajouter un préfixe" -#: templates/ipam/asn.html:24 +#: templates/ipam/asn.html:23 msgid "AS Number" msgstr "Numéro AS" -#: templates/ipam/fhrpgroup.html:55 +#: templates/ipam/fhrpgroup.html:52 msgid "Authentication Type" msgstr "Type d'authentification" -#: templates/ipam/fhrpgroup.html:59 +#: templates/ipam/fhrpgroup.html:56 msgid "Authentication Key" msgstr "Clé d'authentification" -#: templates/ipam/fhrpgroup.html:72 +#: templates/ipam/fhrpgroup.html:69 msgid "Virtual IP Addresses" msgstr "Adresses IP virtuelles" -#: templates/ipam/fhrpgroupassignment_edit.html:8 -msgid "FHRP Group Assignment" -msgstr "Affectation au groupe FHRP" - #: templates/ipam/inc/ipaddress_edit_header.html:19 msgid "Assign IP" msgstr "Attribuer une IP" @@ -12144,18 +12574,18 @@ msgstr "Attribuer une IP" msgid "Bulk Create" msgstr "Création en bloc" -#: templates/ipam/inc/panels/fhrp_groups.html:12 -msgid "Virtual IPs" -msgstr "IP virtuelles" - -#: templates/ipam/inc/panels/fhrp_groups.html:52 +#: templates/ipam/inc/panels/fhrp_groups.html:10 msgid "Create Group" msgstr "Créer un groupe" -#: templates/ipam/inc/panels/fhrp_groups.html:57 +#: templates/ipam/inc/panels/fhrp_groups.html:15 msgid "Assign Group" msgstr "Attribuer un groupe" +#: templates/ipam/inc/panels/fhrp_groups.html:25 +msgid "Virtual IPs" +msgstr "IP virtuelles" + #: templates/ipam/inc/toggle_available.html:7 msgid "Show Assigned" msgstr "Afficher les données attribuées" @@ -12168,12 +12598,12 @@ msgstr "Afficher disponible" msgid "Show All" msgstr "Afficher tout" -#: templates/ipam/ipaddress.html:26 templates/ipam/iprange.html:48 -#: templates/ipam/prefix.html:25 +#: templates/ipam/ipaddress.html:23 templates/ipam/iprange.html:45 +#: templates/ipam/prefix.html:24 msgid "Global" msgstr "Globale" -#: templates/ipam/ipaddress.html:88 +#: templates/ipam/ipaddress.html:85 msgid "NAT (outside)" msgstr "NAT (extérieur)" @@ -12193,59 +12623,51 @@ msgstr "Résultats de recherche" msgid "Bulk Add IP Addresses" msgstr "Ajouter des adresses IP en masse" -#: templates/ipam/ipaddress_edit.html:35 -msgid "Interface Assignment" -msgstr "Affectation d'interface" - -#: templates/ipam/ipaddress_edit.html:74 -msgid "NAT IP (Inside" -msgstr "IP NAT (intérieur)" - -#: templates/ipam/iprange.html:20 +#: templates/ipam/iprange.html:17 msgid "Starting Address" msgstr "Adresse de départ" -#: templates/ipam/iprange.html:24 +#: templates/ipam/iprange.html:21 msgid "Ending Address" msgstr "Adresse de fin" -#: templates/ipam/iprange.html:36 templates/ipam/prefix.html:104 +#: templates/ipam/iprange.html:33 templates/ipam/prefix.html:110 msgid "Marked fully utilized" msgstr "Marqué comme entièrement utilisé" -#: templates/ipam/prefix.html:112 -msgid "Child IPs" -msgstr "IP d'enfants" - -#: templates/ipam/prefix.html:120 -msgid "Available IPs" -msgstr "IP disponibles" - -#: templates/ipam/prefix.html:132 -msgid "First available IP" -msgstr "Première adresse IP disponible" - -#: templates/ipam/prefix.html:151 +#: templates/ipam/prefix.html:99 msgid "Addressing Details" msgstr "Détails d'adressage" -#: templates/ipam/prefix.html:181 +#: templates/ipam/prefix.html:118 +msgid "Child IPs" +msgstr "IP d'enfants" + +#: templates/ipam/prefix.html:126 +msgid "Available IPs" +msgstr "IP disponibles" + +#: templates/ipam/prefix.html:138 +msgid "First available IP" +msgstr "Première adresse IP disponible" + +#: templates/ipam/prefix.html:179 msgid "Prefix Details" msgstr "Détails du préfixe" -#: templates/ipam/prefix.html:187 +#: templates/ipam/prefix.html:185 msgid "Network Address" msgstr "Adresse réseau" -#: templates/ipam/prefix.html:191 +#: templates/ipam/prefix.html:189 msgid "Network Mask" msgstr "Masque réseau" -#: templates/ipam/prefix.html:195 +#: templates/ipam/prefix.html:193 msgid "Wildcard Mask" msgstr "Masque Wildcard" -#: templates/ipam/prefix.html:199 +#: templates/ipam/prefix.html:197 msgid "Broadcast Address" msgstr "Adresse de diffusion" @@ -12269,44 +12691,23 @@ msgstr "Longueur maximale" msgid "Add Aggregate" msgstr "Ajouter un agrégat" -#: templates/ipam/routetarget.html:10 -msgid "Route Target" -msgstr "Cible de l'itinéraire" - -#: templates/ipam/routetarget.html:40 +#: templates/ipam/routetarget.html:38 msgid "Importing VRFs" msgstr "Importation de VRF" -#: templates/ipam/routetarget.html:49 +#: templates/ipam/routetarget.html:44 msgid "Exporting VRFs" msgstr "Exportation de VRF" -#: templates/ipam/routetarget.html:60 +#: templates/ipam/routetarget.html:52 msgid "Importing L2VPNs" msgstr "Importer des VPN L2" -#: templates/ipam/routetarget.html:69 +#: templates/ipam/routetarget.html:58 msgid "Exporting L2VPNs" msgstr "Exporter des VPN L2" -#: templates/ipam/service.html:22 templates/ipam/service_create.html:8 -#: templates/ipam/service_edit.html:8 -msgid "Service" -msgstr "Service" - -#: templates/ipam/service_create.html:43 -msgid "From Template" -msgstr "À partir du modèle" - -#: templates/ipam/service_create.html:48 -msgid "Custom" -msgstr "Personnalisé" - -#: templates/ipam/service_edit.html:37 -msgid "Port(s)" -msgstr "Port (x)" - -#: templates/ipam/vlan.html:95 +#: templates/ipam/vlan.html:88 msgid "Add a Prefix" msgstr "Ajouter un préfixe" @@ -12314,34 +12715,35 @@ msgstr "Ajouter un préfixe" msgid "Add VLAN" msgstr "Ajouter un VLAN" -#: templates/ipam/vlangroup.html:43 +#: templates/ipam/vlangroup.html:42 msgid "Permitted VIDs" msgstr "VID autorisés" -#: templates/ipam/vrf.html:19 +#: templates/ipam/vrf.html:16 msgid "Route Distinguisher" msgstr "Distincteur d'itinéraires" -#: templates/ipam/vrf.html:32 +#: templates/ipam/vrf.html:29 msgid "Unique IP Space" msgstr "Espace IP unique" -#: templates/login.html:20 +#: templates/login.html:14 +msgid "NetBox logo" +msgstr "Logo NetBox" + +#: templates/login.html:27 #: utilities/templates/form_helpers/render_errors.html:7 msgid "Errors" msgstr "Erreurs" -#: templates/login.html:48 +#: templates/login.html:53 msgid "Sign In" msgstr "Connectez-vous" -#: templates/login.html:54 -msgid "Or use a single sign-on (SSO) provider" -msgstr "Ou utilisez un fournisseur d'authentification unique (SSO)" - -#: templates/login.html:68 -msgid "Toggle Color Mode" -msgstr "Basculer en mode couleur" +#: templates/login.html:61 +msgctxt "Denotes an alternative option" +msgid "Or" +msgstr "Ou" #: templates/media_failure.html:7 msgid "Static Media Failure - NetBox" @@ -12397,41 +12799,37 @@ msgstr "" "Cliquez ici pour essayer à nouveau de charger " "NetBox." -#: templates/tenancy/contact.html:18 tenancy/filtersets.py:136 -#: tenancy/forms/bulk_edit.py:136 tenancy/forms/filtersets.py:101 -#: tenancy/forms/forms.py:56 tenancy/forms/model_forms.py:109 -#: tenancy/forms/model_forms.py:132 tenancy/tables/contacts.py:98 +#: templates/tenancy/contact.html:18 tenancy/filtersets.py:148 +#: tenancy/forms/bulk_edit.py:137 tenancy/forms/filtersets.py:102 +#: tenancy/forms/forms.py:56 tenancy/forms/model_forms.py:106 +#: tenancy/forms/model_forms.py:130 tenancy/tables/contacts.py:98 msgid "Contact" msgstr "Contacter" -#: templates/tenancy/contact.html:30 tenancy/forms/bulk_edit.py:98 +#: templates/tenancy/contact.html:29 tenancy/forms/bulk_edit.py:99 msgid "Title" msgstr "Titre" -#: templates/tenancy/contact.html:34 tenancy/forms/bulk_edit.py:103 +#: templates/tenancy/contact.html:33 tenancy/forms/bulk_edit.py:104 #: tenancy/tables/contacts.py:64 msgid "Phone" msgstr "Téléphone" -#: templates/tenancy/contact.html:86 tenancy/tables/contacts.py:73 +#: templates/tenancy/contact.html:84 tenancy/tables/contacts.py:73 msgid "Assignments" msgstr "Devoirs" -#: templates/tenancy/contactassignment_edit.html:12 -msgid "Contact Assignment" -msgstr "Affectation des contacts" - -#: templates/tenancy/contactgroup.html:19 tenancy/forms/forms.py:66 -#: tenancy/forms/model_forms.py:76 +#: templates/tenancy/contactgroup.html:18 tenancy/forms/forms.py:66 +#: tenancy/forms/model_forms.py:75 msgid "Contact Group" msgstr "Groupe de contact" -#: templates/tenancy/contactgroup.html:57 +#: templates/tenancy/contactgroup.html:50 msgid "Add Contact Group" msgstr "Ajouter un groupe de contacts" -#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:141 -#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:90 +#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:153 +#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Rôle du contact" @@ -12443,16 +12841,16 @@ msgstr "Ajouter un contact" msgid "Add Tenant" msgstr "Ajouter un locataire" -#: templates/tenancy/tenantgroup.html:27 tenancy/forms/model_forms.py:31 +#: templates/tenancy/tenantgroup.html:26 tenancy/forms/model_forms.py:32 #: tenancy/tables/columns.py:51 tenancy/tables/columns.py:61 msgid "Tenant Group" msgstr "Groupe de locataires" -#: templates/tenancy/tenantgroup.html:66 +#: templates/tenancy/tenantgroup.html:59 msgid "Add Tenant Group" msgstr "Ajouter un groupe de locataires" -#: templates/users/group.html:37 templates/users/user.html:65 +#: templates/users/group.html:39 templates/users/user.html:63 msgid "Assigned Permissions" msgstr "Autorisations attribuées" @@ -12461,49 +12859,40 @@ msgstr "Autorisations attribuées" msgid "Permission" msgstr "Autorisation" -#: templates/users/objectpermission.html:33 users/forms/filtersets.py:68 -#: users/forms/model_forms.py:322 -msgid "Actions" -msgstr "Des actions" - -#: templates/users/objectpermission.html:37 +#: templates/users/objectpermission.html:34 msgid "View" msgstr "Afficher" -#: templates/users/objectpermission.html:56 users/forms/model_forms.py:325 +#: templates/users/objectpermission.html:52 users/forms/model_forms.py:315 msgid "Constraints" msgstr "Contraintes" -#: templates/users/objectpermission.html:76 +#: templates/users/objectpermission.html:72 msgid "Assigned Users" msgstr "Utilisateurs assignés" -#: templates/users/user.html:42 -msgid "Staff" -msgstr "Le personnel" - -#: templates/virtualization/cluster.html:56 +#: templates/virtualization/cluster.html:52 msgid "Allocated Resources" msgstr "Ressources allouées" -#: templates/virtualization/cluster.html:60 -#: templates/virtualization/virtualmachine.html:128 +#: templates/virtualization/cluster.html:55 +#: templates/virtualization/virtualmachine.html:121 msgid "Virtual CPUs" msgstr "Processeurs virtuels" -#: templates/virtualization/cluster.html:64 -#: templates/virtualization/virtualmachine.html:132 +#: templates/virtualization/cluster.html:59 +#: templates/virtualization/virtualmachine.html:125 msgid "Memory" msgstr "Mémoire" -#: templates/virtualization/cluster.html:74 -#: templates/virtualization/virtualmachine.html:143 +#: templates/virtualization/cluster.html:69 +#: templates/virtualization/virtualmachine.html:136 msgid "Disk Space" msgstr "Espace disque" -#: templates/virtualization/cluster.html:77 -#: templates/virtualization/virtualdisk.html:33 -#: templates/virtualization/virtualmachine.html:147 +#: templates/virtualization/cluster.html:72 +#: templates/virtualization/virtualdisk.html:32 +#: templates/virtualization/virtualmachine.html:140 msgctxt "Abbreviation for gigabyte" msgid "GB" msgstr "GB" @@ -12538,14 +12927,14 @@ msgstr "Ajouter des appareils" msgid "Add Cluster" msgstr "Ajouter un cluster" -#: templates/virtualization/clustergroup.html:20 -#: virtualization/forms/model_forms.py:51 +#: templates/virtualization/clustergroup.html:19 +#: virtualization/forms/model_forms.py:50 msgid "Cluster Group" msgstr "Groupe Cluster" -#: templates/virtualization/clustertype.html:20 -#: templates/virtualization/virtualmachine.html:111 -#: virtualization/forms/model_forms.py:35 +#: templates/virtualization/clustertype.html:19 +#: templates/virtualization/virtualmachine.html:106 +#: virtualization/forms/model_forms.py:36 msgid "Cluster Type" msgstr "Type de cluster" @@ -12553,37 +12942,37 @@ msgstr "Type de cluster" msgid "Virtual Disk" msgstr "Disque virtuel" -#: templates/virtualization/virtualmachine.html:124 -#: virtualization/forms/bulk_edit.py:189 -#: virtualization/forms/model_forms.py:227 +#: templates/virtualization/virtualmachine.html:118 +#: virtualization/forms/bulk_edit.py:190 +#: virtualization/forms/model_forms.py:224 msgid "Resources" msgstr "Ressources" -#: templates/virtualization/virtualmachine.html:185 +#: templates/virtualization/virtualmachine.html:174 msgid "Add Virtual Disk" msgstr "Ajouter un disque virtuel" -#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:35 +#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:33 #: vpn/tables/crypto.py:166 msgid "IKE Policy" msgstr "Politique IKE" -#: templates/vpn/ikepolicy.html:22 +#: templates/vpn/ikepolicy.html:21 msgid "IKE Version" msgstr "Version IKE" -#: templates/vpn/ikepolicy.html:30 +#: templates/vpn/ikepolicy.html:29 msgid "Pre-Shared Key" msgstr "Clé pré-partagée" -#: templates/vpn/ikepolicy.html:34 -#: templates/wireless/inc/authentication_attrs.html:21 +#: templates/vpn/ikepolicy.html:33 +#: templates/wireless/inc/authentication_attrs.html:20 msgid "Show Secret" msgstr "Afficher le secret" -#: templates/vpn/ikepolicy.html:59 templates/vpn/ipsecpolicy.html:47 -#: templates/vpn/ipsecprofile.html:55 templates/vpn/ipsecprofile.html:82 -#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:351 +#: templates/vpn/ikepolicy.html:57 templates/vpn/ipsecpolicy.html:45 +#: templates/vpn/ipsecprofile.html:52 templates/vpn/ipsecprofile.html:77 +#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:352 #: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 msgid "Proposals" msgstr "Propositions" @@ -12592,49 +12981,49 @@ msgstr "Propositions" msgid "IKE Proposal" msgstr "Proposition IKE" -#: templates/vpn/ikeproposal.html:22 vpn/forms/bulk_edit.py:96 -#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:98 +#: templates/vpn/ikeproposal.html:21 vpn/forms/bulk_edit.py:97 +#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:101 msgid "Authentication method" msgstr "Méthode d'authentification" -#: templates/vpn/ikeproposal.html:26 templates/vpn/ipsecproposal.html:22 -#: vpn/forms/bulk_edit.py:101 vpn/forms/bulk_edit.py:173 +#: templates/vpn/ikeproposal.html:25 templates/vpn/ipsecproposal.html:21 +#: vpn/forms/bulk_edit.py:102 vpn/forms/bulk_edit.py:172 #: vpn/forms/bulk_import.py:149 vpn/forms/bulk_import.py:195 -#: vpn/forms/filtersets.py:103 vpn/forms/filtersets.py:151 +#: vpn/forms/filtersets.py:106 vpn/forms/filtersets.py:154 msgid "Encryption algorithm" msgstr "Algorithme de chiffrement" -#: templates/vpn/ikeproposal.html:30 templates/vpn/ipsecproposal.html:26 -#: vpn/forms/bulk_edit.py:106 vpn/forms/bulk_edit.py:178 +#: templates/vpn/ikeproposal.html:29 templates/vpn/ipsecproposal.html:25 +#: vpn/forms/bulk_edit.py:107 vpn/forms/bulk_edit.py:177 #: vpn/forms/bulk_import.py:153 vpn/forms/bulk_import.py:200 -#: vpn/forms/filtersets.py:108 vpn/forms/filtersets.py:156 +#: vpn/forms/filtersets.py:111 vpn/forms/filtersets.py:159 msgid "Authentication algorithm" msgstr "Algorithme d'authentification" -#: templates/vpn/ikeproposal.html:34 +#: templates/vpn/ikeproposal.html:33 msgid "DH group" msgstr "groupe DH" -#: templates/vpn/ikeproposal.html:38 templates/vpn/ipsecproposal.html:30 -#: vpn/forms/bulk_edit.py:183 vpn/models/crypto.py:146 +#: templates/vpn/ikeproposal.html:37 templates/vpn/ipsecproposal.html:29 +#: vpn/forms/bulk_edit.py:182 vpn/models/crypto.py:146 msgid "SA lifetime (seconds)" msgstr "Une durée de vie (secondes)" -#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:70 +#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:66 #: vpn/tables/crypto.py:170 msgid "IPSec Policy" msgstr "Politique IPSec" -#: templates/vpn/ipsecpolicy.html:22 vpn/forms/bulk_edit.py:211 +#: templates/vpn/ipsecpolicy.html:21 vpn/forms/bulk_edit.py:210 #: vpn/models/crypto.py:193 msgid "PFS group" msgstr "groupe PFS" -#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:53 +#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:54 msgid "IPSec Profile" msgstr "Profil IPSec" -#: templates/vpn/ipsecprofile.html:94 vpn/tables/crypto.py:137 +#: templates/vpn/ipsecprofile.html:89 vpn/tables/crypto.py:137 msgid "PFS Group" msgstr "Groupe PFS" @@ -12642,40 +13031,36 @@ msgstr "Groupe PFS" msgid "IPSec Proposal" msgstr "Proposition IPSec" -#: templates/vpn/ipsecproposal.html:34 vpn/forms/bulk_edit.py:187 +#: templates/vpn/ipsecproposal.html:33 vpn/forms/bulk_edit.py:186 #: vpn/models/crypto.py:152 msgid "SA lifetime (KB)" msgstr "Une durée de vie (KB)" -#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:10 +#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:9 msgid "L2VPN Attributes" msgstr "Attributs L2VPN" -#: templates/vpn/l2vpn.html:65 templates/vpn/tunnel.html:81 +#: templates/vpn/l2vpn.html:60 templates/vpn/tunnel.html:76 msgid "Add a Termination" msgstr "Ajouter une résiliation" -#: templates/vpn/l2vpntermination_edit.html:9 -msgid "L2VPN Termination" -msgstr "Terminaison L2VPN" - #: templates/vpn/tunnel.html:9 msgid "Add Termination" msgstr "Ajouter une résiliation" -#: templates/vpn/tunnel.html:38 vpn/forms/bulk_edit.py:48 -#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:56 +#: templates/vpn/tunnel.html:37 vpn/forms/bulk_edit.py:49 +#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:57 msgid "Encapsulation" msgstr "Encapsulation" -#: templates/vpn/tunnel.html:42 vpn/forms/bulk_edit.py:54 -#: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:63 +#: templates/vpn/tunnel.html:41 vpn/forms/bulk_edit.py:55 +#: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:64 #: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "profil IPSec" -#: templates/vpn/tunnel.html:46 vpn/forms/bulk_edit.py:68 -#: vpn/forms/filtersets.py:67 +#: templates/vpn/tunnel.html:45 vpn/forms/bulk_edit.py:69 +#: vpn/forms/filtersets.py:68 msgid "Tunnel ID" msgstr "Identifiant du tunnel" @@ -12683,8 +13068,8 @@ msgstr "Identifiant du tunnel" msgid "Add Tunnel" msgstr "Ajouter un tunnel" -#: templates/vpn/tunnelgroup.html:24 vpn/forms/model_forms.py:35 -#: vpn/forms/model_forms.py:48 +#: templates/vpn/tunnelgroup.html:23 vpn/forms/model_forms.py:36 +#: vpn/forms/model_forms.py:49 msgid "Tunnel Group" msgstr "Groupe Tunnel" @@ -12692,21 +13077,21 @@ msgstr "Groupe Tunnel" msgid "Tunnel Termination" msgstr "Terminaison du tunnel" -#: templates/vpn/tunneltermination.html:36 vpn/forms/bulk_import.py:107 -#: vpn/forms/model_forms.py:101 vpn/forms/model_forms.py:137 -#: vpn/forms/model_forms.py:248 vpn/tables/tunnels.py:101 +#: templates/vpn/tunneltermination.html:35 vpn/forms/bulk_import.py:107 +#: vpn/forms/model_forms.py:102 vpn/forms/model_forms.py:138 +#: vpn/forms/model_forms.py:247 vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "IP externe" -#: templates/vpn/tunneltermination.html:53 +#: templates/vpn/tunneltermination.html:51 msgid "Peer Terminations" msgstr "Résiliations entre pairs" -#: templates/wireless/inc/authentication_attrs.html:13 +#: templates/wireless/inc/authentication_attrs.html:12 msgid "Cipher" msgstr "Chiffrer" -#: templates/wireless/inc/authentication_attrs.html:17 +#: templates/wireless/inc/authentication_attrs.html:16 msgid "PSK" msgstr "PSK" @@ -12716,11 +13101,7 @@ msgctxt "Abbreviation for megahertz" msgid "MHz" msgstr "MHz" -#: templates/wireless/wirelesslan.html:11 wireless/forms/model_forms.py:54 -msgid "Wireless LAN" -msgstr "LAN sans fil" - -#: templates/wireless/wirelesslan.html:59 +#: templates/wireless/wirelesslan.html:57 msgid "Attached Interfaces" msgstr "Interfaces attachées" @@ -12729,15 +13110,15 @@ msgid "Add Wireless LAN" msgstr "Ajouter un réseau sans fil" #: templates/wireless/wirelesslangroup.html:26 -#: wireless/forms/model_forms.py:27 +#: wireless/forms/model_forms.py:28 msgid "Wireless LAN Group" msgstr "Groupe LAN sans fil" -#: templates/wireless/wirelesslangroup.html:64 +#: templates/wireless/wirelesslangroup.html:59 msgid "Add Wireless LAN Group" msgstr "Ajouter un groupe de réseau local sans fil" -#: templates/wireless/wirelesslink.html:16 +#: templates/wireless/wirelesslink.html:14 msgid "Link Properties" msgstr "Propriétés du lien" @@ -12749,43 +13130,59 @@ msgstr "Tertiaire" msgid "Inactive" msgstr "Inactif" -#: tenancy/filtersets.py:29 tenancy/filtersets.py:55 tenancy/filtersets.py:98 +#: tenancy/filtersets.py:29 +msgid "Parent contact group (ID)" +msgstr "Groupe de contact pour les parents (ID)" + +#: tenancy/filtersets.py:35 +msgid "Parent contact group (slug)" +msgstr "Groupe de contact avec les parents (limace)" + +#: tenancy/filtersets.py:41 tenancy/filtersets.py:68 tenancy/filtersets.py:111 msgid "Contact group (ID)" msgstr "Groupe de contacts (ID)" -#: tenancy/filtersets.py:35 tenancy/filtersets.py:62 tenancy/filtersets.py:105 +#: tenancy/filtersets.py:48 tenancy/filtersets.py:75 tenancy/filtersets.py:118 msgid "Contact group (slug)" msgstr "Groupe de contact (slug)" -#: tenancy/filtersets.py:92 +#: tenancy/filtersets.py:105 msgid "Contact (ID)" msgstr "Contact (ID)" -#: tenancy/filtersets.py:109 +#: tenancy/filtersets.py:122 msgid "Contact role (ID)" msgstr "Rôle du contact (ID)" -#: tenancy/filtersets.py:115 +#: tenancy/filtersets.py:128 msgid "Contact role (slug)" msgstr "Rôle de contact (limace)" -#: tenancy/filtersets.py:147 +#: tenancy/filtersets.py:159 msgid "Contact group" msgstr "Groupe de contact" -#: tenancy/filtersets.py:158 tenancy/filtersets.py:177 +#: tenancy/filtersets.py:170 +msgid "Parent tenant group (ID)" +msgstr "Groupe de parents locataires (ID)" + +#: tenancy/filtersets.py:176 +msgid "Parent tenant group (slug)" +msgstr "Groupe de parents locataires (slug)" + +#: tenancy/filtersets.py:182 tenancy/filtersets.py:202 msgid "Tenant group (ID)" msgstr "Groupe de locataires (ID)" -#: tenancy/filtersets.py:210 +#: tenancy/filtersets.py:235 msgid "Tenant Group (ID)" msgstr "Groupe de locataires (ID)" -#: tenancy/filtersets.py:217 +#: tenancy/filtersets.py:242 msgid "Tenant Group (slug)" msgstr "Groupe de locataires (slug)" -#: tenancy/forms/bulk_edit.py:65 +#: tenancy/forms/bulk_edit.py:66 msgid "Desciption" msgstr "Descriptif" @@ -12894,27 +13291,31 @@ msgstr "Lien de contact" msgid "Contact Description" msgstr "Description du contact" -#: users/filtersets.py:48 users/filtersets.py:151 +#: users/filtersets.py:33 users/filtersets.py:68 +msgid "Permission (ID)" +msgstr "Autorisation (ID)" + +#: users/filtersets.py:63 users/filtersets.py:181 msgid "Group (name)" msgstr "Groupe (nom)" -#: users/forms/bulk_edit.py:24 +#: users/forms/bulk_edit.py:26 msgid "First name" msgstr "Prénom" -#: users/forms/bulk_edit.py:29 +#: users/forms/bulk_edit.py:31 msgid "Last name" msgstr "Nom de famille" -#: users/forms/bulk_edit.py:41 +#: users/forms/bulk_edit.py:43 msgid "Staff status" msgstr "Statut du personnel" -#: users/forms/bulk_edit.py:46 +#: users/forms/bulk_edit.py:48 msgid "Superuser status" msgstr "Statut de superutilisateur" -#: users/forms/bulk_import.py:43 +#: users/forms/bulk_import.py:41 msgid "If no key is provided, one will be generated automatically." msgstr "Si aucune clé n'est fournie, une clé sera générée automatiquement." @@ -12926,27 +13327,27 @@ msgstr "Est-ce que le personnel" msgid "Is Superuser" msgstr "Est un superutilisateur" -#: users/forms/filtersets.py:92 users/tables.py:89 +#: users/forms/filtersets.py:92 users/tables.py:86 msgid "Can View" msgstr "Peut voir" -#: users/forms/filtersets.py:99 users/tables.py:92 +#: users/forms/filtersets.py:99 users/tables.py:89 msgid "Can Add" msgstr "Peut ajouter" -#: users/forms/filtersets.py:106 users/tables.py:95 +#: users/forms/filtersets.py:106 users/tables.py:92 msgid "Can Change" msgstr "Peut changer" -#: users/forms/filtersets.py:113 users/tables.py:98 +#: users/forms/filtersets.py:113 users/tables.py:95 msgid "Can Delete" msgstr "Peut supprimer" -#: users/forms/model_forms.py:58 +#: users/forms/model_forms.py:66 msgid "User Interface" msgstr "Interface utilisateur" -#: users/forms/model_forms.py:116 +#: users/forms/model_forms.py:118 msgid "" "Keys must be at least 40 characters in length. Be sure to record " "your key prior to submitting this form, as it may no longer be " @@ -12956,7 +13357,7 @@ msgstr "" "d'enregistrer votre clé avant de soumettre ce formulaire, car il se" " peut qu'il ne soit plus accessible une fois le jeton créé." -#: users/forms/model_forms.py:128 +#: users/forms/model_forms.py:130 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -12966,33 +13367,33 @@ msgstr "" "Laissez ce champ vide pour éviter toute restriction. Exemple : " "10.1.1.0/24 192.168.10,16/32 2001 : db 8:1 : /64" -#: users/forms/model_forms.py:177 +#: users/forms/model_forms.py:179 msgid "Confirm password" msgstr "Confirmer mot de passe" -#: users/forms/model_forms.py:180 +#: users/forms/model_forms.py:182 msgid "Enter the same password as before, for verification." msgstr "" "Entrez le même mot de passe que précédemment, à des fins de vérification." -#: users/forms/model_forms.py:238 +#: users/forms/model_forms.py:231 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Les mots de passe ne correspondent pas ! Vérifiez votre saisie et réessayez." -#: users/forms/model_forms.py:304 +#: users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Actions supplémentaires" -#: users/forms/model_forms.py:307 +#: users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Actions accordées en plus de celles énumérées ci-dessus" -#: users/forms/model_forms.py:323 +#: users/forms/model_forms.py:313 msgid "Objects" msgstr "Objets" -#: users/forms/model_forms.py:335 +#: users/forms/model_forms.py:325 msgid "" "JSON expression of a queryset filter that will return only permitted " "objects. Leave null to match all objects of this type. A list of multiple " @@ -13002,83 +13403,82 @@ msgstr "" "autorisés. Laissez null pour correspondre à tous les objets de ce type. Une " "liste de plusieurs objets entraînera une opération OR logique." -#: users/forms/model_forms.py:373 +#: users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Au moins une action doit être sélectionnée." -#: users/forms/model_forms.py:386 -msgid "Constraints are not supported for this object type." -msgstr "Les contraintes ne sont pas prises en charge pour ce type d'objet." - -#: users/forms/model_forms.py:396 +#: users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtre non valide pour {model}: {error}" -#: users/models.py:55 -msgid "user" -msgstr "utilisateur" +#: users/models/permissions.py:39 +msgid "The list of actions granted by this permission" +msgstr "La liste des actions accordées par cette autorisation" -#: users/models.py:56 -msgid "users" -msgstr "utilisateurs" +#: users/models/permissions.py:44 +msgid "constraints" +msgstr "entraves" -#: users/models.py:67 -msgid "A user with this username already exists." -msgstr "Un utilisateur avec ce nom d'utilisateur existe déjà." +#: users/models/permissions.py:45 +msgid "" +"Queryset filter matching the applicable objects of the selected type(s)" +msgstr "" +"Filtre Queryset correspondant aux objets applicables du ou des types " +"sélectionnés" -#: users/models.py:79 vpn/models/crypto.py:42 -msgid "group" -msgstr "groupe" +#: users/models/permissions.py:52 +msgid "permission" +msgstr "autorisation" -#: users/models.py:80 -msgid "groups" -msgstr "groupes" +#: users/models/permissions.py:53 users/models/users.py:47 +msgid "permissions" +msgstr "autorisations" -#: users/models.py:107 users/models.py:108 +#: users/models/preferences.py:30 users/models/preferences.py:31 msgid "user preferences" msgstr "préférences de l'utilisateur" -#: users/models.py:175 +#: users/models/preferences.py:98 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "" "Clé '{path}'est un nœud feuille ; impossible d'attribuer de nouvelles clés" -#: users/models.py:187 +#: users/models/preferences.py:110 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" "Clé '{path}'est un dictionnaire ; impossible d'attribuer une valeur autre " "que celle du dictionnaire" -#: users/models.py:253 +#: users/models/tokens.py:37 msgid "expires" msgstr "expire" -#: users/models.py:258 +#: users/models/tokens.py:42 msgid "last used" msgstr "utilisé pour la dernière fois" -#: users/models.py:263 +#: users/models/tokens.py:47 msgid "key" msgstr "clé" -#: users/models.py:269 +#: users/models/tokens.py:53 msgid "write enabled" msgstr "écriture activée" -#: users/models.py:271 +#: users/models/tokens.py:55 msgid "Permit create/update/delete operations using this key" msgstr "" "Autoriser les opérations de création/mise à jour/suppression à l'aide de " "cette clé" -#: users/models.py:282 +#: users/models/tokens.py:66 msgid "allowed IPs" msgstr "adresses IP autorisées" -#: users/models.py:284 +#: users/models/tokens.py:68 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" @@ -13087,131 +13487,92 @@ msgstr "" "Laissez ce champ vide pour éviter toute restriction. Par exemple : " "« 10.1.1.0/24, 192.168.10.16/32, 2001 : DB 8:1 : /64 »" -#: users/models.py:296 +#: users/models/tokens.py:76 msgid "token" msgstr "jeton" -#: users/models.py:297 +#: users/models/tokens.py:77 msgid "tokens" msgstr "jetons" -#: users/models.py:378 -msgid "The list of actions granted by this permission" -msgstr "La liste des actions accordées par cette autorisation" +#: users/models/users.py:57 vpn/models/crypto.py:42 +msgid "group" +msgstr "groupe" -#: users/models.py:383 -msgid "constraints" -msgstr "entraves" +#: users/models/users.py:58 users/models/users.py:77 +msgid "groups" +msgstr "groupes" -#: users/models.py:384 -msgid "" -"Queryset filter matching the applicable objects of the selected type(s)" -msgstr "" -"Filtre Queryset correspondant aux objets applicables du ou des types " -"sélectionnés" +#: users/models/users.py:92 +msgid "user" +msgstr "utilisateur" -#: users/models.py:391 -msgid "permission" -msgstr "autorisation" +#: users/models/users.py:93 +msgid "users" +msgstr "utilisateurs" -#: users/models.py:392 -msgid "permissions" -msgstr "autorisations" +#: users/models/users.py:104 +msgid "A user with this username already exists." +msgstr "Un utilisateur avec ce nom d'utilisateur existe déjà." -#: users/tables.py:101 +#: users/tables.py:98 msgid "Custom Actions" msgstr "Actions personnalisées" -#: utilities/choices.py:16 +#: utilities/api.py:153 +#, python-brace-format +msgid "Related object not found using the provided attributes: {params}" +msgstr "Objet associé introuvable à l'aide des attributs fournis : {params}" + +#: utilities/api.py:156 +#, python-brace-format +msgid "Multiple objects match the provided attributes: {params}" +msgstr "Plusieurs objets correspondent aux attributs fournis : {params}" + +#: utilities/api.py:168 +#, python-brace-format +msgid "" +"Related objects must be referenced by numeric ID or by dictionary of " +"attributes. Received an unrecognized value: {value}" +msgstr "" +"Les objets associés doivent être référencés par un identifiant numérique ou " +"par un dictionnaire d'attributs. A reçu une valeur non reconnue : {value}" + +#: utilities/api.py:177 +#, python-brace-format +msgid "Related object not found using the provided numeric ID: {id}" +msgstr "" +"Objet associé introuvable à l'aide de l'identifiant numérique fourni : {id}" + +#: utilities/choices.py:19 #, python-brace-format msgid "{name} has a key defined but CHOICES is not a list" msgstr "{name} a une clé définie mais CHOICES n'est pas une liste" -#: utilities/choices.py:135 -msgid "Dark Red" -msgstr "Rouge foncé" +#: utilities/conversion.py:19 +msgid "Weight must be a positive number" +msgstr "Le poids doit être un nombre positif" -#: utilities/choices.py:138 -msgid "Rose" -msgstr "Rose" +#: utilities/conversion.py:21 +#, python-brace-format +msgid "Invalid value '{weight}' for weight (must be a number)" +msgstr "Valeur non valide '{weight}'pour le poids (doit être un chiffre)" -#: utilities/choices.py:139 -msgid "Fuchsia" -msgstr "Fuchsia" +#: utilities/conversion.py:32 utilities/conversion.py:62 +#, python-brace-format +msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" +msgstr "Unité inconnue {unit}. Doit être l'un des suivants : {valid_units}" -#: utilities/choices.py:141 -msgid "Dark Purple" -msgstr "Violet foncé" +#: utilities/conversion.py:45 +msgid "Length must be a positive number" +msgstr "La longueur doit être un nombre positif" -#: utilities/choices.py:144 -msgid "Light Blue" -msgstr "Bleu clair" +#: utilities/conversion.py:47 +#, python-brace-format +msgid "Invalid value '{length}' for length (must be a number)" +msgstr "Valeur non valide '{length}'pour la longueur (doit être un chiffre)" -#: utilities/choices.py:147 -msgid "Aqua" -msgstr "Aqua" - -#: utilities/choices.py:148 -msgid "Dark Green" -msgstr "Vert foncé" - -#: utilities/choices.py:150 -msgid "Light Green" -msgstr "Vert clair" - -#: utilities/choices.py:151 -msgid "Lime" -msgstr "Citron" - -#: utilities/choices.py:153 -msgid "Amber" -msgstr "Ambre" - -#: utilities/choices.py:155 -msgid "Dark Orange" -msgstr "Orange foncé" - -#: utilities/choices.py:156 -msgid "Brown" -msgstr "Marron" - -#: utilities/choices.py:157 -msgid "Light Grey" -msgstr "gris clair" - -#: utilities/choices.py:158 -msgid "Grey" -msgstr "gris" - -#: utilities/choices.py:159 -msgid "Dark Grey" -msgstr "gris foncé" - -#: utilities/choices.py:217 -msgid "Direct" -msgstr "Directement" - -#: utilities/choices.py:218 -msgid "Upload" -msgstr "Téléverser" - -#: utilities/choices.py:230 utilities/choices.py:244 -msgid "Auto-detect" -msgstr "Détection automatique" - -#: utilities/choices.py:245 -msgid "Comma" -msgstr "Virgule" - -#: utilities/choices.py:246 -msgid "Semicolon" -msgstr "Point-virgule" - -#: utilities/choices.py:247 -msgid "Tab" -msgstr "Onglet" - -#: utilities/error_handlers.py:20 +#: utilities/error_handlers.py:31 #, python-brace-format msgid "" "Unable to delete {objects}. {count} dependent objects were " @@ -13220,17 +13581,17 @@ msgstr "" "Impossible de supprimer {objects}. {count} des objets " "dépendants ont été trouvés : " -#: utilities/error_handlers.py:22 +#: utilities/error_handlers.py:33 msgid "More than 50" msgstr "Plus de 50" -#: utilities/fields.py:96 +#: utilities/fields.py:80 msgid "Custom queryset can't be used for this lookup." msgstr "" "Le jeu de requêtes personnalisé ne peut pas être utilisé pour cette " "recherche." -#: utilities/fields.py:162 +#: utilities/fields.py:146 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " @@ -13239,7 +13600,7 @@ msgstr "" "%s(%r) n'est pas valide. Le paramètre to_model de CounterCacheField doit " "être une chaîne au format « app.model »" -#: utilities/fields.py:172 +#: utilities/fields.py:156 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -13248,40 +13609,40 @@ msgstr "" "%s(%r) n'est pas valide. Le paramètre to_field de CounterCacheField doit " "être une chaîne au format « field »" -#: utilities/forms/bulk_import.py:24 +#: utilities/forms/bulk_import.py:23 msgid "Enter object data in CSV, JSON or YAML format." msgstr "Entrez les données de l'objet au format CSV, JSON ou YAML." -#: utilities/forms/bulk_import.py:37 +#: utilities/forms/bulk_import.py:36 msgid "CSV delimiter" msgstr "Délimiteur CSV" -#: utilities/forms/bulk_import.py:38 +#: utilities/forms/bulk_import.py:37 msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "" "Le caractère qui délimite les champs CSV. S'applique uniquement au format " "CSV." -#: utilities/forms/bulk_import.py:52 +#: utilities/forms/bulk_import.py:51 msgid "Form data must be empty when uploading/selecting a file." msgstr "" "Les données du formulaire doivent être vides lors du chargement/de la " "sélection d'un fichier." -#: utilities/forms/bulk_import.py:81 +#: utilities/forms/bulk_import.py:80 #, python-brace-format msgid "Unknown data format: {format}" msgstr "Format de données inconnu : {format}" -#: utilities/forms/bulk_import.py:101 +#: utilities/forms/bulk_import.py:100 msgid "Unable to detect data format. Please specify." msgstr "Impossible de détecter le format des données. Veuillez préciser." -#: utilities/forms/bulk_import.py:124 +#: utilities/forms/bulk_import.py:123 msgid "Invalid CSV delimiter" msgstr "Délimiteur CSV non valide" -#: utilities/forms/bulk_import.py:168 +#: utilities/forms/bulk_import.py:167 msgid "" "Invalid YAML data. Data must be in the form of multiple documents, or a " "single document comprising a list of dictionaries." @@ -13368,24 +13729,31 @@ msgstr "" msgid "MAC address must be in EUI-48 format" msgstr "L'adresse MAC doit être au format EUI-48" -#: utilities/forms/forms.py:53 +#: utilities/forms/forms.py:52 msgid "Use regular expressions" msgstr "Utiliser des expressions régulières" -#: utilities/forms/forms.py:87 +#: utilities/forms/forms.py:75 +msgid "" +"Numeric ID of an existing object to update (if not creating a new object)" +msgstr "" +"Identifiant numérique d'un objet existant à mettre à jour (si aucun nouvel " +"objet n'est créé)" + +#: utilities/forms/forms.py:92 #, python-brace-format msgid "Unrecognized header: {name}" msgstr "En-tête non reconnu : {name}" -#: utilities/forms/forms.py:113 +#: utilities/forms/forms.py:118 msgid "Available Columns" msgstr "Colonnes disponibles" -#: utilities/forms/forms.py:121 +#: utilities/forms/forms.py:126 msgid "Selected Columns" msgstr "Colonnes sélectionnées" -#: utilities/forms/mixins.py:101 +#: utilities/forms/mixins.py:44 msgid "" "This object has been modified since the form was rendered. Please consult " "the object's change log for details." @@ -13461,7 +13829,7 @@ msgstr "" "Valeur requise manquante pour le paramètre de requête statique : " "'{static_params}'" -#: utilities/permissions.py:40 +#: utilities/permissions.py:39 #, python-brace-format msgid "" "Invalid permission name: {name}. Must be in the format " @@ -13475,7 +13843,7 @@ msgstr "" msgid "Unknown app_label/model_name for {name}" msgstr "App_label/model_name inconnu pour {name}" -#: utilities/request.py:33 +#: utilities/request.py:76 #, python-brace-format msgid "Invalid IP address set for {header}: {ip}" msgstr "Adresse IP non valide définie pour {header}: {ip}" @@ -13501,10 +13869,6 @@ msgstr "Marque-page" msgid "Clone" msgstr "Cloner" -#: utilities/templates/buttons/export.html:4 -msgid "Export" -msgstr "Exporter" - #: utilities/templates/buttons/export.html:7 msgid "Current View" msgstr "Vue actuelle" @@ -13521,15 +13885,15 @@ msgstr "Ajouter un modèle d'exportation" msgid "Import" msgstr "Importer" -#: utilities/templates/form_helpers/render_field.html:36 +#: utilities/templates/form_helpers/render_field.html:39 msgid "Copy to clipboard" msgstr "Copier dans le presse-papiers" -#: utilities/templates/form_helpers/render_field.html:52 +#: utilities/templates/form_helpers/render_field.html:55 msgid "This field is required" msgstr "Ce champ est obligatoire" -#: utilities/templates/form_helpers/render_field.html:65 +#: utilities/templates/form_helpers/render_field.html:68 msgid "Set Null" msgstr "Définir Null" @@ -13561,65 +13925,26 @@ msgstr "Aucune assignée" msgid "Write" msgstr "Écrivez" -#: utilities/templates/widgets/markdown_input.html:20 -msgid "Testing" -msgstr "Tests" - -#: utilities/testing/views.py:625 +#: utilities/testing/views.py:633 msgid "The test must define csv_update_data." msgstr "Le test doit définir csv_update_data." -#: utilities/utils.py:310 -msgid "Length must be a positive number" -msgstr "La longueur doit être un nombre positif" - -#: utilities/utils.py:312 -#, python-brace-format -msgid "Invalid value '{length}' for length (must be a number)" -msgstr "Valeur non valide '{length}'pour la longueur (doit être un chiffre)" - -#: utilities/utils.py:317 utilities/utils.py:350 -#, python-brace-format -msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" -msgstr "Unité inconnue {unit}. Doit être l'un des suivants : {valid_units}" - -#: utilities/utils.py:334 -#, python-brace-format -msgid "Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'." -msgstr "" -"Unité inconnue {unit}. Doit être « km », « m », « cm », « mi », « ft » ou " -"« in »." - -#: utilities/utils.py:343 -msgid "Weight must be a positive number" -msgstr "Le poids doit être un nombre positif" - -#: utilities/utils.py:345 -#, python-brace-format -msgid "Invalid value '{weight}' for weight (must be a number)" -msgstr "Valeur non valide '{weight}'pour le poids (doit être un chiffre)" - -#: utilities/utils.py:363 -#, python-brace-format -msgid "Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'." -msgstr "Unité inconnue {unit}. Doit être de « kg », « g », « lb », « oz »." - #: utilities/validators.py:65 #, python-brace-format msgid "{value} is not a valid regular expression." msgstr "{value} n'est pas une expression régulière valide." -#: utilities/views.py:38 +#: utilities/views.py:40 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "{self.__class__.__name__} doit implémenter get_required_permission()" -#: utilities/views.py:74 +#: utilities/views.py:76 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "{class_name} doit implémenter get_required_permission()" -#: utilities/views.py:98 +#: utilities/views.py:100 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" @@ -13649,21 +13974,21 @@ msgstr "Groupe de clusters (ID)" msgid "Cluster (ID)" msgstr "Cluster (ID)" -#: virtualization/forms/bulk_edit.py:165 -#: virtualization/models/virtualmachines.py:113 +#: virtualization/forms/bulk_edit.py:166 +#: virtualization/models/virtualmachines.py:115 msgid "vCPUs" msgstr "processeurs virtuels" -#: virtualization/forms/bulk_edit.py:169 +#: virtualization/forms/bulk_edit.py:170 msgid "Memory (MB)" msgstr "Mémoire (Mo)" -#: virtualization/forms/bulk_edit.py:173 +#: virtualization/forms/bulk_edit.py:174 msgid "Disk (GB)" msgstr "Disque (Go)" -#: virtualization/forms/bulk_edit.py:333 -#: virtualization/forms/filtersets.py:243 +#: virtualization/forms/bulk_edit.py:334 +#: virtualization/forms/filtersets.py:247 msgid "Size (GB)" msgstr "Taille (Go)" @@ -13683,7 +14008,7 @@ msgstr "Cluster attribué" msgid "Assigned device within cluster" msgstr "Appareil attribué au sein du cluster" -#: virtualization/forms/model_forms.py:156 +#: virtualization/forms/model_forms.py:153 #, python-brace-format msgid "" "{device} belongs to a different site ({device_site}) than the cluster " @@ -13692,21 +14017,21 @@ msgstr "" "{device} appartient à un autre site ({device_site}) puis le cluster " "({cluster_site})" -#: virtualization/forms/model_forms.py:195 +#: virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" msgstr "" "Épinglez éventuellement cette machine virtuelle à un périphérique hôte " "spécifique au sein du cluster" -#: virtualization/forms/model_forms.py:224 +#: virtualization/forms/model_forms.py:221 msgid "Site/Cluster" msgstr "Site/Cluster" -#: virtualization/forms/model_forms.py:247 +#: virtualization/forms/model_forms.py:244 msgid "Disk size is managed via the attachment of virtual disks." msgstr "La taille du disque est gérée via la connexion de disques virtuels." -#: virtualization/forms/model_forms.py:375 +#: virtualization/forms/model_forms.py:372 msgid "Disk" msgstr "Disque" @@ -13743,44 +14068,44 @@ msgstr "" "{count} les appareils sont affectés en tant qu'hôtes à ce cluster mais ne " "sont pas sur le site {site}" -#: virtualization/models/virtualmachines.py:121 +#: virtualization/models/virtualmachines.py:123 msgid "memory (MB)" msgstr "mémoire (Mo)" -#: virtualization/models/virtualmachines.py:126 +#: virtualization/models/virtualmachines.py:128 msgid "disk (GB)" msgstr "disque (Go)" -#: virtualization/models/virtualmachines.py:159 +#: virtualization/models/virtualmachines.py:161 msgid "Virtual machine name must be unique per cluster." msgstr "Le nom de la machine virtuelle doit être unique par cluster." -#: virtualization/models/virtualmachines.py:162 +#: virtualization/models/virtualmachines.py:164 msgid "virtual machine" msgstr "machine virtuelle" -#: virtualization/models/virtualmachines.py:163 +#: virtualization/models/virtualmachines.py:165 msgid "virtual machines" msgstr "machines virtuelles" -#: virtualization/models/virtualmachines.py:177 +#: virtualization/models/virtualmachines.py:179 msgid "A virtual machine must be assigned to a site and/or cluster." msgstr "" "Une machine virtuelle doit être attribuée à un site et/ou à un cluster." -#: virtualization/models/virtualmachines.py:184 +#: virtualization/models/virtualmachines.py:186 #, python-brace-format msgid "" "The selected cluster ({cluster}) is not assigned to this site ({site})." msgstr "" "Le cluster sélectionné ({cluster}) n'est pas attribué à ce site ({site})." -#: virtualization/models/virtualmachines.py:191 +#: virtualization/models/virtualmachines.py:193 msgid "Must specify a cluster when assigning a host device." msgstr "" "Doit spécifier un cluster lors de l'attribution d'un périphérique hôte." -#: virtualization/models/virtualmachines.py:196 +#: virtualization/models/virtualmachines.py:198 #, python-brace-format msgid "" "The selected device ({device}) is not assigned to this cluster ({cluster})." @@ -13788,7 +14113,7 @@ msgstr "" "L'appareil sélectionné ({device}) n'est pas affecté à ce cluster " "({cluster})." -#: virtualization/models/virtualmachines.py:208 +#: virtualization/models/virtualmachines.py:210 #, python-brace-format msgid "" "The specified disk size ({size}) must match the aggregate size of assigned " @@ -13797,18 +14122,18 @@ msgstr "" "La taille de disque spécifiée ({size}) doit correspondre à la taille agrégée" " des disques virtuels assignés ({total_size})." -#: virtualization/models/virtualmachines.py:222 +#: virtualization/models/virtualmachines.py:224 #, python-brace-format msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)" msgstr "Doit être un IPV{family} adresse. ({ip} est un IPV{version} adresse.)" -#: virtualization/models/virtualmachines.py:231 +#: virtualization/models/virtualmachines.py:233 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this VM." msgstr "" "L'adresse IP spécifiée ({ip}) n'est pas attribué à cette machine virtuelle." -#: virtualization/models/virtualmachines.py:389 +#: virtualization/models/virtualmachines.py:391 #, python-brace-format msgid "" "The selected parent interface ({parent}) belongs to a different virtual " @@ -13817,7 +14142,7 @@ msgstr "" "L'interface parent sélectionnée ({parent}) appartient à une autre machine " "virtuelle ({virtual_machine})." -#: virtualization/models/virtualmachines.py:404 +#: virtualization/models/virtualmachines.py:406 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different virtual " @@ -13826,7 +14151,7 @@ msgstr "" "L'interface de pont sélectionnée ({bridge}) appartient à une autre machine " "virtuelle ({virtual_machine})." -#: virtualization/models/virtualmachines.py:415 +#: virtualization/models/virtualmachines.py:417 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -13835,15 +14160,15 @@ msgstr "" "Le VLAN non balisé ({untagged_vlan}) doit appartenir au même site que la " "machine virtuelle parente de l'interface, ou il doit être global." -#: virtualization/models/virtualmachines.py:427 +#: virtualization/models/virtualmachines.py:429 msgid "size (GB)" msgstr "taille (Go)" -#: virtualization/models/virtualmachines.py:431 +#: virtualization/models/virtualmachines.py:433 msgid "virtual disk" msgstr "disque virtuel" -#: virtualization/models/virtualmachines.py:432 +#: virtualization/models/virtualmachines.py:434 msgid "virtual disks" msgstr "disques virtuels" @@ -13949,57 +14274,57 @@ msgstr "Tunnel (nom)" msgid "Outside IP (ID)" msgstr "IP externe (ID)" -#: vpn/filtersets.py:235 +#: vpn/filtersets.py:130 vpn/filtersets.py:153 vpn/filtersets.py:282 msgid "IKE policy (ID)" msgstr "Politique IKE (ID)" -#: vpn/filtersets.py:241 +#: vpn/filtersets.py:136 vpn/filtersets.py:159 vpn/filtersets.py:288 msgid "IKE policy (name)" msgstr "Politique IKE (nom)" -#: vpn/filtersets.py:245 +#: vpn/filtersets.py:215 vpn/filtersets.py:292 msgid "IPSec policy (ID)" msgstr "Politique IPSec (ID)" -#: vpn/filtersets.py:251 +#: vpn/filtersets.py:221 vpn/filtersets.py:298 msgid "IPSec policy (name)" msgstr "Politique IPSec (nom)" -#: vpn/filtersets.py:320 +#: vpn/filtersets.py:367 msgid "L2VPN (slug)" msgstr "L2VPN (limace)" -#: vpn/filtersets.py:384 +#: vpn/filtersets.py:431 msgid "VM Interface (ID)" msgstr "Interface de machine virtuelle (ID)" -#: vpn/filtersets.py:390 +#: vpn/filtersets.py:437 msgid "VLAN (name)" msgstr "VLAN (nom)" -#: vpn/forms/bulk_edit.py:44 vpn/forms/bulk_import.py:42 -#: vpn/forms/filtersets.py:53 +#: vpn/forms/bulk_edit.py:45 vpn/forms/bulk_import.py:42 +#: vpn/forms/filtersets.py:54 msgid "Tunnel group" msgstr "Groupe de tunnels" -#: vpn/forms/bulk_edit.py:116 vpn/models/crypto.py:47 +#: vpn/forms/bulk_edit.py:117 vpn/models/crypto.py:47 msgid "SA lifetime" msgstr "Toute une vie" -#: vpn/forms/bulk_edit.py:150 wireless/forms/bulk_edit.py:78 -#: wireless/forms/bulk_edit.py:125 wireless/forms/filtersets.py:63 -#: wireless/forms/filtersets.py:97 +#: vpn/forms/bulk_edit.py:151 wireless/forms/bulk_edit.py:79 +#: wireless/forms/bulk_edit.py:126 wireless/forms/filtersets.py:64 +#: wireless/forms/filtersets.py:98 msgid "Pre-shared key" msgstr "Clé pré-partagée" -#: vpn/forms/bulk_edit.py:238 vpn/forms/bulk_import.py:239 -#: vpn/forms/filtersets.py:196 vpn/forms/model_forms.py:369 +#: vpn/forms/bulk_edit.py:237 vpn/forms/bulk_import.py:239 +#: vpn/forms/filtersets.py:199 vpn/forms/model_forms.py:370 #: vpn/models/crypto.py:104 msgid "IKE policy" msgstr "Politique IKE" -#: vpn/forms/bulk_edit.py:243 vpn/forms/bulk_import.py:244 -#: vpn/forms/filtersets.py:201 vpn/forms/model_forms.py:373 +#: vpn/forms/bulk_edit.py:242 vpn/forms/bulk_import.py:244 +#: vpn/forms/filtersets.py:204 vpn/forms/model_forms.py:374 #: vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "Politique IPSec" @@ -14070,45 +14395,45 @@ msgstr "Chaque terminaison doit spécifier une interface ou un VLAN." msgid "Cannot assign both an interface and a VLAN." msgstr "Impossible d'attribuer à la fois une interface et un VLAN." -#: vpn/forms/filtersets.py:127 +#: vpn/forms/filtersets.py:130 msgid "IKE version" msgstr "Version IKE" -#: vpn/forms/filtersets.py:139 vpn/forms/filtersets.py:172 -#: vpn/forms/model_forms.py:299 vpn/forms/model_forms.py:334 +#: vpn/forms/filtersets.py:142 vpn/forms/filtersets.py:175 +#: vpn/forms/model_forms.py:298 vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "Proposition" -#: vpn/forms/filtersets.py:247 +#: vpn/forms/filtersets.py:251 msgid "Assigned Object Type" msgstr "Type d'objet attribué" -#: vpn/forms/model_forms.py:94 vpn/forms/model_forms.py:129 -#: vpn/forms/model_forms.py:241 vpn/tables/tunnels.py:91 +#: vpn/forms/model_forms.py:95 vpn/forms/model_forms.py:130 +#: vpn/forms/model_forms.py:240 vpn/tables/tunnels.py:91 msgid "Tunnel interface" msgstr "Interface de tunnel" -#: vpn/forms/model_forms.py:147 +#: vpn/forms/model_forms.py:150 msgid "First Termination" msgstr "Première résiliation" -#: vpn/forms/model_forms.py:151 +#: vpn/forms/model_forms.py:153 msgid "Second Termination" msgstr "Deuxième résiliation" -#: vpn/forms/model_forms.py:198 +#: vpn/forms/model_forms.py:197 msgid "This parameter is required when defining a termination." msgstr "Ce paramètre est obligatoire lors de la définition d'une terminaison." -#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:355 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:356 msgid "Policy" msgstr "Politique" -#: vpn/forms/model_forms.py:475 +#: vpn/forms/model_forms.py:487 msgid "A termination must specify an interface or VLAN." msgstr "Une terminaison doit spécifier une interface ou un VLAN." -#: vpn/forms/model_forms.py:477 +#: vpn/forms/model_forms.py:489 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -14299,10 +14624,6 @@ msgstr "Parent de l'objet" msgid "Object Site" msgstr "Site de l'objet" -#: vpn/tables/tunnels.py:88 -msgid "Host" -msgstr "Hôte" - #: wireless/choices.py:11 msgid "Access point" msgstr "Point d'accès" @@ -14323,10 +14644,10 @@ msgstr "WPA Personnel (PSK)" msgid "WPA Enterprise" msgstr "WPA Entreprise" -#: wireless/forms/bulk_edit.py:72 wireless/forms/bulk_edit.py:119 +#: wireless/forms/bulk_edit.py:73 wireless/forms/bulk_edit.py:120 #: wireless/forms/bulk_import.py:68 wireless/forms/bulk_import.py:71 #: wireless/forms/bulk_import.py:110 wireless/forms/bulk_import.py:113 -#: wireless/forms/filtersets.py:58 wireless/forms/filtersets.py:92 +#: wireless/forms/filtersets.py:59 wireless/forms/filtersets.py:93 msgid "Authentication cipher" msgstr "Chiffrement d'authentification" @@ -14342,7 +14663,7 @@ msgstr "Interface A" msgid "Interface B" msgstr "Interface B" -#: wireless/forms/model_forms.py:158 +#: wireless/forms/model_forms.py:161 msgid "Side B" msgstr "Côté B"