diff --git a/netbox/translations/es/LC_MESSAGES/django.po b/netbox/translations/es/LC_MESSAGES/django.po
index 65ebd312d..f4cd43118 100644
--- a/netbox/translations/es/LC_MESSAGES/django.po
+++ b/netbox/translations/es/LC_MESSAGES/django.po
@@ -11,7 +11,7 @@ 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: Jeremy Stretch, 2024\n"
"Language-Team: Spanish (https://app.transifex.com/netbox-community/teams/178115/es/)\n"
@@ -21,9 +21,9 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=3; plural=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 "Llave"
@@ -31,30 +31,31 @@ msgstr "Llave"
msgid "Write Enabled"
msgstr "Escritura habilitada"
-#: 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 "Creado"
-#: 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 "Caduca"
-#: account/tables.py:40 users/forms/filtersets.py:142
+#: account/tables.py:42 users/forms/filtersets.py:142
msgid "Last Used"
msgstr "Utilizado por última vez"
-#: 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 "IPs permitidas"
@@ -69,17 +70,18 @@ msgstr "Se han actualizado tus preferencias."
msgid "Planned"
msgstr "Planificado"
-#: circuits/choices.py:22 netbox/navigation/menu.py:290
+#: circuits/choices.py:22 netbox/navigation/menu.py:289
msgid "Provisioning"
msgstr "Aprovisionamiento"
-#: 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 "Activo"
@@ -97,100 +99,101 @@ msgstr "Desaprovisionamiento"
msgid "Decommissioned"
msgstr "Desmantelado"
-#: 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 "Región (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 "Región (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 "Grupo de sitios (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 "Grupo de sitios (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 "Sitio"
-#: 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 "Sitio (babosa)"
@@ -198,19 +201,19 @@ msgstr "Sitio (babosa)"
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 "Proveedor (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 "Proveedor (babosa)"
@@ -218,586 +221,605 @@ msgstr "Proveedor (babosa)"
msgid "Provider account (ID)"
msgstr "Cuenta de proveedor (ID)"
-#: circuits/filtersets.py:170
+#: circuits/filtersets.py:171
+msgid "Provider account (account)"
+msgstr "Cuenta de proveedor (cuenta)"
+
+#: circuits/filtersets.py:176
msgid "Provider network (ID)"
msgstr "Red de proveedores (ID)"
-#: circuits/filtersets.py:174
+#: circuits/filtersets.py:180
msgid "Circuit type (ID)"
msgstr "Tipo de circuito (ID)"
-#: circuits/filtersets.py:180
+#: circuits/filtersets.py:186
msgid "Circuit type (slug)"
msgstr "Tipo de circuito (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 "Sitio (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 "Terminación 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 "Búsqueda"
-#: 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 "Circuito"
-#: circuits/filtersets.py:262
+#: circuits/filtersets.py:276
msgid "ProviderNetwork (ID)"
msgstr "Red de proveedores (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 "ASNs"
-#: 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 "Descripción"
-#: 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 "Proveedor"
-#: 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 "ID de servicio"
-#: 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 "Color"
-#: 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 "Tipo"
-#: 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 "Cuenta de proveedor"
-#: 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 "Estado"
-#: 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 "Inquilino"
-#: 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 "Fecha de instalación"
-#: 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 "Fecha de terminación"
-#: 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 "Velocidad de confirmación (Kbps)"
-#: 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 "Parámetros de servicio"
-#: 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 "Arrendamiento"
-#: 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 "Proveedor asignado"
-#: 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 "Color RGB en hexadecimal. Ejemplo:"
-#: circuits/forms/bulk_import.py:85
+#: circuits/forms/bulk_import.py:84
msgid "Assigned provider account"
msgstr "Cuenta de proveedor asignada"
-#: circuits/forms/bulk_import.py:92
+#: circuits/forms/bulk_import.py:91
msgid "Type of circuit"
msgstr "Tipo de circuito"
-#: 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 "Estado operativo"
-#: 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 "Inquilino asignado"
-#: 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 "Red de proveedores"
-#: 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 "Ubicación"
-#: 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 "Contactos"
-#: 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 "Región"
-#: 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 "Grupo de sitios"
-#: 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 "Atributos"
-#: 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 "Cuenta"
-#: 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 "Red de proveedores"
-#: circuits/forms/model_forms.py:78 templates/circuits/circuittype.html:20
-msgid "Circuit Type"
-msgstr "Tipo de circuito"
+#: 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 "Terminación del circuito"
+
+#: circuits/forms/model_forms.py:157
+msgid "Termination Details"
+msgstr "Detalles de terminación"
#: 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 "color"
@@ -819,12 +841,12 @@ msgstr "ID de circuito único"
#: 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 "estado"
@@ -891,15 +913,15 @@ msgstr "ID del panel de conexiones y números de puerto"
#: 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 "descripción"
@@ -929,22 +951,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
@@ -956,7 +979,7 @@ msgid "Full name of the provider"
msgstr "Nombre completo del proveedor"
#: 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
@@ -997,76 +1020,77 @@ msgstr "redes de proveedores"
#: 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
@@ -1083,19 +1107,19 @@ msgid "Name"
msgstr "Nombre"
#: 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 "Circuitos"
-#: circuits/tables/circuits.py:52 templates/circuits/circuit.html:27
+#: circuits/tables/circuits.py:52 templates/circuits/circuit.html:26
msgid "Circuit ID"
msgstr "ID de circuito"
-#: 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 "Lado A"
@@ -1103,24 +1127,23 @@ msgstr "Lado A"
msgid "Side Z"
msgstr "Lado 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 "Tasa de compromiso"
#: 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
@@ -1140,11 +1163,16 @@ msgstr "Recuento de cuentas"
msgid "ASN Count"
msgstr "Recuento de ASN"
+#: core/api/views.py:36
+msgid "This user does not have permission to synchronize this data source."
+msgstr "Este usuario no tiene permiso para sincronizar esta fuente de datos."
+
#: core/choices.py:18
msgid "New"
msgstr "Nuevo"
-#: 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 cola"
@@ -1153,51 +1181,71 @@ msgid "Syncing"
msgstr "Sincronización"
#: 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 "Completado"
-#: 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 "Falló"
-#: 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 "Guiones"
-#: 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 "Informes"
-#: core/choices.py:54 extras/choices.py:207
+#: core/choices.py:54 extras/choices.py:221
msgid "Pending"
msgstr "Pendiente"
-#: 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 "Programado"
-#: core/choices.py:56 extras/choices.py:209
+#: core/choices.py:56 extras/choices.py:223
msgid "Running"
msgstr "Corriendo"
-#: core/choices.py:58 extras/choices.py:211
+#: core/choices.py:58 extras/choices.py:225
msgid "Errored"
msgstr "Erróneo"
-#: core/data_backends.py:29 templates/dcim/interface.html:224
+#: core/constants.py:19 core/tables/tasks.py:30
+msgid "Finished"
+msgstr "Terminado"
+
+#: core/constants.py:21 core/tables/jobs.py:38 templates/core/job.html:64
+#: templates/extras/htmx/script_result.html:8
+msgid "Started"
+msgstr "Empezado"
+
+#: core/constants.py:22 core/tables/tasks.py:26
+msgid "Deferred"
+msgstr "Aplazado"
+
+#: core/constants.py:24
+msgid "Stopped"
+msgstr "Detenido"
+
+#: core/constants.py:25
+msgid "Cancelled"
+msgstr "Cancelado"
+
+#: 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 "Nombre de usuario"
@@ -1207,7 +1255,7 @@ msgid "Only used for cloning with HTTP(S)"
msgstr "Solo se usa para clonar con 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 "Contraseña"
@@ -1228,8 +1276,8 @@ msgstr "ID de clave de acceso de AWS"
msgid "AWS secret access key"
msgstr "Clave de acceso secreta de 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 "Fuente de datos (ID)"
@@ -1237,208 +1285,208 @@ msgstr "Fuente de datos (ID)"
msgid "Data source (name)"
msgstr "Fuente de datos (nombre)"
-#: 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 "Habilitado"
-#: 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 "Parámetros"
-#: 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 "Ignorar las reglas"
-#: 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 "Fuente de datos"
-#: core/forms/filtersets.py:51 core/forms/mixins.py:21
+#: core/forms/filtersets.py:52 core/forms/mixins.py:21
msgid "File"
msgstr "Expediente"
-#: 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 "Fuente de datos"
-#: core/forms/filtersets.py:64 extras/forms/filtersets.py:449
+#: core/forms/filtersets.py:67 extras/forms/filtersets.py:449
msgid "Creation"
msgstr "Creación"
-#: 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 "Tipo de objeto"
-#: core/forms/filtersets.py:80
+#: core/forms/filtersets.py:81
msgid "Created after"
msgstr "Creado después"
-#: core/forms/filtersets.py:85
+#: core/forms/filtersets.py:86
msgid "Created before"
msgstr "Creado antes"
-#: core/forms/filtersets.py:90
+#: core/forms/filtersets.py:91
msgid "Scheduled after"
msgstr "Programado después"
-#: core/forms/filtersets.py:95
+#: core/forms/filtersets.py:96
msgid "Scheduled before"
msgstr "Programado antes"
-#: core/forms/filtersets.py:100
+#: core/forms/filtersets.py:101
msgid "Started after"
msgstr "Comenzó después"
-#: core/forms/filtersets.py:105
+#: core/forms/filtersets.py:106
msgid "Started before"
msgstr "Comenzó antes"
-#: core/forms/filtersets.py:110
+#: core/forms/filtersets.py:111
msgid "Completed after"
msgstr "Completado después"
-#: core/forms/filtersets.py:115
+#: core/forms/filtersets.py:116
msgid "Completed before"
msgstr "Completado antes"
-#: 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 "usuario"
-#: 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 "Fuente"
-#: core/forms/model_forms.py:56
+#: core/forms/model_forms.py:58
msgid "Backend Parameters"
msgstr "Parámetros de backend"
-#: core/forms/model_forms.py:94
+#: core/forms/model_forms.py:96
msgid "File Upload"
msgstr "Carga de archivos"
-#: core/forms/model_forms.py:106
+#: core/forms/model_forms.py:108
msgid "Cannot upload a file and sync from an existing file"
msgstr ""
"No se puede cargar un archivo y sincronizarlo desde un archivo existente"
-#: 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 ""
"Debe cargar un archivo o seleccionar un archivo de datos para sincronizarlo"
-#: 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 "Elevaciones de estanterías"
-#: 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 "Potencia"
-#: 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 "Seguridad"
-#: 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 "Banners"
-#: 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 "Paginación"
-#: 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 "Validación"
-#: 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 "Preferencias de usuario"
-#: 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 "Misceláneo"
-#: core/forms/model_forms.py:158
+#: core/forms/model_forms.py:169
msgid "Config Revision"
msgstr "Revisión de configuración"
-#: core/forms/model_forms.py:197
+#: core/forms/model_forms.py:208
msgid "This parameter has been defined statically and cannot be modified."
msgstr "Este parámetro se ha definido estáticamente y no se puede modificar."
-#: core/forms/model_forms.py:205
+#: core/forms/model_forms.py:216
#, python-brace-format
msgid "Current value: {value}"
msgstr "Valor actual: {value}"
-#: core/forms/model_forms.py:207
+#: core/forms/model_forms.py:218
msgid " (default)"
msgstr " (predeterminado)"
#: 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 "creado"
@@ -1482,21 +1530,22 @@ msgstr "Revisión de configuración #{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 "tipo"
-#: 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 "habilitado"
@@ -1510,7 +1559,7 @@ msgstr ""
"Patrones (uno por línea) que coinciden con los archivos para ignorarlos al "
"sincronizar"
-#: core/models/data.py:71 extras/models/models.py:564
+#: core/models/data.py:71 extras/models/models.py:562
msgid "parameters"
msgstr "parámetros"
@@ -1545,11 +1594,11 @@ msgstr ""
"una dependencia: "
#: core/models/data.py:286 core/models/files.py:31
-#: netbox/models/features.py:58
+#: netbox/models/features.py:57
msgid "last updated"
msgstr "última actualización"
-#: core/models/data.py:296 dcim/models/cables.py:438
+#: core/models/data.py:296 dcim/models/cables.py:442
msgid "path"
msgstr "ruta"
@@ -1581,11 +1630,11 @@ msgstr "archivo de datos"
msgid "data files"
msgstr "archivos de datos"
-#: core/models/data.py:416
+#: core/models/data.py:417
msgid "auto sync record"
msgstr "registro de sincronización automática"
-#: core/models/data.py:417
+#: core/models/data.py:418
msgid "auto sync records"
msgstr "sincronización automática de registros"
@@ -1629,7 +1678,7 @@ msgstr "iniciado"
msgid "completed"
msgstr "completado"
-#: 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 "dato"
@@ -1666,7 +1715,7 @@ msgstr ""
msgid "Is Active"
msgstr "Está activo"
-#: core/tables/data.py:50 templates/core/datafile.html:40
+#: core/tables/data.py:50 templates/core/datafile.html:31
msgid "Path"
msgstr "Ruta"
@@ -1674,20 +1723,21 @@ msgstr "Ruta"
msgid "Last updated"
msgstr "Última actualización"
-#: 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 "ID"
-#: 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 "Objeto"
@@ -1695,20 +1745,102 @@ msgstr "Objeto"
msgid "Interval"
msgstr "Intervalo"
-#: 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 "Empezado"
+#: 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 "Versión"
-#: dcim/api/serializers.py:205 templates/dcim/rack.html:33
-msgid "Facility ID"
-msgstr "ID de la instalación"
+#: core/tables/plugins.py:20
+msgid "Package"
+msgstr "Paquete"
-#: dcim/api/serializers.py:321 dcim/api/serializers.py:682
+#: core/tables/plugins.py:23
+msgid "Author"
+msgstr "autor"
+
+#: core/tables/plugins.py:26
+msgid "Author Email"
+msgstr "Correo electrónico del autor"
+
+#: core/tables/plugins.py:33
+msgid "No plugins found"
+msgstr "No se han encontrado complementos"
+
+#: core/tables/tasks.py:18
+msgid "Oldest Task"
+msgstr "Tarea más antigua"
+
+#: core/tables/tasks.py:42 templates/core/rq_worker_list.html:34
+msgid "Workers"
+msgstr "Trabajadores"
+
+#: core/tables/tasks.py:46 vpn/tables/tunnels.py:88
+msgid "Host"
+msgstr "Anfitrión"
+
+#: core/tables/tasks.py:50 ipam/forms/filtersets.py:523
+msgid "Port"
+msgstr "Puerto"
+
+#: core/tables/tasks.py:54
+msgid "DB"
+msgstr "DB"
+
+#: core/tables/tasks.py:58
+msgid "Scheduler PID"
+msgstr "PID del planificador"
+
+#: core/tables/tasks.py:62
+msgid "No queues found"
+msgstr "No se han encontrado colas"
+
+#: core/tables/tasks.py:82
+msgid "Enqueued"
+msgstr "En cola"
+
+#: core/tables/tasks.py:85
+msgid "Ended"
+msgstr "Finalizado"
+
+#: core/tables/tasks.py:93 templates/core/rq_task.html:85
+msgid "Callable"
+msgstr "Invocable"
+
+#: core/tables/tasks.py:97
+msgid "No tasks found"
+msgstr "No se ha encontrado ninguna tarea"
+
+#: core/tables/tasks.py:118 templates/core/rq_worker.html:47
+msgid "State"
+msgstr "Estado"
+
+#: core/tables/tasks.py:121 templates/core/rq_worker.html:51
+msgid "Birth"
+msgstr "Nacimiento"
+
+#: core/tables/tasks.py:124 templates/core/rq_worker.html:59
+msgid "PID"
+msgstr "PAGADO"
+
+#: core/tables/tasks.py:128
+msgid "No workers found"
+msgstr "No se encontró ningún trabajador"
+
+#: 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 "Trabajo {job_id} no se encontró"
+
+#: dcim/api/serializers_/devices.py:50 dcim/api/serializers_/devicetypes.py:26
msgid "Position (U)"
msgstr "Posición (U)"
+#: dcim/api/serializers_/racks.py:45 templates/dcim/rack.html:30
+msgid "Facility ID"
+msgstr "ID de la instalación"
+
#: dcim/choices.py:21 virtualization/choices.py:21
msgid "Staging"
msgstr "Puesta en escena"
@@ -1761,7 +1893,7 @@ msgstr "{n} pulgadas"
msgid "Reserved"
msgstr "Reservado"
-#: dcim/choices.py:101 templates/dcim/device.html:262
+#: dcim/choices.py:101 templates/dcim/device.html:251
msgid "Available"
msgstr "Disponible"
@@ -1770,7 +1902,7 @@ msgstr "Disponible"
msgid "Deprecated"
msgstr "Obsoleto"
-#: dcim/choices.py:114 templates/dcim/rack.html:128
+#: dcim/choices.py:114 templates/dcim/rack.html:123
msgid "Millimeters"
msgstr "Milímetros"
@@ -1778,30 +1910,30 @@ msgstr "Milímetros"
msgid "Inches"
msgstr "Pulgadas"
-#: 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 "Padre"
@@ -1809,15 +1941,15 @@ msgstr "Padre"
msgid "Child"
msgstr "Niño"
-#: 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 "Delantera"
-#: 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 "Trasera"
@@ -1879,7 +2011,7 @@ msgstr "Proprietario"
#: 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 "Otros"
@@ -1895,10 +2027,10 @@ msgstr "Físico"
msgid "Virtual"
msgstr "Virtual"
-#: 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 "inalámbrico"
@@ -1906,11 +2038,11 @@ msgstr "inalámbrico"
msgid "Virtual interfaces"
msgstr "Interfaces virtuales"
-#: 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"
@@ -1936,10 +2068,10 @@ msgstr "Ethernet (placa base)"
msgid "Cellular"
msgstr "Celular"
-#: 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 "serie"
@@ -1959,7 +2091,7 @@ msgstr "Mitad"
msgid "Full"
msgstr "Lleno"
-#: 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 "Auto"
@@ -2008,7 +2140,7 @@ msgstr "Fibra óptica"
msgid "Fiber"
msgstr "Fibra"
-#: dcim/choices.py:1424 dcim/forms/filtersets.py:1140
+#: dcim/choices.py:1424 dcim/forms/filtersets.py:1138
msgid "Connected"
msgstr "Conectado"
@@ -2016,7 +2148,7 @@ msgstr "Conectado"
msgid "Kilometers"
msgstr "Kilómetros"
-#: dcim/choices.py:1444 templates/dcim/cable_trace.html:62
+#: dcim/choices.py:1444 templates/dcim/cable_trace.html:65
msgid "Meters"
msgstr "Medidores"
@@ -2028,12 +2160,12 @@ msgstr "Centímetros"
msgid "Miles"
msgstr "Millas"
-#: dcim/choices.py:1447 templates/dcim/cable_trace.html:63
+#: dcim/choices.py:1447 templates/dcim/cable_trace.html:66
msgid "Feet"
msgstr "Pies"
-#: 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 "Kilogramos"
@@ -2041,7 +2173,7 @@ msgstr "Kilogramos"
msgid "Grams"
msgstr "Gramos"
-#: dcim/choices.py:1465 templates/dcim/rack.html:158
+#: dcim/choices.py:1465 templates/dcim/rack.html:153
msgid "Pounds"
msgstr "Libras"
@@ -2075,405 +2207,469 @@ msgstr "Formato de dirección MAC no válido: {value}"
msgid "Invalid WWN format: {value}"
msgstr "Formato WWN no válido: {value}"
-#: dcim/filtersets.py:84
+#: dcim/filtersets.py:85
msgid "Parent region (ID)"
msgstr "Región principal (ID)"
-#: dcim/filtersets.py:90
+#: dcim/filtersets.py:91
msgid "Parent region (slug)"
msgstr "Región principal (babosa)"
-#: dcim/filtersets.py:101
+#: dcim/filtersets.py:115
msgid "Parent site group (ID)"
msgstr "Grupo de sitio principal (ID)"
-#: dcim/filtersets.py:107
+#: dcim/filtersets.py:121
msgid "Parent site group (slug)"
msgstr "Grupo de sitios principal (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 "Grupo (ID)"
-#: dcim/filtersets.py:142
+#: dcim/filtersets.py:169
msgid "Group (slug)"
msgstr "Grupo (babosa)"
-#: dcim/filtersets.py:148 dcim/filtersets.py:153
+#: dcim/filtersets.py:175 dcim/filtersets.py:180
msgid "AS (ID)"
msgstr "COMO (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 "Ubicación principal (ID)"
+
+#: dcim/filtersets.py:251
+msgid "Parent location (slug)"
+msgstr "Ubicación principal (slug)"
+
+#: 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 "Ubicación (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 "Ubicación (babosa)"
-#: 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 "Función (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 "Rol (babosa)"
-#: 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 "Rack (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 "Usuario (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 "Usuario (nombre)"
-#: 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 "Fabricante (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 "Fabricante (babosa)"
-#: dcim/filtersets.py:450
+#: dcim/filtersets.py:491
msgid "Default platform (ID)"
msgstr "Plataforma predeterminada (ID)"
-#: dcim/filtersets.py:456
+#: dcim/filtersets.py:497
msgid "Default platform (slug)"
msgstr "Plataforma predeterminada (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 "Tiene una imagen frontal"
-#: dcim/filtersets.py:463 dcim/forms/filtersets.py:459
+#: dcim/filtersets.py:504 dcim/forms/filtersets.py:459
msgid "Has a rear image"
msgstr "Tiene una imagen trasera"
-#: 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 "Tiene puertos de consola"
-#: 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 "Tiene puertos de servidor de consola"
-#: 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 "Tiene puertos de alimentación"
-#: 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 "Tiene tomas de corriente"
-#: 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 "Tiene 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 "Tiene puertos de paso"
-#: 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 "Tiene compartimentos para módulos"
-#: 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 "Tiene compartimentos para dispositivos"
-#: dcim/filtersets.py:500 dcim/forms/filtersets.py:522
+#: dcim/filtersets.py:541 dcim/forms/filtersets.py:522
msgid "Has inventory items"
msgstr "Tiene artículos de inventario"
-#: 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 "Tipo de dispositivo (ID)"
-#: dcim/filtersets.py:661 dcim/filtersets.py:1156
+#: dcim/filtersets.py:717 dcim/filtersets.py:1244
msgid "Module type (ID)"
msgstr "Tipo de módulo (ID)"
-#: dcim/filtersets.py:760 dcim/filtersets.py:1635
+#: dcim/filtersets.py:752 dcim/filtersets.py:1514
+msgid "Power port (ID)"
+msgstr "Puerto de alimentación (ID)"
+
+#: dcim/filtersets.py:826 dcim/filtersets.py:1755
msgid "Parent inventory item (ID)"
msgstr "Artículo del inventario principal (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 "Plantilla de configuración (ID)"
-#: dcim/filtersets.py:867
+#: dcim/filtersets.py:933
msgid "Device type (slug)"
msgstr "Tipo de dispositivo (slug)"
-#: dcim/filtersets.py:887
+#: dcim/filtersets.py:953
msgid "Parent Device (ID)"
msgstr "Dispositivo principal (ID)"
-#: dcim/filtersets.py:891 virtualization/filtersets.py:220
+#: dcim/filtersets.py:957 virtualization/filtersets.py:220
msgid "Platform (ID)"
msgstr "Plataforma (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 "Plataforma (babosa)"
-#: 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 "Nombre del sitio (slug)"
-#: dcim/filtersets.py:948
+#: dcim/filtersets.py:1015
+msgid "Parent bay (ID)"
+msgstr "Bahía principal (ID)"
+
+#: dcim/filtersets.py:1019
msgid "VM cluster (ID)"
msgstr "Clúster de máquinas virtuales (ID)"
-#: dcim/filtersets.py:954
+#: dcim/filtersets.py:1025
msgid "Device model (slug)"
msgstr "Modelo de dispositivo (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 "Es de profundidad total"
-#: 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 "Dirección 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 "Tiene una IP principal"
-#: dcim/filtersets.py:980
+#: dcim/filtersets.py:1051
msgid "Has an out-of-band IP"
msgstr "Tiene una IP fuera de banda"
-#: dcim/filtersets.py:985
+#: dcim/filtersets.py:1056
msgid "Virtual chassis (ID)"
msgstr "Chasis virtual (ID)"
-#: dcim/filtersets.py:989
+#: dcim/filtersets.py:1060
msgid "Is a virtual chassis member"
msgstr "Es un miembro del chasis virtual"
-#: dcim/filtersets.py:1030
+#: dcim/filtersets.py:1101
msgid "OOB IP (ID)"
msgstr "LOB VIP (ID)"
-#: dcim/filtersets.py:1162
+#: dcim/filtersets.py:1184
+msgid "VDC (ID)"
+msgstr "VDC (IDENTIFICACIÓN)"
+
+#: dcim/filtersets.py:1189
+msgid "Device model"
+msgstr "Modelo de dispositivo"
+
+#: dcim/filtersets.py:1194 ipam/filtersets.py:632 vpn/filtersets.py:102
+#: vpn/filtersets.py:420
+msgid "Interface (ID)"
+msgstr "Interfaz (ID)"
+
+#: dcim/filtersets.py:1250
msgid "Module type (model)"
msgstr "Tipo de módulo (modelo)"
-#: dcim/filtersets.py:1168
+#: dcim/filtersets.py:1256
msgid "Module Bay (ID)"
msgstr "Bahía de módulos (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 "Dispositivo (ID)"
-#: dcim/filtersets.py:1260
+#: dcim/filtersets.py:1348
msgid "Rack (name)"
msgstr "Rack (nombre)"
-#: 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 "Dispositivo (nombre)"
-#: dcim/filtersets.py:1281
+#: dcim/filtersets.py:1369
msgid "Device type (model)"
msgstr "Tipo de dispositivo (modelo)"
-#: dcim/filtersets.py:1286 dcim/filtersets.py:1309
+#: dcim/filtersets.py:1374
msgid "Device role (ID)"
msgstr "Función del dispositivo (ID)"
-#: dcim/filtersets.py:1292 dcim/filtersets.py:1315
+#: dcim/filtersets.py:1380
msgid "Device role (slug)"
msgstr "Función del dispositivo (slug)"
-#: dcim/filtersets.py:1297
+#: dcim/filtersets.py:1385
msgid "Virtual Chassis (ID)"
msgstr "Chasis virtual (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 "Chasis virtual"
-#: dcim/filtersets.py:1335
+#: dcim/filtersets.py:1411
msgid "Module (ID)"
msgstr "Módulo (ID)"
-#: dcim/filtersets.py:1439 ipam/forms/bulk_import.py:188
+#: dcim/filtersets.py:1418
+msgid "Cable (ID)"
+msgstr "Cable (ID)"
+
+#: dcim/filtersets.py:1527 ipam/forms/bulk_import.py:188
#: vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
msgstr "VLAN asignada"
-#: dcim/filtersets.py:1443
+#: dcim/filtersets.py:1531
msgid "Assigned VID"
msgstr "VID asignado"
-#: 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 (ROJO)"
-#: 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 (ID)"
-#: 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 chasis virtuales para dispositivos"
-#: dcim/filtersets.py:1502
+#: dcim/filtersets.py:1590
msgid "Virtual Chassis Interfaces for Device (ID)"
msgstr "Interfaces de chasis virtuales para dispositivos (ID)"
-#: dcim/filtersets.py:1506
+#: dcim/filtersets.py:1594
msgid "Kind of interface"
msgstr "Tipo de interfaz"
-#: dcim/filtersets.py:1511 virtualization/filtersets.py:289
+#: dcim/filtersets.py:1599 virtualization/filtersets.py:289
msgid "Parent interface (ID)"
msgstr "Interfaz principal (ID)"
-#: dcim/filtersets.py:1516 virtualization/filtersets.py:294
+#: dcim/filtersets.py:1604 virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
msgstr "Interfaz puenteada (ID)"
-#: dcim/filtersets.py:1521
+#: dcim/filtersets.py:1609
msgid "LAG interface (ID)"
msgstr "Interfaz 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 "Contexto de dispositivo virtual"
+
+#: dcim/filtersets.py:1642
+msgid "Virtual Device Context (Identifier)"
+msgstr "Contexto de dispositivo virtual (identificador)"
+
+#: dcim/filtersets.py:1653 templates/wireless/wirelesslan.html:11
+#: wireless/forms/model_forms.py:53
+msgid "Wireless LAN"
+msgstr "LAN inalámbrica"
+
+#: dcim/filtersets.py:1657 dcim/tables/devices.py:605
+msgid "Wireless link"
+msgstr "Enlace inalámbrico"
+
+#: dcim/filtersets.py:1727
+msgid "Installed module (ID)"
+msgstr "Módulo instalado (ID)"
+
+#: dcim/filtersets.py:1738
+msgid "Installed device (ID)"
+msgstr "Dispositivo instalado (ID)"
+
+#: dcim/filtersets.py:1744
+msgid "Installed device (name)"
+msgstr "Dispositivo instalado (nombre)"
+
+#: dcim/filtersets.py:1810
msgid "Master (ID)"
msgstr "Maestro (ID)"
-#: dcim/filtersets.py:1696
+#: dcim/filtersets.py:1816
msgid "Master (name)"
msgstr "Maestro (nombre)"
-#: dcim/filtersets.py:1738 tenancy/filtersets.py:221
+#: dcim/filtersets.py:1858 tenancy/filtersets.py:246
msgid "Tenant (ID)"
msgstr "Inquilino (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 "Inquilino (babosa)"
-#: dcim/filtersets.py:1780 dcim/forms/filtersets.py:990
+#: dcim/filtersets.py:1900 dcim/forms/filtersets.py:988
msgid "Unterminated"
msgstr "Inacabado"
-#: dcim/filtersets.py:2038
+#: dcim/filtersets.py:2158
msgid "Power panel (ID)"
msgstr "Panel de alimentación (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 "Etiquetas"
-#: 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 "Posición"
@@ -2485,598 +2681,594 @@ msgstr ""
"Se admiten los rangos alfanuméricos. (Debe coincidir con el número de "
"nombres que se están creando)."
-#: 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 "Grupo"
-#: dcim/forms/bulk_edit.py:130
+#: dcim/forms/bulk_edit.py:131
msgid "Contact name"
msgstr "Nombre de contacto"
-#: dcim/forms/bulk_edit.py:135
+#: dcim/forms/bulk_edit.py:136
msgid "Contact phone"
msgstr "Teléfono de contacto"
-#: dcim/forms/bulk_edit.py:141
+#: dcim/forms/bulk_edit.py:142
msgid "Contact E-mail"
msgstr "Correo electrónico de contacto"
-#: 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 "Zona horaria"
-#: 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 "Rol"
-#: 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 "Número de serie"
-#: 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 "Etiqueta de activo"
-#: 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 "Anchura"
-#: dcim/forms/bulk_edit.py:292
+#: dcim/forms/bulk_edit.py:293 templates/dcim/devicetype.html:37
msgid "Height (U)"
msgstr "Altura (U)"
-#: dcim/forms/bulk_edit.py:297
+#: dcim/forms/bulk_edit.py:298
msgid "Descending units"
msgstr "Unidades descendentes"
-#: dcim/forms/bulk_edit.py:300
+#: dcim/forms/bulk_edit.py:301
msgid "Outer width"
msgstr "Anchura exterior"
-#: dcim/forms/bulk_edit.py:305
+#: dcim/forms/bulk_edit.py:306
msgid "Outer depth"
msgstr "Profundidad exterior"
-#: 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 "Unidad exterior"
-#: dcim/forms/bulk_edit.py:315
+#: dcim/forms/bulk_edit.py:316
msgid "Mounting depth"
msgstr "Profundidad de montaje"
-#: 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 "Peso"
-#: 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 "Peso máximo"
-#: 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 "Unidad de peso"
-#: 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 "Estante"
-#: 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 "Hardware"
-#: 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 "fabricante"
-#: 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 "Plataforma predeterminada"
-#: 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 "Número de pieza"
-#: dcim/forms/bulk_edit.py:414
+#: dcim/forms/bulk_edit.py:416
msgid "U height"
msgstr "Altura en U"
-#: dcim/forms/bulk_edit.py:426
+#: dcim/forms/bulk_edit.py:428
msgid "Exclude from utilization"
msgstr "Excluir de la utilización"
-#: 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 "Flujo de aire"
-#: 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 "Tipo de dispositivo"
-#: 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 "Tipo de módulo"
-#: 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 "Función de máquina virtual"
-#: 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 "Plantilla de configuración"
-#: 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 "Tipo de dispositivo"
-#: 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 "Función del dispositivo"
-#: 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 "Plataforma"
-#: 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 "Dispositivo"
-#: 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 "Configuración"
-#: 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 "Tipo de módulo"
-#: 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 "Etiqueta"
-#: 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 "Longitud"
-#: 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 "Unidad de longitud"
-#: 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 "Dominio"
-#: 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 "Panel de alimentación"
-#: 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 "Suministro"
-#: 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 "Fase"
-#: 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 "Tensión"
-#: 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 "Amperaje"
-#: 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 "Utilización máxima"
-#: 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 "Marcar conectado"
-#: dcim/forms/bulk_edit.py:926
+#: dcim/forms/bulk_edit.py:934
msgid "Maximum draw"
msgstr "Sorteo máximo"
-#: 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 "Consumo máximo de energía (vatios)"
-#: dcim/forms/bulk_edit.py:932
+#: dcim/forms/bulk_edit.py:940
msgid "Allocated draw"
msgstr "Sorteo asignado"
-#: 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 "Consumo de energía asignado (vatios)"
-#: 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 "Puerto de alimentación"
-#: 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 "Pierna de alimentación"
-#: 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 "Solo administración"
-#: 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 "Modo 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 "Tipo de 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 "Función inalámbrica"
-#: 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 "Módulo"
-#: 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 "DESFASE"
-#: 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 "Contextos de dispositivos virtuales"
-#: 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 "Velocidad"
-#: 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 "Modo"
-#: 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 "Grupo de 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 sin etiquetar"
-#: 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 etiquetadas"
-#: 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 "Grupo LAN inalámbrico"
-#: 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 "LAN inalámbricas"
-#: 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 "Dirigiéndose"
-#: 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 "Operación"
-#: 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 relacionadas"
-#: 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 "Conmutación 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 "Se debe especificar el modo de interfaz para asignar las 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 "Una interfaz de acceso no puede tener asignadas VLAN etiquetadas."
@@ -3148,9 +3340,9 @@ msgstr "Sitio para padres"
msgid "Rack's location (if any)"
msgstr "Ubicación del bastidor (si existe)"
-#: 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 "Unidades"
@@ -3187,7 +3379,8 @@ msgstr "Unidad para el peso del módulo"
msgid "Limit platform assignments to this manufacturer"
msgstr "Limite las asignaciones de plataforma a este fabricante"
-#: 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 "Función asignada"
@@ -3204,25 +3397,25 @@ msgid "Assigned platform"
msgstr "Plataforma asignada"
#: 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 "Chasis virtual"
-#: 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 "Clúster"
@@ -3269,7 +3462,7 @@ msgstr "Dirección del flujo de aire"
msgid "The device in which this module is installed"
msgstr "El dispositivo en el que está instalado este módulo"
-#: 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 "Compartimento de módulos"
@@ -3281,7 +3474,7 @@ msgstr "El compartimiento del módulo en el que está instalado este módulo"
msgid "The type of module"
msgstr "El tipo de módulo"
-#: 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 "Replicar componentes"
@@ -3293,11 +3486,11 @@ msgstr ""
"Rellenar automáticamente los componentes asociados a este tipo de módulo "
"(activado de forma predeterminada)"
-#: 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 "Adopte componentes"
-#: 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 "Adopte los componentes ya existentes"
@@ -3322,15 +3515,15 @@ msgstr "Puerto de alimentación local que alimenta esta toma"
msgid "Electrical phase (for three-phase circuits)"
msgstr "Fase eléctrica (para circuitos trifásicos)"
-#: 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 "Interfaz principal"
-#: 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 "Interfaz puenteada"
@@ -3356,7 +3549,7 @@ msgstr ""
msgid "Physical medium"
msgstr "Medio físico"
-#: 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 "Dúplex"
@@ -3374,8 +3567,8 @@ msgstr "Modo operativo IEEE 802.1Q (para 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 asignado"
@@ -3392,8 +3585,8 @@ msgstr "Función inalámbrica (AP/estación)"
msgid "VDC {vdc} is not assigned to device {device}"
msgstr "VDC {vdc} no está asignado al dispositivo {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 "Puerto trasero"
@@ -3406,7 +3599,7 @@ msgstr "Puerto trasero correspondiente"
msgid "Physical medium classification"
msgstr "Clasificación de medios físicos"
-#: 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 "Dispositivo instalado"
@@ -3493,9 +3686,9 @@ msgstr "Lado {side_upper}: {device} {termination_object} ya está conectado"
msgid "{side_upper} side termination not found: {device} {name}"
msgstr "{side_upper} no se encontró la terminación lateral: {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 "Maestro"
@@ -3524,9 +3717,9 @@ msgid "Single or three-phase"
msgstr "Monofásico o trifásico"
#: 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 "MUT"
@@ -3557,44 +3750,44 @@ msgstr "No puede adoptar {model} {name} porque ya pertenece a un módulo"
msgid "A {model} named {name} already exists"
msgstr "UN {model} llamado {name} ya existe"
-#: 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 "Panel de alimentación"
-#: 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 "Alimentación eléctrica"
-#: dcim/forms/connections.py:74
+#: dcim/forms/connections.py:79
msgid "Side"
msgstr "Lado"
-#: dcim/forms/filtersets.py:141
+#: dcim/forms/filtersets.py:142
msgid "Parent region"
msgstr "Región principal"
-#: 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 "Grupo de padres"
-#: dcim/forms/filtersets.py:246 dcim/forms/filtersets.py:331
+#: dcim/forms/filtersets.py:247 dcim/forms/filtersets.py:332
msgid "Function"
msgstr "Función"
-#: 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 "Imágenes"
-#: 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 "Componentes"
@@ -3602,79 +3795,78 @@ msgstr "Componentes"
msgid "Subdevice role"
msgstr "Función de subdispositivo"
-#: dcim/forms/filtersets.py:717
+#: dcim/forms/filtersets.py:718
msgid "Model"
msgstr "modelo"
-#: dcim/forms/filtersets.py:768
+#: dcim/forms/filtersets.py:762
+msgid "Has an OOB IP"
+msgstr "Tiene una IP OOB"
+
+#: dcim/forms/filtersets.py:769
msgid "Virtual chassis member"
msgstr "Miembro del chasis virtual"
-#: dcim/forms/filtersets.py:1123
+#: dcim/forms/filtersets.py:1121
msgid "Cabled"
msgstr "Cableado"
-#: dcim/forms/filtersets.py:1130
+#: dcim/forms/filtersets.py:1128
msgid "Occupied"
msgstr "Ocupado"
-#: 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 "Conexión"
-#: dcim/forms/filtersets.py:1245 dcim/forms/model_forms.py:1484
-#: templates/dcim/virtualdevicecontext.html:16
-msgid "Virtual Device Context"
-msgstr "Contexto de dispositivo virtual"
-
-#: 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 "Amable"
-#: dcim/forms/filtersets.py:1277
+#: dcim/forms/filtersets.py:1275
msgid "Mgmt only"
msgstr "Solo administración"
-#: 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 inalámbrico"
-#: dcim/forms/filtersets.py:1313
+#: dcim/forms/filtersets.py:1311
msgid "Channel frequency (MHz)"
msgstr "Frecuencia de canal (MHz)"
-#: dcim/forms/filtersets.py:1317
+#: dcim/forms/filtersets.py:1315
msgid "Channel width (MHz)"
msgstr "Ancho de 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 "Potencia de transmisión (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 "Cable"
-#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:960
+#: dcim/forms/filtersets.py:1434 dcim/tables/devices.py:933
msgid "Discovered"
msgstr "Descubierto"
@@ -3683,20 +3875,28 @@ msgstr "Descubierto"
msgid "A virtual chassis member already exists in position {vc_position}."
msgstr "Ya existe un miembro del chasis virtual en posición {vc_position}."
-#: dcim/forms/model_forms.py:101 dcim/tables/devices.py:183
-#: templates/dcim/sitegroup.html:26
-msgid "Site Group"
-msgstr "Grupo de sitios"
-
-#: dcim/forms/model_forms.py:142
+#: dcim/forms/model_forms.py:139
msgid "Contact Info"
msgstr "Información de contacto"
-#: 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 "Rol de bastidor"
-#: dcim/forms/model_forms.py:248
+#: dcim/forms/model_forms.py:227
+msgid "Inventory Control"
+msgstr "Control de inventario"
+
+#: dcim/forms/model_forms.py:231
+msgid "Outer Dimensions"
+msgstr "Dimensiones exteriores"
+
+#: dcim/forms/model_forms.py:233 templates/dcim/device.html:307
+#: templates/dcim/rack.html:73
+msgid "Dimensions"
+msgstr "Dimensiones"
+
+#: dcim/forms/model_forms.py:255
msgid ""
"Comma-separated list of numeric unit IDs. A range may be specified using a "
"hyphen."
@@ -3704,86 +3904,163 @@ msgstr ""
"Lista de identificadores de unidades numéricas separados por comas. Se puede"
" especificar un rango mediante un guión."
-#: 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 "Reservación"
-#: 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 "Babosa"
-#: 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 "Chasis"
-#: 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 "Función del dispositivo"
-#: 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 "La unidad con el número más bajo ocupado por el dispositivo"
-#: 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 posición en el chasis virtual por la que se identifica este dispositivo"
-#: 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 "Prioridad"
-#: dcim/forms/model_forms.py:481
+#: dcim/forms/model_forms.py:492
msgid "The priority of the device in the virtual chassis"
msgstr "La prioridad del dispositivo en el chasis virtual"
-#: dcim/forms/model_forms.py:585
+#: dcim/forms/model_forms.py:599
msgid "Automatically populate components associated with this module type"
msgstr ""
"Rellenar automáticamente los componentes asociados a este tipo de módulo"
-#: dcim/forms/model_forms.py:630
+#: dcim/forms/model_forms.py:661
msgid "Maximum length is 32767 (any unit)"
msgstr "La longitud máxima es 32767 (cualquier unidad)"
-#: dcim/forms/model_forms.py:678
+#: dcim/forms/model_forms.py:712
msgid "Characteristics"
msgstr "Características"
-#: dcim/forms/model_forms.py:1137
-msgid "LAG interface"
-msgstr "Interfaz LAG"
+#: dcim/forms/model_forms.py:1032
+msgid "Console port template"
+msgstr "Plantilla de puerto de consola"
-#: dcim/forms/model_forms.py:1191 dcim/forms/model_forms.py:1352
+#: dcim/forms/model_forms.py:1040
+msgid "Console server port template"
+msgstr "Plantilla de puerto de servidor de consola"
+
+#: dcim/forms/model_forms.py:1048
+msgid "Front port template"
+msgstr "Plantilla de puerto frontal"
+
+#: dcim/forms/model_forms.py:1056
+msgid "Interface template"
+msgstr "Plantilla de interfaz"
+
+#: dcim/forms/model_forms.py:1064
+msgid "Power outlet template"
+msgstr "Plantilla de toma de corriente"
+
+#: dcim/forms/model_forms.py:1072
+msgid "Power port template"
+msgstr "Plantilla de puerto de alimentación"
+
+#: dcim/forms/model_forms.py:1080
+msgid "Rear port template"
+msgstr "Plantilla de puerto trasero"
+
+#: 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 "Interfaz"
-#: 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 "Puerto de consola"
+
+#: 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 "Puerto de servidor de consola"
+
+#: 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 "Puerto frontal"
+
+#: 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 "Puerto trasero"
+
+#: 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 "Puerto de alimentación"
+
+#: 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 "Toma de corriente"
+
+#: dcim/forms/model_forms.py:1097 dcim/forms/model_forms.py:1535
+msgid "Component Assignment"
+msgstr "Asignación de componentes"
+
+#: 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 InventoryItem solo se puede asignar a un único componente."
+
+#: dcim/forms/model_forms.py:1277
+msgid "LAG interface"
+msgstr "Interfaz LAG"
+
+#: dcim/forms/model_forms.py:1428
msgid "Child Device"
msgstr "Dispositivo infantil"
-#: 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."
@@ -3791,49 +4068,44 @@ msgstr ""
"Los dispositivos secundarios primero deben crearse y asignarse al sitio y al"
" rack del dispositivo principal."
-#: dcim/forms/model_forms.py:1328
+#: dcim/forms/model_forms.py:1471
msgid "Console port"
msgstr "Puerto de consola"
-#: dcim/forms/model_forms.py:1336
+#: dcim/forms/model_forms.py:1479
msgid "Console server port"
msgstr "Puerto de servidor de consola"
-#: dcim/forms/model_forms.py:1344
+#: dcim/forms/model_forms.py:1487
msgid "Front port"
msgstr "Puerto frontal"
-#: dcim/forms/model_forms.py:1360
+#: dcim/forms/model_forms.py:1503
msgid "Power outlet"
msgstr "toma de corriente"
-#: 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 "Artículo de inventario"
-#: dcim/forms/model_forms.py:1432
-msgid "An InventoryItem can only be assigned to a single component."
-msgstr "Un InventoryItem solo se puede asignar a un único componente."
-
-#: 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 "Función del artículo de inventario"
-#: 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.)"
@@ -3841,7 +4113,7 @@ msgstr ""
"Se admiten los rangos alfanuméricos. (Debe coincidir con el número de "
"objetos que se están creando)."
-#: 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"
@@ -3850,18 +4122,18 @@ msgstr ""
"El patrón proporcionado especifica {value_count} valores, pero "
"{pattern_count} se esperan."
-#: 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 "Puertos traseros"
-#: 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 ""
"Seleccione una asignación de puerto posterior para cada puerto frontal que "
"se vaya a crear."
-#: 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 "
@@ -3871,7 +4143,7 @@ msgstr ""
"({frontport_count}) debe coincidir con el número seleccionado de posiciones "
"de los puertos traseros ({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 "
@@ -3880,7 +4152,7 @@ msgstr ""
"La cadena {module}
se sustituirá por la posición del módulo "
"asignado, si lo hubiera."
-#: 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 "
@@ -3890,17 +4162,17 @@ msgstr ""
"coincidir con el número seleccionado de posiciones de los puertos traseros "
"({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 "Miembros"
-#: dcim/forms/object_create.py:417
+#: dcim/forms/object_create.py:418
msgid "Initial position"
msgstr "Posición inicial"
-#: 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."
@@ -3908,12 +4180,12 @@ msgstr ""
"Posición del primer dispositivo miembro. Aumenta en uno por cada miembro "
"adicional."
-#: dcim/forms/object_create.py:434
+#: dcim/forms/object_create.py:435
msgid "A position must be specified for the first VC member."
msgstr "Se debe especificar un puesto para el primer miembro del 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 "etiqueta"
@@ -3968,7 +4240,7 @@ msgstr "terminación de cable"
msgid "cable terminations"
msgstr "terminaciones de cables"
-#: dcim/models/cables.py:327
+#: dcim/models/cables.py:331
#, python-brace-format
msgid ""
"Duplicate termination found for {app_label}.{model} {termination_id}: cable "
@@ -3977,34 +4249,34 @@ msgstr ""
"Se encontró una terminación duplicada para {app_label}.{model} "
"{termination_id}: cable {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 "Los cables no se pueden terminar en {type_display} interfaz"
-#: dcim/models/cables.py:344
+#: dcim/models/cables.py:348
msgid "Circuit terminations attached to a provider network may not be cabled."
msgstr ""
"Es posible que las terminaciones de circuito conectadas a la red de un "
"proveedor no estén cableadas."
-#: 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á activo"
-#: dcim/models/cables.py:446
+#: dcim/models/cables.py:450
msgid "is complete"
msgstr "está completo"
-#: dcim/models/cables.py:450
+#: dcim/models/cables.py:454
msgid "is split"
msgstr "está dividido"
-#: dcim/models/cables.py:458
+#: dcim/models/cables.py:462
msgid "cable path"
msgstr "ruta de cable"
-#: dcim/models/cables.py:459
+#: dcim/models/cables.py:463
msgid "cable paths"
msgstr "rutas de cable"
@@ -4142,7 +4414,7 @@ msgstr "plantillas de interfaz"
#: 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 "Una interfaz no se puede conectar a sí misma."
@@ -4392,22 +4664,22 @@ msgid "wireless LANs"
msgstr "LAN inalámbricas"
#: dcim/models/device_components.py:698
-#: virtualization/models/virtualmachines.py:328
+#: virtualization/models/virtualmachines.py:330
msgid "untagged VLAN"
msgstr "VLAN sin etiquetar"
#: dcim/models/device_components.py:704
-#: virtualization/models/virtualmachines.py:334
+#: virtualization/models/virtualmachines.py:336
msgid "tagged VLANs"
msgstr "VLAN etiquetadas"
#: dcim/models/device_components.py:746
-#: virtualization/models/virtualmachines.py:370
+#: virtualization/models/virtualmachines.py:372
msgid "interface"
msgstr "interfaz"
#: dcim/models/device_components.py:747
-#: virtualization/models/virtualmachines.py:371
+#: virtualization/models/virtualmachines.py:373
msgid "interfaces"
msgstr "interfaz"
@@ -4422,7 +4694,7 @@ msgid "{display_type} interfaces cannot be marked as connected."
msgstr "{display_type} las interfaces no se pueden marcar como conectadas."
#: 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 "Una interfaz no puede ser su propia interfaz principal."
@@ -4635,12 +4907,12 @@ msgid "inventory item roles"
msgstr "roles de artículos de inventario"
#: 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 "número de serie"
#: 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 "etiqueta de activo"
@@ -4707,7 +4979,7 @@ msgstr "número de pieza"
msgid "Discrete part number (optional)"
msgstr "Número de pieza discreto (opcional)"
-#: dcim/models/devices.py:107 dcim/models/racks.py:137
+#: dcim/models/devices.py:107 dcim/models/racks.py:138
msgid "height (U)"
msgstr "altura (U)"
@@ -4832,7 +5104,7 @@ msgstr "La función que cumple este dispositivo"
msgid "Chassis serial number, assigned by the manufacturer"
msgstr "Número de serie del chasis, asignado por el fabricante"
-#: 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 "Una etiqueta única que se utiliza para identificar este dispositivo"
@@ -4844,13 +5116,13 @@ msgstr "posición (U)"
msgid "rack face"
msgstr "cara del estante"
-#: 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"
@@ -4862,79 +5134,79 @@ msgstr "IP fuera de banda"
msgid "VC position"
msgstr "Posición VC"
-#: dcim/models/devices.py:697
+#: dcim/models/devices.py:696
msgid "Virtual chassis position"
msgstr "Posición virtual del chasis"
-#: dcim/models/devices.py:700
+#: dcim/models/devices.py:699
msgid "VC priority"
msgstr "Prioridad VC"
-#: dcim/models/devices.py:704
+#: dcim/models/devices.py:703
msgid "Virtual chassis master election priority"
msgstr "Prioridad de elección del maestro del chasis virtual"
-#: dcim/models/devices.py:707 dcim/models/sites.py:207
+#: dcim/models/devices.py:706 dcim/models/sites.py:207
msgid "latitude"
msgstr "latitud"
-#: 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 "Coordenada GPS en formato decimal (xx.aaaaa)"
-#: dcim/models/devices.py:715 dcim/models/sites.py:215
+#: dcim/models/devices.py:714 dcim/models/sites.py:215
msgid "longitude"
msgstr "longitud"
-#: dcim/models/devices.py:788
+#: dcim/models/devices.py:787
msgid "Device name must be unique per site."
msgstr "El nombre del dispositivo debe ser único por sitio."
-#: dcim/models/devices.py:799 ipam/models/services.py:75
+#: dcim/models/devices.py:798 ipam/models/services.py:74
msgid "device"
msgstr "dispositivo"
-#: dcim/models/devices.py:800
+#: dcim/models/devices.py:799
msgid "devices"
msgstr "dispositivos"
-#: dcim/models/devices.py:840
+#: dcim/models/devices.py:825
#, python-brace-format
msgid "Rack {rack} does not belong to site {site}."
msgstr "Estante {rack} no pertenece al sitio {site}."
-#: dcim/models/devices.py:845
+#: dcim/models/devices.py:830
#, python-brace-format
msgid "Location {location} does not belong to site {site}."
msgstr "Ubicación {location} no pertenece al sitio {site}."
-#: dcim/models/devices.py:851
+#: dcim/models/devices.py:836
#, python-brace-format
msgid "Rack {rack} does not belong to location {location}."
msgstr "Estante {rack} no pertenece a la ubicación {location}."
-#: dcim/models/devices.py:858
+#: dcim/models/devices.py:843
msgid "Cannot select a rack face without assigning a rack."
msgstr "No se puede seleccionar una cara de bastidor sin asignar un bastidor."
-#: dcim/models/devices.py:862
+#: dcim/models/devices.py:847
msgid "Cannot select a rack position without assigning a rack."
msgstr ""
"No se puede seleccionar una posición de cremallera sin asignar una "
"cremallera."
-#: dcim/models/devices.py:868
+#: dcim/models/devices.py:853
msgid "Position must be in increments of 0.5 rack units."
msgstr "La posición debe estar en incrementos de 0,5 unidades de estante."
-#: dcim/models/devices.py:872
+#: dcim/models/devices.py:857
msgid "Must specify rack face when defining rack position."
msgstr ""
"Debe especificar la cara de la cremallera al definir la posición de la "
"cremallera."
-#: 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."
@@ -4942,7 +5214,7 @@ msgstr ""
"Un tipo de dispositivo 0U ({device_type}) no se puede asignar a una posición"
" de estantería."
-#: 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."
@@ -4950,7 +5222,7 @@ msgstr ""
"Los tipos de dispositivos secundarios no se pueden asignar a la cara de un "
"bastidor. Este es un atributo del dispositivo principal."
-#: 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."
@@ -4958,7 +5230,7 @@ msgstr ""
"Los tipos de dispositivos secundarios no se pueden asignar a una posición de"
" bastidor. Este es un atributo del dispositivo principal."
-#: 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 "
@@ -4967,23 +5239,23 @@ msgstr ""
"U{position} ya está ocupado o no tiene espacio suficiente para este tipo de "
"dispositivo: {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} no es una dirección 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 ""
"La dirección IP especificada ({ip}) no está asignado a este dispositivo."
-#: dcim/models/devices.py:942
+#: dcim/models/devices.py:927
#, python-brace-format
msgid "{ip} is not an IPv6 address."
msgstr "{ip} no es una dirección 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, "
@@ -4993,25 +5265,25 @@ msgstr ""
"dispositivos, pero el tipo de este dispositivo pertenece a "
"{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 "El clúster asignado pertenece a un sitio diferente ({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 ""
"Un dispositivo asignado a un chasis virtual debe tener su posición definida."
-#: dcim/models/devices.py:1193
+#: dcim/models/devices.py:1178
msgid "module"
msgstr "módulo"
-#: dcim/models/devices.py:1194
+#: dcim/models/devices.py:1179
msgid "modules"
msgstr "módulos"
-#: 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 "
@@ -5020,22 +5292,22 @@ msgstr ""
"El módulo debe instalarse en un compartimiento de módulos que pertenezca al "
"dispositivo asignado ({device})."
-#: dcim/models/devices.py:1314
+#: dcim/models/devices.py:1299
msgid "domain"
msgstr "dominio"
-#: dcim/models/devices.py:1327 dcim/models/devices.py:1328
+#: dcim/models/devices.py:1312 dcim/models/devices.py:1313
msgid "virtual chassis"
msgstr "chasis virtual"
-#: 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 ""
"El maestro seleccionado ({master}) no está asignado a este chasis virtual."
-#: 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 "
@@ -5044,41 +5316,42 @@ msgstr ""
"No se puede eliminar el chasis virtual {self}. Hay interfaces miembros que "
"forman interfaces LAG entre chasis."
-#: dcim/models/devices.py:1384 vpn/models/l2vpn.py:37
+#: dcim/models/devices.py:1369 vpn/models/l2vpn.py:37
msgid "identifier"
msgstr "identificador"
-#: dcim/models/devices.py:1385
+#: dcim/models/devices.py:1370
msgid "Numeric identifier unique to the parent device"
msgstr "Identificador numérico exclusivo del dispositivo principal"
-#: 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 "comentarios"
-#: dcim/models/devices.py:1429
+#: dcim/models/devices.py:1414
msgid "virtual device context"
msgstr "contexto de dispositivo virtual"
-#: dcim/models/devices.py:1430
+#: dcim/models/devices.py:1415
msgid "virtual device contexts"
msgstr "contextos de dispositivos virtuales"
-#: dcim/models/devices.py:1462
+#: dcim/models/devices.py:1447
#, python-brace-format
msgid "{ip} is not an IPv{family} address."
msgstr "{ip} no es un IPv{family} dirección."
-#: dcim/models/devices.py:1468
+#: dcim/models/devices.py:1453
msgid "Primary IP address must belong to an interface on the assigned device."
msgstr ""
"La dirección IP principal debe pertenecer a una interfaz del dispositivo "
"asignado."
#: 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 "peso"
@@ -5105,43 +5378,43 @@ msgid ""
msgstr ""
"Ubicación {location} ({location_site}) está en un sitio diferente al {site}"
-#: dcim/models/power.py:107
+#: dcim/models/power.py:108
msgid "supply"
msgstr "suministrar"
-#: dcim/models/power.py:113
+#: dcim/models/power.py:114
msgid "phase"
msgstr "fase"
-#: dcim/models/power.py:119
+#: dcim/models/power.py:120
msgid "voltage"
msgstr "voltaje"
-#: dcim/models/power.py:124
+#: dcim/models/power.py:125
msgid "amperage"
msgstr "amperaje"
-#: dcim/models/power.py:129
+#: dcim/models/power.py:130
msgid "max utilization"
msgstr "utilización máxima"
-#: dcim/models/power.py:132
+#: dcim/models/power.py:133
msgid "Maximum permissible draw (percentage)"
msgstr "Consumo máximo permitido (porcentaje)"
-#: dcim/models/power.py:135
+#: dcim/models/power.py:136
msgid "available power"
msgstr "potencia disponible"
-#: dcim/models/power.py:163
+#: dcim/models/power.py:164
msgid "power feed"
msgstr "alimentación"
-#: dcim/models/power.py:164
+#: dcim/models/power.py:165
msgid "power feeds"
msgstr "fuentes de alimentación"
-#: dcim/models/power.py:178
+#: dcim/models/power.py:179
#, python-brace-format
msgid ""
"Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) "
@@ -5150,98 +5423,98 @@ msgstr ""
"Estante {rack} ({rack_site}) y panel de alimentación {powerpanel} "
"({powerpanel_site}) están en diferentes sitios."
-#: dcim/models/power.py:189
+#: dcim/models/power.py:190
msgid "Voltage cannot be negative for AC supply"
msgstr ""
"La tensión no puede ser negativa para el suministro de corriente alterna"
-#: dcim/models/racks.py:49
+#: dcim/models/racks.py:50
msgid "rack role"
msgstr "rol de bastidor"
-#: dcim/models/racks.py:50
+#: dcim/models/racks.py:51
msgid "rack roles"
msgstr "roles de seguimiento"
-#: dcim/models/racks.py:74
+#: dcim/models/racks.py:75
msgid "facility ID"
msgstr "ID de la instalación"
-#: dcim/models/racks.py:75
+#: dcim/models/racks.py:76
msgid "Locally-assigned identifier"
msgstr "Identificador asignado localmente"
-#: 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 "Función funcional"
-#: dcim/models/racks.py:121
+#: dcim/models/racks.py:122
msgid "A unique tag used to identify this rack"
msgstr "Una etiqueta única que se utiliza para identificar este estante"
-#: dcim/models/racks.py:132
+#: dcim/models/racks.py:133
msgid "width"
msgstr "anchura"
-#: dcim/models/racks.py:133
+#: dcim/models/racks.py:134
msgid "Rail-to-rail width"
msgstr "Ancho de riel a riel"
-#: dcim/models/racks.py:139
+#: dcim/models/racks.py:140
msgid "Height in rack units"
msgstr "Altura en unidades de estantería"
-#: dcim/models/racks.py:143
+#: dcim/models/racks.py:144
msgid "starting unit"
msgstr "unidad de arranque"
-#: dcim/models/racks.py:145
+#: dcim/models/racks.py:146
msgid "Starting unit for rack"
msgstr "Unidad de arranque para bastidor"
-#: dcim/models/racks.py:149
+#: dcim/models/racks.py:150
msgid "descending units"
msgstr "unidades descendentes"
-#: dcim/models/racks.py:150
+#: dcim/models/racks.py:151
msgid "Units are numbered top-to-bottom"
msgstr "Las unidades están numeradas de arriba a abajo"
-#: dcim/models/racks.py:153
+#: dcim/models/racks.py:154
msgid "outer width"
msgstr "ancho exterior"
-#: dcim/models/racks.py:156
+#: dcim/models/racks.py:157
msgid "Outer dimension of rack (width)"
msgstr "Dimensión exterior del estante (ancho)"
-#: dcim/models/racks.py:159
+#: dcim/models/racks.py:160
msgid "outer depth"
msgstr "profundidad exterior"
-#: dcim/models/racks.py:162
+#: dcim/models/racks.py:163
msgid "Outer dimension of rack (depth)"
msgstr "Dimensión exterior del bastidor (profundidad)"
-#: dcim/models/racks.py:165
+#: dcim/models/racks.py:166
msgid "outer unit"
msgstr "unidad exterior"
-#: dcim/models/racks.py:171
+#: dcim/models/racks.py:172
msgid "max weight"
msgstr "peso máximo"
-#: dcim/models/racks.py:174
+#: dcim/models/racks.py:175
msgid "Maximum load capacity for the rack"
msgstr "Capacidad de carga máxima del bastidor"
-#: dcim/models/racks.py:182
+#: dcim/models/racks.py:183
msgid "mounting depth"
msgstr "profundidad de montaje"
-#: 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."
@@ -5250,30 +5523,30 @@ msgstr ""
"los estantes de cuatro postes, esta es la distancia entre los rieles "
"delantero y trasero."
-#: dcim/models/racks.py:220
+#: dcim/models/racks.py:221
msgid "rack"
msgstr "estante"
-#: dcim/models/racks.py:221
+#: dcim/models/racks.py:222
msgid "racks"
msgstr "bastidores"
-#: dcim/models/racks.py:236
+#: dcim/models/racks.py:237
#, python-brace-format
msgid "Assigned location must belong to parent site ({site})."
msgstr "La ubicación asignada debe pertenecer al sitio principal ({site})."
-#: dcim/models/racks.py:240
+#: dcim/models/racks.py:241
msgid "Must specify a unit when setting an outer width/depth"
msgstr ""
"Debe especificar una unidad al establecer una anchura o profundidad "
"exteriores"
-#: dcim/models/racks.py:244
+#: dcim/models/racks.py:245
msgid "Must specify a unit when setting a maximum weight"
msgstr "Debe especificar una unidad al establecer un peso máximo"
-#: 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 "
@@ -5282,7 +5555,7 @@ msgstr ""
"El estante debe tener al menos {min_height}Hablo para alojar los "
"dispositivos instalados actualmente."
-#: 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 "
@@ -5291,30 +5564,30 @@ msgstr ""
"La numeración de las unidades del bastidor debe comenzar en {position} o "
"menos para alojar los dispositivos actualmente instalados."
-#: dcim/models/racks.py:269
+#: dcim/models/racks.py:270
#, python-brace-format
msgid "Location must be from the same site, {site}."
msgstr "La ubicación debe ser del mismo sitio, {site}."
-#: dcim/models/racks.py:522
+#: dcim/models/racks.py:523
msgid "units"
msgstr "unidades"
-#: dcim/models/racks.py:548
+#: dcim/models/racks.py:549
msgid "rack reservation"
msgstr "reserva de seguimiento"
-#: dcim/models/racks.py:549
+#: dcim/models/racks.py:550
msgid "rack reservations"
msgstr "Seguimiento de reservas"
-#: dcim/models/racks.py:566
+#: dcim/models/racks.py:567
#, python-brace-format
msgid "Invalid unit(s) for {height}U rack: {unit_list}"
msgstr ""
"Unidad (es) no válida (s) para {height}Rack de Reino Unido: {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 "Ya se han reservado las siguientes unidades: {unit_list}"
@@ -5355,11 +5628,11 @@ msgstr "grupos de sitios"
msgid "Full name of the site"
msgstr "Nombre completo del sitio"
-#: dcim/models/sites.py:181
+#: dcim/models/sites.py:181 dcim/models/sites.py:279
msgid "facility"
msgstr "instalaciones"
-#: dcim/models/sites.py:184
+#: dcim/models/sites.py:184 dcim/models/sites.py:282
msgid "Local facility ID or description"
msgstr "ID o descripción de la instalación local"
@@ -5387,23 +5660,23 @@ msgstr "sitio"
msgid "sites"
msgstr "sitios"
-#: dcim/models/sites.py:303
+#: dcim/models/sites.py:309
msgid "A location with this name already exists within the specified site."
msgstr "Ya existe una ubicación con este nombre en el sitio especificado."
-#: dcim/models/sites.py:313
+#: dcim/models/sites.py:319
msgid "A location with this slug already exists within the specified site."
msgstr "Ya existe una ubicación con esta babosa en el sitio especificado."
-#: dcim/models/sites.py:316
+#: dcim/models/sites.py:322
msgid "location"
msgstr "ubicación"
-#: dcim/models/sites.py:317
+#: dcim/models/sites.py:323
msgid "locations"
msgstr "ubicaciones"
-#: 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 ""
@@ -5449,109 +5722,102 @@ msgstr "Sitio A"
msgid "Site B"
msgstr "Sitio 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 "Puerto de consola"
-
#: 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 "Accesible"
-#: 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 "Puerto de alimentación"
-
-#: 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 "Dispositivos"
-#: 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 "VM"
-#: 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 "Plantilla de configuración"
-#: 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 "Grupo de sitios"
+
+#: 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 "Dirección 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 "Dirección 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 "Dirección IPv6"
-#: dcim/tables/devices.py:243
+#: dcim/tables/devices.py:215
msgid "VC Position"
msgstr "Posición VC"
-#: dcim/tables/devices.py:246
+#: dcim/tables/devices.py:218
msgid "VC Priority"
msgstr "Prioridad 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 "Dispositivo principal"
-#: dcim/tables/devices.py:258
+#: dcim/tables/devices.py:230
msgid "Position (Device Bay)"
msgstr "Posición (bahía de dispositivos)"
-#: dcim/tables/devices.py:267
+#: dcim/tables/devices.py:239
msgid "Console ports"
msgstr "Puertos de consola"
-#: dcim/tables/devices.py:270
+#: dcim/tables/devices.py:242
msgid "Console server ports"
msgstr "Puertos de servidor de consola"
-#: dcim/tables/devices.py:273
+#: dcim/tables/devices.py:245
msgid "Power ports"
msgstr "Puertos de alimentación"
-#: dcim/tables/devices.py:276
+#: dcim/tables/devices.py:248
msgid "Power outlets"
msgstr "tomas de corriente"
-#: 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
@@ -5559,145 +5825,133 @@ msgstr "tomas de corriente"
msgid "Interfaces"
msgstr "Interfaces"
-#: dcim/tables/devices.py:282
+#: dcim/tables/devices.py:254
msgid "Front ports"
msgstr "Puertos frontales"
-#: dcim/tables/devices.py:288
+#: dcim/tables/devices.py:260
msgid "Device bays"
msgstr "Compartimentos para dispositivos"
-#: dcim/tables/devices.py:291
+#: dcim/tables/devices.py:263
msgid "Module bays"
msgstr "Bahías de módulos"
-#: dcim/tables/devices.py:294
+#: dcim/tables/devices.py:266
msgid "Inventory items"
msgstr "Artículos de inventario"
-#: 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 "Bahía de módulos"
-#: dcim/tables/devices.py:354
+#: dcim/tables/devices.py:326
msgid "Cable Color"
msgstr "Color del cable"
-#: dcim/tables/devices.py:360
+#: dcim/tables/devices.py:332
msgid "Link Peers"
msgstr "Vincula a tus compañeros"
-#: dcim/tables/devices.py:363
+#: dcim/tables/devices.py:335
msgid "Mark Connected"
msgstr "Marcar conectado"
-#: dcim/tables/devices.py:479
+#: dcim/tables/devices.py:451
msgid "Maximum draw (W)"
msgstr "Consumo máximo (W)"
-#: dcim/tables/devices.py:482
+#: dcim/tables/devices.py:454
msgid "Allocated draw (W)"
msgstr "Sorteo asignado (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 "Direcciones 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 "Grupos 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 "Túnel"
-#: 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 "Solo administración"
-#: dcim/tables/devices.py:633
-msgid "Wireless link"
-msgstr "Enlace inalámbrico"
-
-#: 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 "Artículos de inventario"
-#: 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 "Puerto trasero"
-
-#: dcim/tables/devices.py:897 templates/dcim/modulebay.html:51
+#: dcim/tables/devices.py:870 templates/dcim/modulebay.html:49
msgid "Installed Module"
msgstr "Módulo instalado"
-#: dcim/tables/devices.py:900
+#: dcim/tables/devices.py:873
msgid "Module Serial"
msgstr "Serie del módulo"
-#: dcim/tables/devices.py:904
+#: dcim/tables/devices.py:877
msgid "Module Asset Tag"
msgstr "Etiqueta de activo del módulo"
-#: dcim/tables/devices.py:913
+#: dcim/tables/devices.py:886
msgid "Module Status"
msgstr "Estado del módulo"
-#: 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 "Componente"
-#: dcim/tables/devices.py:1010
+#: dcim/tables/devices.py:983
msgid "Items"
msgstr "Artículos"
-#: 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 "Tipos de dispositivos"
-#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:75
+#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:74
msgid "Module Types"
msgstr "Tipos de módulos"
-#: 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 "Plataformas"
-#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:32
+#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:29
msgid "Default Platform"
msgstr "Plataforma predeterminada"
-#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:48
+#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:45
msgid "Full Depth"
msgstr "Profundidad total"
@@ -5709,71 +5963,71 @@ msgstr "Altura en U"
msgid "Instances"
msgstr "Instancias"
-#: 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 "Puertos de consola"
-#: 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 "Puertos de servidor de consola"
-#: 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 "Puertos de alimentación"
-#: 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 "Tomas de corriente"
-#: 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 "Puertos frontales"
-#: 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 "Puertos traseros"
-#: 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 "Bahías de dispositivos"
-#: 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 "Bahías de módulos"
-#: 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 "Fuentes de alimentación"
-#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:106
+#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99
msgid "Max Utilization"
msgstr "Utilización máxima"
@@ -5782,12 +6036,12 @@ msgid "Available Power (VA)"
msgstr "Potencia 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 "Bastidores"
-#: 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 "Altura"
@@ -5795,11 +6049,11 @@ msgstr "Altura"
msgid "Space"
msgstr "Espacio"
-#: dcim/tables/racks.py:96 templates/dcim/rack.html:105
+#: dcim/tables/racks.py:96 templates/dcim/rack.html:100
msgid "Outer Width"
msgstr "Anchura exterior"
-#: dcim/tables/racks.py:100 templates/dcim/rack.html:115
+#: dcim/tables/racks.py:100 templates/dcim/rack.html:110
msgid "Outer Depth"
msgstr "Profundidad exterior"
@@ -5808,10 +6062,10 @@ msgid "Max Weight"
msgstr "Peso máximo"
#: 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 "Sitios"
@@ -5824,273 +6078,276 @@ msgstr "El caso de prueba debe establecer peer_termination_type"
msgid "Disconnected {count} {type}"
msgstr "Desconectado {count} {type}"
-#: dcim/views.py:696 netbox/navigation/menu.py:29
+#: dcim/views.py:696 netbox/navigation/menu.py:28
msgid "Reservations"
msgstr "Reservaciones"
-#: dcim/views.py:714
+#: dcim/views.py:714 templates/dcim/location.html:90
+#: templates/dcim/site.html:139
msgid "Non-Racked Devices"
msgstr "Dispositivos no rakeados"
-#: 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 "Contexto de configuración"
-#: dcim/views.py:2046 virtualization/views.py:418
+#: dcim/views.py:2045 virtualization/views.py:418
msgid "Render Config"
msgstr "Configuración de renderizado"
-#: dcim/views.py:2974 ipam/tables/ip.py:233
+#: dcim/views.py:2970 ipam/tables/ip.py:233
msgid "Children"
msgstr "Niños"
-#: extras/api/customfields.py:92
+#: extras/api/customfields.py:88
#, python-brace-format
msgid "Unknown related object(s): {name}"
msgstr "Objeto (s) relacionado (s) desconocido (s): {name}"
-#: extras/api/serializers.py:154
+#: extras/api/serializers_/customfields.py:74
msgid "Changing the type of custom fields is not supported."
msgstr "No se admite cambiar el tipo de campos personalizados."
-#: extras/api/serializers.py:549 extras/api/serializers.py:554
-msgid "Scheduling is not enabled for this report."
-msgstr "La programación no está habilitada para este informe."
-
-#: 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 programación no está habilitada para este script."
-#: extras/choices.py:27 extras/forms/misc.py:14
+#: extras/choices.py:30 extras/forms/misc.py:14
msgid "Text"
msgstr "Texto"
-#: extras/choices.py:28
+#: extras/choices.py:31
msgid "Text (long)"
msgstr "Texto (largo)"
-#: extras/choices.py:29
+#: extras/choices.py:32
msgid "Integer"
msgstr "Número entero"
-#: extras/choices.py:30
+#: extras/choices.py:33
msgid "Decimal"
msgstr "Decimal"
-#: extras/choices.py:31
+#: extras/choices.py:34
msgid "Boolean (true/false)"
msgstr "Booleano (verdadero o falso)"
-#: extras/choices.py:32
+#: extras/choices.py:35
msgid "Date"
msgstr "Fecha"
-#: extras/choices.py:33
+#: extras/choices.py:36
msgid "Date & time"
msgstr "Fecha y hora"
-#: extras/choices.py:35
+#: extras/choices.py:38
msgid "JSON"
msgstr "JSON"
-#: extras/choices.py:36
+#: extras/choices.py:39
msgid "Selection"
msgstr "Selección"
-#: extras/choices.py:37
+#: extras/choices.py:40
msgid "Multiple selection"
msgstr "Selección múltiple"
-#: extras/choices.py:39
+#: extras/choices.py:42
msgid "Multiple objects"
msgstr "Objetos múltiples"
-#: 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 "Discapacitado"
-#: extras/choices.py:51
+#: extras/choices.py:54
msgid "Loose"
msgstr "Suelto"
-#: extras/choices.py:52
+#: extras/choices.py:55
msgid "Exact"
msgstr "Exacto"
-#: extras/choices.py:63
+#: extras/choices.py:66
msgid "Always"
msgstr "Siempre"
-#: extras/choices.py:64
+#: extras/choices.py:67
msgid "If set"
msgstr "Si está configurado"
-#: extras/choices.py:65 extras/choices.py:78
+#: extras/choices.py:68 extras/choices.py:81
msgid "Hidden"
msgstr "Oculto"
-#: extras/choices.py:76
+#: extras/choices.py:79
msgid "Yes"
msgstr "Sí"
-#: extras/choices.py:77
+#: extras/choices.py:80
msgid "No"
msgstr "No"
-#: 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 "Enlace"
-#: extras/choices.py:119
+#: extras/choices.py:122
msgid "Newest"
msgstr "El más reciente"
-#: extras/choices.py:120
+#: extras/choices.py:123
msgid "Oldest"
msgstr "El más antiguo"
-#: extras/choices.py:136 templates/generic/object.html:51
+#: extras/choices.py:139 templates/generic/object.html:61
msgid "Updated"
msgstr "Actualizado"
-#: extras/choices.py:137
+#: extras/choices.py:140
msgid "Deleted"
msgstr "Eliminado"
-#: extras/choices.py:154 extras/choices.py:176
+#: extras/choices.py:157 extras/choices.py:181
msgid "Info"
msgstr "Información"
-#: extras/choices.py:155 extras/choices.py:175
+#: extras/choices.py:158 extras/choices.py:180
msgid "Success"
msgstr "Éxito"
-#: extras/choices.py:156 extras/choices.py:177
+#: extras/choices.py:159 extras/choices.py:182
msgid "Warning"
msgstr "Advertencia"
-#: extras/choices.py:157
+#: extras/choices.py:160
msgid "Danger"
msgstr "Peligro"
-#: extras/choices.py:174 utilities/choices.py:190
+#: extras/choices.py:178
+msgid "Debug"
+msgstr "Depurar"
+
+#: extras/choices.py:179 netbox/choices.py:104
msgid "Default"
msgstr "Predeterminado"
-#: extras/choices.py:178
+#: extras/choices.py:183
msgid "Failure"
msgstr "Fracaso"
-#: extras/choices.py:185
+#: extras/choices.py:199
msgid "Hourly"
msgstr "Cada hora"
-#: extras/choices.py:186
+#: extras/choices.py:200
msgid "12 hours"
msgstr "12 horas"
-#: extras/choices.py:187
+#: extras/choices.py:201
msgid "Daily"
msgstr "Diariamente"
-#: extras/choices.py:188
+#: extras/choices.py:202
msgid "Weekly"
msgstr "Semanal"
-#: extras/choices.py:189
+#: extras/choices.py:203
msgid "30 days"
msgstr "30 días"
-#: 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 "Crear"
-#: 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 "Actualización"
-#: 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 "Eliminar"
-#: 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 "Azul"
-#: 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 "añil"
-#: 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 "Morado"
-#: 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 "Rosado"
-#: 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 "rojo"
-#: 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 "naranja"
-#: 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 "Amarillo"
-#: 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 "Verde"
-#: 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 "Verde azulado"
-#: 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 "Cian"
-#: 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 "Negro"
-#: 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 "blanco"
-#: 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 "Guión"
@@ -6135,24 +6392,24 @@ msgstr "Tipo de widget"
msgid "Unregistered widget class: {name}"
msgstr "Clase de widget no registrada: {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} debe definir un método render ()."
-#: extras/dashboard/widgets.py:150
+#: extras/dashboard/widgets.py:161
msgid "Note"
msgstr "Nota"
-#: extras/dashboard/widgets.py:151
+#: extras/dashboard/widgets.py:162
msgid "Display some arbitrary custom content. Markdown is supported."
msgstr "Muestra contenido personalizado arbitrario. Markdown es compatible."
-#: extras/dashboard/widgets.py:164
+#: extras/dashboard/widgets.py:175
msgid "Object Counts"
msgstr "Recuentos de objetos"
-#: 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."
@@ -6160,225 +6417,230 @@ msgstr ""
"Muestre un conjunto de modelos de NetBox y el número de objetos creados para"
" cada tipo."
-#: extras/dashboard/widgets.py:175
+#: extras/dashboard/widgets.py:186
msgid "Filters to apply when counting the number of objects"
msgstr "Filtros para aplicar al contar el número de objetos"
-#: extras/dashboard/widgets.py:183
+#: extras/dashboard/widgets.py:194
msgid "Invalid format. Object filters must be passed as a dictionary."
msgstr ""
"Formato no válido. Los filtros de objetos se deben pasar como un "
"diccionario."
-#: extras/dashboard/widgets.py:211
+#: extras/dashboard/widgets.py:222
msgid "Object List"
msgstr "Lista de objetos"
-#: extras/dashboard/widgets.py:212
+#: extras/dashboard/widgets.py:223
msgid "Display an arbitrary list of objects."
msgstr "Muestra una lista arbitraria de objetos."
-#: extras/dashboard/widgets.py:225
+#: extras/dashboard/widgets.py:236
msgid "The default number of objects to display"
msgstr "El número predeterminado de objetos que se van a mostrar"
-#: extras/dashboard/widgets.py:237
+#: extras/dashboard/widgets.py:248
msgid "Invalid format. URL parameters must be passed as a dictionary."
msgstr ""
"Formato no válido. Los parámetros de URL se deben pasar como un diccionario."
-#: extras/dashboard/widgets.py:272
+#: extras/dashboard/widgets.py:283
msgid "RSS Feed"
msgstr "Fuente RSS"
-#: extras/dashboard/widgets.py:277
+#: extras/dashboard/widgets.py:288
msgid "Embed an RSS feed from an external website."
msgstr "Inserte una fuente RSS desde un sitio web externo."
-#: extras/dashboard/widgets.py:284
+#: extras/dashboard/widgets.py:295
msgid "Feed URL"
msgstr "URL del feed"
-#: extras/dashboard/widgets.py:289
+#: extras/dashboard/widgets.py:300
msgid "The maximum number of objects to display"
msgstr "El número máximo de objetos que se van a mostrar"
-#: extras/dashboard/widgets.py:294
+#: extras/dashboard/widgets.py:305
msgid "How long to stored the cached content (in seconds)"
msgstr "Cuánto tiempo se debe almacenar el contenido en caché (en segundos)"
-#: 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 "Marcadores"
-#: extras/dashboard/widgets.py:350
+#: extras/dashboard/widgets.py:361
msgid "Show your personal bookmarks"
msgstr "Muestra tus marcadores personales"
-#: extras/events.py:133
+#: extras/events.py:128
#, python-brace-format
msgid "Unknown action type for an event rule: {action_type}"
msgstr "Tipo de acción desconocido para una regla de evento: {action_type}"
-#: extras/events.py:181
+#: extras/events.py:176
#, python-brace-format
msgid "Cannot import events pipeline {name} error: {error}"
msgstr "No se puede importar la canalización de eventos {name} error: {error}"
-#: extras/filtersets.py:207 extras/filtersets.py:542 extras/filtersets.py:570
+#: extras/filtersets.py:45
+msgid "Script module (ID)"
+msgstr "Módulo de script (ID)"
+
+#: extras/filtersets.py:249 extras/filtersets.py:589 extras/filtersets.py:621
msgid "Data file (ID)"
msgstr "Archivo de datos (ID)"
-#: extras/filtersets.py:479 virtualization/forms/filtersets.py:114
+#: extras/filtersets.py:526 virtualization/forms/filtersets.py:118
msgid "Cluster type"
msgstr "Tipo de clúster"
-#: 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 "Tipo de clúster (babosa)"
-#: 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 "Grupo de clústeres"
-#: extras/filtersets.py:496 virtualization/filtersets.py:136
+#: extras/filtersets.py:543 virtualization/filtersets.py:136
msgid "Cluster group (slug)"
msgstr "Grupo de racimos (babosa)"
-#: 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 "Grupo de inquilinos"
-#: 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 "Grupo de inquilinos (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 "Etiqueta"
-#: extras/filtersets.py:534
+#: extras/filtersets.py:581
msgid "Tag (slug)"
msgstr "Etiqueta (babosa)"
-#: 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 "Tiene datos de contexto de configuración local"
-#: extras/filtersets.py:619
+#: extras/filtersets.py:670
msgid "User name"
msgstr "Nombre de usuario"
-#: 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 "Nombre del grupo"
-#: 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 "Obligatorio"
#: 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 "Interfaz de usuario 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 "Interfaz de usuario editable"
-#: 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 "Es clonable"
-#: 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 "Ventana nueva"
-#: extras/forms/bulk_edit.py:111
+#: extras/forms/bulk_edit.py:112
msgid "Button class"
msgstr "Clase de botones"
-#: 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 "Tipo 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 "Extensión de archivo"
-#: 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 "Como archivo adjunto"
-#: 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 "Compartido"
-#: 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étodo 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 carga"
-#: 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 "Verificación 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 "Secreto"
-#: extras/forms/bulk_edit.py:206
+#: extras/forms/bulk_edit.py:207
msgid "CA file path"
msgstr "Ruta del archivo CA"
-#: extras/forms/bulk_edit.py:225
+#: extras/forms/bulk_edit.py:226
msgid "On create"
msgstr "Al crear"
-#: extras/forms/bulk_edit.py:230
+#: extras/forms/bulk_edit.py:231
msgid "On update"
msgstr "En la actualización"
-#: extras/forms/bulk_edit.py:235
+#: extras/forms/bulk_edit.py:236
msgid "On delete"
msgstr "Al eliminar"
-#: extras/forms/bulk_edit.py:240
+#: extras/forms/bulk_edit.py:241
msgid "On job start"
msgstr "Empezando a trabajar"
-#: extras/forms/bulk_edit.py:245
+#: extras/forms/bulk_edit.py:246
msgid "On job end"
msgstr "Al final del trabajo"
-#: extras/forms/bulk_edit.py:282
+#: extras/forms/bulk_edit.py:283
msgid "Is active"
msgstr "Está activo"
#: 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 "Tipos de contenido"
+#: 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 "Tipos de objetos"
#: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117
#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161
@@ -6390,9 +6652,9 @@ msgstr "Uno o más tipos de objetos asignados"
msgid "Field data type (e.g. text, integer, etc.)"
msgstr "Tipo de datos de campo (por ejemplo, texto, entero, 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 "Tipo de objeto"
@@ -6400,7 +6662,7 @@ msgstr "Tipo de objeto"
msgid "Object type (for object or multi-object fields)"
msgstr "Tipo de objeto (para campos de objetos o de varios objetos)"
-#: 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 "Set de elección"
@@ -6430,11 +6692,11 @@ msgstr ""
" opcionales separadas por dos puntos: «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 "clase de botones"
-#: 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 ""
@@ -6458,139 +6720,143 @@ msgstr "Webhook {name} no se encontró"
msgid "Script {name} not found"
msgstr "Guión {name} no se encontró"
-#: extras/forms/bulk_import.py:242
+#: extras/forms/bulk_import.py:239
msgid "Assigned object type"
msgstr "Tipo de objeto asignado"
-#: extras/forms/bulk_import.py:247
+#: extras/forms/bulk_import.py:244
msgid "The classification of entry"
msgstr "La clasificación de entrada"
-#: extras/forms/filtersets.py:53
+#: extras/forms/filtersets.py:49 extras/forms/model_forms.py:47
+msgid "Related object type"
+msgstr "Tipo de objeto relacionado"
+
+#: extras/forms/filtersets.py:54
msgid "Field type"
msgstr "Tipo de campo"
-#: 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 "Opciones"
-#: 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 "Datos"
-#: 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 "Archivo de datos"
-#: extras/forms/filtersets.py:185
-msgid "Content type"
-msgstr "Tipo de contenido"
+#: extras/forms/filtersets.py:161
+msgid "Content types"
+msgstr "Tipos de contenido"
-#: 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 "Tipo de contenido 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 "Eventos"
-#: extras/forms/filtersets.py:264
+#: extras/forms/filtersets.py:265
msgid "Action type"
msgstr "Tipo de acción"
-#: extras/forms/filtersets.py:278
+#: extras/forms/filtersets.py:279
msgid "Object creations"
msgstr "Creaciones de objetos"
-#: extras/forms/filtersets.py:285
+#: extras/forms/filtersets.py:286
msgid "Object updates"
msgstr "Actualizaciones de objetos"
-#: extras/forms/filtersets.py:292
+#: extras/forms/filtersets.py:293
msgid "Object deletions"
msgstr "Eliminaciones de objetos"
-#: extras/forms/filtersets.py:299
+#: extras/forms/filtersets.py:300
msgid "Job starts"
msgstr "Comienza el trabajo"
-#: 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 "Cese de puestos"
-#: extras/forms/filtersets.py:315
+#: extras/forms/filtersets.py:316
msgid "Tagged object type"
msgstr "Tipo de objeto etiquetado"
-#: extras/forms/filtersets.py:320
+#: extras/forms/filtersets.py:321
msgid "Allowed object type"
msgstr "Tipo de objeto permitido"
-#: 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 "Regiones"
-#: 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 "Grupos de sitios"
-#: 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 "Ubicaciones"
-#: 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 "Tipos de dispositivos"
-#: 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 "Funciones"
-#: 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 "Tipos de clústeres"
-#: 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 "Grupos de clústeres"
-#: 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 "Clústers"
-#: 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 "Grupos de inquilinos"
-#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:495
+#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:492
msgid "After"
msgstr "Después"
-#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:500
+#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:497
msgid "Before"
msgstr "Antes"
-#: 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 "Hora"
-#: 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 "Acción"
@@ -6598,19 +6864,19 @@ msgstr "Acción"
msgid "Type of the related object (for object/multi-object fields only)"
msgstr "Tipo del objeto relacionado (solo para campos de objeto/multiobjeto)"
-#: 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 "Campo personalizado"
-#: 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 "Comportamiento"
-#: extras/forms/model_forms.py:62
+#: extras/forms/model_forms.py:66
msgid "Values"
msgstr "Valores"
-#: 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."
@@ -6618,7 +6884,7 @@ msgstr ""
"El tipo de datos almacenados en este campo. Para los campos de objetos o "
"multiobjetos, seleccione el tipo de objeto relacionado a continuación."
-#: 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."
@@ -6626,7 +6892,7 @@ msgstr ""
"Esto se mostrará como texto de ayuda para el campo del formulario. Markdown "
"es compatible."
-#: 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:"
@@ -6634,15 +6900,15 @@ msgstr ""
"Introduzca una opción por línea. Se puede especificar una etiqueta opcional "
"para cada elección añadiendo dos puntos. Ejemplo:"
-#: 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 "Vínculo personalizado"
-#: extras/forms/model_forms.py:133
+#: extras/forms/model_forms.py:140
msgid "Templates"
msgstr "Plantillas"
-#: 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}. "
@@ -6652,7 +6918,7 @@ msgstr ""
"objeto como {example}. Los enlaces que se muestren como texto vacío no se "
"mostrarán."
-#: 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}."
@@ -6660,52 +6926,52 @@ msgstr ""
"Código de plantilla Jinja2 para la URL del enlace. Haga referencia al objeto"
" como {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 "Código de plantilla"
-#: 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 "Plantilla de exportación"
-#: extras/forms/model_forms.py:168
+#: extras/forms/model_forms.py:175
msgid "Rendering"
msgstr "Renderización"
-#: 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 ""
"El contenido de la plantilla se rellena desde la fuente remota seleccionada "
"a continuación."
-#: 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 "Debe especificar el contenido local o un archivo de datos"
-#: 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 "Filtro guardado"
-#: 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 "Solicitud 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 "SSL"
-#: extras/forms/model_forms.py:257
+#: extras/forms/model_forms.py:265
msgid "Action choice"
msgstr "Elección de acción"
-#: extras/forms/model_forms.py:262
+#: extras/forms/model_forms.py:270
msgid "Enter conditions in JSON format."
msgstr ""
"Introduzca las condiciones en JSON "
"formato."
-#: extras/forms/model_forms.py:266
+#: extras/forms/model_forms.py:274
msgid ""
"Enter parameters to pass to the action in JSON format."
@@ -6713,99 +6979,96 @@ msgstr ""
"Introduzca los parámetros para pasar a la acción en JSON formato."
-#: 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 "Regla del evento"
-#: 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 "Condiciones"
-#: extras/forms/model_forms.py:286
+#: extras/forms/model_forms.py:296
msgid "Creations"
msgstr "Creaciones"
-#: extras/forms/model_forms.py:287
+#: extras/forms/model_forms.py:297
msgid "Updates"
msgstr "Actualizaciones"
-#: extras/forms/model_forms.py:288
+#: extras/forms/model_forms.py:298
msgid "Deletions"
msgstr "Eliminaciones"
-#: extras/forms/model_forms.py:289
+#: extras/forms/model_forms.py:299
msgid "Job executions"
msgstr "Ejecuciones de trabajos"
-#: extras/forms/model_forms.py:375 users/forms/model_forms.py:286
-msgid "Object types"
-msgstr "Tipos de objetos"
-
-#: 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 "Inquilinos"
-#: 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 "Asignación"
-#: extras/forms/model_forms.py:491
+#: extras/forms/model_forms.py:485
msgid "Data is populated from the remote source selected below."
msgstr ""
"Los datos se rellenan desde la fuente remota seleccionada a continuación."
-#: extras/forms/model_forms.py:497
+#: extras/forms/model_forms.py:491
msgid "Must specify either local data or a data file"
msgstr "Debe especificar datos locales o un archivo de datos"
-#: 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 "Contenido"
-#: extras/forms/reports.py:18 extras/forms/scripts.py:24
+#: extras/forms/reports.py:17 extras/forms/scripts.py:23
msgid "Schedule at"
msgstr "Programe en"
-#: extras/forms/reports.py:19
+#: extras/forms/reports.py:18
msgid "Schedule execution of report to a set time"
msgstr "Programe la ejecución del informe a una hora determinada"
-#: extras/forms/reports.py:24 extras/forms/scripts.py:30
+#: extras/forms/reports.py:23 extras/forms/scripts.py:29
msgid "Recurs every"
msgstr "Se repite cada"
-#: extras/forms/reports.py:28
+#: extras/forms/reports.py:27
msgid "Interval at which this report is re-run (in minutes)"
msgstr "Intervalo en el que se vuelve a ejecutar este informe (en minutos)"
-#: 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 " (hora actual: {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 "La hora programada debe estar en el futuro."
-#: extras/forms/scripts.py:18
+#: extras/forms/scripts.py:17
msgid "Commit changes"
msgstr "Confirmar cambios"
-#: extras/forms/scripts.py:19
+#: extras/forms/scripts.py:18
msgid "Commit changes to the database (uncheck for a dry-run)"
msgstr ""
"Confirme los cambios en la base de datos (desactive la casilla para una "
"ejecución en seco)"
-#: extras/forms/scripts.py:25
+#: extras/forms/scripts.py:24
msgid "Schedule execution of script to a set time"
msgstr "Programe la ejecución del script a una hora determinada"
-#: extras/forms/scripts.py:34
+#: extras/forms/scripts.py:33
msgid "Interval at which this script is re-run (in minutes)"
msgstr "Intervalo en el que se vuelve a ejecutar este script (en minutos)"
@@ -6901,35 +7164,35 @@ msgstr "plantilla de configuración"
msgid "config templates"
msgstr "plantillas de configuración"
-#: extras/models/customfields.py:72
+#: extras/models/customfields.py:73
msgid "The object(s) to which this field applies."
msgstr "Los objetos a los que se aplica este campo."
-#: extras/models/customfields.py:79
+#: extras/models/customfields.py:80
msgid "The type of data this custom field holds"
msgstr "El tipo de datos que contiene este campo personalizado"
-#: extras/models/customfields.py:86
+#: extras/models/customfields.py:87
msgid "The type of NetBox object this field maps to (for object fields)"
msgstr ""
"El tipo de objeto NetBox al que se asigna este campo (para campos de "
"objetos)"
-#: extras/models/customfields.py:92
+#: extras/models/customfields.py:93
msgid "Internal field name"
msgstr "Nombre del campo interno"
-#: extras/models/customfields.py:96
+#: extras/models/customfields.py:97
msgid "Only alphanumeric characters and underscores are allowed."
msgstr "Solo se permiten caracteres alfanuméricos y guiones bajos."
-#: extras/models/customfields.py:101
+#: extras/models/customfields.py:102
msgid "Double underscores are not permitted in custom field names."
msgstr ""
"No se permiten los guiones dobles de subrayado en los nombres de campo "
"personalizados."
-#: 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)"
@@ -6937,19 +7200,19 @@ msgstr ""
"Nombre del campo tal como se muestra a los usuarios (si no se proporciona, "
"se usará el nombre del campo)"
-#: extras/models/customfields.py:116 extras/models/models.py:347
+#: extras/models/customfields.py:117 extras/models/models.py:345
msgid "group name"
msgstr "nombre del grupo"
-#: extras/models/customfields.py:119
+#: extras/models/customfields.py:120
msgid "Custom fields within the same group will be displayed together"
msgstr "Los campos personalizados del mismo grupo se mostrarán juntos"
-#: extras/models/customfields.py:127
+#: extras/models/customfields.py:128
msgid "required"
msgstr "requerido"
-#: 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."
@@ -6957,11 +7220,11 @@ msgstr ""
"Si es verdadero, este campo es obligatorio al crear objetos nuevos o editar "
"un objeto existente."
-#: extras/models/customfields.py:132
+#: extras/models/customfields.py:133
msgid "search weight"
msgstr "peso de búsqueda"
-#: 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."
@@ -6969,11 +7232,11 @@ msgstr ""
"Ponderación para la búsqueda. Los valores más bajos se consideran más "
"importantes. Los campos con un peso de búsqueda de cero se ignorarán."
-#: extras/models/customfields.py:140
+#: extras/models/customfields.py:141
msgid "filter logic"
msgstr "lógica de filtros"
-#: extras/models/customfields.py:144
+#: extras/models/customfields.py:145
msgid ""
"Loose matches any instance of a given string; exact matches the entire "
"field."
@@ -6981,11 +7244,11 @@ msgstr ""
"Loose coincide con cualquier instancia de una cadena determinada; exact "
"coincide con todo el campo."
-#: extras/models/customfields.py:147
+#: extras/models/customfields.py:148
msgid "default"
msgstr "predeterminado"
-#: 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\")."
@@ -6993,35 +7256,35 @@ msgstr ""
"Valor predeterminado para el campo (debe ser un valor JSON). Encapsula "
"cadenas con comillas dobles (por ejemplo, «Foo»)."
-#: extras/models/customfields.py:156
+#: extras/models/customfields.py:157
msgid "display weight"
msgstr "peso de la pantalla"
-#: extras/models/customfields.py:157
+#: extras/models/customfields.py:158
msgid "Fields with higher weights appear lower in a form."
msgstr "Los campos con pesos más altos aparecen más abajo en un formulario."
-#: extras/models/customfields.py:162
+#: extras/models/customfields.py:163
msgid "minimum value"
msgstr "valor mínimo"
-#: extras/models/customfields.py:163
+#: extras/models/customfields.py:164
msgid "Minimum allowed value (for numeric fields)"
msgstr "Valor mínimo permitido (para campos numéricos)"
-#: extras/models/customfields.py:168
+#: extras/models/customfields.py:169
msgid "maximum value"
msgstr "valor máximo"
-#: extras/models/customfields.py:169
+#: extras/models/customfields.py:170
msgid "Maximum allowed value (for numeric fields)"
msgstr "Valor máximo permitido (para campos numéricos)"
-#: extras/models/customfields.py:175
+#: extras/models/customfields.py:176
msgid "validation regex"
msgstr "expresión regular de validación"
-#: 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 "
@@ -7032,177 +7295,177 @@ msgstr ""
"y $ para forzar la coincidencia de toda la cadena. Por ejemplo, ^ "
"[A-Z]{3}$
limitará los valores a exactamente tres letras mayúsculas."
-#: extras/models/customfields.py:185
+#: extras/models/customfields.py:186
msgid "choice set"
msgstr "conjunto de opciones"
-#: extras/models/customfields.py:194
+#: extras/models/customfields.py:195
msgid "Specifies whether the custom field is displayed in the UI"
msgstr ""
"Especifica si el campo personalizado se muestra en la interfaz de usuario"
-#: extras/models/customfields.py:201
+#: extras/models/customfields.py:202
msgid "Specifies whether the custom field value can be edited in the UI"
msgstr ""
"Especifica si el valor del campo personalizado se puede editar en la "
"interfaz de usuario"
-#: extras/models/customfields.py:205
+#: extras/models/customfields.py:206
msgid "is cloneable"
msgstr "es clonable"
-#: extras/models/customfields.py:206
+#: extras/models/customfields.py:207
msgid "Replicate this value when cloning objects"
msgstr "Replique este valor al clonar objetos"
-#: extras/models/customfields.py:219
+#: extras/models/customfields.py:224
msgid "custom field"
msgstr "campo personalizado"
-#: extras/models/customfields.py:220
+#: extras/models/customfields.py:225
msgid "custom fields"
msgstr "campos personalizados"
-#: extras/models/customfields.py:309
+#: extras/models/customfields.py:314
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
msgstr "Valor predeterminado no válido»{value}«: {error}"
-#: extras/models/customfields.py:316
+#: extras/models/customfields.py:321
msgid "A minimum value may be set only for numeric fields"
msgstr "Solo se puede establecer un valor mínimo para los campos numéricos"
-#: extras/models/customfields.py:318
+#: extras/models/customfields.py:323
msgid "A maximum value may be set only for numeric fields"
msgstr "Solo se puede establecer un valor máximo para los campos numéricos"
-#: extras/models/customfields.py:328
+#: extras/models/customfields.py:333
msgid ""
"Regular expression validation is supported only for text and URL fields"
msgstr ""
"La validación de expresiones regulares solo se admite para campos de texto y"
" URL"
-#: extras/models/customfields.py:338
+#: extras/models/customfields.py:343
msgid "Selection fields must specify a set of choices."
msgstr "Los campos de selección deben especificar un conjunto de opciones."
-#: extras/models/customfields.py:342
+#: extras/models/customfields.py:347
msgid "Choices may be set only on selection fields."
msgstr "Las elecciones solo se pueden establecer en los campos de selección."
-#: extras/models/customfields.py:349
+#: extras/models/customfields.py:354
msgid "Object fields must define an object type."
msgstr "Los campos de objeto deben definir un tipo de objeto."
-#: extras/models/customfields.py:354
+#: extras/models/customfields.py:359
#, python-brace-format
msgid "{type} fields may not define an object type."
msgstr "{type} es posible que los campos no definan un tipo de objeto."
-#: extras/models/customfields.py:434
+#: extras/models/customfields.py:439
msgid "True"
msgstr "Cierto"
-#: extras/models/customfields.py:435
+#: extras/models/customfields.py:440
msgid "False"
msgstr "Falso"
-#: extras/models/customfields.py:517
+#: extras/models/customfields.py:522
#, python-brace-format
msgid "Values must match this regex: {regex}
"
msgstr ""
"Los valores deben coincidir con esta expresión regular: {regex}
"
-#: extras/models/customfields.py:611
+#: extras/models/customfields.py:616
msgid "Value must be a string."
msgstr "El valor debe ser una cadena."
-#: extras/models/customfields.py:613
+#: extras/models/customfields.py:618
#, python-brace-format
msgid "Value must match regex '{regex}'"
msgstr "El valor debe coincidir con la expresión regular '{regex}'"
-#: extras/models/customfields.py:618
+#: extras/models/customfields.py:623
msgid "Value must be an integer."
msgstr "El valor debe ser un número entero."
-#: 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 "El valor debe ser al menos {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 "El valor no debe superar {maximum}"
-#: extras/models/customfields.py:633
+#: extras/models/customfields.py:638
msgid "Value must be a decimal."
msgstr "El valor debe ser decimal."
-#: extras/models/customfields.py:645
+#: extras/models/customfields.py:650
msgid "Value must be true or false."
msgstr "El valor debe ser verdadero o falso."
-#: extras/models/customfields.py:653
+#: extras/models/customfields.py:658
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
msgstr "Los valores de fecha deben estar en formato ISO 8601 (AAAA-MM-DD)."
-#: 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 ""
"Los valores de fecha y hora deben estar en formato ISO 8601 (AAAA-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 ""
"Elección no válida ({value}) para el conjunto de opciones {choiceset}."
-#: extras/models/customfields.py:679
+#: extras/models/customfields.py:684
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
msgstr ""
"Elecciones no válidas ({value}) para el conjunto de opciones {choiceset}."
-#: extras/models/customfields.py:688
+#: extras/models/customfields.py:693
#, python-brace-format
msgid "Value must be an object ID, not {type}"
msgstr "El valor debe ser un ID de objeto, no {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 "El valor debe ser una lista de identificadores de objetos, no {type}"
-#: extras/models/customfields.py:698
+#: extras/models/customfields.py:703
#, python-brace-format
msgid "Found invalid object ID: {id}"
msgstr "Se encontró un ID de objeto no válido: {id}"
-#: extras/models/customfields.py:701
+#: extras/models/customfields.py:706
msgid "Required field cannot be empty."
msgstr "El campo obligatorio no puede estar vacío."
-#: extras/models/customfields.py:720
+#: extras/models/customfields.py:725
msgid "Base set of predefined choices (optional)"
msgstr "Conjunto básico de opciones predefinidas (opcional)"
-#: extras/models/customfields.py:732
+#: extras/models/customfields.py:737
msgid "Choices are automatically ordered alphabetically"
msgstr "Las opciones se ordenan alfabéticamente automáticamente"
-#: extras/models/customfields.py:739
+#: extras/models/customfields.py:744
msgid "custom field choice set"
msgstr "conjunto de opciones de campo personalizadas"
-#: extras/models/customfields.py:740
+#: extras/models/customfields.py:745
msgid "custom field choice sets"
msgstr "conjuntos de opciones de campo personalizadas"
-#: extras/models/customfields.py:776
+#: extras/models/customfields.py:781
msgid "Must define base or extra choices."
msgstr "Debe definir opciones básicas o adicionales."
@@ -7222,80 +7485,80 @@ msgstr "salpicadero"
msgid "dashboards"
msgstr "tableros"
-#: extras/models/models.py:49
+#: extras/models/models.py:51
msgid "object types"
msgstr "tipos de objetos"
-#: extras/models/models.py:50
+#: extras/models/models.py:52
msgid "The object(s) to which this rule applies."
msgstr "Los objetos a los que se aplica esta regla."
-#: extras/models/models.py:63
+#: extras/models/models.py:65
msgid "on create"
msgstr "al crear"
-#: extras/models/models.py:65
+#: extras/models/models.py:67
msgid "Triggers when a matching object is created."
msgstr "Se activa cuando se crea un objeto coincidente."
-#: extras/models/models.py:68
+#: extras/models/models.py:70
msgid "on update"
msgstr "en la actualización"
-#: extras/models/models.py:70
+#: extras/models/models.py:72
msgid "Triggers when a matching object is updated."
msgstr "Se activa cuando se actualiza un objeto coincidente."
-#: extras/models/models.py:73
+#: extras/models/models.py:75
msgid "on delete"
msgstr "al eliminar"
-#: extras/models/models.py:75
+#: extras/models/models.py:77
msgid "Triggers when a matching object is deleted."
msgstr "Se activa cuando se elimina un objeto coincidente."
-#: extras/models/models.py:78
+#: extras/models/models.py:80
msgid "on job start"
msgstr "al iniciar el trabajo"
-#: extras/models/models.py:80
+#: extras/models/models.py:82
msgid "Triggers when a job for a matching object is started."
msgstr "Se activa cuando se inicia un trabajo para un objeto coincidente."
-#: extras/models/models.py:83
+#: extras/models/models.py:85
msgid "on job end"
msgstr "al final del trabajo"
-#: extras/models/models.py:85
+#: extras/models/models.py:87
msgid "Triggers when a job for a matching object terminates."
msgstr "Se activa cuando finaliza un trabajo para un objeto coincidente."
-#: extras/models/models.py:92
+#: extras/models/models.py:94
msgid "conditions"
msgstr "condiciones"
-#: extras/models/models.py:95
+#: extras/models/models.py:97
msgid ""
"A set of conditions which determine whether the event will be generated."
msgstr "Conjunto de condiciones que determinan si se generará el evento."
-#: extras/models/models.py:103
+#: extras/models/models.py:105
msgid "action type"
msgstr "tipo de acción"
-#: extras/models/models.py:126
+#: extras/models/models.py:124
msgid "Additional data to pass to the action object"
msgstr "Datos adicionales para pasar al objeto de acción"
-#: extras/models/models.py:138
+#: extras/models/models.py:136
msgid "event rule"
msgstr "regla de evento"
-#: extras/models/models.py:139
+#: extras/models/models.py:137
msgid "event rules"
msgstr "reglas del evento"
-#: 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."
@@ -7303,7 +7566,7 @@ msgstr ""
"Debe seleccionarse al menos un tipo de evento: crear, actualizar, eliminar, "
"iniciar o finalizar el trabajo."
-#: 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"
@@ -7313,7 +7576,7 @@ msgstr ""
"webhook. El procesamiento de plantillas de Jinja2 se admite en el mismo "
"contexto que el cuerpo de la solicitud."
-#: extras/models/models.py:211
+#: extras/models/models.py:209
msgid ""
"The complete list of official content types is available aquí."
-#: extras/models/models.py:216
+#: extras/models/models.py:214
msgid "additional headers"
msgstr "encabezados adicionales"
-#: 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: "
@@ -7340,11 +7603,11 @@ msgstr ""
" Jinja2 se admite en el mismo contexto que el cuerpo de la solicitud (a "
"continuación)."
-#: extras/models/models.py:225
+#: extras/models/models.py:223
msgid "body template"
msgstr "plantilla corporal"
-#: 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: "
@@ -7357,11 +7620,11 @@ msgstr ""
"marca de tiempo
, nombre de usuario
, "
"id_solicitud
, y dato
."
-#: extras/models/models.py:234
+#: extras/models/models.py:232
msgid "secret"
msgstr "secreto"
-#: 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 "
@@ -7372,16 +7635,16 @@ msgstr ""
"carga utilizando el secreto como clave. El secreto no se transmite en la "
"solicitud."
-#: extras/models/models.py:245
+#: extras/models/models.py:243
msgid "Enable SSL certificate verification. Disable with caution!"
msgstr ""
"Habilita la verificación del certificado SSL. ¡Desactívala con precaución!"
-#: 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 "Ruta del archivo 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."
@@ -7390,65 +7653,65 @@ msgstr ""
"verificación SSL. Déjelo en blanco para usar los valores predeterminados del"
" sistema."
-#: 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 ""
"No especifique un archivo de certificado de CA si la verificación SSL está "
"deshabilitada."
-#: extras/models/models.py:323
+#: extras/models/models.py:321
msgid "The object type(s) to which this link applies."
msgstr "Los tipos de objeto a los que se aplica este enlace."
-#: extras/models/models.py:335
+#: extras/models/models.py:333
msgid "link text"
msgstr "texto de enlace"
-#: extras/models/models.py:336
+#: extras/models/models.py:334
msgid "Jinja2 template code for link text"
msgstr "Código de plantilla Jinja2 para texto de enlace"
-#: extras/models/models.py:339
+#: extras/models/models.py:337
msgid "link URL"
msgstr "URL del enlace"
-#: extras/models/models.py:340
+#: extras/models/models.py:338
msgid "Jinja2 template code for link URL"
msgstr "Código de plantilla Jinja2 para la URL del enlace"
-#: extras/models/models.py:350
+#: extras/models/models.py:348
msgid "Links with the same group will appear as a dropdown menu"
msgstr "Los enlaces con el mismo grupo aparecerán en un menú desplegable"
-#: extras/models/models.py:360
+#: extras/models/models.py:358
msgid "new window"
msgstr "ventana nueva"
-#: extras/models/models.py:362
+#: extras/models/models.py:360
msgid "Force link to open in a new window"
msgstr "Forzar que el enlace se abra en una ventana nueva"
-#: extras/models/models.py:371
+#: extras/models/models.py:369
msgid "custom link"
msgstr "enlace personalizado"
-#: extras/models/models.py:372
+#: extras/models/models.py:370
msgid "custom links"
msgstr "enlaces personalizados"
-#: extras/models/models.py:419
+#: extras/models/models.py:417
msgid "The object type(s) to which this template applies."
msgstr "Los tipos de objeto a los que se aplica esta plantilla."
-#: 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
."
@@ -7456,147 +7719,151 @@ msgstr ""
"Código de plantilla Jinja2. La lista de objetos que se exportan se pasa como"
" una variable de contexto denominada conjunto de consultas
."
-#: extras/models/models.py:440
+#: extras/models/models.py:438
msgid "Defaults to text/plain; charset=utf-8
"
msgstr "El valor predeterminado es texto/plano; charset=utf-8
"
-#: extras/models/models.py:443
+#: extras/models/models.py:441
msgid "file extension"
msgstr "extensión de archivo"
-#: extras/models/models.py:446
+#: extras/models/models.py:444
msgid "Extension to append to the rendered filename"
msgstr "Extensión para añadir al nombre de archivo renderizado"
-#: extras/models/models.py:449
+#: extras/models/models.py:447
msgid "as attachment"
msgstr "como adjunto"
-#: extras/models/models.py:451
+#: extras/models/models.py:449
msgid "Download file as attachment"
msgstr "Descargar archivo como archivo adjunto"
-#: extras/models/models.py:460
+#: extras/models/models.py:458
msgid "export template"
msgstr "plantilla de exportación"
-#: extras/models/models.py:461
+#: extras/models/models.py:459
msgid "export templates"
msgstr "plantillas de exportación"
-#: 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}\"es un nombre reservado. Elija un nombre diferente."
-#: extras/models/models.py:528
+#: extras/models/models.py:526
msgid "The object type(s) to which this filter applies."
msgstr "Los tipos de objeto a los que se aplica este filtro."
-#: extras/models/models.py:560
+#: extras/models/models.py:558
msgid "shared"
msgstr "compartido"
-#: extras/models/models.py:573
+#: extras/models/models.py:571
msgid "saved filter"
msgstr "filtro guardado"
-#: extras/models/models.py:574
+#: extras/models/models.py:572
msgid "saved filters"
msgstr "filtros guardados"
-#: extras/models/models.py:592
+#: extras/models/models.py:590
msgid "Filter parameters must be stored as a dictionary of keyword arguments."
msgstr ""
"Los parámetros de filtro se deben almacenar como un diccionario de "
"argumentos de palabras clave."
-#: extras/models/models.py:620
+#: extras/models/models.py:618
msgid "image height"
msgstr "altura de la imagen"
-#: extras/models/models.py:623
+#: extras/models/models.py:621
msgid "image width"
msgstr "ancho de imagen"
-#: extras/models/models.py:640
+#: extras/models/models.py:638
msgid "image attachment"
msgstr "adjunto de imagen"
-#: extras/models/models.py:641
+#: extras/models/models.py:639
msgid "image attachments"
msgstr "archivos adjuntos de imágenes"
-#: 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 ""
"Los archivos adjuntos de imágenes no se pueden asignar a este tipo de objeto"
" ({type})."
-#: extras/models/models.py:718
+#: extras/models/models.py:716
msgid "kind"
msgstr "amable"
-#: extras/models/models.py:732
+#: extras/models/models.py:730
msgid "journal entry"
msgstr "entrada de diario"
-#: extras/models/models.py:733
+#: extras/models/models.py:731
msgid "journal entries"
msgstr "entradas de diario"
-#: extras/models/models.py:748
+#: extras/models/models.py:746
#, python-brace-format
msgid "Journaling is not supported for this object type ({type})."
msgstr "No se admite el registro en diario para este tipo de objeto ({type})."
-#: extras/models/models.py:790
+#: extras/models/models.py:788
msgid "bookmark"
msgstr "marcalibros"
-#: extras/models/models.py:791
+#: extras/models/models.py:789
msgid "bookmarks"
msgstr "marcapáginas"
-#: extras/models/models.py:804
+#: extras/models/models.py:802
#, python-brace-format
msgid "Bookmarks cannot be assigned to this object type ({type})."
msgstr "No se pueden asignar marcadores a este tipo de objeto ({type})."
-#: extras/models/reports.py:46
-msgid "report module"
-msgstr "módulo de informes"
+#: extras/models/scripts.py:42
+msgid "is executable"
+msgstr "es ejecutable"
-#: extras/models/reports.py:47
-msgid "report modules"
-msgstr "módulos de informes"
+#: extras/models/scripts.py:64
+msgid "script"
+msgstr "secuencia de comandos"
-#: extras/models/scripts.py:46
+#: extras/models/scripts.py:65
+msgid "scripts"
+msgstr "scripts"
+
+#: extras/models/scripts.py:110
msgid "script module"
msgstr "módulo de script"
-#: extras/models/scripts.py:47
+#: extras/models/scripts.py:111
msgid "script modules"
msgstr "módulos de script"
-#: extras/models/search.py:24
+#: extras/models/search.py:22
msgid "timestamp"
msgstr "marca de tiempo"
-#: extras/models/search.py:39
+#: extras/models/search.py:37
msgid "field"
msgstr "campo"
-#: extras/models/search.py:47
+#: extras/models/search.py:45
msgid "value"
msgstr "valor"
-#: extras/models/search.py:58
+#: extras/models/search.py:56
msgid "cached value"
msgstr "valor almacenado en caché"
-#: extras/models/search.py:59
+#: extras/models/search.py:57
msgid "cached values"
msgstr "valores en caché"
@@ -7636,147 +7903,224 @@ msgstr "artículo etiquetado"
msgid "tagged items"
msgstr "artículos etiquetados"
-#: extras/scripts.py:360
-msgid "The script must define a run() method."
-msgstr "El script debe definir un método run ()."
-
-#: extras/scripts.py:371
+#: extras/scripts.py:439
msgid "Script Data"
msgstr "Datos del script"
-#: extras/scripts.py:375
+#: extras/scripts.py:443
msgid "Script Execution Parameters"
msgstr "Parámetros de ejecución del script"
-#: extras/signals.py:121
+#: extras/scripts.py:662
+msgid "Database changes have been reverted automatically."
+msgstr "Los cambios en la base de datos se han revertido automáticamente."
+
+#: extras/scripts.py:675
+msgid "Script aborted with error: "
+msgstr "Secuencia de comandos abortada con un error: "
+
+#: extras/scripts.py:685
+msgid "An exception occurred: "
+msgstr "Se ha producido una excepción: "
+
+#: extras/scripts.py:688
+msgid "Database changes have been reverted due to error."
+msgstr "Los cambios en la base de datos se han revertido debido a un error."
+
+#: extras/signals.py:146
#, python-brace-format
msgid "Deletion is prevented by a protection rule: {message}"
msgstr "La eliminación se impide mediante una regla de protección: {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 "Tipos de contenido"
-
-#: extras/tables/tables.py:50
-msgid "Visible"
-msgstr "Visible"
-
-#: extras/tables/tables.py:53
-msgid "Editable"
-msgstr "Editable"
-
-#: extras/tables/tables.py:60 templates/extras/customfield.html:48
-msgid "Choice Set"
-msgstr "Set de elección"
-
-#: extras/tables/tables.py:68
-msgid "Is Cloneable"
-msgstr "Se puede clonar"
-
-#: extras/tables/tables.py:98
-msgid "Count"
-msgstr "Contar"
-
-#: extras/tables/tables.py:101
-msgid "Order Alphabetically"
-msgstr "Ordenar alfabéticamente"
-
-#: extras/tables/tables.py:125 templates/extras/customlink.html:34
-msgid "New Window"
-msgstr "Ventana nueva"
-
-#: extras/tables/tables.py:146
-msgid "As Attachment"
-msgstr "Como archivo adjunto"
-
-#: 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 "Archivo de datos"
-
-#: extras/tables/tables.py:158 extras/tables/tables.py:384
-#: extras/tables/tables.py:412
-msgid "Synced"
-msgstr "Sincronizado"
-
-#: extras/tables/tables.py:178
-msgid "Content Type"
-msgstr "Tipo de contenido"
-
-#: extras/tables/tables.py:185
-msgid "Image"
-msgstr "Imagen"
-
-#: extras/tables/tables.py:190
-msgid "Size (Bytes)"
-msgstr "Tamaño (bytes)"
-
-#: 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 "Tipos de objetos"
-#: extras/tables/tables.py:255
+#: extras/tables/tables.py:52
+msgid "Visible"
+msgstr "Visible"
+
+#: extras/tables/tables.py:55
+msgid "Editable"
+msgstr "Editable"
+
+#: extras/tables/tables.py:61
+msgid "Related Object Type"
+msgstr "Tipo de objeto relacionado"
+
+#: extras/tables/tables.py:65 templates/extras/customfield.html:47
+msgid "Choice Set"
+msgstr "Set de elección"
+
+#: extras/tables/tables.py:73
+msgid "Is Cloneable"
+msgstr "Se puede clonar"
+
+#: extras/tables/tables.py:103
+msgid "Count"
+msgstr "Contar"
+
+#: extras/tables/tables.py:106
+msgid "Order Alphabetically"
+msgstr "Ordenar alfabéticamente"
+
+#: extras/tables/tables.py:130 templates/extras/customlink.html:33
+msgid "New Window"
+msgstr "Ventana nueva"
+
+#: extras/tables/tables.py:151
+msgid "As Attachment"
+msgstr "Como archivo adjunto"
+
+#: 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 "Archivo de datos"
+
+#: extras/tables/tables.py:163 extras/tables/tables.py:389
+#: extras/tables/tables.py:417
+msgid "Synced"
+msgstr "Sincronizado"
+
+#: extras/tables/tables.py:190
+msgid "Image"
+msgstr "Imagen"
+
+#: extras/tables/tables.py:195
+msgid "Size (Bytes)"
+msgstr "Tamaño (bytes)"
+
+#: extras/tables/tables.py:260
msgid "SSL Validation"
msgstr "Validación SSL"
-#: extras/tables/tables.py:300
+#: extras/tables/tables.py:305
msgid "Job Start"
msgstr "Inicio del trabajo"
-#: extras/tables/tables.py:303
+#: extras/tables/tables.py:308
msgid "Job End"
msgstr "Fin del trabajo"
-#: 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 "Funciones del dispositivo"
+
+#: extras/tables/tables.py:440 netbox/navigation/menu.py:234
+#: netbox/navigation/menu.py:236 virtualization/views.py:186
+msgid "Virtual Machines"
+msgstr "Máquinas virtuales"
+
+#: extras/tables/tables.py:466 templates/account/profile.html:19
+#: templates/users/user.html:21
msgid "Full Name"
msgstr "Nombre completo"
-#: 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 solicitud"
-#: extras/tables/tables.py:495
+#: extras/tables/tables.py:520
msgid "Comments (Short)"
msgstr "Comentarios (cortos)"
-#: extras/validators.py:15
+#: extras/tables/tables.py:539 extras/tables/tables.py:561
+msgid "Line"
+msgstr "Línea"
+
+#: extras/tables/tables.py:546 extras/tables/tables.py:571
+#: extras/tables/tables.py:575
+msgid "Level"
+msgstr "Nivel"
+
+#: extras/tables/tables.py:549 extras/tables/tables.py:585
+msgid "Message"
+msgstr "Mensaje"
+
+#: extras/tables/tables.py:553 extras/tables/tables.py:589
+#: netbox/tables/tables.py:261
+msgid "No results found"
+msgstr "No se han encontrado resultados"
+
+#: extras/tables/tables.py:564
+msgid "Method"
+msgstr "Método"
+
+#: extras/validators.py:16
#, python-format
msgid "Ensure this value is equal to %(limit_value)s."
msgstr "Asegúrese de que este valor sea igual a %(limit_value)s."
-#: extras/validators.py:26
+#: extras/validators.py:27
#, python-format
msgid "Ensure this value does not equal %(limit_value)s."
msgstr "Asegúrese de que este valor no sea igual %(limit_value)s."
-#: extras/validators.py:37
+#: extras/validators.py:38
msgid "This field must be empty."
msgstr "Este campo debe estar vacío."
-#: extras/validators.py:52
+#: extras/validators.py:53
msgid "This field must not be empty."
msgstr "Este campo no debe estar vacío."
-#: extras/validators.py:121
+#: extras/validators.py:95
+msgid "Validation rules must be passed as a dictionary"
+msgstr "Las reglas de validación se deben pasar como un diccionario"
+
+#: extras/validators.py:120
+#, python-brace-format
+msgid "Custom validation failed for {attribute}: {exception}"
+msgstr "Fallo en la validación personalizada para {attribute}: {exception}"
+
+#: extras/validators.py:140
+#, python-brace-format
+msgid "Invalid attribute \"{name}\" for request"
+msgstr "Atributo no válido»{name}«para solicitar"
+
+#: extras/validators.py:157
#, python-brace-format
msgid "Invalid attribute \"{name}\" for {model}"
msgstr "Atributo no válido»{name}«para {model}"
-#: extras/views.py:880
+#: extras/views.py:889
msgid "Your dashboard has been reset."
msgstr "Tu panel de control se ha restablecido."
+#: extras/views.py:935
+msgid "Added widget: "
+msgstr "Widget añadido: "
+
+#: extras/views.py:976
+msgid "Updated widget: "
+msgstr "Widget actualizado: "
+
+#: extras/views.py:1012
+msgid "Deleted widget: "
+msgstr "Widget eliminado: "
+
+#: extras/views.py:1014
+msgid "Error deleting widget: "
+msgstr "Error al eliminar el widget: "
+
+#: extras/views.py:1081
+msgid "Unable to run script: RQ worker process not running."
+msgstr ""
+"No se puede ejecutar el script: el proceso de trabajo de RQ no se está "
+"ejecutando."
+
#: ipam/api/field_serializers.py:17
msgid "Enter a valid IPv4 or IPv6 address with optional mask."
msgstr "Introduzca una dirección IPv4 o IPv6 válida con máscara opcional."
@@ -7796,7 +8140,7 @@ msgstr ""
msgid "Invalid IP prefix format: {data}"
msgstr "Formato de prefijo IP no válido: {data}"
-#: ipam/api/views.py:383
+#: ipam/api/views.py:358
msgid ""
"Insufficient space is available to accommodate the requested prefix size(s)"
msgstr ""
@@ -7847,142 +8191,162 @@ msgstr "Texto plano"
msgid "Invalid IP address format: {address}"
msgstr "Formato de dirección IP no válido: {address}"
-#: ipam/filtersets.py:47 vpn/filtersets.py:276
+#: ipam/filtersets.py:48 vpn/filtersets.py:323
msgid "Import target"
msgstr "Objetivo de importación"
-#: ipam/filtersets.py:53 vpn/filtersets.py:282
+#: ipam/filtersets.py:54 vpn/filtersets.py:329
msgid "Import target (name)"
msgstr "Destino de importación (nombre)"
-#: ipam/filtersets.py:58 vpn/filtersets.py:287
+#: ipam/filtersets.py:59 vpn/filtersets.py:334
msgid "Export target"
msgstr "Objetivo de exportación"
-#: ipam/filtersets.py:64 vpn/filtersets.py:293
+#: ipam/filtersets.py:65 vpn/filtersets.py:340
msgid "Export target (name)"
msgstr "Destino de exportación (nombre)"
-#: ipam/filtersets.py:85
+#: ipam/filtersets.py:86
msgid "Importing VRF"
msgstr "Importación de VRF"
-#: ipam/filtersets.py:91
+#: ipam/filtersets.py:92
msgid "Import VRF (RD)"
msgstr "Importar VRF (RD)"
-#: ipam/filtersets.py:96
+#: ipam/filtersets.py:97
msgid "Exporting VRF"
msgstr "Exportación de VRF"
-#: ipam/filtersets.py:102
+#: ipam/filtersets.py:103
msgid "Export VRF (RD)"
msgstr "Exportar VRF (RD)"
-#: ipam/filtersets.py:132 ipam/filtersets.py:247 ipam/forms/model_forms.py:229
+#: ipam/filtersets.py:108
+msgid "Importing L2VPN"
+msgstr "Importación de L2VPN"
+
+#: ipam/filtersets.py:114
+msgid "Importing L2VPN (identifier)"
+msgstr "Importación de L2VPN (identificador)"
+
+#: ipam/filtersets.py:119
+msgid "Exporting L2VPN"
+msgstr "Exportación de L2VPN"
+
+#: ipam/filtersets.py:125
+msgid "Exporting L2VPN (identifier)"
+msgstr "Exportación de L2VPN (identificador)"
+
+#: 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 "Prefijo"
-#: 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 "RIR (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 (babosa)"
-#: ipam/filtersets.py:251
+#: ipam/filtersets.py:285
msgid "Within prefix"
msgstr "Dentro del prefijo"
-#: ipam/filtersets.py:255
+#: ipam/filtersets.py:289
msgid "Within and including prefix"
msgstr "Dentro del prefijo e incluído"
-#: ipam/filtersets.py:259
+#: ipam/filtersets.py:293
msgid "Prefixes which contain this prefix or IP"
msgstr "Prefijos que contienen este prefijo o 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 "Longitud de la máscara"
-#: ipam/filtersets.py:339 vpn/filtersets.py:399
+#: ipam/filtersets.py:373 vpn/filtersets.py:446
msgid "VLAN (ID)"
msgstr "VLAN (ID)"
-#: ipam/filtersets.py:343 vpn/filtersets.py:394
+#: ipam/filtersets.py:377 vpn/filtersets.py:441
msgid "VLAN number (1-4094)"
msgstr "Número 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 "Dirección"
-#: ipam/filtersets.py:445
+#: ipam/filtersets.py:479
msgid "Ranges which contain this prefix or IP"
msgstr "Intervalos que contienen este prefijo o IP"
-#: ipam/filtersets.py:473 ipam/filtersets.py:529
+#: ipam/filtersets.py:507 ipam/filtersets.py:563
msgid "Parent prefix"
msgstr "Prefijo principal"
-#: 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 "Máquina virtual (nombre)"
-#: 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 "Máquina virtual (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 "Interfaz (nombre)"
-#: ipam/filtersets.py:598 vpn/filtersets.py:102 vpn/filtersets.py:373
-msgid "Interface (ID)"
-msgstr "Interfaz (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 "Interfaz VM (nombre)"
-#: ipam/filtersets.py:609 vpn/filtersets.py:113
+#: ipam/filtersets.py:643 vpn/filtersets.py:113
msgid "VM interface (ID)"
msgstr "Interfaz de máquina virtual (ID)"
-#: ipam/filtersets.py:614
+#: ipam/filtersets.py:648
msgid "FHRP group (ID)"
msgstr "Grupo FHRP (ID)"
-#: ipam/filtersets.py:618
+#: ipam/filtersets.py:652
msgid "Is assigned to an interface"
msgstr "Está asignado a una interfaz"
-#: ipam/filtersets.py:622
+#: ipam/filtersets.py:656
msgid "Is assigned"
msgstr "Está asignado"
-#: ipam/filtersets.py:1047
+#: ipam/filtersets.py:668
+msgid "Service (ID)"
+msgstr "Servicio (ID)"
+
+#: ipam/filtersets.py:673
+msgid "NAT inside IP address (ID)"
+msgstr "Dirección IP interna de NAT (ID)"
+
+#: ipam/filtersets.py:1096
msgid "IP address (ID)"
msgstr "Dirección IP (ID)"
-#: ipam/filtersets.py:1053 ipam/models/ip.py:787
+#: ipam/filtersets.py:1102 ipam/models/ip.py:787
msgid "IP address"
msgstr "dirección 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)"
@@ -8011,116 +8375,116 @@ msgstr "Introduzca una dirección IPv4 o IPv6 válida (con máscara CIDR)."
msgid "CIDR mask (e.g. /24) is required."
msgstr "Se requiere una máscara CIDR (por ejemplo, /24)."
-#: ipam/forms/bulk_create.py:14
+#: ipam/forms/bulk_create.py:13
msgid "Address pattern"
msgstr "Patrón de direcciones"
-#: ipam/forms/bulk_edit.py:47
+#: ipam/forms/bulk_edit.py:48
msgid "Enforce unique space"
msgstr "Haga valer un espacio único"
-#: ipam/forms/bulk_edit.py:85
+#: ipam/forms/bulk_edit.py:86
msgid "Is private"
msgstr "Es privado"
-#: 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 "Fecha añadida"
-#: ipam/forms/bulk_edit.py:229
+#: ipam/forms/bulk_edit.py:230
msgid "Prefix length"
msgstr "Longitud del prefijo"
-#: 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 "Es una piscina"
-#: 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 "Tratar como si se hubiera utilizado por completo"
-#: 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 "Nombre 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 "Protocolo"
-#: 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 grupo"
-#: 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 "Tipo de autenticación"
-#: 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 "Clave de autenticación"
-#: 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 "AUTENTICACIÓN"
-#: ipam/forms/bulk_edit.py:414
+#: ipam/forms/bulk_edit.py:415
msgid "Minimum child VLAN VID"
msgstr "VLAN (VID) secundaria mínima"
-#: ipam/forms/bulk_edit.py:420
+#: ipam/forms/bulk_edit.py:421
msgid "Maximum child VLAN VID"
msgstr "VLAN (VID) secundaria máxima"
-#: 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 "Tipo de ámbito"
-#: 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 "Alcance"
-#: ipam/forms/bulk_edit.py:560
+#: ipam/forms/bulk_edit.py:563
msgid "Site & Group"
msgstr "Sitio y grupo"
-#: 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 "Puertos"
@@ -8141,15 +8505,15 @@ msgstr "RIR asignado"
msgid "VLAN's group (if any)"
msgstr "Grupo de VLAN (si lo hay)"
-#: 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"
@@ -8158,14 +8522,14 @@ msgid "Parent device of assigned interface (if any)"
msgstr "Dispositivo principal de la interfaz asignada (si existe)"
#: 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 "Máquina virtual"
@@ -8236,144 +8600,151 @@ msgstr "Obligatorio si no está asignado a un dispositivo"
msgid "{ip} is not assigned to this device/VM."
msgstr "{ip} no está asignado a este dispositivo/máquina virtual."
-#: 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 "Objetivos de ruta"
-#: 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 "Importar objetivos"
-#: 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 "Objetivos de exportación"
-#: ipam/forms/filtersets.py:72
+#: ipam/forms/filtersets.py:73
msgid "Imported by VRF"
msgstr "Importado por VRF"
-#: ipam/forms/filtersets.py:77
+#: ipam/forms/filtersets.py:78
msgid "Exported by VRF"
msgstr "Exportado por 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 "Privada"
-#: 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 "Familia de direcciones"
-#: ipam/forms/filtersets.py:118 templates/ipam/asnrange.html:26
+#: ipam/forms/filtersets.py:119 templates/ipam/asnrange.html:25
msgid "Range"
msgstr "Alcance"
-#: ipam/forms/filtersets.py:127
+#: ipam/forms/filtersets.py:128
msgid "Start"
msgstr "Comenzar"
-#: 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 "Busca dentro"
-#: 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 "Presente en VRF"
-#: ipam/forms/filtersets.py:297
+#: ipam/forms/filtersets.py:304
msgid "Device/VM"
msgstr "Dispositivo/VM"
-#: ipam/forms/filtersets.py:333
+#: ipam/forms/filtersets.py:314
+msgid "Parent Prefix"
+msgstr "Prefijo principal"
+
+#: ipam/forms/filtersets.py:340
msgid "Assigned Device"
msgstr "Dispositivo asignado"
-#: ipam/forms/filtersets.py:338
+#: ipam/forms/filtersets.py:345
msgid "Assigned VM"
msgstr "VM asignada"
-#: ipam/forms/filtersets.py:352
+#: ipam/forms/filtersets.py:359
msgid "Assigned to an interface"
msgstr "Asignado a una interfaz"
-#: ipam/forms/filtersets.py:359 templates/ipam/ipaddress.html:54
+#: ipam/forms/filtersets.py:366 templates/ipam/ipaddress.html:51
msgid "DNS Name"
msgstr "Nombre 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 "IDENTIFICADOR DE VLAN"
-#: ipam/forms/filtersets.py:433
+#: ipam/forms/filtersets.py:440
msgid "Minimum VID"
msgstr "VID mínimo"
-#: ipam/forms/filtersets.py:439
+#: ipam/forms/filtersets.py:446
msgid "Maximum VID"
msgstr "VID máximo"
-#: ipam/forms/filtersets.py:516
-msgid "Port"
-msgstr "Puerto"
-
-#: 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 "Máquina virtual"
-#: 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 "Objetivo de ruta"
+
+#: ipam/forms/model_forms.py:112 ipam/tables/ip.py:116
+#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38
msgid "Aggregate"
msgstr "Agregado"
-#: 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 "Gama ASN"
-#: ipam/forms/model_forms.py:230
+#: ipam/forms/model_forms.py:229
msgid "Site/VLAN Assignment"
msgstr "Asignación de sitio/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 "Rango de 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 "Grupo FHRP"
-#: ipam/forms/model_forms.py:300
+#: ipam/forms/model_forms.py:308
msgid "Make this the primary IP for the device/VM"
msgstr "Haga que esta sea la IP principal del dispositivo/VM"
-#: ipam/forms/model_forms.py:351
+#: ipam/forms/model_forms.py:323
+msgid "NAT IP (Inside)"
+msgstr "NAT IP (interior)"
+
+#: ipam/forms/model_forms.py:373
msgid "An IP address can only be assigned to a single object."
msgstr "Solo se puede asignar una dirección IP a un único objeto."
-#: 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"
@@ -8381,32 +8752,32 @@ msgstr ""
"No se puede reasignar la dirección IP mientras esté designada como la IP "
"principal del objeto principal"
-#: 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 ""
"Solo las direcciones IP asignadas a una interfaz se pueden designar como IP "
"principales."
-#: ipam/forms/model_forms.py:442
+#: ipam/forms/model_forms.py:464
msgid "Virtual IP Address"
msgstr "Dirección IP virtual"
-#: ipam/forms/model_forms.py:523
+#: ipam/forms/model_forms.py:549
msgid "Assignment already exists"
msgstr "La asignación ya existe"
-#: 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 "Grupo VLAN"
-#: ipam/forms/model_forms.py:603
+#: ipam/forms/model_forms.py:629
msgid "Child VLANs"
msgstr "VLAN secundarias"
-#: 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."
@@ -8414,15 +8785,32 @@ msgstr ""
"Lista separada por comas de uno o más números de puerto. Se puede "
"especificar un rango mediante un guión."
-#: 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 "Plantilla de servicio"
-#: ipam/forms/model_forms.py:728
+#: ipam/forms/model_forms.py:753
+msgid "Port(s)"
+msgstr "Puerto (s)"
+
+#: ipam/forms/model_forms.py:754 ipam/forms/model_forms.py:782
+#: templates/ipam/service.html:21
+msgid "Service"
+msgstr "Servicio"
+
+#: ipam/forms/model_forms.py:767
msgid "Service template"
msgstr "Plantilla de servicio"
-#: ipam/forms/model_forms.py:758
+#: ipam/forms/model_forms.py:779
+msgid "From Template"
+msgstr "Desde plantilla"
+
+#: ipam/forms/model_forms.py:780
+msgid "Custom"
+msgstr "Personalizado"
+
+#: ipam/forms/model_forms.py:810
msgid ""
"Must specify name, protocol, and port(s) if not using a service template."
msgstr ""
@@ -8458,7 +8846,7 @@ msgstr "Número de sistema autónomo de 16 o 32 bits"
msgid "group ID"
msgstr "ID de grupo"
-#: ipam/models/fhrp.py:30 ipam/models/services.py:22
+#: ipam/models/fhrp.py:30 ipam/models/services.py:21
msgid "protocol"
msgstr "protocolo"
@@ -8498,7 +8886,7 @@ msgstr "privado"
msgid "IP space managed by this RIR is considered private"
msgstr "El espacio IP administrado por este RIR se considera privado"
-#: ipam/models/ip.py:71 netbox/navigation/menu.py:170
+#: ipam/models/ip.py:71 netbox/navigation/menu.py:169
msgid "RIRs"
msgstr "RIR"
@@ -8672,7 +9060,7 @@ msgstr "El estado operativo de esta IP"
msgid "The functional role of this IP"
msgstr "La función funcional de esta propiedad intelectual"
-#: 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 (interior)"
@@ -8684,7 +9072,7 @@ msgstr "La IP para la que esta dirección es la IP «externa»"
msgid "Hostname or FQDN (not case-sensitive)"
msgstr "Nombre de host o FQDN (no distingue mayúsculas de minúsculas)"
-#: ipam/models/ip.py:788 ipam/models/services.py:94
+#: ipam/models/ip.py:788 ipam/models/services.py:93
msgid "IP addresses"
msgstr "direcciones IP"
@@ -8714,40 +9102,40 @@ msgstr "Se encontró una dirección IP duplicada en {table}: {ipaddress}"
msgid "Only IPv6 addresses can be assigned SLAAC status"
msgstr "Solo a las direcciones IPv6 se les puede asignar el estado SLAAC"
-#: ipam/models/services.py:33
+#: ipam/models/services.py:32
msgid "port numbers"
msgstr "números de puerto"
-#: ipam/models/services.py:59
+#: ipam/models/services.py:58
msgid "service template"
msgstr "plantilla de servicio"
-#: ipam/models/services.py:60
+#: ipam/models/services.py:59
msgid "service templates"
msgstr "plantillas de servicio"
-#: ipam/models/services.py:95
+#: ipam/models/services.py:94
msgid "The specific IP addresses (if any) to which this service is bound"
msgstr ""
"Las direcciones IP específicas (si las hay) a las que está vinculado este "
"servicio"
-#: ipam/models/services.py:102
+#: ipam/models/services.py:101
msgid "service"
msgstr "servicio"
-#: ipam/models/services.py:103
+#: ipam/models/services.py:102
msgid "services"
msgstr "servicios"
-#: 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 ""
"No se puede asociar un servicio tanto a un dispositivo como a una máquina "
"virtual."
-#: 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 ""
@@ -8808,8 +9196,8 @@ msgid "The primary function of this VLAN"
msgstr "La función principal de esta 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"
@@ -8845,8 +9233,8 @@ msgstr "reforzar un espacio único"
msgid "Prevent duplicate prefixes/IP addresses within this VRF"
msgstr "Evite la duplicación de prefijos/direcciones IP en este 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 "VRFs"
@@ -8874,8 +9262,8 @@ msgstr "Recuento de sitios"
msgid "Provider Count"
msgstr "Recuento de proveedores"
-#: 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 "Agregados"
@@ -8884,19 +9272,19 @@ msgid "Added"
msgstr "Añadido"
#: 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 "Prefijos"
#: 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 "Utilización"
-#: ipam/tables/ip.py:170 netbox/navigation/menu.py:149
+#: ipam/tables/ip.py:170 netbox/navigation/menu.py:148
msgid "IP Ranges"
msgstr "Intervalos de IP"
@@ -8904,7 +9292,7 @@ msgstr "Intervalos de IP"
msgid "Prefix (Flat)"
msgstr "Prefijo (plano)"
-#: ipam/tables/ip.py:224 templates/dcim/rack_edit.html:52
+#: ipam/tables/ip.py:224
msgid "Depth"
msgstr "Profundidad"
@@ -8932,8 +9320,8 @@ msgstr "NAT (exterior)"
msgid "Assigned"
msgstr "Asignado"
-#: 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 "Objeto asignado"
@@ -8993,23 +9381,23 @@ msgstr "Prefijos infantiles"
msgid "Child Ranges"
msgstr "Rangos infantiles"
-#: ipam/views.py:888
+#: ipam/views.py:887
msgid "Related IPs"
msgstr "IPs relacionadas"
-#: ipam/views.py:1117
+#: ipam/views.py:1115
msgid "Device Interfaces"
msgstr "Interfaces de dispositivos"
-#: ipam/views.py:1135
+#: ipam/views.py:1133
msgid "VM Interfaces"
msgstr "Interfaces de VM"
-#: netbox/api/fields.py:62
+#: netbox/api/fields.py:63
msgid "This field may not be blank."
msgstr "Es posible que este campo no esté en blanco."
-#: 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."
@@ -9017,62 +9405,117 @@ msgstr ""
"El valor debe pasarse directamente (por ejemplo, «foo»: 123); no utilice un "
"diccionario o una lista."
-#: netbox/api/fields.py:86
+#: netbox/api/fields.py:89
#, python-brace-format
msgid "{value} is not a valid choice."
msgstr "{value} no es una opción válida."
-#: netbox/api/fields.py:99
+#: netbox/api/fields.py:102
#, python-brace-format
msgid "Invalid content type: {content_type}"
msgstr "Tipo de contenido no válido: {content_type}"
-#: netbox/api/fields.py:100
+#: netbox/api/fields.py:103
msgid "Invalid value. Specify a content type as '.'."
msgstr ""
"Valor no válido. Especifique un tipo de contenido como "
"'.'."
-#: netbox/api/serializers/nested.py:35
-#, python-brace-format
-msgid "Related object not found using the provided attributes: {params}"
-msgstr ""
-"No se encontró el objeto relacionado con los atributos proporcionados: "
-"{params}"
-
-#: netbox/api/serializers/nested.py:38
-#, python-brace-format
-msgid "Multiple objects match the provided attributes: {params}"
-msgstr "Varios objetos coinciden con los atributos proporcionados: {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 ""
-"Se debe hacer referencia a los objetos relacionados mediante un "
-"identificador numérico o un diccionario de atributos. Recibió un valor no "
-"reconocido: {value}"
-
-#: netbox/api/serializers/nested.py:59
-#, python-brace-format
-msgid "Related object not found using the provided numeric ID: {id}"
-msgstr ""
-"No se encontró el objeto relacionado con el identificador numérico "
-"proporcionado: {id}"
-
-#: netbox/authentication.py:137
+#: netbox/authentication/__init__.py:138
#, python-brace-format
msgid "Invalid permission {permission} for model {model}"
msgstr "Permiso no válido {permission} para modelo {model}"
+#: netbox/choices.py:49
+msgid "Dark Red"
+msgstr "rojo oscuro"
+
+#: netbox/choices.py:52
+msgid "Rose"
+msgstr "Rosa"
+
+#: netbox/choices.py:53
+msgid "Fuchsia"
+msgstr "Fucsia"
+
+#: netbox/choices.py:55
+msgid "Dark Purple"
+msgstr "Púrpura oscuro"
+
+#: netbox/choices.py:58
+msgid "Light Blue"
+msgstr "Azul claro"
+
+#: netbox/choices.py:61
+msgid "Aqua"
+msgstr "Aguamarina"
+
+#: netbox/choices.py:62
+msgid "Dark Green"
+msgstr "Verde oscuro"
+
+#: netbox/choices.py:64
+msgid "Light Green"
+msgstr "Verde claro"
+
+#: netbox/choices.py:65
+msgid "Lime"
+msgstr "Lima"
+
+#: netbox/choices.py:67
+msgid "Amber"
+msgstr "Ámbar"
+
+#: netbox/choices.py:69
+msgid "Dark Orange"
+msgstr "Naranja oscuro"
+
+#: netbox/choices.py:70
+msgid "Brown"
+msgstr "Marrón"
+
+#: netbox/choices.py:71
+msgid "Light Grey"
+msgstr "Gris claro"
+
+#: netbox/choices.py:72
+msgid "Grey"
+msgstr "Gris"
+
+#: netbox/choices.py:73
+msgid "Dark Grey"
+msgstr "Gris oscuro"
+
+#: netbox/choices.py:131
+msgid "Direct"
+msgstr "Directo"
+
+#: netbox/choices.py:132
+msgid "Upload"
+msgstr "Cargar"
+
+#: netbox/choices.py:144 netbox/choices.py:158
+msgid "Auto-detect"
+msgstr "Detección automática"
+
+#: netbox/choices.py:159
+msgid "Comma"
+msgstr "Coma"
+
+#: netbox/choices.py:160
+msgid "Semicolon"
+msgstr "Punto y coma"
+
+#: netbox/choices.py:161
+msgid "Tab"
+msgstr "Pestaña"
+
#: netbox/config/__init__.py:67
#, python-brace-format
msgid "Invalid configuration parameter: {item}"
msgstr "Parámetro de configuración no válido: {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 "banner de inicio de sesión"
@@ -9080,7 +9523,7 @@ msgstr "banner de inicio de sesión"
msgid "Additional content to display on the login page"
msgstr "Contenido adicional para mostrar en la página de inicio de sesión"
-#: 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 "Banner de mantenimiento"
@@ -9088,7 +9531,7 @@ msgstr "Banner de mantenimiento"
msgid "Additional content to display when in maintenance mode"
msgstr "Contenido adicional para mostrar en modo de mantenimiento"
-#: 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 "Banner superior"
@@ -9096,7 +9539,7 @@ msgstr "Banner superior"
msgid "Additional content to display at the top of every page"
msgstr "Contenido adicional para mostrar en la parte superior de cada página"
-#: 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 "Banner inferior"
@@ -9112,7 +9555,7 @@ msgstr "Espacio IP único a nivel mundial"
msgid "Enforce unique IP addressing within the global table"
msgstr "Imponga un direccionamiento IP único dentro de la tabla 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 "Prefiero IPv4"
@@ -9163,7 +9606,7 @@ msgstr "Utilización máxima de Powerfeed"
msgid "Default max utilization for powerfeeds"
msgstr "Utilización máxima predeterminada de las fuentes de alimentación"
-#: 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 "Esquemas de URL permitidos"
@@ -9181,7 +9624,7 @@ msgstr "Tamaño de página predeterminado"
msgid "Maximum page size"
msgstr "Tamaño máximo de página"
-#: 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 "Validadores personalizados"
@@ -9189,7 +9632,7 @@ msgstr "Validadores personalizados"
msgid "Custom validation rules (JSON)"
msgstr "Reglas de validación personalizadas (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 "Normas de protección"
@@ -9197,7 +9640,7 @@ msgstr "Normas de protección"
msgid "Deletion protection rules (JSON)"
msgstr "Reglas de protección contra eliminaciones (JSON)"
-#: netbox/config/parameters.py:172
+#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117
msgid "Default preferences"
msgstr "Preferencias predeterminadas"
@@ -9205,7 +9648,7 @@ msgstr "Preferencias predeterminadas"
msgid "Default preferences for new users"
msgstr "Preferencias predeterminadas para usuarios nuevos"
-#: 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 "Modo de mantenimiento"
@@ -9213,7 +9656,7 @@ msgstr "Modo de mantenimiento"
msgid "Enable maintenance mode"
msgstr "Habilitar el modo de mantenimiento"
-#: 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 habilitado"
@@ -9221,7 +9664,7 @@ msgstr "GraphQL habilitado"
msgid "Enable the GraphQL API"
msgstr "Habilita la API de 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 "Retención del registro de cambios"
@@ -9241,7 +9684,7 @@ msgstr ""
"Días para conservar el historial de resultados del trabajo (establecido en "
"cero para un número ilimitado)"
-#: 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 de mapas"
@@ -9249,39 +9692,43 @@ msgstr "URL de mapas"
msgid "Base URL for mapping geographic locations"
msgstr "URL base para mapear ubicaciones geográficas"
-#: netbox/forms/__init__.py:13
+#: netbox/forms/__init__.py:12
msgid "Partial match"
msgstr "Coincidencia parcial"
-#: netbox/forms/__init__.py:14
+#: netbox/forms/__init__.py:13
msgid "Exact match"
msgstr "Coincidencia exacta"
-#: netbox/forms/__init__.py:15
+#: netbox/forms/__init__.py:14
msgid "Starts with"
msgstr "Empieza con"
-#: netbox/forms/__init__.py:16
+#: netbox/forms/__init__.py:15
msgid "Ends with"
msgstr "Termina con"
-#: 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 "Tipo(s) de objeto(s)"
-#: 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 ""
+"Etiquete las babosas separadas por comas y entre comillas dobles (por "
+"ejemplo, «tag1, tag2, tag3\")"
-#: netbox/forms/base.py:116
+#: netbox/forms/base.py:118
msgid "Add tags"
msgstr "Añadir etiquetas"
-#: netbox/forms/base.py:121
+#: netbox/forms/base.py:123
msgid "Remove tags"
msgstr "Eliminar etiquetas"
@@ -9290,396 +9737,383 @@ msgstr "Eliminar etiquetas"
msgid "{class_name} must specify a model class."
msgstr "{class_name} debe especificar una clase modelo."
-#: netbox/models/features.py:278
+#: netbox/models/features.py:277
#, python-brace-format
msgid "Unknown field name '{name}' in custom field data."
msgstr "Nombre de campo desconocido '{name}'en datos de campo personalizados."
-#: netbox/models/features.py:284
+#: netbox/models/features.py:283
#, python-brace-format
msgid "Invalid value for custom field '{name}': {error}"
msgstr "Valor no válido para el campo personalizado '{name}': {error}"
-#: netbox/models/features.py:291
+#: netbox/models/features.py:290
#, python-brace-format
msgid "Missing required custom field '{name}'."
msgstr "Falta el campo personalizado obligatorio '{name}'."
-#: netbox/models/features.py:438
+#: netbox/models/features.py:441
msgid "Remote data source"
msgstr "Fuente de datos remota"
-#: netbox/models/features.py:448
+#: netbox/models/features.py:451
msgid "data path"
msgstr "ruta de datos"
-#: netbox/models/features.py:452
+#: netbox/models/features.py:455
msgid "Path to remote file (relative to data source root)"
msgstr "Ruta al archivo remoto (relativa a la raíz de la fuente de datos)"
-#: netbox/models/features.py:455
+#: netbox/models/features.py:458
msgid "auto sync enabled"
msgstr "sincronización automática habilitada"
-#: netbox/models/features.py:457
+#: netbox/models/features.py:460
msgid "Enable automatic synchronization of data when the data file is updated"
msgstr ""
"Habilitar la sincronización automática de datos cuando se actualiza el "
"archivo de datos"
-#: netbox/models/features.py:460
+#: netbox/models/features.py:463
msgid "date synced"
msgstr "fecha sincronizada"
-#: 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} debe implementar un método sync_data ()."
-#: netbox/navigation/menu.py:12
+#: netbox/navigation/menu.py:11
msgid "Organization"
msgstr "Organización"
-#: netbox/navigation/menu.py:20
+#: netbox/navigation/menu.py:19
msgid "Site Groups"
msgstr "Grupos de sitios"
-#: netbox/navigation/menu.py:28
+#: netbox/navigation/menu.py:27
msgid "Rack Roles"
msgstr "Roles de bastidor"
-#: netbox/navigation/menu.py:32
+#: netbox/navigation/menu.py:31
msgid "Elevations"
msgstr "Elevaciones"
-#: netbox/navigation/menu.py:41
+#: netbox/navigation/menu.py:40
msgid "Tenant Groups"
msgstr "Grupos de inquilinos"
-#: netbox/navigation/menu.py:48
+#: netbox/navigation/menu.py:47
msgid "Contact Groups"
msgstr "Grupos de contactos"
-#: netbox/navigation/menu.py:49 templates/tenancy/contactrole.html:8
+#: netbox/navigation/menu.py:48 templates/tenancy/contactrole.html:8
msgid "Contact Roles"
msgstr "Funciones de contacto"
-#: netbox/navigation/menu.py:50
+#: netbox/navigation/menu.py:49
msgid "Contact Assignments"
msgstr "Asignaciones de contactos"
-#: netbox/navigation/menu.py:64
+#: netbox/navigation/menu.py:63
msgid "Modules"
msgstr "Módulos"
-#: netbox/navigation/menu.py:65 templates/dcim/devicerole.html:8
-msgid "Device Roles"
-msgstr "Funciones del dispositivo"
-
-#: 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 "Contextos de dispositivos virtuales"
-#: netbox/navigation/menu.py:76
+#: netbox/navigation/menu.py:75
msgid "Manufacturers"
msgstr "fabricantes"
-#: netbox/navigation/menu.py:80
+#: netbox/navigation/menu.py:79
msgid "Device Components"
msgstr "Componentes del dispositivo"
-#: 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 "Funciones de los artículos de inventario"
-#: netbox/navigation/menu.py:99 netbox/navigation/menu.py:103
+#: netbox/navigation/menu.py:98 netbox/navigation/menu.py:102
msgid "Connections"
msgstr "Conexiones"
-#: netbox/navigation/menu.py:105
+#: netbox/navigation/menu.py:104
msgid "Cables"
msgstr "Cables"
-#: netbox/navigation/menu.py:106
+#: netbox/navigation/menu.py:105
msgid "Wireless Links"
msgstr "Vínculos inalámbricos"
-#: netbox/navigation/menu.py:109
+#: netbox/navigation/menu.py:108
msgid "Interface Connections"
msgstr "Conexiones de interfaz"
-#: netbox/navigation/menu.py:114
+#: netbox/navigation/menu.py:113
msgid "Console Connections"
msgstr "Conexiones de consola"
-#: netbox/navigation/menu.py:119
+#: netbox/navigation/menu.py:118
msgid "Power Connections"
msgstr "Conexiones de alimentación"
-#: netbox/navigation/menu.py:135
+#: netbox/navigation/menu.py:134
msgid "Wireless LAN Groups"
msgstr "Grupos de LAN inalámbrica"
-#: netbox/navigation/menu.py:156
+#: netbox/navigation/menu.py:155
msgid "Prefix & VLAN Roles"
msgstr "Funciones de prefijo y VLAN"
-#: netbox/navigation/menu.py:162
+#: netbox/navigation/menu.py:161
msgid "ASN Ranges"
msgstr "Rangos de ASN"
-#: netbox/navigation/menu.py:184
+#: netbox/navigation/menu.py:183
msgid "VLAN Groups"
msgstr "Grupos de VLAN"
-#: netbox/navigation/menu.py:191
+#: netbox/navigation/menu.py:190
msgid "Service Templates"
msgstr "Plantillas de servicio"
-#: 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 "Servicios"
-#: 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 "Túneles"
-#: netbox/navigation/menu.py:206 templates/vpn/tunnelgroup.html:8
+#: netbox/navigation/menu.py:205 templates/vpn/tunnelgroup.html:8
msgid "Tunnel Groups"
msgstr "Grupos de túneles"
-#: netbox/navigation/menu.py:207
+#: netbox/navigation/menu.py:206
msgid "Tunnel Terminations"
msgstr "Terminaciones de túneles"
-#: 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 "VPNs 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 "Terminaciones"
-#: netbox/navigation/menu.py:220
+#: netbox/navigation/menu.py:219
msgid "IKE Proposals"
msgstr "Propuestas 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 "Políticas de IKE"
-#: netbox/navigation/menu.py:222
+#: netbox/navigation/menu.py:221
msgid "IPSec Proposals"
msgstr "Propuestas de 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 "Políticas 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 "Perfiles 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 "Virtualización"
-#: netbox/navigation/menu.py:235 netbox/navigation/menu.py:237
-#: virtualization/views.py:186
-msgid "Virtual Machines"
-msgstr "Máquinas virtuales"
-
-#: 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 "Discos virtuales"
-#: netbox/navigation/menu.py:246
+#: netbox/navigation/menu.py:245
msgid "Cluster Types"
msgstr "Tipos de clústeres"
-#: netbox/navigation/menu.py:247
+#: netbox/navigation/menu.py:246
msgid "Cluster Groups"
msgstr "Grupos de clústeres"
-#: netbox/navigation/menu.py:261
+#: netbox/navigation/menu.py:260
msgid "Circuit Types"
msgstr "Tipos de circuitos"
-#: netbox/navigation/menu.py:265 netbox/navigation/menu.py:267
+#: netbox/navigation/menu.py:264 netbox/navigation/menu.py:266
msgid "Providers"
msgstr "Proveedores"
-#: netbox/navigation/menu.py:268 templates/circuits/provider.html:53
+#: netbox/navigation/menu.py:267 templates/circuits/provider.html:51
msgid "Provider Accounts"
msgstr "Cuentas de proveedores"
-#: netbox/navigation/menu.py:269
+#: netbox/navigation/menu.py:268
msgid "Provider Networks"
msgstr "Redes de proveedores"
-#: netbox/navigation/menu.py:283
+#: netbox/navigation/menu.py:282
msgid "Power Panels"
msgstr "Paneles de alimentación"
-#: netbox/navigation/menu.py:294
+#: netbox/navigation/menu.py:293
msgid "Configurations"
msgstr "Configuraciones"
-#: netbox/navigation/menu.py:296
+#: netbox/navigation/menu.py:295
msgid "Config Contexts"
msgstr "Contextos de configuración"
-#: netbox/navigation/menu.py:297
+#: netbox/navigation/menu.py:296
msgid "Config Templates"
msgstr "Plantillas de configuración"
-#: netbox/navigation/menu.py:304 netbox/navigation/menu.py:308
+#: netbox/navigation/menu.py:303 netbox/navigation/menu.py:307
msgid "Customization"
msgstr "Personalización"
-#: 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 "Campos personalizados"
-#: netbox/navigation/menu.py:311
+#: netbox/navigation/menu.py:310
msgid "Custom Field Choices"
msgstr "Opciones de campo personalizadas"
-#: netbox/navigation/menu.py:312
+#: netbox/navigation/menu.py:311
msgid "Custom Links"
msgstr "Vínculos personalizados"
-#: netbox/navigation/menu.py:313
+#: netbox/navigation/menu.py:312
msgid "Export Templates"
msgstr "Plantillas de exportación"
-#: netbox/navigation/menu.py:314
+#: netbox/navigation/menu.py:313
msgid "Saved Filters"
msgstr "Filtros guardados"
-#: netbox/navigation/menu.py:316
+#: netbox/navigation/menu.py:315
msgid "Image Attachments"
msgstr "Adjuntos de imágenes"
-#: netbox/navigation/menu.py:320
-msgid "Reports & Scripts"
-msgstr "Informes y guiones"
-
-#: netbox/navigation/menu.py:340
+#: netbox/navigation/menu.py:333
msgid "Operations"
msgstr "Operaciones"
-#: netbox/navigation/menu.py:344
+#: netbox/navigation/menu.py:337
msgid "Integrations"
msgstr "Integraciones"
-#: netbox/navigation/menu.py:346
+#: netbox/navigation/menu.py:339
msgid "Data Sources"
msgstr "Fuentes de datos"
-#: netbox/navigation/menu.py:347
+#: netbox/navigation/menu.py:340
msgid "Event Rules"
msgstr "Reglas del evento"
-#: 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 "Trabajos"
-#: netbox/navigation/menu.py:362
+#: netbox/navigation/menu.py:355
msgid "Logging"
msgstr "Explotación"
-#: netbox/navigation/menu.py:364
+#: netbox/navigation/menu.py:357
msgid "Journal Entries"
msgstr "Entradas del diario"
-#: 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 "Registro de cambios"
-#: 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 "Admin"
-#: 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 "usuarios"
-#: 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 "Grupos"
-#: 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 "Tokens de 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 "Permisos"
-#: netbox/navigation/menu.py:445
-msgid "Current Config"
-msgstr "Configuración actual"
+#: netbox/navigation/menu.py:424 netbox/navigation/menu.py:428
+#: templates/core/system.html:7
+msgid "System"
+msgstr "Sistema"
-#: netbox/navigation/menu.py:451
-msgid "Config Revisions"
-msgstr "Revisiones de configuración"
+#: netbox/navigation/menu.py:432
+msgid "Configuration History"
+msgstr "Historial de configuración"
-#: 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 "Tareas en segundo plano"
+
+#: netbox/navigation/menu.py:475 templates/500.html:35
+#: templates/account/preferences.html:22 templates/core/system.html:76
msgid "Plugins"
msgstr "Plugins"
-#: 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 "Los permisos se deben pasar en forma de tupla o lista."
-#: netbox/plugins/navigation.py:50
+#: netbox/plugins/navigation.py:51
msgid "Buttons must be passed as a tuple or list."
msgstr "Los botones se deben pasar como una tupla o una lista."
-#: netbox/plugins/navigation.py:72
+#: netbox/plugins/navigation.py:73
msgid "Button color must be a choice within ButtonColorChoices."
msgstr "El color del botón debe ser una opción dentro de ButtonColorChoices."
@@ -9730,54 +10164,60 @@ msgid "extra_context must be a dictionary"
msgstr "extra_context debe ser un diccionario"
#: netbox/preferences.py:19
-msgid "Color mode"
-msgstr "Modo de color"
+msgid "HTMX Navigation"
+msgstr "Navegación HTMX"
-#: netbox/preferences.py:21
-msgid "Light"
-msgstr "Luz"
+#: netbox/preferences.py:24
+msgid "Enable dynamic UI navigation"
+msgstr "Habilitar la navegación dinámica por interfaz de usuario"
-#: netbox/preferences.py:22
-msgid "Dark"
-msgstr "Oscuro"
-
-#: netbox/preferences.py:27
+#: netbox/preferences.py:29
msgid "Language"
msgstr "Idioma"
#: netbox/preferences.py:34
+msgid "Forces UI translation to the specified language."
+msgstr ""
+"Fuerza la traducción de la interfaz de usuario al idioma especificado."
+
+#: netbox/preferences.py:37
msgid "Page length"
msgstr "Longitud de página"
-#: netbox/preferences.py:36
+#: netbox/preferences.py:39
msgid "The default number of objects to display per page"
msgstr "El número predeterminado de objetos que se mostrarán por página"
-#: netbox/preferences.py:40
+#: netbox/preferences.py:43
msgid "Paginator placement"
msgstr "Colocación del paginador"
-#: netbox/preferences.py:42
+#: netbox/preferences.py:45
msgid "Bottom"
msgstr "Parte inferior"
-#: netbox/preferences.py:43
+#: netbox/preferences.py:46
msgid "Top"
msgstr "Parte superior"
-#: netbox/preferences.py:44
+#: netbox/preferences.py:47
msgid "Both"
msgstr "Ambos"
-#: netbox/preferences.py:46
+#: netbox/preferences.py:50
msgid "Where the paginator controls will be displayed relative to a table"
msgstr ""
"Dónde se mostrarán los controles del paginador en relación con una tabla"
-#: netbox/preferences.py:52
+#: netbox/preferences.py:55
msgid "Data format"
msgstr "Formato de datos"
+#: netbox/preferences.py:60
+msgid "The preferred syntax for displaying generic data within the UI"
+msgstr ""
+"La sintaxis preferida para mostrar datos genéricos en la interfaz de usuario"
+
#: netbox/registry.py:14
#, python-brace-format
msgid "Invalid store: {key}"
@@ -9791,63 +10231,59 @@ msgstr "No se pueden agregar tiendas al registro después de la inicialización"
msgid "Cannot delete stores from registry"
msgstr "No se pueden eliminar las tiendas del registro"
-#: netbox/settings.py:724
+#: netbox/settings.py:706
msgid "English"
msgstr "Inglés"
-#: netbox/settings.py:725
+#: netbox/settings.py:707
msgid "Spanish"
msgstr "española"
-#: netbox/settings.py:726
+#: netbox/settings.py:708
msgid "French"
msgstr "francesa"
-#: netbox/settings.py:727
+#: netbox/settings.py:709
msgid "Japanese"
msgstr "japonés"
-#: netbox/settings.py:728
+#: netbox/settings.py:710
msgid "Portuguese"
msgstr "portugués"
-#: netbox/settings.py:729
+#: netbox/settings.py:711
msgid "Russian"
msgstr "rusa"
-#: netbox/settings.py:730
+#: netbox/settings.py:712
msgid "Turkish"
msgstr "turca"
-#: netbox/tables/columns.py:175
+#: netbox/tables/columns.py:185
msgid "Toggle all"
msgstr "Alternar todo"
-#: netbox/tables/columns.py:277 templates/inc/profile_button.html:56
+#: netbox/tables/columns.py:287
msgid "Toggle Dropdown"
msgstr "Alternar menú desplegable"
-#: netbox/tables/columns.py:542 templates/core/job.html:40
+#: netbox/tables/columns.py:552 templates/core/job.html:35
msgid "Error"
msgstr "Error"
-#: 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 "Campo"
-#: netbox/tables/tables.py:246
+#: netbox/tables/tables.py:248
msgid "Value"
msgstr "Valor"
-#: netbox/tables/tables.py:259
-msgid "No results found"
-msgstr "No se han encontrado resultados"
-
#: netbox/tests/dummy_plugin/navigation.py:29
msgid "Dummy Plugin"
msgstr "Plugin ficticio"
-#: 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 "Fila {i}: Objeto con ID {id} no existe"
@@ -9907,7 +10343,7 @@ msgstr "La excepción completa se proporciona a continuación"
msgid "Python version"
msgstr "Versión de Python"
-#: templates/500.html:34
+#: templates/500.html:34 templates/core/system.html:31
msgid "NetBox version"
msgstr "Versión NetBox"
@@ -9931,13 +10367,13 @@ msgstr "en GitHub"
msgid "Home Page"
msgstr "Página de inicio"
-#: 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 "Perfil"
-#: 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 "Preferencias"
@@ -9945,62 +10381,62 @@ msgstr "Preferencias"
msgid "Change Password"
msgstr "Cambiar contraseña"
-#: 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 "Cancelar"
-#: 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 "Guardar"
-#: templates/account/preferences.html:41
+#: templates/account/preferences.html:34
msgid "Table Configurations"
msgstr "Configuraciones de tablas"
-#: templates/account/preferences.html:46
+#: templates/account/preferences.html:39
msgid "Clear table preferences"
msgstr "Borrar preferencias de mesa"
-#: templates/account/preferences.html:53
+#: templates/account/preferences.html:47
msgid "Toggle All"
msgstr "Alternar todo"
-#: templates/account/preferences.html:55
+#: templates/account/preferences.html:49
msgid "Table"
msgstr "Tabla"
-#: templates/account/preferences.html:56
+#: templates/account/preferences.html:50
msgid "Ordering"
msgstr "Pedido"
-#: templates/account/preferences.html:57
+#: templates/account/preferences.html:51
msgid "Columns"
msgstr "Columnas"
-#: 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 "No se encontró ninguno"
@@ -10013,54 +10449,55 @@ msgstr "Perfil de usuario"
msgid "Account Details"
msgstr "Detalles de la cuenta"
-#: 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 "Correo electrónico"
-#: templates/account/profile.html:34 templates/users/user.html:30
+#: templates/account/profile.html:33 templates/users/user.html:29
msgid "Account Created"
msgstr "Cuenta creada"
-#: templates/account/profile.html:38 templates/users/user.html:34
+#: templates/account/profile.html:37 templates/users/user.html:33
msgid "Last Login"
msgstr "Último inicio de sesión"
-#: templates/account/profile.html:42 templates/users/user.html:46
+#: templates/account/profile.html:41 templates/users/user.html:45
msgid "Superuser"
msgstr "Superusuario"
-#: templates/account/profile.html:46
-msgid "Admin Access"
-msgstr "Acceso de administrador"
+#: templates/account/profile.html:45 templates/inc/user_menu.html:13
+#: templates/users/user.html:41
+msgid "Staff"
+msgstr "Personal"
-#: 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 "Grupos asignados"
-#: 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 "Ninguna"
-#: templates/account/profile.html:70 templates/users/user.html:80
+#: templates/account/profile.html:68 templates/users/user.html:78
msgid "Recent Activity"
msgstr "Actividad reciente"
@@ -10074,12 +10511,12 @@ msgstr "Mis fichas de API"
msgid "Token"
msgstr "Símbolo"
-#: 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 "Escritura habilitada"
-#: templates/account/token.html:52 templates/users/token.html:44
+#: templates/account/token.html:51 templates/users/token.html:43
msgid "Last used"
msgstr "Utilizado por última vez"
@@ -10087,77 +10524,51 @@ msgstr "Utilizado por última vez"
msgid "Add a Token"
msgstr "Añadir un token"
-#: templates/admin/index.html:10
-msgid "System"
-msgstr "Sistema"
-
-#: templates/admin/index.html:14
-msgid "Background Tasks"
-msgstr "Tareas en segundo plano"
-
-#: templates/admin/index.html:19
-msgid "Installed plugins"
-msgstr "Plugins instalados"
-
-#: 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 "Inicio"
-#: templates/base/layout.html:27 templates/base/layout.html:37
-#: templates/login.html:34
-msgid "NetBox logo"
-msgstr "Logotipo de NetBox"
-
-#: templates/base/layout.html:76
-msgid "Debug mode is enabled"
-msgstr "El modo de depuración está activado"
-
-#: templates/base/layout.html:77
-msgid ""
-"Performance may be limited. Debugging should never be enabled on a "
-"production system"
-msgstr ""
-"El rendimiento puede ser limitado. La depuración nunca debe habilitarse en "
-"un sistema de producción"
-
-#: templates/base/layout.html:83
-msgid "Maintenance Mode"
-msgstr "Modo de mantenimiento"
-
-#: templates/base/layout.html:134
-msgid "Docs"
-msgstr "Documentos"
-
-#: templates/base/layout.html:139 templates/rest_framework/api.html:10
-msgid "REST API"
-msgstr "API DE DESCANSO"
-
-#: templates/base/layout.html:144
-msgid "REST API documentation"
-msgstr "Documentación de la API REST"
-
-#: templates/base/layout.html:150
-msgid "GraphQL API"
-msgstr "API de GraphQL"
-
-#: templates/base/layout.html:156
-msgid "Source Code"
-msgstr "Código fuente"
-
-#: templates/base/layout.html:161
-msgid "Community"
-msgstr "Comunidad"
-
-#: templates/base/sidenav.html:12 templates/base/sidenav.html:17
+#: templates/base/layout.html:32
msgid "NetBox Logo"
msgstr "Logotipo de NetBox"
-#: templates/circuits/circuit.html:48
+#: templates/base/layout.html:56
+msgid "Enable dark mode"
+msgstr "Activar el modo oscuro"
+
+#: templates/base/layout.html:59
+msgid "Enable light mode"
+msgstr "Activar el modo de luz"
+
+#: templates/base/layout.html:145
+msgid "Docs"
+msgstr "Documentos"
+
+#: templates/base/layout.html:151 templates/rest_framework/api.html:10
+msgid "REST API"
+msgstr "API DE DESCANSO"
+
+#: templates/base/layout.html:157
+msgid "REST API documentation"
+msgstr "Documentación de la API REST"
+
+#: templates/base/layout.html:164
+msgid "GraphQL API"
+msgstr "API de GraphQL"
+
+#: templates/base/layout.html:171
+msgid "Source Code"
+msgstr "Código fuente"
+
+#: templates/base/layout.html:177
+msgid "Community"
+msgstr "Comunidad"
+
+#: templates/circuits/circuit.html:47
msgid "Install Date"
msgstr "Fecha de instalación"
-#: templates/circuits/circuit.html:52
+#: templates/circuits/circuit.html:51
msgid "Termination Date"
msgstr "Fecha de terminación"
@@ -10178,85 +10589,75 @@ msgstr "Un lado"
msgid "Z side"
msgstr "Lado 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 "Terminación del circuito"
-
-#: templates/circuits/circuittermination_edit.html:41
-msgid "Termination Details"
-msgstr "Detalles de terminación"
-
#: templates/circuits/circuittype.html:10
msgid "Add Circuit"
msgstr "Agregar circuito"
-#: templates/circuits/inc/circuit_termination.html:9
+#: templates/circuits/circuittype.html:19
+msgid "Circuit Type"
+msgstr "Tipo de circuito"
+
+#: 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 "Terminación"
+
+#: 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 "Añadir"
-#: 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 "Editar"
-#: templates/circuits/inc/circuit_termination.html:17
+#: templates/circuits/inc/circuit_termination.html:18
msgid "Swap"
msgstr "Intercambiar"
-#: templates/circuits/inc/circuit_termination.html:26
-#, python-format
-msgid "Termination %(side)s"
-msgstr "Terminación %(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 "Terminación"
-
-#: 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 "Marcado como conectado"
-#: templates/circuits/inc/circuit_termination.html:48
+#: templates/circuits/inc/circuit_termination.html:47
msgid "to"
msgstr "a"
+#: 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 "Rastrear"
-#: templates/circuits/inc/circuit_termination.html:62
+#: templates/circuits/inc/circuit_termination.html:61
msgid "Edit cable"
msgstr "Editar cable"
-#: templates/circuits/inc/circuit_termination.html:67
+#: templates/circuits/inc/circuit_termination.html:66
msgid "Remove cable"
msgstr "Quitar el cable"
-#: 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
@@ -10264,40 +10665,32 @@ msgstr "Quitar el cable"
#: 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 "Desconectar"
-#: 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 "Conectar"
-#: 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 "Puerto frontal"
-
-#: templates/circuits/inc/circuit_termination.html:97
+#: templates/circuits/inc/circuit_termination.html:96
msgid "Downstream"
msgstr "Río abajo"
-#: templates/circuits/inc/circuit_termination.html:98
+#: templates/circuits/inc/circuit_termination.html:97
msgid "Upstream"
msgstr "Aguas arriba"
-#: templates/circuits/inc/circuit_termination.html:107
+#: templates/circuits/inc/circuit_termination.html:106
msgid "Cross-Connect"
msgstr "Conexión cruzada"
-#: templates/circuits/inc/circuit_termination.html:111
+#: templates/circuits/inc/circuit_termination.html:110
msgid "Patch Panel/Port"
msgstr "Panel de conexión/puerto"
@@ -10309,90 +10702,50 @@ msgstr "Añadir circuito"
msgid "Provider Account"
msgstr "Cuenta de proveedor"
-#: templates/core/configrevision.html:47
-msgid "Default unit height"
-msgstr "Altura por defecto de la unidad"
+#: templates/core/configrevision.html:35
+msgid "Configuration Data"
+msgstr "Datos de configuración"
-#: templates/core/configrevision.html:51
-msgid "Default unit width"
-msgstr "Ancho de unidad predeterminado"
-
-#: templates/core/configrevision.html:63
-msgid "Default voltage"
-msgstr "Tensión predeterminada"
-
-#: templates/core/configrevision.html:67
-msgid "Default amperage"
-msgstr "Amperaje predeterminado"
-
-#: templates/core/configrevision.html:71
-msgid "Default max utilization"
-msgstr "Utilización máxima predeterminada"
-
-#: templates/core/configrevision.html:83
-msgid "Enforce global unique"
-msgstr "Imponga la exclusividad global"
-
-#: templates/core/configrevision.html:135
-msgid "Paginate count"
-msgstr "Recuento de paginaciones"
-
-#: templates/core/configrevision.html:139
-msgid "Max page size"
-msgstr "Tamaño máximo de página"
-
-#: templates/core/configrevision.html:179
-msgid "Default user preferences"
-msgstr "Preferencias de usuario predeterminadas"
-
-#: templates/core/configrevision.html:209
-msgid "Job retention"
-msgstr "Retención de empleo"
-
-#: templates/core/configrevision.html:221
+#: templates/core/configrevision.html:40
msgid "Comment"
msgstr "Comentar"
#: 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 "Restaurar"
-#: templates/core/configrevision_restore.html:21
-msgid "Config revisions"
-msgstr "Revisiones de configuración"
-
-#: templates/core/configrevision_restore.html:54
+#: templates/core/configrevision_restore.html:36
msgid "Parameter"
msgstr "Parámetro"
-#: templates/core/configrevision_restore.html:55
+#: templates/core/configrevision_restore.html:37
msgid "Current Value"
msgstr "Valor actual"
-#: templates/core/configrevision_restore.html:56
+#: templates/core/configrevision_restore.html:38
msgid "New Value"
msgstr "Nuevo valor"
-#: templates/core/configrevision_restore.html:66
+#: templates/core/configrevision_restore.html:50
msgid "Changed"
msgstr "Cambiado"
-#: templates/core/datafile.html:47
+#: templates/core/datafile.html:38
msgid "Last Updated"
msgstr "Última actualización"
-#: 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 "Tamaño"
-#: templates/core/datafile.html:52
+#: templates/core/datafile.html:43
msgid "bytes"
msgstr "bytes"
-#: templates/core/datafile.html:55
+#: templates/core/datafile.html:46
msgid "SHA256 Hash"
msgstr "Hash SHA256"
@@ -10401,39 +10754,246 @@ msgstr "Hash SHA256"
msgid "Sync"
msgstr "Sincronizar"
-#: templates/core/datasource.html:51
+#: templates/core/datasource.html:50
msgid "Last synced"
msgstr "Última sincronización"
-#: 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 "No hay parámetros definidos"
-#: templates/core/datasource.html:118
+#: templates/core/datasource.html:114
msgid "Files"
msgstr "Expedientes"
-#: templates/core/job.html:21
+#: templates/core/inc/config_data.html:7
+msgid "Rack elevations"
+msgstr "Elevaciones de estanterías"
+
+#: templates/core/inc/config_data.html:10
+msgid "Default unit height"
+msgstr "Altura por defecto de la unidad"
+
+#: templates/core/inc/config_data.html:14
+msgid "Default unit width"
+msgstr "Ancho de unidad predeterminado"
+
+#: templates/core/inc/config_data.html:20
+msgid "Power feeds"
+msgstr "Fuentes de alimentación"
+
+#: templates/core/inc/config_data.html:23
+msgid "Default voltage"
+msgstr "Tensión predeterminada"
+
+#: templates/core/inc/config_data.html:27
+msgid "Default amperage"
+msgstr "Amperaje predeterminado"
+
+#: templates/core/inc/config_data.html:31
+msgid "Default max utilization"
+msgstr "Utilización máxima predeterminada"
+
+#: templates/core/inc/config_data.html:40
+msgid "Enforce global unique"
+msgstr "Imponga la exclusividad global"
+
+#: templates/core/inc/config_data.html:83
+msgid "Paginate count"
+msgstr "Recuento de paginaciones"
+
+#: templates/core/inc/config_data.html:87
+msgid "Max page size"
+msgstr "Tamaño máximo de página"
+
+#: templates/core/inc/config_data.html:114
+msgid "User preferences"
+msgstr "Preferencias de usuario"
+
+#: templates/core/inc/config_data.html:141
+msgid "Job retention"
+msgstr "Retención de empleo"
+
+#: 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 "Trabajo"
-#: templates/core/job.html:45 templates/extras/journalentry.html:29
+#: templates/core/job.html:40 templates/extras/journalentry.html:26
msgid "Created By"
msgstr "Creado por"
-#: templates/core/job.html:54
+#: templates/core/job.html:48
msgid "Scheduling"
msgstr "Programación"
-#: templates/core/job.html:66
+#: templates/core/job.html:59
#, python-format
msgid "every %(interval)s minutes"
msgstr "cada %(interval)s minutos"
+#: 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 "Colas en segundo plano"
+
+#: 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 "Configurar tabla"
+
+#: templates/core/rq_task.html:29
+msgid "Stop"
+msgstr "Parar"
+
+#: templates/core/rq_task.html:34
+msgid "Requeue"
+msgstr "Rehacer cola"
+
+#: templates/core/rq_task.html:39
+msgid "Enqueue"
+msgstr "Lista"
+
+#: templates/core/rq_task.html:61
+msgid "Queue"
+msgstr "Fila"
+
+#: templates/core/rq_task.html:65
+msgid "Timeout"
+msgstr "Tiempo de espera"
+
+#: templates/core/rq_task.html:69
+msgid "Result TTL"
+msgstr "Resultado TTL"
+
+#: templates/core/rq_task.html:89
+msgid "Meta"
+msgstr "Meta"
+
+#: templates/core/rq_task.html:93
+msgid "Arguments"
+msgstr "Argumentos"
+
+#: templates/core/rq_task.html:97
+msgid "Keyword Arguments"
+msgstr "Argumentos de palabras"
+
+#: templates/core/rq_task.html:103
+msgid "Depends on"
+msgstr "Depende de"
+
+#: templates/core/rq_task.html:109
+msgid "Exception"
+msgstr "Excepción"
+
+#: templates/core/rq_task_list.html:28
+msgid "tasks in "
+msgstr "tareas en "
+
+#: templates/core/rq_task_list.html:33
+msgid "Queued Jobs"
+msgstr "Trabajos en cola"
+
+#: 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 ""
+"Seleccione todo %(count)s %(object_type_plural)s consulta "
+"coincidente"
+
+#: templates/core/rq_worker.html:10
+msgid "Worker Info"
+msgstr "Información del trabajador"
+
+#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40
+msgid "Worker"
+msgstr "Trabajador"
+
+#: templates/core/rq_worker.html:55
+msgid "Queues"
+msgstr "Colas"
+
+#: templates/core/rq_worker.html:63
+msgid "Curent Job"
+msgstr "Empleo actual"
+
+#: templates/core/rq_worker.html:67
+msgid "Successful job count"
+msgstr "Recuento de trabajos exitoso"
+
+#: templates/core/rq_worker.html:71
+msgid "Failed job count"
+msgstr "Recuento de trabajos fallidos"
+
+#: templates/core/rq_worker.html:75
+msgid "Total working time"
+msgstr "Tiempo total de trabajo"
+
+#: templates/core/rq_worker.html:76
+msgid "seconds"
+msgstr "segundos"
+
+#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21
+msgid "Background Workers"
+msgstr "Trabajadores en segundo plano"
+
+#: templates/core/rq_worker_list.html:27
+msgid "Workers in "
+msgstr "Trabajadores en "
+
+#: templates/core/system.html:11 utilities/templates/buttons/export.html:4
+msgid "Export"
+msgstr "Exportación"
+
+#: templates/core/system.html:28
+msgid "System Status"
+msgstr "Estado del sistema"
+
+#: templates/core/system.html:35
+msgid "Django version"
+msgstr "Versión Django"
+
+#: templates/core/system.html:39
+msgid "PotsgreSQL version"
+msgstr "Versión PostgreSQL"
+
+#: templates/core/system.html:43
+msgid "Database name"
+msgstr "Nombre de base de datos"
+
+#: templates/core/system.html:47
+msgid "Database size"
+msgstr "Tamaño de base de datos"
+
+#: templates/core/system.html:52
+msgid "Unavailable"
+msgstr "No disponible"
+
+#: templates/core/system.html:57
+msgid "RQ workers"
+msgstr "Trabajadores de RQ"
+
+#: templates/core/system.html:60
+msgid "default queue"
+msgstr "cola predeterminada"
+
+#: templates/core/system.html:64
+msgid "System time"
+msgstr "Hora del sistema"
+
+#: templates/core/system.html:86
+msgid "Current Configuration"
+msgstr "Configuración actual"
+
#: templates/dcim/bulk_disconnect.html:9
#, python-format
msgid ""
@@ -10441,58 +11001,50 @@ msgid ""
msgstr ""
"¿Está seguro de que desea desconectarlos? %(count)s %(obj_type_plural)s?"
-#: templates/dcim/cable_edit.html:12
-msgid "A Side"
-msgstr "Un lado"
-
-#: templates/dcim/cable_edit.html:29
-msgid "B Side"
-msgstr "Lado 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 para %(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 "Descargar SVG"
-#: templates/dcim/cable_trace.html:27
+#: templates/dcim/cable_trace.html:30
msgid "Asymmetric Path"
msgstr "Ruta asimétrica"
-#: 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 ""
"Los nodos siguientes no tienen enlaces y dan como resultado una ruta "
"asimétrica"
-#: templates/dcim/cable_trace.html:35
+#: templates/dcim/cable_trace.html:38
msgid "Path split"
msgstr "Ruta dividida"
-#: templates/dcim/cable_trace.html:36
+#: templates/dcim/cable_trace.html:39
msgid "Select a node below to continue"
msgstr "Seleccione un nodo de los siguientes para continuar"
-#: templates/dcim/cable_trace.html:52
+#: templates/dcim/cable_trace.html:55
msgid "Trace Completed"
msgstr "Rastreo completado"
-#: templates/dcim/cable_trace.html:55
+#: templates/dcim/cable_trace.html:58
msgid "Total segments"
msgstr "Total de segmentos"
-#: templates/dcim/cable_trace.html:59
+#: templates/dcim/cable_trace.html:62
msgid "Total length"
msgstr "Longitud total"
-#: templates/dcim/cable_trace.html:74
+#: templates/dcim/cable_trace.html:77
msgid "No paths found"
msgstr "No se encontró ninguna ruta"
-#: templates/dcim/cable_trace.html:83
+#: templates/dcim/cable_trace.html:85
msgid "Related Paths"
msgstr "Rutas relacionadas"
@@ -10516,100 +11068,90 @@ msgstr "Incompleto"
msgid "Rename Selected"
msgstr "Cambiar nombre seleccionado"
-#: 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 "No conectado"
-#: 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 "Puerto de servidor de consola"
+#: templates/dcim/device.html:33
+msgid "Highlight device in rack"
+msgstr "Resalte el dispositivo en el estante"
-#: templates/dcim/device.html:35
-msgid "Highlight device"
-msgstr "Resaltar dispositivo"
-
-#: templates/dcim/device.html:57
+#: templates/dcim/device.html:54
msgid "Not racked"
msgstr "No está atormentado"
-#: templates/dcim/device.html:64 templates/dcim/site.html:96
+#: templates/dcim/device.html:61 templates/dcim/site.html:93
msgid "GPS Coordinates"
msgstr "Coordenadas 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 "Mapearlo"
-#: 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 "Etiqueta de activo"
-#: templates/dcim/device.html:153
+#: templates/dcim/device.html:122
msgid "View Virtual Chassis"
msgstr "Ver chasis virtual"
-#: templates/dcim/device.html:170
+#: templates/dcim/device.html:161
msgid "Create VDC"
msgstr "Crear 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 "Administración"
-#: 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 para"
-#: 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 "NATA"
-#: templates/dcim/device.html:254 templates/dcim/rack.html:70
+#: templates/dcim/device.html:244 templates/dcim/rack.html:67
msgid "Power Utilization"
msgstr "Utilización de energía"
-#: templates/dcim/device.html:259
+#: templates/dcim/device.html:248
msgid "Input"
msgstr "Entrada"
-#: templates/dcim/device.html:260
+#: templates/dcim/device.html:249
msgid "Outlets"
msgstr "Puntos de venta"
-#: templates/dcim/device.html:261
+#: templates/dcim/device.html:250
msgid "Allocated"
msgstr "Asignado"
-#: 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 "Pierna"
-#: 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 "Añadir un servicio"
-#: templates/dcim/device.html:319 templates/dcim/rack.html:77
-#: templates/dcim/rack_edit.html:38
-msgid "Dimensions"
-msgstr "Dimensiones"
-
#: 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
@@ -10650,12 +11192,12 @@ msgstr "Ocultar virtual"
msgid "Hide Disconnected"
msgstr "Ocultar desconectado"
-#: templates/dcim/device/interfaces.html:28
+#: templates/dcim/device/interfaces.html:27
msgid "Add Interfaces"
msgstr "Agregar 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 "Añadir artículo de inventario"
@@ -10680,23 +11222,23 @@ msgstr "Agregar puertos traseros"
msgid "Config"
msgstr "Configuración"
-#: 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 "Datos de contexto"
-#: templates/dcim/device/render_config.html:57
-#: templates/virtualization/virtualmachine/render_config.html:57
-msgid "Download"
-msgstr "Descargar"
-
-#: 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 "Configuración renderizada"
-#: 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 "Descargar"
+
+#: templates/dcim/device/render_config.html:61
+#: templates/virtualization/virtualmachine/render_config.html:61
msgid "No configuration template found"
msgstr "No se encontró ninguna plantilla de configuración"
@@ -10709,7 +11251,7 @@ msgstr "Bahía para padres"
msgid "Regenerate Slug"
msgstr "Regenera a Slug"
-#: 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 "Eliminar"
@@ -10719,35 +11261,21 @@ msgid "Local Config Context Data"
msgstr "Datos de contexto de configuración local"
#: 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 "Cambiar nombre"
-#: templates/dcim/devicebay.html:18
+#: templates/dcim/devicebay.html:17
msgid "Device Bay"
msgstr "Bahía de dispositivos"
-#: templates/dcim/devicebay.html:48
+#: templates/dcim/devicebay.html:43
msgid "Installed Device"
msgstr "Dispositivo instalado"
-#: templates/dcim/devicebay_delete.html:6
-#, python-format
-msgid "Delete device bay %(devicebay)s?"
-msgstr "Eliminar compartimento de dispositivos %(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 ""
-"¿Confirma que desea eliminar este compartimento para dispositivos de "
-"%(device)s?"
-
#: templates/dcim/devicebay_depopulate.html:6
#, python-format
msgid "Remove %(device)s from %(device_bay)s?"
@@ -10774,61 +11302,65 @@ msgstr "Bahía"
msgid "Add Device"
msgstr "Agregar dispositivo"
-#: templates/dcim/devicerole.html:43
+#: templates/dcim/devicerole.html:40
msgid "VM Role"
msgstr "Función de máquina virtual"
-#: templates/dcim/devicetype.html:21 templates/dcim/moduletype.html:19
+#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:18
msgid "Model Name"
msgstr "Nombre del modelo"
-#: templates/dcim/devicetype.html:28 templates/dcim/moduletype.html:23
+#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:22
msgid "Part Number"
msgstr "Número de pieza"
-#: templates/dcim/devicetype.html:40
-msgid "Height (U"
-msgstr "Altura (U)"
-
-#: templates/dcim/devicetype.html:44
+#: templates/dcim/devicetype.html:41
msgid "Exclude From Utilization"
msgstr "Excluir de la utilización"
-#: templates/dcim/devicetype.html:62
+#: templates/dcim/devicetype.html:59
msgid "Parent/Child"
msgstr "Padre/hijo"
-#: templates/dcim/devicetype.html:74
+#: templates/dcim/devicetype.html:71
msgid "Front Image"
msgstr "Imagen frontal"
-#: templates/dcim/devicetype.html:86
+#: templates/dcim/devicetype.html:83
msgid "Rear Image"
msgstr "Imagen trasera"
-#: templates/dcim/frontport.html:57
+#: templates/dcim/frontport.html:54
msgid "Rear Port Position"
msgstr "Posición del puerto trasero"
-#: 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 "Marcado como conectado"
-#: templates/dcim/frontport.html:93 templates/dcim/rearport.html:89
+#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82
msgid "Connection Status"
msgstr "Estado de conexión"
+#: templates/dcim/htmx/cable_edit.html:10
+msgid "A Side"
+msgstr "Un lado"
+
+#: templates/dcim/htmx/cable_edit.html:30
+msgid "B Side"
+msgstr "Lado B"
+
#: templates/dcim/inc/cable_termination.html:65
msgid "No termination"
msgstr "Sin rescisión"
-#: templates/dcim/inc/cable_toggle_buttons.html:4
+#: templates/dcim/inc/cable_toggle_buttons.html:3
msgid "Mark Planned"
msgstr "Marcar como planificado"
-#: templates/dcim/inc/cable_toggle_buttons.html:8
+#: templates/dcim/inc/cable_toggle_buttons.html:6
msgid "Mark Installed"
msgstr "Marcar como instalado"
@@ -10845,7 +11377,7 @@ msgid "Path Endpoints"
msgstr "Puntos finales de ruta"
#: 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 "No conectado"
@@ -10870,115 +11402,104 @@ msgstr "Borrar todo"
msgid "Add Child Interface"
msgstr "Agregar interfaz secundaria"
-#: templates/dcim/interface.html:51
+#: templates/dcim/interface.html:50
msgid "Speed/Duplex"
msgstr "Velocidad/dúplex"
-#: templates/dcim/interface.html:74
+#: templates/dcim/interface.html:73
msgid "PoE Mode"
msgstr "Modo PoE"
-#: templates/dcim/interface.html:78
+#: templates/dcim/interface.html:77
msgid "PoE Type"
msgstr "Tipo 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 "Modo 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 "Dirección MAC"
-#: templates/dcim/interface.html:157
+#: templates/dcim/interface.html:151
msgid "Wireless Link"
msgstr "Enlace inalámbrico"
-#: templates/dcim/interface.html:226 vpn/choices.py:55
+#: templates/dcim/interface.html:218 vpn/choices.py:55
msgid "Peer"
msgstr "Par"
-#: templates/dcim/interface.html:238
+#: templates/dcim/interface.html:230
#: templates/wireless/inc/wirelesslink_interface.html:26
msgid "Channel"
msgstr "Canal"
-#: templates/dcim/interface.html:247
+#: templates/dcim/interface.html:239
#: templates/wireless/inc/wirelesslink_interface.html:32
msgid "Channel Frequency"
msgstr "Frecuencia de 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 "megahercio"
-#: templates/dcim/interface.html:266
+#: templates/dcim/interface.html:258
#: templates/wireless/inc/wirelesslink_interface.html:42
msgid "Channel Width"
msgstr "Ancho de 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 "SSID"
-#: templates/dcim/interface.html:316
+#: templates/dcim/interface.html:305
msgid "LAG Members"
msgstr "Miembros del LAG"
-#: templates/dcim/interface.html:335
+#: templates/dcim/interface.html:323
msgid "No member interfaces"
msgstr "Sin interfaces de miembros"
-#: 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 "Agregar dirección IP"
-#: templates/dcim/inventoryitem.html:25
+#: templates/dcim/inventoryitem.html:24
msgid "Parent Item"
msgstr "Artículo principal"
-#: templates/dcim/inventoryitem.html:49
+#: templates/dcim/inventoryitem.html:48
msgid "Part ID"
msgstr "ID de pieza"
-#: templates/dcim/inventoryitem_bulk_delete.html:5
-msgid "This will also delete all child inventory items of those listed"
-msgstr ""
-"Esto también eliminará todos los artículos del inventario infantil de los "
-"listados."
-
-#: templates/dcim/inventoryitem_edit.html:33
-msgid "Component Assignment"
-msgstr "Asignación de componentes"
-
-#: templates/dcim/inventoryitem_edit.html:59
-#: templates/dcim/poweroutlet.html:18 templates/dcim/powerport.html:81
-msgid "Power Outlet"
-msgstr "Toma de corriente"
-
#: templates/dcim/location.html:17
msgid "Add Child Location"
msgstr "Agregar ubicación infantil"
-#: templates/dcim/location.html:76
+#: templates/dcim/location.html:58 templates/dcim/site.html:55
+msgid "Facility"
+msgstr "Instalación"
+
+#: templates/dcim/location.html:77
msgid "Child Locations"
msgstr "Ubicaciones para niños"
-#: 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 "Agregar una ubicación"
-#: 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 "Agregar un dispositivo"
@@ -10990,113 +11511,101 @@ msgstr "Agregar tipo de dispositivo"
msgid "Add Module Type"
msgstr "Agregar tipo de módulo"
-#: templates/dcim/powerfeed.html:56
+#: templates/dcim/powerfeed.html:53
msgid "Connected Device"
msgstr "Dispositivo conectado"
-#: templates/dcim/powerfeed.html:66
+#: templates/dcim/powerfeed.html:63
msgid "Utilization (Allocated"
msgstr "Utilización (asignada)"
-#: templates/dcim/powerfeed.html:85
+#: templates/dcim/powerfeed.html:80
msgid "Electrical Characteristics"
msgstr "Características eléctricas"
-#: 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 "Pierna de alimentación"
-#: templates/dcim/powerpanel.html:77
+#: templates/dcim/powerpanel.html:72
msgid "Add Power Feeds"
msgstr "Añadir fuentes de alimentación"
-#: templates/dcim/powerport.html:47
+#: templates/dcim/powerport.html:44
msgid "Maximum Draw"
msgstr "Sorteo máximo"
-#: templates/dcim/powerport.html:51
+#: templates/dcim/powerport.html:48
msgid "Allocated Draw"
msgstr "Sorteo asignado"
-#: templates/dcim/rack.html:66
+#: templates/dcim/rack.html:63
msgid "Space Utilization"
msgstr "Utilización del espacio"
-#: templates/dcim/rack.html:96
+#: templates/dcim/rack.html:91
msgid "descending"
msgstr "descendiendo"
-#: templates/dcim/rack.html:96
+#: templates/dcim/rack.html:91
msgid "ascending"
msgstr "ascendiendo"
-#: templates/dcim/rack.html:99
+#: templates/dcim/rack.html:94
msgid "Starting Unit"
msgstr "Unidad inicial"
-#: templates/dcim/rack.html:125
+#: templates/dcim/rack.html:120
msgid "Mounting Depth"
msgstr "Profundidad de montaje"
-#: templates/dcim/rack.html:135
+#: templates/dcim/rack.html:130
msgid "Rack Weight"
msgstr "Peso del estante"
-#: templates/dcim/rack.html:145 templates/dcim/rack_edit.html:67
+#: templates/dcim/rack.html:140
msgid "Maximum Weight"
msgstr "Peso máximo"
-#: templates/dcim/rack.html:155
+#: templates/dcim/rack.html:150
msgid "Total Weight"
msgstr "Peso 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 "Imágenes y etiquetas"
-#: 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 "Solo imágenes"
-#: 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 "Solo etiquetas"
-#: templates/dcim/rack/reservations.html:9
+#: templates/dcim/rack/reservations.html:8
msgid "Add reservation"
msgstr "Añadir reserva"
-#: templates/dcim/rack_edit.html:21
-msgid "Inventory Control"
-msgstr "Control de inventario"
-
-#: templates/dcim/rack_edit.html:45
-msgid "Outer Dimensions"
-msgstr "Dimensiones exteriores"
-
-#: templates/dcim/rack_edit.html:56 templates/dcim/rack_edit.html:71
-msgid "Unit"
-msgstr "Unidad"
-
#: templates/dcim/rack_elevation_list.html:12
msgid "View List"
msgstr "Ver lista"
-#: templates/dcim/rack_elevation_list.html:27
+#: templates/dcim/rack_elevation_list.html:25
msgid "Sort By"
msgstr "Ordenar por"
-#: templates/dcim/rack_elevation_list.html:77
+#: templates/dcim/rack_elevation_list.html:74
msgid "No Racks Found"
msgstr "No se encontró ningún estante"
@@ -11104,7 +11613,7 @@ msgstr "No se encontró ningún estante"
msgid "View Elevations"
msgstr "Ver elevaciones"
-#: templates/dcim/rackreservation.html:47
+#: templates/dcim/rackreservation.html:42
msgid "Reservation Details"
msgstr "Detalles de la reserva"
@@ -11112,7 +11621,7 @@ msgstr "Detalles de la reserva"
msgid "Add Rack"
msgstr "Añadir estante"
-#: templates/dcim/rearport.html:53
+#: templates/dcim/rearport.html:50
msgid "Positions"
msgstr "Posiciones"
@@ -11120,58 +11629,54 @@ msgstr "Posiciones"
msgid "Add Site"
msgstr "Agregar sitio"
-#: templates/dcim/region.html:56
+#: templates/dcim/region.html:55
msgid "Child Regions"
msgstr "Regiones infantiles"
-#: templates/dcim/region.html:64
+#: templates/dcim/region.html:59
msgid "Add Region"
msgstr "Agregar región"
-#: templates/dcim/site.html:56
-msgid "Facility"
-msgstr "Instalación"
-
-#: templates/dcim/site.html:64
+#: templates/dcim/site.html:63
msgid "Time Zone"
msgstr "Zona horaria"
-#: 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 "Hora del sitio"
-#: templates/dcim/site.html:75
+#: templates/dcim/site.html:74
msgid "Physical Address"
msgstr "Dirección física"
-#: templates/dcim/site.html:81
+#: templates/dcim/site.html:80
msgid "Map"
msgstr "Mapa"
-#: templates/dcim/site.html:92
+#: templates/dcim/site.html:89
msgid "Shipping Address"
msgstr "Dirección de envío"
-#: 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 "Grupos de niños"
-#: templates/dcim/sitegroup.html:64
+#: templates/dcim/sitegroup.html:59
msgid "Add Site Group"
msgstr "Agregar grupo de sitios"
#: templates/dcim/trace/attachment.html:5
-#: templates/extras/exporttemplate.html:37
+#: templates/extras/exporttemplate.html:31
msgid "Attachment"
msgstr "Fijación"
-#: templates/dcim/virtualchassis.html:86
+#: templates/dcim/virtualchassis.html:57
msgid "Add Member"
msgstr "Agregar miembro"
@@ -11179,25 +11684,32 @@ msgstr "Agregar miembro"
msgid "Member Devices"
msgstr "Dispositivos de los miembros"
-#: 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 "Agregar un nuevo miembro al chasis virtual %(virtual_chassis)s"
-#: templates/dcim/virtualchassis_add_member.html:17
+#: templates/dcim/virtualchassis_add_member.html:19
msgid "Add New Member"
msgstr "Agregar nuevo miembro"
-#: templates/dcim/virtualchassis_add_member.html:25
-msgid "Add Another"
-msgstr "Añadir otro"
+#: 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 "Acciones"
+
+#: templates/dcim/virtualchassis_add_member.html:29
+msgid "Save & Add Another"
+msgstr "Guardar y añadir otro"
#: templates/dcim/virtualchassis_edit.html:7
#, python-format
msgid "Editing Virtual Chassis %(name)s"
msgstr "Edición de chasis virtuales %(name)s"
-#: templates/dcim/virtualchassis_edit.html:54
+#: templates/dcim/virtualchassis_edit.html:53
msgid "Rack/Unit"
msgstr "Bastidor/unidad"
@@ -11214,7 +11726,7 @@ msgstr ""
"¿Estás seguro de que quieres eliminar? %(device)s desde un "
"chasis virtual %(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 "Identificador"
@@ -11321,39 +11833,15 @@ msgstr ""
"comprobarlo, conéctese a la base de datos utilizando las credenciales de "
"NetBox y emitiendo una consulta para SELECCIONE LA VERSIÓN ()
."
-#: 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 instalados"
-
-#: templates/extras/admin/plugins_list.html:23
-msgid "Package Name"
-msgstr "Nombre del paquete"
-
-#: templates/extras/admin/plugins_list.html:24
-msgid "Author"
-msgstr "autor"
-
-#: templates/extras/admin/plugins_list.html:25
-msgid "Author Email"
-msgstr "Correo electrónico del autor"
-
-#: 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 "Versión"
-
-#: 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 "Se ha eliminado el archivo de datos asociado a este objeto"
-#: 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 "Datos sincronizados"
@@ -11363,81 +11851,81 @@ msgstr "Datos sincronizados"
msgid "Sync Data"
msgstr "Sincronizar datos"
-#: templates/extras/configtemplate.html:58
+#: templates/extras/configtemplate.html:56
msgid "Environment Parameters"
msgstr "Parámetros del entorno"
-#: templates/extras/configtemplate.html:69
-#: templates/extras/exporttemplate.html:88
+#: templates/extras/configtemplate.html:67
+#: templates/extras/exporttemplate.html:79
msgid "Template"
msgstr "plantilla"
-#: templates/extras/customfield.html:31 templates/extras/customlink.html:22
+#: templates/extras/customfield.html:30 templates/extras/customlink.html:21
msgid "Group Name"
msgstr "Nombre del grupo"
-#: 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 "Valor predeterminado"
-#: templates/extras/customfield.html:64
+#: templates/extras/customfield.html:61
msgid "Search Weight"
msgstr "Peso de búsqueda"
-#: templates/extras/customfield.html:74
+#: templates/extras/customfield.html:71
msgid "Filter Logic"
msgstr "Lógica de filtros"
-#: templates/extras/customfield.html:78
+#: templates/extras/customfield.html:75
msgid "Display Weight"
msgstr "Peso de la pantalla"
-#: templates/extras/customfield.html:82
+#: templates/extras/customfield.html:79
msgid "UI Visible"
msgstr "Interfaz de usuario visible"
-#: templates/extras/customfield.html:86
+#: templates/extras/customfield.html:83
msgid "UI Editable"
msgstr "Interfaz de usuario editable"
-#: templates/extras/customfield.html:108
+#: templates/extras/customfield.html:103
msgid "Validation Rules"
msgstr "Reglas de validación"
-#: templates/extras/customfield.html:112
+#: templates/extras/customfield.html:106
msgid "Minimum Value"
msgstr "Valor mínimo"
-#: templates/extras/customfield.html:116
+#: templates/extras/customfield.html:110
msgid "Maximum Value"
msgstr "Valor máximo"
-#: templates/extras/customfield.html:120
+#: templates/extras/customfield.html:114
msgid "Regular Expression"
msgstr "Expresión regular"
-#: templates/extras/customlink.html:30
+#: templates/extras/customlink.html:29
msgid "Button Class"
msgstr "Clase de botones"
-#: 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 "Modelos asignados"
-#: templates/extras/customlink.html:57
+#: templates/extras/customlink.html:53
msgid "Link Text"
msgstr "Texto del enlace"
-#: templates/extras/customlink.html:65
+#: templates/extras/customlink.html:61
msgid "Link URL"
msgstr "URL del enlace"
-#: templates/extras/dashboard/reset.html:4 templates/home.html:63
+#: templates/extras/dashboard/reset.html:4 templates/home.html:66
msgid "Reset Dashboard"
msgstr "Restablecer panel"
@@ -11465,7 +11953,7 @@ msgstr "Añadir un widget"
msgid "No bookmarks have been added yet."
msgstr "Aún no se ha añadido ningún marcador."
-#: templates/extras/dashboard/widgets/objectcounts.html:15
+#: templates/extras/dashboard/widgets/objectcounts.html:10
msgid "No permission"
msgstr "Sin permiso"
@@ -11489,72 +11977,39 @@ msgstr "Se ha producido un problema al obtener la fuente RSS"
msgid "HTTP"
msgstr "HTTP"
-#: templates/extras/eventrule.html:63
+#: templates/extras/eventrule.html:52
msgid "Job start"
msgstr "Inicio del trabajo"
-#: templates/extras/eventrule.html:67
+#: templates/extras/eventrule.html:56
msgid "Job end"
msgstr "Fin del trabajo"
-#: templates/extras/exporttemplate.html:29
+#: templates/extras/exporttemplate.html:23
msgid "MIME Type"
msgstr "Tipo MIME"
-#: templates/extras/exporttemplate.html:33
+#: templates/extras/exporttemplate.html:27
msgid "File Extension"
msgstr "Extensión de archivo"
-#: templates/extras/htmx/report_result.html:9
#: templates/extras/htmx/script_result.html:10
msgid "Scheduled for"
msgstr "Programado para"
-#: templates/extras/htmx/report_result.html:14
#: templates/extras/htmx/script_result.html:15
msgid "Duration"
msgstr "Duración"
-#: templates/extras/htmx/report_result.html:20
-msgid "Report Methods"
-msgstr "Métodos de informe"
+#: templates/extras/htmx/script_result.html:23
+msgid "Test Summary"
+msgstr "Resumen de la prueba"
-#: templates/extras/htmx/report_result.html:38
-msgid "Report Results"
-msgstr "Resultados del informe"
+#: templates/extras/htmx/script_result.html:43
+msgid "Log"
+msgstr "Registro"
-#: templates/extras/htmx/report_result.html:44
-#: templates/extras/htmx/script_result.html:26
-msgid "Level"
-msgstr "Nivel"
-
-#: templates/extras/htmx/report_result.html:46
-#: templates/extras/htmx/script_result.html:27
-msgid "Message"
-msgstr "Mensaje"
-
-#: templates/extras/htmx/script_result.html:21
-msgid "Script Log"
-msgstr "Registro de scripts"
-
-#: templates/extras/htmx/script_result.html:25
-msgid "Line"
-msgstr "Línea"
-
-#: templates/extras/htmx/script_result.html:38
-msgid "No log output"
-msgstr "Sin salida de registro"
-
-#: templates/extras/htmx/script_result.html:46
-msgid "Exec Time"
-msgstr "Hora ejecutiva"
-
-#: templates/extras/htmx/script_result.html:46
-msgctxt "Unit of time"
-msgid "seconds"
-msgstr "segundos"
-
-#: templates/extras/htmx/script_result.html:50
+#: templates/extras/htmx/script_result.html:52
msgid "Output"
msgstr "Salida"
@@ -11566,7 +12021,7 @@ msgstr "Cargando"
msgid "Results pending"
msgstr "Resultados pendientes"
-#: templates/extras/journalentry.html:16
+#: templates/extras/journalentry.html:15
msgid "Journal Entry"
msgstr "Entrada de diario"
@@ -11602,129 +12057,96 @@ msgstr ""
msgid "Source Contexts"
msgstr "Contextos de origen"
-#: templates/extras/object_journal.html:18
+#: templates/extras/object_journal.html:17
msgid "New Journal Entry"
msgstr "Nueva entrada de diario"
-#: templates/extras/objectchange.html:29
-#: templates/users/objectpermission.html:45
+#: templates/extras/objectchange.html:28
+#: templates/users/objectpermission.html:42
msgid "Change"
msgstr "Cambiar"
-#: templates/extras/objectchange.html:84
+#: templates/extras/objectchange.html:78
msgid "Difference"
msgstr "Diferencia"
-#: templates/extras/objectchange.html:87
+#: templates/extras/objectchange.html:81
msgid "Previous"
msgstr "Anterior"
-#: templates/extras/objectchange.html:90
+#: templates/extras/objectchange.html:84
msgid "Next"
msgstr "Próxima"
-#: templates/extras/objectchange.html:98
+#: templates/extras/objectchange.html:92
msgid "Object Created"
msgstr "Objeto creado"
-#: templates/extras/objectchange.html:100
+#: templates/extras/objectchange.html:94
msgid "Object Deleted"
msgstr "Objeto eliminado"
-#: templates/extras/objectchange.html:102
+#: templates/extras/objectchange.html:96
msgid "No Changes"
msgstr "Sin cambios"
-#: templates/extras/objectchange.html:117
+#: templates/extras/objectchange.html:110
msgid "Pre-Change Data"
msgstr "Datos previos al cambio"
-#: templates/extras/objectchange.html:126
+#: templates/extras/objectchange.html:121
msgid "Warning: Comparing non-atomic change to previous change record"
msgstr ""
"Advertencia: comparación del cambio no atómico con el registro de cambios "
"anterior"
-#: templates/extras/objectchange.html:136
+#: templates/extras/objectchange.html:130
msgid "Post-Change Data"
msgstr "Datos posteriores al cambio"
-#: templates/extras/objectchange.html:157
+#: templates/extras/objectchange.html:153
#, python-format
msgid "See All %(count)s Changes"
msgstr "Ver todos %(count)s Cambios"
-#: templates/extras/report.html:14
-msgid "This report is invalid and cannot be run."
-msgstr "Este informe no es válido y no se puede ejecutar."
-
-#: templates/extras/report.html:23 templates/extras/report_list.html:88
-msgid "Run Again"
-msgstr "Corre otra vez"
-
-#: templates/extras/report.html:25 templates/extras/report_list.html:90
-msgid "Run Report"
-msgstr "Ejecutar informe"
-
-#: templates/extras/report.html:36
-msgid "Last run"
-msgstr "Última ejecución"
-
#: templates/extras/report/base.html:30
msgid "Report"
msgstr "Informe"
-#: templates/extras/report_list.html:48 templates/extras/script_list.html:54
-msgid "Last Run"
-msgstr "Última ejecución"
-
-#: templates/extras/report_list.html:70 templates/extras/script_list.html:77
-msgid "Never"
-msgstr "Nunca"
-
-#: templates/extras/report_list.html:75
-msgid "Report has no test methods"
-msgstr "El informe no tiene métodos de prueba"
-
-#: templates/extras/report_list.html:76
-msgid "Invalid"
-msgstr "No válido"
-
-#: templates/extras/report_list.html:125
-msgid "No Reports Found"
-msgstr "No se encontró ningún informe"
-
-#: templates/extras/report_list.html:128
-#, python-format
-msgid ""
-"Get started by creating a report from "
-"an uploaded file or data source."
-msgstr ""
-"Comience por crear un informe desde un"
-" archivo o fuente de datos cargados."
-
-#: templates/extras/script.html:13
+#: templates/extras/script.html:14
msgid "You do not have permission to run scripts"
msgstr "No tiene permiso para ejecutar 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 "Ejecutar script"
-#: templates/extras/script_list.html:44
-#, python-format
-msgid ""
-"Script file at %(file_path)s
could not be "
-"loaded."
-msgstr ""
-"Archivo de script en %(file_path)s
no se pudo "
-"cargar."
+#: templates/extras/script/jobs.html:16
+msgid "Script no longer exists in the source file."
+msgstr "El script ya no existe en el archivo fuente."
-#: templates/extras/script_list.html:91
+#: templates/extras/script_list.html:48
+msgid "Last Run"
+msgstr "Última ejecución"
+
+#: templates/extras/script_list.html:63
+msgid "Script is no longer present in the source file"
+msgstr "La secuencia de comandos ya no está presente en el archivo fuente"
+
+#: templates/extras/script_list.html:76
+msgid "Never"
+msgstr "Nunca"
+
+#: templates/extras/script_list.html:86
+msgid "Run Again"
+msgstr "Corre otra vez"
+
+#: templates/extras/script_list.html:140
msgid "No Scripts Found"
msgstr "No se encontró ningún script"
-#: templates/extras/script_list.html:94
+#: templates/extras/script_list.html:143
#, python-format
msgid ""
"Get started by creating a script from "
@@ -11733,121 +12155,120 @@ msgstr ""
"Comience por crear un guion desde un "
"archivo o fuente de datos cargados."
-#: templates/extras/script_result.html:42
-msgid "Log"
-msgstr "Registro"
+#: templates/extras/script_result.html:35
+#: templates/generic/object_list.html:50 templates/search.html:13
+msgid "Results"
+msgstr "Resultados"
-#: templates/extras/tag.html:35
+#: templates/extras/tag.html:32
msgid "Tagged Items"
msgstr "Artículos etiquetados"
-#: templates/extras/tag.html:47
+#: templates/extras/tag.html:43
msgid "Allowed Object Types"
msgstr "Tipos de objetos permitidos"
-#: templates/extras/tag.html:56
+#: templates/extras/tag.html:51
msgid "Any"
msgstr "Cualquier"
-#: templates/extras/tag.html:63
+#: templates/extras/tag.html:57
msgid "Tagged Item Types"
msgstr "Tipos de artículos etiquetados"
-#: templates/extras/tag.html:89
+#: templates/extras/tag.html:81
msgid "Tagged Objects"
msgstr "Objetos etiquetados"
-#: templates/extras/webhook.html:33
+#: templates/extras/webhook.html:26
msgid "HTTP Method"
msgstr "Método HTTP"
-#: templates/extras/webhook.html:41
+#: templates/extras/webhook.html:34
msgid "HTTP Content Type"
msgstr "Tipo de contenido HTTP"
-#: templates/extras/webhook.html:58
+#: templates/extras/webhook.html:47
msgid "SSL Verification"
msgstr "Verificación SSL"
-#: templates/extras/webhook.html:73
+#: templates/extras/webhook.html:61
msgid "Additional Headers"
msgstr "Encabezados adicionales"
-#: templates/extras/webhook.html:85
+#: templates/extras/webhook.html:73
msgid "Body Template"
msgstr "Plantilla corporal"
-#: templates/generic/bulk_add_component.html:15
+#: templates/generic/bulk_add_component.html:29
msgid "Bulk Creation"
msgstr "Creación masiva"
-#: 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 "Objetos seleccionados"
-#: templates/generic/bulk_add_component.html:46
+#: templates/generic/bulk_add_component.html:58
msgid "to Add"
msgstr "añadir"
-#: templates/generic/bulk_delete.html:24
+#: templates/generic/bulk_delete.html:27
+msgid "Bulk Delete"
+msgstr "Eliminación masiva"
+
+#: templates/generic/bulk_delete.html:49
msgid "Confirm Bulk Deletion"
msgstr "Confirme la eliminación masiva"
-#: templates/generic/bulk_delete.html:26
-msgctxt "Noun"
-msgid "Warning"
-msgstr "Advertencia"
-
-#: 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 ""
"La siguiente operación eliminará %(count)s %(type_plural)s."
-" Revise detenidamente los objetos que desee eliminar y confírmelos a "
-"continuación."
+" Revise cuidadosamente los objetos seleccionados y confirme esta acción."
-#: 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 "Edición"
-#: templates/generic/bulk_edit.html:23
+#: templates/generic/bulk_edit.html:28
msgid "Bulk Edit"
msgstr "Edición masiva"
-#: 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 "Aplica"
-#: templates/generic/bulk_import.html:14
+#: templates/generic/bulk_import.html:19
msgid "Bulk Import"
msgstr "Importación masiva"
-#: templates/generic/bulk_import.html:20
+#: templates/generic/bulk_import.html:25
msgid "Direct Import"
msgstr "Importación directa"
-#: templates/generic/bulk_import.html:25
+#: templates/generic/bulk_import.html:30
msgid "Upload File"
msgstr "Cargar archivo"
-#: 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 "Enviar"
-#: templates/generic/bulk_import.html:110
+#: templates/generic/bulk_import.html:113
msgid "Field Options"
msgstr "Opciones de campo"
-#: templates/generic/bulk_import.html:117
+#: templates/generic/bulk_import.html:119
msgid "Accessor"
msgstr "Accesor"
-#: templates/generic/bulk_import.html:154
+#: templates/generic/bulk_import.html:161
msgid "Import Value"
msgstr "Valor de importación"
@@ -11875,46 +12296,47 @@ msgstr ""
"atributo único. Por ejemplo, %(example)s
identificaría un VRF "
"por su identificador de ruta."
-#: templates/generic/bulk_remove.html:13
+#: templates/generic/bulk_remove.html:28
+msgid "Bulk Remove"
+msgstr "Eliminación masiva"
+
+#: templates/generic/bulk_remove.html:42
msgid "Confirm Bulk Removal"
msgstr "Confirme la eliminación masiva"
-#: 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 ""
-"Advertencia: La siguiente operación eliminará %(count)s "
-"%(obj_type_plural)s de %(parent_obj)s."
+"La siguiente operación eliminará %(count)s %(obj_type_plural)s de "
+"%(parent_obj)s. Por favor, revise detenidamente el %(obj_type_plural)s para "
+"eliminarlo y confirmarlo a continuación."
-#: 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 ""
-"Revise detenidamente el %(obj_type_plural)s se eliminará y se confirmará a "
-"continuación."
-
-#: 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 "Elimine estos %(count)s %(obj_type_plural)s"
-#: templates/generic/bulk_rename.html:7
+#: templates/generic/bulk_rename.html:20
msgid "Renaming"
msgstr "Cambiar el nombre"
-#: templates/generic/bulk_rename.html:16
+#: templates/generic/bulk_rename.html:27
+msgid "Bulk Rename"
+msgstr "Cambio de nombre masivo"
+
+#: templates/generic/bulk_rename.html:39
msgid "Current Name"
msgstr "Nombre actual"
-#: templates/generic/bulk_rename.html:17
+#: templates/generic/bulk_rename.html:40
msgid "New Name"
msgstr "Nombre nuevo"
-#: templates/generic/bulk_rename.html:40
+#: templates/generic/bulk_rename.html:64
#: utilities/templates/widgets/markdown_input.html:11
msgid "Preview"
msgstr "Vista previa"
@@ -11923,83 +12345,76 @@ msgstr "Vista previa"
msgid "Are you sure"
msgstr "¿Estás seguro"
-#: templates/generic/confirmation_form.html:19
+#: templates/generic/confirmation_form.html:20
msgid "Confirm"
msgstr "Confirmar"
-#: templates/generic/object.html:51
-msgid "ago"
-msgstr "hace"
-
-#: templates/generic/object_children.html:27
+#: templates/generic/object_children.html:47
#: utilities/templates/buttons/bulk_edit.html:4
msgid "Edit Selected"
msgstr "Editar seleccionado"
-#: templates/generic/object_children.html:41
+#: templates/generic/object_children.html:61
#: utilities/templates/buttons/bulk_delete.html:4
msgid "Delete Selected"
msgstr "Eliminar seleccionado"
-#: templates/generic/object_edit.html:19
+#: templates/generic/object_edit.html:24
#, python-format
msgid "Add a new %(object_type)s"
msgstr "Añadir una nueva %(object_type)s"
-#: templates/generic/object_edit.html:47
+#: templates/generic/object_edit.html:35
msgid "View model documentation"
msgstr "Ver la documentación del modelo"
-#: templates/generic/object_edit.html:48
+#: templates/generic/object_edit.html:36
msgid "Help"
msgstr "Ayuda"
-#: templates/generic/object_edit.html:73
+#: templates/generic/object_edit.html:83
msgid "Create & Add Another"
msgstr "Crear y agregar otro"
-#: templates/generic/object_list.html:48 templates/search.html:13
-msgid "Results"
-msgstr "Resultados"
-
-#: templates/generic/object_list.html:54
+#: templates/generic/object_list.html:57
msgid "Filters"
msgstr "Filtros"
-#: 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 ""
-"Seleccione todo %(count)s %(object_type_plural)s consulta "
-"coincidente"
+"Seleccione todo %(count)s "
+"%(object_type_plural)s consulta coincidente"
-#: templates/home.html:12
+#: templates/home.html:15
msgid "New Release Available"
msgstr "Nueva versión 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 "Instrucciones de actualización"
-#: templates/home.html:37
+#: templates/home.html:40
msgid "Unlock Dashboard"
msgstr "Desbloquear panel"
-#: templates/home.html:46
+#: templates/home.html:49
msgid "Lock Dashboard"
msgstr "Panel de control de bloqueo"
-#: templates/home.html:57
+#: templates/home.html:60
msgid "Add Widget"
msgstr "Agregar widget"
-#: templates/home.html:60
+#: templates/home.html:63
msgid "Save Layout"
msgstr "Guardar diseño"
@@ -12024,12 +12439,12 @@ msgstr "Como resultado de esta acción, se eliminarán los siguientes objetos."
msgid "Select"
msgstr "Seleccione"
-#: templates/inc/filter_list.html:50
+#: templates/inc/filter_list.html:42
#: utilities/templates/helpers/table_config_form.html:39
msgid "Reset"
msgstr "Restablecer"
-#: 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 "
@@ -12038,15 +12453,23 @@ msgstr ""
"Antes de poder añadir un %(model)s primero debes crear un "
"%(prerequisite_model)s."
-#: templates/inc/paginator.html:38 templates/inc/paginator_htmx.html:53
-msgid "Per Page"
-msgstr "Por página"
+#: templates/inc/paginator.html:14
+msgid "Page selection"
+msgstr "Selección de páginas"
-#: 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 "Mostrando %(start)s-%(end)s de %(total)s"
+#: templates/inc/paginator.html:81
+msgid "Pagination options"
+msgstr "Opciones de paginación"
+
+#: templates/inc/paginator.html:85
+msgid "Per Page"
+msgstr "Por página"
+
#: templates/inc/panels/image_attachments.html:10
msgid "Attach an image"
msgstr "Adjunta una imagen"
@@ -12059,33 +12482,28 @@ msgstr "Objetos relacionados"
msgid "No tags assigned"
msgstr "No hay etiquetas asignadas"
-#: templates/inc/profile_button.html:12 templates/inc/profile_button.html:62
-msgid "Dark Mode"
-msgstr "Modo oscuro"
-
-#: templates/inc/profile_button.html:45
-msgid "Log Out"
-msgstr "Cerrar sesión"
-
-#: templates/inc/profile_button.html:53
-msgid "Log In"
-msgstr "Iniciar sesión"
-
-#: templates/inc/sync_warning.html:7
+#: templates/inc/sync_warning.html:10
msgid "Data is out of sync with upstream file"
msgstr "Los datos no están sincronizados con el archivo anterior"
-#: templates/inc/table_controls_htmx.html:16
-#: templates/inc/table_controls_htmx.html:18
-msgid "Configure Table"
-msgstr "Configurar tabla"
+#: templates/inc/user_menu.html:23
+msgid "Django Admin"
+msgstr "Administrador de 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 "Cerrar sesión"
+
+#: templates/inc/user_menu.html:47 templates/login.html:36
+msgid "Log In"
+msgstr "Iniciar sesión"
+
+#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14
+#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15
msgid "Family"
msgstr "Familia"
-#: templates/ipam/aggregate.html:40
+#: templates/ipam/aggregate.html:39
msgid "Date Added"
msgstr "Fecha añadida"
@@ -12094,26 +12512,22 @@ msgstr "Fecha añadida"
msgid "Add Prefix"
msgstr "Agregar prefijo"
-#: templates/ipam/asn.html:24
+#: templates/ipam/asn.html:23
msgid "AS Number"
msgstr "Número AS"
-#: templates/ipam/fhrpgroup.html:55
+#: templates/ipam/fhrpgroup.html:52
msgid "Authentication Type"
msgstr "Tipo de autenticación"
-#: templates/ipam/fhrpgroup.html:59
+#: templates/ipam/fhrpgroup.html:56
msgid "Authentication Key"
msgstr "Clave de autenticación"
-#: templates/ipam/fhrpgroup.html:72
+#: templates/ipam/fhrpgroup.html:69
msgid "Virtual IP Addresses"
msgstr "Direcciones IP virtuales"
-#: templates/ipam/fhrpgroupassignment_edit.html:8
-msgid "FHRP Group Assignment"
-msgstr "Asignación grupal de FHRP"
-
#: templates/ipam/inc/ipaddress_edit_header.html:19
msgid "Assign IP"
msgstr "Asignar IP"
@@ -12122,18 +12536,18 @@ msgstr "Asignar IP"
msgid "Bulk Create"
msgstr "Creación masiva"
-#: templates/ipam/inc/panels/fhrp_groups.html:12
-msgid "Virtual IPs"
-msgstr "IP virtuales"
-
-#: templates/ipam/inc/panels/fhrp_groups.html:52
+#: templates/ipam/inc/panels/fhrp_groups.html:10
msgid "Create Group"
msgstr "Crear grupo"
-#: templates/ipam/inc/panels/fhrp_groups.html:57
+#: templates/ipam/inc/panels/fhrp_groups.html:15
msgid "Assign Group"
msgstr "Asignar grupo"
+#: templates/ipam/inc/panels/fhrp_groups.html:25
+msgid "Virtual IPs"
+msgstr "IP virtuales"
+
#: templates/ipam/inc/toggle_available.html:7
msgid "Show Assigned"
msgstr "Mostrar asignado"
@@ -12146,12 +12560,12 @@ msgstr "Mostrar disponible"
msgid "Show All"
msgstr "Mostrar todo"
-#: 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 "Global"
-#: templates/ipam/ipaddress.html:88
+#: templates/ipam/ipaddress.html:85
msgid "NAT (outside)"
msgstr "NAT (exterior)"
@@ -12171,59 +12585,51 @@ msgstr "Resultados de la búsqueda"
msgid "Bulk Add IP Addresses"
msgstr "Agregar direcciones IP de forma masiva"
-#: templates/ipam/ipaddress_edit.html:35
-msgid "Interface Assignment"
-msgstr "Asignación de interfaz"
-
-#: templates/ipam/ipaddress_edit.html:74
-msgid "NAT IP (Inside"
-msgstr "NAT IP (interior)"
-
-#: templates/ipam/iprange.html:20
+#: templates/ipam/iprange.html:17
msgid "Starting Address"
msgstr "Dirección inicial"
-#: templates/ipam/iprange.html:24
+#: templates/ipam/iprange.html:21
msgid "Ending Address"
msgstr "Dirección final"
-#: 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 "Marcado como totalmente utilizado"
-#: templates/ipam/prefix.html:112
-msgid "Child IPs"
-msgstr "IP para niños"
-
-#: templates/ipam/prefix.html:120
-msgid "Available IPs"
-msgstr "IPs disponibles"
-
-#: templates/ipam/prefix.html:132
-msgid "First available IP"
-msgstr "Primera IP disponible"
-
-#: templates/ipam/prefix.html:151
+#: templates/ipam/prefix.html:99
msgid "Addressing Details"
msgstr "Detalles de direccionamiento"
-#: templates/ipam/prefix.html:181
+#: templates/ipam/prefix.html:118
+msgid "Child IPs"
+msgstr "IP para niños"
+
+#: templates/ipam/prefix.html:126
+msgid "Available IPs"
+msgstr "IPs disponibles"
+
+#: templates/ipam/prefix.html:138
+msgid "First available IP"
+msgstr "Primera IP disponible"
+
+#: templates/ipam/prefix.html:179
msgid "Prefix Details"
msgstr "Detalles del prefijo"
-#: templates/ipam/prefix.html:187
+#: templates/ipam/prefix.html:185
msgid "Network Address"
msgstr "Dirección de red"
-#: templates/ipam/prefix.html:191
+#: templates/ipam/prefix.html:189
msgid "Network Mask"
msgstr "Máscara de red"
-#: templates/ipam/prefix.html:195
+#: templates/ipam/prefix.html:193
msgid "Wildcard Mask"
msgstr "Máscara Wildcard"
-#: templates/ipam/prefix.html:199
+#: templates/ipam/prefix.html:197
msgid "Broadcast Address"
msgstr "Dirección de transmisión"
@@ -12247,44 +12653,23 @@ msgstr "Longitud máxima"
msgid "Add Aggregate"
msgstr "Agregar agregado"
-#: templates/ipam/routetarget.html:10
-msgid "Route Target"
-msgstr "Objetivo de ruta"
-
-#: templates/ipam/routetarget.html:40
+#: templates/ipam/routetarget.html:38
msgid "Importing VRFs"
msgstr "Importación de VRF"
-#: templates/ipam/routetarget.html:49
+#: templates/ipam/routetarget.html:44
msgid "Exporting VRFs"
msgstr "Exportación de VRF"
-#: templates/ipam/routetarget.html:60
+#: templates/ipam/routetarget.html:52
msgid "Importing L2VPNs"
msgstr "Importación de VPNs L2"
-#: templates/ipam/routetarget.html:69
+#: templates/ipam/routetarget.html:58
msgid "Exporting L2VPNs"
msgstr "Exportación de VPNs L2"
-#: templates/ipam/service.html:22 templates/ipam/service_create.html:8
-#: templates/ipam/service_edit.html:8
-msgid "Service"
-msgstr "Servicio"
-
-#: templates/ipam/service_create.html:43
-msgid "From Template"
-msgstr "Desde plantilla"
-
-#: templates/ipam/service_create.html:48
-msgid "Custom"
-msgstr "Personalizado"
-
-#: templates/ipam/service_edit.html:37
-msgid "Port(s)"
-msgstr "Puerto (s)"
-
-#: templates/ipam/vlan.html:95
+#: templates/ipam/vlan.html:88
msgid "Add a Prefix"
msgstr "Agregar un prefijo"
@@ -12292,34 +12677,35 @@ msgstr "Agregar un prefijo"
msgid "Add VLAN"
msgstr "Agregar VLAN"
-#: templates/ipam/vlangroup.html:43
+#: templates/ipam/vlangroup.html:42
msgid "Permitted VIDs"
msgstr "VÍDEOS permitidos"
-#: templates/ipam/vrf.html:19
+#: templates/ipam/vrf.html:16
msgid "Route Distinguisher"
msgstr "Distinguidor de rutas"
-#: templates/ipam/vrf.html:32
+#: templates/ipam/vrf.html:29
msgid "Unique IP Space"
msgstr "Espacio IP único"
-#: templates/login.html:20
+#: templates/login.html:14
+msgid "NetBox logo"
+msgstr "Logotipo de NetBox"
+
+#: templates/login.html:27
#: utilities/templates/form_helpers/render_errors.html:7
msgid "Errors"
msgstr "Errores"
-#: templates/login.html:48
+#: templates/login.html:53
msgid "Sign In"
msgstr "Iniciar sesión"
-#: templates/login.html:54
-msgid "Or use a single sign-on (SSO) provider"
-msgstr "O usa un proveedor de inicio de sesión único (SSO)"
-
-#: templates/login.html:68
-msgid "Toggle Color Mode"
-msgstr "Alternar modo de color"
+#: templates/login.html:61
+msgctxt "Denotes an alternative option"
+msgid "Or"
+msgstr "O"
#: templates/media_failure.html:7
msgid "Static Media Failure - NetBox"
@@ -12375,41 +12761,37 @@ msgstr ""
"Haga clic aquí para intentar cargar NetBox de "
"nuevo."
-#: 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 "Contacto"
-#: 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 "Título"
-#: 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 "Teléfono"
-#: templates/tenancy/contact.html:86 tenancy/tables/contacts.py:73
+#: templates/tenancy/contact.html:84 tenancy/tables/contacts.py:73
msgid "Assignments"
msgstr "Asignaciones"
-#: templates/tenancy/contactassignment_edit.html:12
-msgid "Contact Assignment"
-msgstr "Asignación de contactos"
-
-#: 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 "Grupo de contacto"
-#: templates/tenancy/contactgroup.html:57
+#: templates/tenancy/contactgroup.html:50
msgid "Add Contact Group"
msgstr "Agregar grupo de contactos"
-#: 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 "Función de contacto"
@@ -12421,16 +12803,16 @@ msgstr "Añadir un contacto"
msgid "Add Tenant"
msgstr "Agregar inquilino"
-#: 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 "Grupo de inquilinos"
-#: templates/tenancy/tenantgroup.html:66
+#: templates/tenancy/tenantgroup.html:59
msgid "Add Tenant Group"
msgstr "Agregar grupo de inquilinos"
-#: templates/users/group.html:37 templates/users/user.html:65
+#: templates/users/group.html:39 templates/users/user.html:63
msgid "Assigned Permissions"
msgstr "Permisos asignados"
@@ -12439,49 +12821,40 @@ msgstr "Permisos asignados"
msgid "Permission"
msgstr "Permiso"
-#: templates/users/objectpermission.html:33 users/forms/filtersets.py:68
-#: users/forms/model_forms.py:322
-msgid "Actions"
-msgstr "Acciones"
-
-#: templates/users/objectpermission.html:37
+#: templates/users/objectpermission.html:34
msgid "View"
msgstr "Ver"
-#: 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 "Restricciones"
-#: templates/users/objectpermission.html:76
+#: templates/users/objectpermission.html:72
msgid "Assigned Users"
msgstr "Usuarios asignados"
-#: templates/users/user.html:42
-msgid "Staff"
-msgstr "Personal"
-
-#: templates/virtualization/cluster.html:56
+#: templates/virtualization/cluster.html:52
msgid "Allocated Resources"
msgstr "Recursos asignados"
-#: templates/virtualization/cluster.html:60
-#: templates/virtualization/virtualmachine.html:128
+#: templates/virtualization/cluster.html:55
+#: templates/virtualization/virtualmachine.html:121
msgid "Virtual CPUs"
msgstr "CPUs virtuales"
-#: templates/virtualization/cluster.html:64
-#: templates/virtualization/virtualmachine.html:132
+#: templates/virtualization/cluster.html:59
+#: templates/virtualization/virtualmachine.html:125
msgid "Memory"
msgstr "Memoria"
-#: templates/virtualization/cluster.html:74
-#: templates/virtualization/virtualmachine.html:143
+#: templates/virtualization/cluster.html:69
+#: templates/virtualization/virtualmachine.html:136
msgid "Disk Space"
msgstr "Espacio en disco"
-#: 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"
@@ -12516,14 +12889,14 @@ msgstr "Agregar dispositivos"
msgid "Add Cluster"
msgstr "Agregar clúster"
-#: 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 "Grupo de clústeres"
-#: 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 "Tipo de clúster"
@@ -12531,37 +12904,37 @@ msgstr "Tipo de clúster"
msgid "Virtual Disk"
msgstr "Disco virtual"
-#: 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 "Recursos"
-#: templates/virtualization/virtualmachine.html:185
+#: templates/virtualization/virtualmachine.html:174
msgid "Add Virtual Disk"
msgstr "Agregar disco virtual"
-#: 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 "Política de IKE"
-#: templates/vpn/ikepolicy.html:22
+#: templates/vpn/ikepolicy.html:21
msgid "IKE Version"
msgstr "Versión IKE"
-#: templates/vpn/ikepolicy.html:30
+#: templates/vpn/ikepolicy.html:29
msgid "Pre-Shared Key"
msgstr "Clave previamente compartida"
-#: 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 "Mostrar secreto"
-#: 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 "Propuestas"
@@ -12570,49 +12943,49 @@ msgstr "Propuestas"
msgid "IKE Proposal"
msgstr "Propuesta 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étodo de autenticación"
-#: 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 "Algoritmo de cifrado"
-#: 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 "Algoritmo de autenticación"
-#: templates/vpn/ikeproposal.html:34
+#: templates/vpn/ikeproposal.html:33
msgid "DH group"
msgstr "Grupo 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 "Una vida útil (segundos)"
-#: 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 "Política 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 "Grupo 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 "Perfil 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 "Grupo PFS"
@@ -12620,40 +12993,36 @@ msgstr "Grupo PFS"
msgid "IPSec Proposal"
msgstr "Propuesta de 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 "Una vida útil (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 "Atributos de 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 "Agregar una terminación"
-#: templates/vpn/l2vpntermination_edit.html:9
-msgid "L2VPN Termination"
-msgstr "Terminación de L2VPN"
-
#: templates/vpn/tunnel.html:9
msgid "Add Termination"
msgstr "Agregar terminación"
-#: 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 "Encapsulación"
-#: 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 "Perfil 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 "ID de túnel"
@@ -12661,8 +13030,8 @@ msgstr "ID de túnel"
msgid "Add Tunnel"
msgstr "Añadir túnel"
-#: 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 "Grupo Tunnel"
@@ -12670,21 +13039,21 @@ msgstr "Grupo Tunnel"
msgid "Tunnel Termination"
msgstr "Terminación del túnel"
-#: 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 externa"
-#: templates/vpn/tunneltermination.html:53
+#: templates/vpn/tunneltermination.html:51
msgid "Peer Terminations"
msgstr "Terminaciones de pares"
-#: templates/wireless/inc/authentication_attrs.html:13
+#: templates/wireless/inc/authentication_attrs.html:12
msgid "Cipher"
msgstr "Cifrar"
-#: templates/wireless/inc/authentication_attrs.html:17
+#: templates/wireless/inc/authentication_attrs.html:16
msgid "PSK"
msgstr "PSK"
@@ -12694,11 +13063,7 @@ msgctxt "Abbreviation for megahertz"
msgid "MHz"
msgstr "megahercio"
-#: templates/wireless/wirelesslan.html:11 wireless/forms/model_forms.py:54
-msgid "Wireless LAN"
-msgstr "LAN inalámbrica"
-
-#: templates/wireless/wirelesslan.html:59
+#: templates/wireless/wirelesslan.html:57
msgid "Attached Interfaces"
msgstr "Interfaces conectadas"
@@ -12707,15 +13072,15 @@ msgid "Add Wireless LAN"
msgstr "Agregar LAN inalámbrica"
#: templates/wireless/wirelesslangroup.html:26
-#: wireless/forms/model_forms.py:27
+#: wireless/forms/model_forms.py:28
msgid "Wireless LAN Group"
msgstr "Grupo de LAN inalámbrica"
-#: templates/wireless/wirelesslangroup.html:64
+#: templates/wireless/wirelesslangroup.html:59
msgid "Add Wireless LAN Group"
msgstr "Agregar grupo de LAN inalámbrica"
-#: templates/wireless/wirelesslink.html:16
+#: templates/wireless/wirelesslink.html:14
msgid "Link Properties"
msgstr "Propiedades del enlace"
@@ -12727,43 +13092,59 @@ msgstr "Terciario"
msgid "Inactive"
msgstr "Inactivo"
-#: tenancy/filtersets.py:29 tenancy/filtersets.py:55 tenancy/filtersets.py:98
+#: tenancy/filtersets.py:29
+msgid "Parent contact group (ID)"
+msgstr "Grupo de contacto de padres (ID)"
+
+#: tenancy/filtersets.py:35
+msgid "Parent contact group (slug)"
+msgstr "Grupo de contacto para padres (slug)"
+
+#: tenancy/filtersets.py:41 tenancy/filtersets.py:68 tenancy/filtersets.py:111
msgid "Contact group (ID)"
msgstr "Grupo de contactos (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 "Grupo de contacto (slug)"
-#: tenancy/filtersets.py:92
+#: tenancy/filtersets.py:105
msgid "Contact (ID)"
msgstr "Contacto (ID)"
-#: tenancy/filtersets.py:109
+#: tenancy/filtersets.py:122
msgid "Contact role (ID)"
msgstr "Rol de contacto (ID)"
-#: tenancy/filtersets.py:115
+#: tenancy/filtersets.py:128
msgid "Contact role (slug)"
msgstr "Rol de contacto (babosa)"
-#: tenancy/filtersets.py:147
+#: tenancy/filtersets.py:159
msgid "Contact group"
msgstr "Grupo de contactos"
-#: tenancy/filtersets.py:158 tenancy/filtersets.py:177
+#: tenancy/filtersets.py:170
+msgid "Parent tenant group (ID)"
+msgstr "Grupo de padres e inquilinos (ID)"
+
+#: tenancy/filtersets.py:176
+msgid "Parent tenant group (slug)"
+msgstr "Grupo de padres e inquilinos (slug)"
+
+#: tenancy/filtersets.py:182 tenancy/filtersets.py:202
msgid "Tenant group (ID)"
msgstr "Grupo de inquilinos (ID)"
-#: tenancy/filtersets.py:210
+#: tenancy/filtersets.py:235
msgid "Tenant Group (ID)"
msgstr "Grupo de inquilinos (ID)"
-#: tenancy/filtersets.py:217
+#: tenancy/filtersets.py:242
msgid "Tenant Group (slug)"
msgstr "Grupo de inquilinos (babosa)"
-#: tenancy/forms/bulk_edit.py:65
+#: tenancy/forms/bulk_edit.py:66
msgid "Desciption"
msgstr "Descripción"
@@ -12872,27 +13253,31 @@ msgstr "Enlace de contacto"
msgid "Contact Description"
msgstr "Descripción del contacto"
-#: users/filtersets.py:48 users/filtersets.py:151
+#: users/filtersets.py:33 users/filtersets.py:68
+msgid "Permission (ID)"
+msgstr "Permiso (ID)"
+
+#: users/filtersets.py:63 users/filtersets.py:181
msgid "Group (name)"
msgstr "Grupo (nombre)"
-#: users/forms/bulk_edit.py:24
+#: users/forms/bulk_edit.py:26
msgid "First name"
msgstr "Nombre de pila"
-#: users/forms/bulk_edit.py:29
+#: users/forms/bulk_edit.py:31
msgid "Last name"
msgstr "Apellido"
-#: users/forms/bulk_edit.py:41
+#: users/forms/bulk_edit.py:43
msgid "Staff status"
msgstr "Situación del personal"
-#: users/forms/bulk_edit.py:46
+#: users/forms/bulk_edit.py:48
msgid "Superuser status"
msgstr "Estado de superusuario"
-#: 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 no se proporciona ninguna clave, se generará una automáticamente."
@@ -12904,27 +13289,27 @@ msgstr "Es personal"
msgid "Is Superuser"
msgstr "Es superusuario"
-#: users/forms/filtersets.py:92 users/tables.py:89
+#: users/forms/filtersets.py:92 users/tables.py:86
msgid "Can View"
msgstr "Puede ver"
-#: users/forms/filtersets.py:99 users/tables.py:92
+#: users/forms/filtersets.py:99 users/tables.py:89
msgid "Can Add"
msgstr "Puede agregar"
-#: users/forms/filtersets.py:106 users/tables.py:95
+#: users/forms/filtersets.py:106 users/tables.py:92
msgid "Can Change"
msgstr "Puede cambiar"
-#: users/forms/filtersets.py:113 users/tables.py:98
+#: users/forms/filtersets.py:113 users/tables.py:95
msgid "Can Delete"
msgstr "Puede eliminar"
-#: users/forms/model_forms.py:58
+#: users/forms/model_forms.py:66
msgid "User Interface"
msgstr "Interfaz de usuario"
-#: 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 "
@@ -12934,7 +13319,7 @@ msgstr ""
"su clave antes de enviar este formulario, ya que es posible que ya "
"no se pueda acceder a él una vez que se haya creado el token."
-#: 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: "
@@ -12944,33 +13329,33 @@ msgstr ""
"blanco para que no haya restricciones. Ejemplo: 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 "Confirme la contraseña"
-#: users/forms/model_forms.py:180
+#: users/forms/model_forms.py:182
msgid "Enter the same password as before, for verification."
msgstr "Introduce la misma contraseña que antes para verificarla."
-#: 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 ""
"¡Las contraseñas no coinciden! Compruebe los datos introducidos e inténtelo "
"de nuevo."
-#: users/forms/model_forms.py:304
+#: users/forms/model_forms.py:294
msgid "Additional actions"
msgstr "Acciones adicionales"
-#: users/forms/model_forms.py:307
+#: users/forms/model_forms.py:297
msgid "Actions granted in addition to those listed above"
msgstr "Acciones concedidas además de las enumeradas anteriormente"
-#: users/forms/model_forms.py:323
+#: users/forms/model_forms.py:313
msgid "Objects"
msgstr "Objetos"
-#: 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 "
@@ -12981,81 +13366,80 @@ msgstr ""
"este tipo. Una lista de varios objetos dará como resultado una operación OR "
"lógica."
-#: users/forms/model_forms.py:373
+#: users/forms/model_forms.py:364
msgid "At least one action must be selected."
msgstr "Debe seleccionarse al menos una acción."
-#: users/forms/model_forms.py:386
-msgid "Constraints are not supported for this object type."
-msgstr "Este tipo de objeto no admite restricciones."
-
-#: users/forms/model_forms.py:396
+#: users/forms/model_forms.py:382
#, python-brace-format
msgid "Invalid filter for {model}: {error}"
msgstr "Filtro no válido para {model}: {error}"
-#: users/models.py:55
-msgid "user"
-msgstr "usuario"
+#: users/models/permissions.py:39
+msgid "The list of actions granted by this permission"
+msgstr "La lista de acciones concedidas por este permiso"
-#: users/models.py:56
-msgid "users"
-msgstr "usuarios"
+#: users/models/permissions.py:44
+msgid "constraints"
+msgstr "restricciones"
-#: users/models.py:67
-msgid "A user with this username already exists."
-msgstr "Ya existe un usuario con este nombre de usuario."
+#: users/models/permissions.py:45
+msgid ""
+"Queryset filter matching the applicable objects of the selected type(s)"
+msgstr ""
+"Filtro Queryset que coincide con los objetos aplicables de los tipos "
+"seleccionados"
-#: users/models.py:79 vpn/models/crypto.py:42
-msgid "group"
-msgstr "grupo"
+#: users/models/permissions.py:52
+msgid "permission"
+msgstr "permiso"
-#: users/models.py:80
-msgid "groups"
-msgstr "grupos"
+#: users/models/permissions.py:53 users/models/users.py:47
+msgid "permissions"
+msgstr "permisos"
-#: users/models.py:107 users/models.py:108
+#: users/models/preferences.py:30 users/models/preferences.py:31
msgid "user preferences"
msgstr "preferencias de usuario"
-#: users/models.py:175
+#: users/models/preferences.py:98
#, python-brace-format
msgid "Key '{path}' is a leaf node; cannot assign new keys"
msgstr "Clave '{path}'es un nodo de hoja; no se pueden asignar claves nuevas"
-#: 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 ""
"Clave '{path}'es un diccionario; no puede asignar un valor que no sea de "
"diccionario"
-#: users/models.py:253
+#: users/models/tokens.py:37
msgid "expires"
msgstr "caduca"
-#: users/models.py:258
+#: users/models/tokens.py:42
msgid "last used"
msgstr "utilizado por última vez"
-#: users/models.py:263
+#: users/models/tokens.py:47
msgid "key"
msgstr "clave"
-#: users/models.py:269
+#: users/models/tokens.py:53
msgid "write enabled"
msgstr "escritura habilitada"
-#: users/models.py:271
+#: users/models/tokens.py:55
msgid "Permit create/update/delete operations using this key"
msgstr ""
"Permitir operaciones de creación/actualización/eliminación con esta clave"
-#: users/models.py:282
+#: users/models/tokens.py:66
msgid "allowed IPs"
msgstr "IP permitidas"
-#: 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\""
@@ -13064,131 +13448,97 @@ msgstr ""
"blanco para que no haya restricciones. Por ejemplo: «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 "simbólico"
-#: users/models.py:297
+#: users/models/tokens.py:77
msgid "tokens"
msgstr "fichas"
-#: users/models.py:378
-msgid "The list of actions granted by this permission"
-msgstr "La lista de acciones concedidas por este permiso"
+#: users/models/users.py:57 vpn/models/crypto.py:42
+msgid "group"
+msgstr "grupo"
-#: users/models.py:383
-msgid "constraints"
-msgstr "restricciones"
+#: users/models/users.py:58 users/models/users.py:77
+msgid "groups"
+msgstr "grupos"
-#: users/models.py:384
-msgid ""
-"Queryset filter matching the applicable objects of the selected type(s)"
-msgstr ""
-"Filtro Queryset que coincide con los objetos aplicables de los tipos "
-"seleccionados"
+#: users/models/users.py:92
+msgid "user"
+msgstr "usuario"
-#: users/models.py:391
-msgid "permission"
-msgstr "permiso"
+#: users/models/users.py:93
+msgid "users"
+msgstr "usuarios"
-#: users/models.py:392
-msgid "permissions"
-msgstr "permisos"
+#: users/models/users.py:104
+msgid "A user with this username already exists."
+msgstr "Ya existe un usuario con este nombre de usuario."
-#: users/tables.py:101
+#: users/tables.py:98
msgid "Custom Actions"
msgstr "Acciones personalizadas"
-#: utilities/choices.py:16
+#: utilities/api.py:153
+#, python-brace-format
+msgid "Related object not found using the provided attributes: {params}"
+msgstr ""
+"No se encontró el objeto relacionado con los atributos proporcionados: "
+"{params}"
+
+#: utilities/api.py:156
+#, python-brace-format
+msgid "Multiple objects match the provided attributes: {params}"
+msgstr "Varios objetos coinciden con los atributos proporcionados: {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 ""
+"Se debe hacer referencia a los objetos relacionados mediante un "
+"identificador numérico o un diccionario de atributos. Recibió un valor no "
+"reconocido: {value}"
+
+#: utilities/api.py:177
+#, python-brace-format
+msgid "Related object not found using the provided numeric ID: {id}"
+msgstr ""
+"No se encontró el objeto relacionado con el identificador numérico "
+"proporcionado: {id}"
+
+#: utilities/choices.py:19
#, python-brace-format
msgid "{name} has a key defined but CHOICES is not a list"
msgstr "{name} tiene una clave definida, pero CHOICES no es una lista"
-#: utilities/choices.py:135
-msgid "Dark Red"
-msgstr "rojo oscuro"
+#: utilities/conversion.py:19
+msgid "Weight must be a positive number"
+msgstr "El peso debe ser un número positivo"
-#: utilities/choices.py:138
-msgid "Rose"
-msgstr "Rosa"
+#: utilities/conversion.py:21
+#, python-brace-format
+msgid "Invalid value '{weight}' for weight (must be a number)"
+msgstr "Valor no válido '{weight}'para el peso (debe ser un número)"
-#: utilities/choices.py:139
-msgid "Fuchsia"
-msgstr "Fucsia"
+#: utilities/conversion.py:32 utilities/conversion.py:62
+#, python-brace-format
+msgid "Unknown unit {unit}. Must be one of the following: {valid_units}"
+msgstr ""
+"Unidad desconocida {unit}. Debe ser uno de los siguientes: {valid_units}"
-#: utilities/choices.py:141
-msgid "Dark Purple"
-msgstr "Púrpura oscuro"
+#: utilities/conversion.py:45
+msgid "Length must be a positive number"
+msgstr "La longitud debe ser un número positivo"
-#: utilities/choices.py:144
-msgid "Light Blue"
-msgstr "Azul claro"
+#: utilities/conversion.py:47
+#, python-brace-format
+msgid "Invalid value '{length}' for length (must be a number)"
+msgstr "Valor no válido '{length}'para la longitud (debe ser un número)"
-#: utilities/choices.py:147
-msgid "Aqua"
-msgstr "Aguamarina"
-
-#: utilities/choices.py:148
-msgid "Dark Green"
-msgstr "Verde oscuro"
-
-#: utilities/choices.py:150
-msgid "Light Green"
-msgstr "Verde claro"
-
-#: utilities/choices.py:151
-msgid "Lime"
-msgstr "Lima"
-
-#: utilities/choices.py:153
-msgid "Amber"
-msgstr "Ámbar"
-
-#: utilities/choices.py:155
-msgid "Dark Orange"
-msgstr "Naranja oscuro"
-
-#: utilities/choices.py:156
-msgid "Brown"
-msgstr "Marrón"
-
-#: utilities/choices.py:157
-msgid "Light Grey"
-msgstr "Gris claro"
-
-#: utilities/choices.py:158
-msgid "Grey"
-msgstr "Gris"
-
-#: utilities/choices.py:159
-msgid "Dark Grey"
-msgstr "Gris oscuro"
-
-#: utilities/choices.py:217
-msgid "Direct"
-msgstr "Directo"
-
-#: utilities/choices.py:218
-msgid "Upload"
-msgstr "Cargar"
-
-#: utilities/choices.py:230 utilities/choices.py:244
-msgid "Auto-detect"
-msgstr "Detección automática"
-
-#: utilities/choices.py:245
-msgid "Comma"
-msgstr "Coma"
-
-#: utilities/choices.py:246
-msgid "Semicolon"
-msgstr "Punto y coma"
-
-#: utilities/choices.py:247
-msgid "Tab"
-msgstr "Pestaña"
-
-#: utilities/error_handlers.py:20
+#: utilities/error_handlers.py:31
#, python-brace-format
msgid ""
"Unable to delete {objects}. {count} dependent objects were "
@@ -13197,16 +13547,16 @@ msgstr ""
"No se puede eliminar {objects}. {count} se encontraron "
"objetos dependientes: "
-#: utilities/error_handlers.py:22
+#: utilities/error_handlers.py:33
msgid "More than 50"
msgstr "Más de 50"
-#: utilities/fields.py:96
+#: utilities/fields.py:80
msgid "Custom queryset can't be used for this lookup."
msgstr ""
"El conjunto de consultas personalizado no se puede usar para esta búsqueda."
-#: utilities/fields.py:162
+#: utilities/fields.py:146
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
@@ -13215,7 +13565,7 @@ msgstr ""
"%s(%r) no es válido. El parámetro to_model de CounterCacheField debe ser una"
" cadena con el formato '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 "
@@ -13224,39 +13574,39 @@ msgstr ""
"%s(%r) no es válido. El parámetro to_field de CounterCacheField debe ser una"
" cadena con el formato 'campo'"
-#: utilities/forms/bulk_import.py:24
+#: utilities/forms/bulk_import.py:23
msgid "Enter object data in CSV, JSON or YAML format."
msgstr "Introduzca los datos del objeto en formato CSV, JSON o YAML."
-#: utilities/forms/bulk_import.py:37
+#: utilities/forms/bulk_import.py:36
msgid "CSV delimiter"
msgstr "Delimitador 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 ""
"El carácter que delimita los campos CSV. Se aplica solo al formato 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 ""
"Los datos del formulario deben estar vacíos al cargar o seleccionar un "
"archivo."
-#: utilities/forms/bulk_import.py:81
+#: utilities/forms/bulk_import.py:80
#, python-brace-format
msgid "Unknown data format: {format}"
msgstr "Formato de datos desconocido: {format}"
-#: utilities/forms/bulk_import.py:101
+#: utilities/forms/bulk_import.py:100
msgid "Unable to detect data format. Please specify."
msgstr "No se pudo detectar el formato de los datos. Especifique."
-#: utilities/forms/bulk_import.py:124
+#: utilities/forms/bulk_import.py:123
msgid "Invalid CSV delimiter"
msgstr "Delimitador CSV no válido"
-#: 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."
@@ -13341,24 +13691,31 @@ msgstr ""
msgid "MAC address must be in EUI-48 format"
msgstr "La dirección MAC debe estar en formato EUI-48"
-#: utilities/forms/forms.py:53
+#: utilities/forms/forms.py:52
msgid "Use regular expressions"
msgstr "Usa expresiones regulares"
-#: 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 ""
+"ID numérico de un objeto existente que se va a actualizar (si no se está "
+"creando un objeto nuevo)"
+
+#: utilities/forms/forms.py:92
#, python-brace-format
msgid "Unrecognized header: {name}"
msgstr "Encabezado no reconocido: {name}"
-#: utilities/forms/forms.py:113
+#: utilities/forms/forms.py:118
msgid "Available Columns"
msgstr "Columnas disponibles"
-#: utilities/forms/forms.py:121
+#: utilities/forms/forms.py:126
msgid "Selected Columns"
msgstr "Columnas seleccionadas"
-#: 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."
@@ -13434,7 +13791,7 @@ msgstr ""
"Falta el valor requerido para el parámetro de consulta estática: "
"'{static_params}'"
-#: utilities/permissions.py:40
+#: utilities/permissions.py:39
#, python-brace-format
msgid ""
"Invalid permission name: {name}. Must be in the format "
@@ -13448,7 +13805,7 @@ msgstr ""
msgid "Unknown app_label/model_name for {name}"
msgstr "App_label/model_name desconocido para {name}"
-#: utilities/request.py:33
+#: utilities/request.py:76
#, python-brace-format
msgid "Invalid IP address set for {header}: {ip}"
msgstr "Dirección IP no válida establecida para {header}: {ip}"
@@ -13475,10 +13832,6 @@ msgstr "Marcador"
msgid "Clone"
msgstr "Clon"
-#: utilities/templates/buttons/export.html:4
-msgid "Export"
-msgstr "Exportación"
-
#: utilities/templates/buttons/export.html:7
msgid "Current View"
msgstr "Vista actual"
@@ -13495,15 +13848,15 @@ msgstr "Añadir plantilla de exportación"
msgid "Import"
msgstr "Importar"
-#: utilities/templates/form_helpers/render_field.html:36
+#: utilities/templates/form_helpers/render_field.html:39
msgid "Copy to clipboard"
msgstr "Copiar al portapapeles"
-#: utilities/templates/form_helpers/render_field.html:52
+#: utilities/templates/form_helpers/render_field.html:55
msgid "This field is required"
msgstr "Este campo es obligatorio"
-#: utilities/templates/form_helpers/render_field.html:65
+#: utilities/templates/form_helpers/render_field.html:68
msgid "Set Null"
msgstr "Establecer nulo"
@@ -13535,65 +13888,26 @@ msgstr "No se ha asignado ninguno"
msgid "Write"
msgstr "Escribe"
-#: utilities/templates/widgets/markdown_input.html:20
-msgid "Testing"
-msgstr "Probando"
-
-#: utilities/testing/views.py:625
+#: utilities/testing/views.py:633
msgid "The test must define csv_update_data."
msgstr "La prueba debe definir csv_update_data."
-#: utilities/utils.py:310
-msgid "Length must be a positive number"
-msgstr "La longitud debe ser un número positivo"
-
-#: utilities/utils.py:312
-#, python-brace-format
-msgid "Invalid value '{length}' for length (must be a number)"
-msgstr "Valor no válido '{length}'para la longitud (debe ser un número)"
-
-#: utilities/utils.py:317 utilities/utils.py:350
-#, python-brace-format
-msgid "Unknown unit {unit}. Must be one of the following: {valid_units}"
-msgstr ""
-"Unidad desconocida {unit}. Debe ser uno de los siguientes: {valid_units}"
-
-#: utilities/utils.py:334
-#, python-brace-format
-msgid "Unknown unit {unit}. Must be 'km', 'm', 'cm', 'mi', 'ft', or 'in'."
-msgstr ""
-"Unidad desconocida {unit}. Debe ser «km», «m», «cm», «mi», «ft» o «in»."
-
-#: utilities/utils.py:343
-msgid "Weight must be a positive number"
-msgstr "El peso debe ser un número positivo"
-
-#: utilities/utils.py:345
-#, python-brace-format
-msgid "Invalid value '{weight}' for weight (must be a number)"
-msgstr "Valor no válido '{weight}'para el peso (debe ser un número)"
-
-#: utilities/utils.py:363
-#, python-brace-format
-msgid "Unknown unit {unit}. Must be 'kg', 'g', 'lb', 'oz'."
-msgstr "Unidad desconocida {unit}. Debe ser «kg», «g», «lb», «oz»."
-
#: utilities/validators.py:65
#, python-brace-format
msgid "{value} is not a valid regular expression."
msgstr "{value} no es una expresión regular válida."
-#: utilities/views.py:38
+#: utilities/views.py:40
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
msgstr "{self.__class__.__name__} debe implementar 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} debe implementar get_required_permission ()"
-#: utilities/views.py:98
+#: utilities/views.py:100
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
@@ -13623,21 +13937,21 @@ msgstr "Grupo de clústeres (ID)"
msgid "Cluster (ID)"
msgstr "Clúster (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 "CPU virtuales"
-#: virtualization/forms/bulk_edit.py:169
+#: virtualization/forms/bulk_edit.py:170
msgid "Memory (MB)"
msgstr "Memoria (MB)"
-#: virtualization/forms/bulk_edit.py:173
+#: virtualization/forms/bulk_edit.py:174
msgid "Disk (GB)"
msgstr "Disco (GB)"
-#: 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 "Tamaño (GB)"
@@ -13657,7 +13971,7 @@ msgstr "Clúster asignado"
msgid "Assigned device within cluster"
msgstr "Dispositivo asignado dentro del clúster"
-#: 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 "
@@ -13666,22 +13980,22 @@ msgstr ""
"{device} pertenece a un sitio diferente ({device_site}) que el clúster "
"({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 ""
"Si lo desea, puede anclar esta máquina virtual a un dispositivo host "
"específico dentro del clúster"
-#: virtualization/forms/model_forms.py:224
+#: virtualization/forms/model_forms.py:221
msgid "Site/Cluster"
msgstr "Sitio/Clúster"
-#: virtualization/forms/model_forms.py:247
+#: virtualization/forms/model_forms.py:244
msgid "Disk size is managed via the attachment of virtual disks."
msgstr ""
"El tamaño del disco se administra mediante la conexión de discos virtuales."
-#: virtualization/forms/model_forms.py:375
+#: virtualization/forms/model_forms.py:372
msgid "Disk"
msgstr "Disco"
@@ -13718,42 +14032,42 @@ msgstr ""
"{count} los dispositivos se asignan como hosts para este clúster, pero no "
"están en el sitio {site}"
-#: virtualization/models/virtualmachines.py:121
+#: virtualization/models/virtualmachines.py:123
msgid "memory (MB)"
msgstr "memoria (MB)"
-#: virtualization/models/virtualmachines.py:126
+#: virtualization/models/virtualmachines.py:128
msgid "disk (GB)"
msgstr "disco (GB)"
-#: virtualization/models/virtualmachines.py:159
+#: virtualization/models/virtualmachines.py:161
msgid "Virtual machine name must be unique per cluster."
msgstr "El nombre de la máquina virtual debe ser único por clúster."
-#: virtualization/models/virtualmachines.py:162
+#: virtualization/models/virtualmachines.py:164
msgid "virtual machine"
msgstr "máquina virtual"
-#: virtualization/models/virtualmachines.py:163
+#: virtualization/models/virtualmachines.py:165
msgid "virtual machines"
msgstr "máquinas virtuales"
-#: virtualization/models/virtualmachines.py:177
+#: virtualization/models/virtualmachines.py:179
msgid "A virtual machine must be assigned to a site and/or cluster."
msgstr "Se debe asignar una máquina virtual a un sitio o clúster."
-#: 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 ""
"El clúster seleccionado ({cluster}) no está asignado a este sitio ({site})."
-#: virtualization/models/virtualmachines.py:191
+#: virtualization/models/virtualmachines.py:193
msgid "Must specify a cluster when assigning a host device."
msgstr "Debe especificar un clúster al asignar un dispositivo host."
-#: 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})."
@@ -13761,7 +14075,7 @@ msgstr ""
"El dispositivo seleccionado ({device}) no está asignado a este clúster "
"({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 "
@@ -13770,19 +14084,19 @@ msgstr ""
"El tamaño de disco especificado ({size}) debe coincidir con el tamaño "
"agregado de los discos virtuales asignados ({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 ""
"Debe ser un IPv{family} dirección. ({ip} es un IPv{version} dirección.)"
-#: 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 ""
"La dirección IP especificada ({ip}) no está asignado a esta máquina virtual."
-#: virtualization/models/virtualmachines.py:389
+#: virtualization/models/virtualmachines.py:391
#, python-brace-format
msgid ""
"The selected parent interface ({parent}) belongs to a different virtual "
@@ -13791,7 +14105,7 @@ msgstr ""
"La interfaz principal seleccionada ({parent}) pertenece a una máquina "
"virtual diferente ({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 "
@@ -13800,7 +14114,7 @@ msgstr ""
"La interfaz de puente seleccionada ({bridge}) pertenece a una máquina "
"virtual diferente ({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 "
@@ -13809,15 +14123,15 @@ msgstr ""
"La VLAN sin etiquetar ({untagged_vlan}) debe pertenecer al mismo sitio que "
"la máquina virtual principal de la interfaz o debe ser global."
-#: virtualization/models/virtualmachines.py:427
+#: virtualization/models/virtualmachines.py:429
msgid "size (GB)"
msgstr "tamaño (GB)"
-#: virtualization/models/virtualmachines.py:431
+#: virtualization/models/virtualmachines.py:433
msgid "virtual disk"
msgstr "disco virtual"
-#: virtualization/models/virtualmachines.py:432
+#: virtualization/models/virtualmachines.py:434
msgid "virtual disks"
msgstr "discos virtuales"
@@ -13923,57 +14237,57 @@ msgstr "Túnel (nombre)"
msgid "Outside IP (ID)"
msgstr "IP externa (ID)"
-#: vpn/filtersets.py:235
+#: vpn/filtersets.py:130 vpn/filtersets.py:153 vpn/filtersets.py:282
msgid "IKE policy (ID)"
msgstr "Política de IKE (ID)"
-#: vpn/filtersets.py:241
+#: vpn/filtersets.py:136 vpn/filtersets.py:159 vpn/filtersets.py:288
msgid "IKE policy (name)"
msgstr "Política IKE (nombre)"
-#: vpn/filtersets.py:245
+#: vpn/filtersets.py:215 vpn/filtersets.py:292
msgid "IPSec policy (ID)"
msgstr "Política IPSec (ID)"
-#: vpn/filtersets.py:251
+#: vpn/filtersets.py:221 vpn/filtersets.py:298
msgid "IPSec policy (name)"
msgstr "Política IPSec (nombre)"
-#: vpn/filtersets.py:320
+#: vpn/filtersets.py:367
msgid "L2VPN (slug)"
msgstr "VPN L2 (babosa)"
-#: vpn/filtersets.py:384
+#: vpn/filtersets.py:431
msgid "VM Interface (ID)"
msgstr "Interfaz VM (ID)"
-#: vpn/filtersets.py:390
+#: vpn/filtersets.py:437
msgid "VLAN (name)"
msgstr "VLAN (nombre)"
-#: 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 "Grupo de túneles"
-#: 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 "Toda una vida"
-#: 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 "Clave previamente compartida"
-#: 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 "Política de 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 "Política IPSec"
@@ -14044,45 +14358,45 @@ msgstr "Cada terminación debe especificar una interfaz o una VLAN."
msgid "Cannot assign both an interface and a VLAN."
msgstr "No se puede asignar una interfaz y una VLAN a la vez."
-#: vpn/forms/filtersets.py:127
+#: vpn/forms/filtersets.py:130
msgid "IKE version"
msgstr "Versión 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 "Propuesta"
-#: vpn/forms/filtersets.py:247
+#: vpn/forms/filtersets.py:251
msgid "Assigned Object Type"
msgstr "Tipo de objeto asignado"
-#: 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 "Interfaz de túnel"
-#: vpn/forms/model_forms.py:147
+#: vpn/forms/model_forms.py:150
msgid "First Termination"
msgstr "Primera rescisión"
-#: vpn/forms/model_forms.py:151
+#: vpn/forms/model_forms.py:153
msgid "Second Termination"
msgstr "Segunda terminación"
-#: vpn/forms/model_forms.py:198
+#: vpn/forms/model_forms.py:197
msgid "This parameter is required when defining a termination."
msgstr "Este parámetro es obligatorio para definir una terminación."
-#: 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 "Política"
-#: vpn/forms/model_forms.py:475
+#: vpn/forms/model_forms.py:487
msgid "A termination must specify an interface or VLAN."
msgstr "Una terminación debe especificar una interfaz o 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 ""
@@ -14272,10 +14586,6 @@ msgstr "Objeto principal"
msgid "Object Site"
msgstr "Sitio del objeto"
-#: vpn/tables/tunnels.py:88
-msgid "Host"
-msgstr "Anfitrión"
-
#: wireless/choices.py:11
msgid "Access point"
msgstr "Punto de acceso"
@@ -14296,10 +14606,10 @@ msgstr "WPA Personal (PSK)"
msgid "WPA Enterprise"
msgstr "Empresa WPA"
-#: 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 "Cifrado de autenticación"
@@ -14315,7 +14625,7 @@ msgstr "Interfaz A"
msgid "Interface B"
msgstr "Interfaz B"
-#: wireless/forms/model_forms.py:158
+#: wireless/forms/model_forms.py:161
msgid "Side B"
msgstr "Lado B"