From 64789feacfee1218306d42cae900ca8bfc297bfd Mon Sep 17 00:00:00 2001
From: "transifex-integration[bot]"
<43880903+transifex-integration[bot]@users.noreply.github.com>
Date: Mon, 6 May 2024 17:46:53 +0000
Subject: [PATCH] Translate django.po in fr
100% translated source file: 'django.po'
on 'fr'.
---
netbox/translations/fr/LC_MESSAGES/django.po | 8101 +++++++++---------
1 file changed, 4211 insertions(+), 3890 deletions(-)
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"