From 4ca2b21a706f86fdb4ff5bf1940960f73ed74530 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 05:02:35 +0000 Subject: [PATCH 01/26] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 10825 +++++++++-------- 1 file changed, 5765 insertions(+), 5060 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 7692853f4..4afa28869 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-29 21:00+0000\n" +"POT-Creation-Date: 2024-10-31 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7536 +18,8056 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: 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:112 +#: netbox/account/tables.py:27 netbox/templates/account/token.html:22 +#: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "" -#: account/tables.py:31 users/forms/filtersets.py:132 +#: netbox/account/tables.py:31 netbox/users/forms/filtersets.py:132 msgid "Write Enabled" msgstr "" -#: account/tables.py:35 core/choices.py:86 core/tables/jobs.py:29 -#: core/tables/tasks.py:79 extras/tables/tables.py:335 -#: extras/tables/tables.py:566 templates/account/token.html:43 -#: templates/core/configrevision.html:26 -#: templates/core/configrevision_restore.html:12 templates/core/job.html:69 -#: 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:22 templates/generic/object.html:58 -#: templates/users/token.html:35 +#: netbox/account/tables.py:35 netbox/core/choices.py:86 +#: netbox/core/tables/jobs.py:29 netbox/core/tables/tasks.py:79 +#: netbox/extras/tables/tables.py:335 netbox/extras/tables/tables.py:566 +#: netbox/templates/account/token.html:43 +#: netbox/templates/core/configrevision.html:26 +#: netbox/templates/core/configrevision_restore.html:12 +#: netbox/templates/core/job.html:69 netbox/templates/core/rq_task.html:16 +#: netbox/templates/core/rq_task.html:73 +#: netbox/templates/core/rq_worker.html:14 +#: netbox/templates/extras/htmx/script_result.html:12 +#: netbox/templates/extras/journalentry.html:22 +#: netbox/templates/generic/object.html:58 netbox/templates/users/token.html:35 msgid "Created" msgstr "" -#: account/tables.py:39 templates/account/token.html:47 -#: templates/users/token.html:39 users/forms/bulk_edit.py:117 -#: users/forms/filtersets.py:136 +#: netbox/account/tables.py:39 netbox/templates/account/token.html:47 +#: netbox/templates/users/token.html:39 netbox/users/forms/bulk_edit.py:117 +#: netbox/users/forms/filtersets.py:136 msgid "Expires" msgstr "" -#: account/tables.py:42 users/forms/filtersets.py:141 +#: netbox/account/tables.py:42 netbox/users/forms/filtersets.py:141 msgid "Last Used" msgstr "" -#: 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:124 +#: netbox/account/tables.py:45 netbox/templates/account/token.html:55 +#: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "" -#: account/views.py:114 +#: netbox/account/views.py:114 #, python-brace-format msgid "Logged in as {user}." msgstr "" -#: account/views.py:164 +#: netbox/account/views.py:164 msgid "You have logged out." msgstr "" -#: account/views.py:216 +#: netbox/account/views.py:216 msgid "Your preferences have been updated." msgstr "" -#: account/views.py:239 +#: netbox/account/views.py:239 msgid "LDAP-authenticated user credentials cannot be changed within NetBox." msgstr "" -#: account/views.py:254 +#: netbox/account/views.py:254 msgid "Your password has been changed successfully." msgstr "" -#: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:185 dcim/choices.py:237 dcim/choices.py:1530 -#: dcim/choices.py:1606 dcim/choices.py:1656 virtualization/choices.py:20 -#: virtualization/choices.py:45 vpn/choices.py:18 +#: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 +#: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 +#: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 +#: netbox/vpn/choices.py:18 msgid "Planned" msgstr "" -#: circuits/choices.py:22 netbox/navigation/menu.py:305 +#: netbox/circuits/choices.py:22 netbox/netbox/navigation/menu.py:305 msgid "Provisioning" msgstr "" -#: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22 -#: dcim/choices.py:103 dcim/choices.py:184 dcim/choices.py:236 -#: dcim/choices.py:1605 dcim/choices.py:1655 extras/tables/tables.py:495 -#: 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 +#: netbox/circuits/choices.py:23 netbox/core/tables/tasks.py:22 +#: netbox/dcim/choices.py:22 netbox/dcim/choices.py:103 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 +#: netbox/extras/tables/tables.py:495 netbox/ipam/choices.py:31 +#: netbox/ipam/choices.py:49 netbox/ipam/choices.py:69 +#: netbox/ipam/choices.py:154 netbox/templates/extras/configcontext.html:25 +#: netbox/templates/users/user.html:37 netbox/users/forms/bulk_edit.py:38 +#: netbox/virtualization/choices.py:22 netbox/virtualization/choices.py:44 +#: netbox/vpn/choices.py:19 netbox/wireless/choices.py:25 msgid "Active" msgstr "" -#: circuits/choices.py:24 dcim/choices.py:183 dcim/choices.py:235 -#: dcim/choices.py:1604 dcim/choices.py:1657 virtualization/choices.py:24 -#: virtualization/choices.py:43 +#: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 +#: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "" -#: circuits/choices.py:25 +#: netbox/circuits/choices.py:25 msgid "Deprovisioning" msgstr "" -#: circuits/choices.py:26 +#: netbox/circuits/choices.py:26 msgid "Decommissioned" msgstr "" -#: circuits/choices.py:90 dcim/choices.py:1617 tenancy/choices.py:17 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 +#: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "" -#: circuits/choices.py:91 ipam/choices.py:90 tenancy/choices.py:18 +#: netbox/circuits/choices.py:91 netbox/ipam/choices.py:90 +#: netbox/tenancy/choices.py:18 msgid "Secondary" msgstr "" -#: circuits/choices.py:92 tenancy/choices.py:19 +#: netbox/circuits/choices.py:92 netbox/tenancy/choices.py:19 msgid "Tertiary" msgstr "" -#: circuits/choices.py:93 tenancy/choices.py:20 +#: netbox/circuits/choices.py:93 netbox/tenancy/choices.py:20 msgid "Inactive" msgstr "" -#: circuits/filtersets.py:31 circuits/filtersets.py:198 dcim/filtersets.py:98 -#: dcim/filtersets.py:152 dcim/filtersets.py:212 dcim/filtersets.py:333 -#: dcim/filtersets.py:464 dcim/filtersets.py:1021 dcim/filtersets.py:1368 -#: dcim/filtersets.py:1903 dcim/filtersets.py:2146 dcim/filtersets.py:2204 -#: ipam/filtersets.py:339 ipam/filtersets.py:959 -#: virtualization/filtersets.py:45 virtualization/filtersets.py:173 -#: vpn/filtersets.py:358 +#: netbox/circuits/filtersets.py:31 netbox/circuits/filtersets.py:198 +#: netbox/dcim/filtersets.py:98 netbox/dcim/filtersets.py:152 +#: netbox/dcim/filtersets.py:212 netbox/dcim/filtersets.py:333 +#: netbox/dcim/filtersets.py:464 netbox/dcim/filtersets.py:1021 +#: netbox/dcim/filtersets.py:1368 netbox/dcim/filtersets.py:1903 +#: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 +#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 +#: netbox/virtualization/filtersets.py:45 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "" -#: circuits/filtersets.py:38 circuits/filtersets.py:205 dcim/filtersets.py:105 -#: dcim/filtersets.py:158 dcim/filtersets.py:219 dcim/filtersets.py:340 -#: dcim/filtersets.py:471 dcim/filtersets.py:1028 dcim/filtersets.py:1375 -#: dcim/filtersets.py:1910 dcim/filtersets.py:2153 dcim/filtersets.py:2211 -#: extras/filtersets.py:509 ipam/filtersets.py:346 ipam/filtersets.py:966 -#: virtualization/filtersets.py:52 virtualization/filtersets.py:180 -#: vpn/filtersets.py:353 +#: netbox/circuits/filtersets.py:38 netbox/circuits/filtersets.py:205 +#: netbox/dcim/filtersets.py:105 netbox/dcim/filtersets.py:158 +#: netbox/dcim/filtersets.py:219 netbox/dcim/filtersets.py:340 +#: netbox/dcim/filtersets.py:471 netbox/dcim/filtersets.py:1028 +#: netbox/dcim/filtersets.py:1375 netbox/dcim/filtersets.py:1910 +#: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 +#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 +#: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "" -#: circuits/filtersets.py:44 circuits/filtersets.py:211 dcim/filtersets.py:128 -#: dcim/filtersets.py:225 dcim/filtersets.py:346 dcim/filtersets.py:477 -#: dcim/filtersets.py:1034 dcim/filtersets.py:1381 dcim/filtersets.py:1916 -#: dcim/filtersets.py:2159 dcim/filtersets.py:2217 ipam/filtersets.py:352 -#: ipam/filtersets.py:972 virtualization/filtersets.py:58 -#: virtualization/filtersets.py:186 +#: netbox/circuits/filtersets.py:44 netbox/circuits/filtersets.py:211 +#: netbox/dcim/filtersets.py:128 netbox/dcim/filtersets.py:225 +#: netbox/dcim/filtersets.py:346 netbox/dcim/filtersets.py:477 +#: netbox/dcim/filtersets.py:1034 netbox/dcim/filtersets.py:1381 +#: netbox/dcim/filtersets.py:1916 netbox/dcim/filtersets.py:2159 +#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:352 +#: netbox/ipam/filtersets.py:972 netbox/virtualization/filtersets.py:58 +#: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" msgstr "" -#: circuits/filtersets.py:51 circuits/filtersets.py:218 dcim/filtersets.py:135 -#: dcim/filtersets.py:232 dcim/filtersets.py:353 dcim/filtersets.py:484 -#: dcim/filtersets.py:1041 dcim/filtersets.py:1388 dcim/filtersets.py:1923 -#: dcim/filtersets.py:2166 dcim/filtersets.py:2224 extras/filtersets.py:515 -#: ipam/filtersets.py:359 ipam/filtersets.py:979 -#: virtualization/filtersets.py:65 virtualization/filtersets.py:193 +#: netbox/circuits/filtersets.py:51 netbox/circuits/filtersets.py:218 +#: netbox/dcim/filtersets.py:135 netbox/dcim/filtersets.py:232 +#: netbox/dcim/filtersets.py:353 netbox/dcim/filtersets.py:484 +#: netbox/dcim/filtersets.py:1041 netbox/dcim/filtersets.py:1388 +#: netbox/dcim/filtersets.py:1923 netbox/dcim/filtersets.py:2166 +#: netbox/dcim/filtersets.py:2224 netbox/extras/filtersets.py:515 +#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:979 +#: netbox/virtualization/filtersets.py:65 +#: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" msgstr "" -#: circuits/filtersets.py:56 circuits/forms/bulk_edit.py:188 -#: circuits/forms/bulk_edit.py:216 circuits/forms/bulk_import.py:124 -#: circuits/forms/filtersets.py:51 circuits/forms/filtersets.py:171 -#: circuits/forms/filtersets.py:209 circuits/forms/model_forms.py:138 -#: circuits/forms/model_forms.py:154 circuits/tables/circuits.py:113 -#: dcim/forms/bulk_edit.py:168 dcim/forms/bulk_edit.py:329 -#: dcim/forms/bulk_edit.py:677 dcim/forms/bulk_edit.py:873 -#: dcim/forms/bulk_import.py:131 dcim/forms/bulk_import.py:230 -#: dcim/forms/bulk_import.py:309 dcim/forms/bulk_import.py:540 -#: dcim/forms/bulk_import.py:1311 dcim/forms/bulk_import.py:1339 -#: dcim/forms/filtersets.py:87 dcim/forms/filtersets.py:225 -#: dcim/forms/filtersets.py:342 dcim/forms/filtersets.py:439 -#: dcim/forms/filtersets.py:753 dcim/forms/filtersets.py:997 -#: dcim/forms/filtersets.py:1021 dcim/forms/filtersets.py:1111 -#: dcim/forms/filtersets.py:1149 dcim/forms/filtersets.py:1584 -#: dcim/forms/filtersets.py:1608 dcim/forms/filtersets.py:1632 -#: dcim/forms/model_forms.py:137 dcim/forms/model_forms.py:165 -#: dcim/forms/model_forms.py:238 dcim/forms/model_forms.py:463 -#: dcim/forms/model_forms.py:723 dcim/forms/object_create.py:391 -#: dcim/tables/devices.py:153 dcim/tables/power.py:26 dcim/tables/power.py:93 -#: dcim/tables/racks.py:122 dcim/tables/racks.py:207 dcim/tables/sites.py:134 -#: extras/filtersets.py:525 ipam/forms/bulk_edit.py:218 -#: ipam/forms/bulk_edit.py:285 ipam/forms/bulk_edit.py:484 -#: ipam/forms/bulk_import.py:171 ipam/forms/bulk_import.py:429 -#: ipam/forms/filtersets.py:153 ipam/forms/filtersets.py:231 -#: ipam/forms/filtersets.py:432 ipam/forms/filtersets.py:489 -#: ipam/forms/model_forms.py:205 ipam/forms/model_forms.py:636 -#: ipam/tables/ip.py:245 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 -#: templates/circuits/inc/circuit_termination_fields.html:6 -#: templates/dcim/device.html:22 templates/dcim/inc/cable_termination.html:8 -#: templates/dcim/inc/cable_termination.html:33 templates/dcim/location.html:37 -#: templates/dcim/powerpanel.html:22 templates/dcim/rack.html:20 -#: templates/dcim/rackreservation.html:28 templates/dcim/site.html:28 -#: 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:95 -#: 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: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:63 vpn/forms/filtersets.py:266 -#: wireless/forms/model_forms.py:76 wireless/forms/model_forms.py:118 +#: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 +#: netbox/circuits/forms/bulk_edit.py:216 +#: netbox/circuits/forms/bulk_import.py:124 +#: netbox/circuits/forms/filtersets.py:51 +#: netbox/circuits/forms/filtersets.py:171 +#: netbox/circuits/forms/filtersets.py:209 +#: netbox/circuits/forms/model_forms.py:138 +#: netbox/circuits/forms/model_forms.py:154 +#: netbox/circuits/tables/circuits.py:113 netbox/dcim/forms/bulk_edit.py:168 +#: netbox/dcim/forms/bulk_edit.py:329 netbox/dcim/forms/bulk_edit.py:677 +#: netbox/dcim/forms/bulk_edit.py:873 netbox/dcim/forms/bulk_import.py:131 +#: netbox/dcim/forms/bulk_import.py:230 netbox/dcim/forms/bulk_import.py:309 +#: netbox/dcim/forms/bulk_import.py:540 netbox/dcim/forms/bulk_import.py:1311 +#: netbox/dcim/forms/bulk_import.py:1339 netbox/dcim/forms/filtersets.py:87 +#: netbox/dcim/forms/filtersets.py:225 netbox/dcim/forms/filtersets.py:342 +#: netbox/dcim/forms/filtersets.py:439 netbox/dcim/forms/filtersets.py:753 +#: netbox/dcim/forms/filtersets.py:997 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1111 netbox/dcim/forms/filtersets.py:1149 +#: netbox/dcim/forms/filtersets.py:1584 netbox/dcim/forms/filtersets.py:1608 +#: netbox/dcim/forms/filtersets.py:1632 netbox/dcim/forms/model_forms.py:137 +#: netbox/dcim/forms/model_forms.py:165 netbox/dcim/forms/model_forms.py:238 +#: netbox/dcim/forms/model_forms.py:463 netbox/dcim/forms/model_forms.py:723 +#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:153 +#: netbox/dcim/tables/power.py:26 netbox/dcim/tables/power.py:93 +#: netbox/dcim/tables/racks.py:122 netbox/dcim/tables/racks.py:207 +#: netbox/dcim/tables/sites.py:134 netbox/extras/filtersets.py:525 +#: netbox/ipam/forms/bulk_edit.py:218 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/ipam/forms/bulk_edit.py:484 netbox/ipam/forms/bulk_import.py:171 +#: netbox/ipam/forms/bulk_import.py:429 netbox/ipam/forms/filtersets.py:153 +#: netbox/ipam/forms/filtersets.py:231 netbox/ipam/forms/filtersets.py:432 +#: netbox/ipam/forms/filtersets.py:489 netbox/ipam/forms/model_forms.py:205 +#: netbox/ipam/forms/model_forms.py:636 netbox/ipam/tables/ip.py:245 +#: netbox/ipam/tables/vlans.py:118 netbox/ipam/tables/vlans.py:221 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:6 +#: netbox/templates/dcim/device.html:22 +#: netbox/templates/dcim/inc/cable_termination.html:8 +#: netbox/templates/dcim/inc/cable_termination.html:33 +#: netbox/templates/dcim/location.html:37 +#: netbox/templates/dcim/powerpanel.html:22 netbox/templates/dcim/rack.html:20 +#: netbox/templates/dcim/rackreservation.html:28 +#: netbox/templates/dcim/site.html:28 netbox/templates/ipam/prefix.html:56 +#: netbox/templates/ipam/vlan.html:23 netbox/templates/ipam/vlan_edit.html:40 +#: netbox/templates/virtualization/cluster.html:42 +#: netbox/templates/virtualization/virtualmachine.html:95 +#: netbox/virtualization/forms/bulk_edit.py:91 +#: netbox/virtualization/forms/bulk_edit.py:109 +#: netbox/virtualization/forms/bulk_edit.py:124 +#: netbox/virtualization/forms/bulk_import.py:59 +#: netbox/virtualization/forms/bulk_import.py:85 +#: netbox/virtualization/forms/filtersets.py:79 +#: netbox/virtualization/forms/filtersets.py:148 +#: netbox/virtualization/forms/model_forms.py:71 +#: netbox/virtualization/forms/model_forms.py:104 +#: netbox/virtualization/forms/model_forms.py:171 +#: netbox/virtualization/tables/clusters.py:77 +#: netbox/virtualization/tables/virtualmachines.py:63 +#: netbox/vpn/forms/filtersets.py:266 netbox/wireless/forms/model_forms.py:76 +#: netbox/wireless/forms/model_forms.py:118 msgid "Site" msgstr "" -#: circuits/filtersets.py:62 circuits/filtersets.py:229 -#: circuits/filtersets.py:274 dcim/filtersets.py:242 dcim/filtersets.py:363 -#: dcim/filtersets.py:458 extras/filtersets.py:531 ipam/filtersets.py:238 -#: ipam/filtersets.py:369 ipam/filtersets.py:989 -#: virtualization/filtersets.py:75 virtualization/filtersets.py:203 -#: vpn/filtersets.py:363 +#: netbox/circuits/filtersets.py:62 netbox/circuits/filtersets.py:229 +#: netbox/circuits/filtersets.py:274 netbox/dcim/filtersets.py:242 +#: netbox/dcim/filtersets.py:363 netbox/dcim/filtersets.py:458 +#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 +#: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 +#: netbox/virtualization/filtersets.py:75 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "" -#: circuits/filtersets.py:67 +#: netbox/circuits/filtersets.py:67 msgid "ASN (ID)" msgstr "" -#: circuits/filtersets.py:73 circuits/forms/filtersets.py:31 -#: ipam/forms/model_forms.py:159 ipam/models/asns.py:108 -#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +#: netbox/circuits/filtersets.py:73 netbox/circuits/forms/filtersets.py:31 +#: netbox/ipam/forms/model_forms.py:159 netbox/ipam/models/asns.py:108 +#: netbox/ipam/models/asns.py:125 netbox/ipam/tables/asn.py:41 +#: netbox/templates/ipam/asn.html:20 msgid "ASN" msgstr "" -#: circuits/filtersets.py:95 circuits/filtersets.py:122 -#: circuits/filtersets.py:156 circuits/filtersets.py:283 -#: circuits/filtersets.py:325 ipam/filtersets.py:243 +#: netbox/circuits/filtersets.py:95 netbox/circuits/filtersets.py:122 +#: netbox/circuits/filtersets.py:156 netbox/circuits/filtersets.py:283 +#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:243 msgid "Provider (ID)" msgstr "" -#: circuits/filtersets.py:101 circuits/filtersets.py:128 -#: circuits/filtersets.py:162 circuits/filtersets.py:289 -#: circuits/filtersets.py:331 ipam/filtersets.py:249 +#: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128 +#: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289 +#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:249 msgid "Provider (slug)" msgstr "" -#: circuits/filtersets.py:167 +#: netbox/circuits/filtersets.py:167 msgid "Provider account (ID)" msgstr "" -#: circuits/filtersets.py:173 +#: netbox/circuits/filtersets.py:173 msgid "Provider account (account)" msgstr "" -#: circuits/filtersets.py:178 +#: netbox/circuits/filtersets.py:178 msgid "Provider network (ID)" msgstr "" -#: circuits/filtersets.py:182 +#: netbox/circuits/filtersets.py:182 msgid "Circuit type (ID)" msgstr "" -#: circuits/filtersets.py:188 +#: netbox/circuits/filtersets.py:188 msgid "Circuit type (slug)" msgstr "" -#: circuits/filtersets.py:223 circuits/filtersets.py:268 dcim/filtersets.py:236 -#: dcim/filtersets.py:357 dcim/filtersets.py:452 dcim/filtersets.py:1045 -#: dcim/filtersets.py:1393 dcim/filtersets.py:1928 dcim/filtersets.py:2170 -#: dcim/filtersets.py:2229 ipam/filtersets.py:232 ipam/filtersets.py:363 -#: ipam/filtersets.py:983 virtualization/filtersets.py:69 -#: virtualization/filtersets.py:197 vpn/filtersets.py:368 +#: netbox/circuits/filtersets.py:223 netbox/circuits/filtersets.py:268 +#: netbox/dcim/filtersets.py:236 netbox/dcim/filtersets.py:357 +#: netbox/dcim/filtersets.py:452 netbox/dcim/filtersets.py:1045 +#: netbox/dcim/filtersets.py:1393 netbox/dcim/filtersets.py:1928 +#: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 +#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 +#: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "" -#: circuits/filtersets.py:233 circuits/filtersets.py:237 +#: netbox/circuits/filtersets.py:233 netbox/circuits/filtersets.py:237 msgid "Termination A (ID)" msgstr "" -#: circuits/filtersets.py:260 circuits/filtersets.py:320 core/filtersets.py:77 -#: core/filtersets.py:136 core/filtersets.py:173 dcim/filtersets.py:751 -#: dcim/filtersets.py:1362 dcim/filtersets.py:2277 extras/filtersets.py:41 -#: extras/filtersets.py:63 extras/filtersets.py:92 extras/filtersets.py:132 -#: extras/filtersets.py:181 extras/filtersets.py:209 extras/filtersets.py:239 -#: extras/filtersets.py:276 extras/filtersets.py:348 extras/filtersets.py:391 -#: extras/filtersets.py:438 extras/filtersets.py:498 extras/filtersets.py:657 -#: extras/filtersets.py:703 ipam/forms/model_forms.py:449 -#: netbox/filtersets.py:282 netbox/forms/__init__.py:22 -#: netbox/forms/base.py:167 templates/htmx/object_selector.html:28 -#: templates/inc/filter_list.html:46 templates/ipam/ipaddress_assign.html:29 -#: templates/search.html:7 templates/search.html:26 tenancy/filtersets.py:99 -#: users/filtersets.py:23 users/filtersets.py:57 users/filtersets.py:102 -#: users/filtersets.py:150 utilities/forms/forms.py:104 -#: utilities/templates/navigation/menu.html:16 +#: netbox/circuits/filtersets.py:260 netbox/circuits/filtersets.py:320 +#: netbox/core/filtersets.py:77 netbox/core/filtersets.py:136 +#: netbox/core/filtersets.py:173 netbox/dcim/filtersets.py:751 +#: netbox/dcim/filtersets.py:1362 netbox/dcim/filtersets.py:2277 +#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 +#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:132 +#: netbox/extras/filtersets.py:181 netbox/extras/filtersets.py:209 +#: netbox/extras/filtersets.py:239 netbox/extras/filtersets.py:276 +#: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 +#: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 +#: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 +#: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 +#: netbox/templates/htmx/object_selector.html:28 +#: netbox/templates/inc/filter_list.html:46 +#: netbox/templates/ipam/ipaddress_assign.html:29 +#: netbox/templates/search.html:7 netbox/templates/search.html:26 +#: netbox/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 +#: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 +#: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "" -#: circuits/filtersets.py:264 circuits/forms/bulk_edit.py:172 -#: circuits/forms/bulk_edit.py:246 circuits/forms/bulk_import.py:115 -#: circuits/forms/filtersets.py:198 circuits/forms/filtersets.py:214 -#: circuits/forms/filtersets.py:260 circuits/forms/model_forms.py:111 -#: circuits/forms/model_forms.py:133 circuits/forms/model_forms.py:199 -#: circuits/tables/circuits.py:104 circuits/tables/circuits.py:164 -#: dcim/forms/connections.py:73 templates/circuits/circuit.html:15 -#: templates/circuits/circuitgroupassignment.html:26 -#: templates/circuits/circuittermination.html:19 -#: templates/dcim/inc/cable_termination.html:55 -#: templates/dcim/trace/circuit.html:4 +#: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 +#: netbox/circuits/forms/bulk_edit.py:246 +#: netbox/circuits/forms/bulk_import.py:115 +#: netbox/circuits/forms/filtersets.py:198 +#: netbox/circuits/forms/filtersets.py:214 +#: netbox/circuits/forms/filtersets.py:260 +#: netbox/circuits/forms/model_forms.py:111 +#: netbox/circuits/forms/model_forms.py:133 +#: netbox/circuits/forms/model_forms.py:199 +#: netbox/circuits/tables/circuits.py:104 +#: netbox/circuits/tables/circuits.py:164 netbox/dcim/forms/connections.py:73 +#: netbox/templates/circuits/circuit.html:15 +#: netbox/templates/circuits/circuitgroupassignment.html:26 +#: netbox/templates/circuits/circuittermination.html:19 +#: netbox/templates/dcim/inc/cable_termination.html:55 +#: netbox/templates/dcim/trace/circuit.html:4 msgid "Circuit" msgstr "" -#: circuits/filtersets.py:278 +#: netbox/circuits/filtersets.py:278 msgid "ProviderNetwork (ID)" msgstr "" -#: circuits/filtersets.py:335 +#: netbox/circuits/filtersets.py:335 msgid "Circuit (ID)" msgstr "" -#: circuits/filtersets.py:341 +#: netbox/circuits/filtersets.py:341 msgid "Circuit (CID)" msgstr "" -#: circuits/filtersets.py:345 +#: netbox/circuits/filtersets.py:345 msgid "Circuit group (ID)" msgstr "" -#: circuits/filtersets.py:351 +#: netbox/circuits/filtersets.py:351 msgid "Circuit group (slug)" msgstr "" -#: circuits/forms/bulk_edit.py:30 circuits/forms/filtersets.py:56 -#: circuits/forms/model_forms.py:29 circuits/tables/providers.py:33 -#: dcim/forms/bulk_edit.py:128 dcim/forms/filtersets.py:195 -#: dcim/forms/model_forms.py:123 dcim/tables/sites.py:94 -#: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:213 -#: netbox/navigation/menu.py:172 netbox/navigation/menu.py:175 -#: templates/circuits/provider.html:23 +#: netbox/circuits/forms/bulk_edit.py:30 netbox/circuits/forms/filtersets.py:56 +#: netbox/circuits/forms/model_forms.py:29 +#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:128 +#: netbox/dcim/forms/filtersets.py:195 netbox/dcim/forms/model_forms.py:123 +#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 +#: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:175 +#: netbox/templates/circuits/provider.html:23 msgid "ASNs" msgstr "" -#: circuits/forms/bulk_edit.py:34 circuits/forms/bulk_edit.py:56 -#: circuits/forms/bulk_edit.py:83 circuits/forms/bulk_edit.py:104 -#: circuits/forms/bulk_edit.py:164 circuits/forms/bulk_edit.py:183 -#: circuits/forms/bulk_edit.py:228 core/forms/bulk_edit.py:28 -#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:73 -#: dcim/forms/bulk_edit.py:92 dcim/forms/bulk_edit.py:151 -#: dcim/forms/bulk_edit.py:192 dcim/forms/bulk_edit.py:210 -#: dcim/forms/bulk_edit.py:288 dcim/forms/bulk_edit.py:432 -#: dcim/forms/bulk_edit.py:466 dcim/forms/bulk_edit.py:481 -#: dcim/forms/bulk_edit.py:540 dcim/forms/bulk_edit.py:584 -#: dcim/forms/bulk_edit.py:618 dcim/forms/bulk_edit.py:642 -#: dcim/forms/bulk_edit.py:715 dcim/forms/bulk_edit.py:767 -#: dcim/forms/bulk_edit.py:819 dcim/forms/bulk_edit.py:842 -#: dcim/forms/bulk_edit.py:890 dcim/forms/bulk_edit.py:960 -#: dcim/forms/bulk_edit.py:1013 dcim/forms/bulk_edit.py:1048 -#: dcim/forms/bulk_edit.py:1088 dcim/forms/bulk_edit.py:1132 -#: dcim/forms/bulk_edit.py:1177 dcim/forms/bulk_edit.py:1204 -#: dcim/forms/bulk_edit.py:1222 dcim/forms/bulk_edit.py:1240 -#: dcim/forms/bulk_edit.py:1258 dcim/forms/bulk_edit.py:1682 -#: extras/forms/bulk_edit.py:39 extras/forms/bulk_edit.py:149 -#: extras/forms/bulk_edit.py:178 extras/forms/bulk_edit.py:208 -#: extras/forms/bulk_edit.py:256 extras/forms/bulk_edit.py:274 -#: extras/forms/bulk_edit.py:298 extras/forms/bulk_edit.py:312 -#: extras/forms/bulk_edit.py:339 extras/tables/tables.py:79 -#: ipam/forms/bulk_edit.py:53 ipam/forms/bulk_edit.py:73 -#: ipam/forms/bulk_edit.py:93 ipam/forms/bulk_edit.py:117 -#: ipam/forms/bulk_edit.py:146 ipam/forms/bulk_edit.py:175 -#: ipam/forms/bulk_edit.py:194 ipam/forms/bulk_edit.py:276 -#: ipam/forms/bulk_edit.py:321 ipam/forms/bulk_edit.py:369 -#: ipam/forms/bulk_edit.py:412 ipam/forms/bulk_edit.py:428 -#: ipam/forms/bulk_edit.py:516 ipam/forms/bulk_edit.py:547 -#: templates/account/token.html:35 templates/circuits/circuit.html:59 -#: templates/circuits/circuitgroup.html:32 -#: templates/circuits/circuittype.html:26 -#: templates/circuits/inc/circuit_termination_fields.html:88 -#: templates/circuits/provider.html:33 -#: templates/circuits/providernetwork.html:32 templates/core/datasource.html:54 -#: templates/core/plugin.html:80 templates/dcim/cable.html:36 -#: templates/dcim/consoleport.html:44 templates/dcim/consoleserverport.html:44 -#: templates/dcim/device.html:94 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:73 -#: templates/dcim/modulebay.html:42 templates/dcim/moduletype.html:37 -#: 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:53 -#: templates/dcim/rackreservation.html:62 templates/dcim/rackrole.html:26 -#: templates/dcim/racktype.html:24 templates/dcim/rearport.html:54 -#: templates/dcim/region.html:33 templates/dcim/site.html:60 -#: 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:21 templates/extras/exporttemplate.html:19 -#: templates/extras/notificationgroup.html:20 -#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:45 -#: 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:140 +#: netbox/circuits/forms/bulk_edit.py:34 netbox/circuits/forms/bulk_edit.py:56 +#: netbox/circuits/forms/bulk_edit.py:83 netbox/circuits/forms/bulk_edit.py:104 +#: netbox/circuits/forms/bulk_edit.py:164 +#: netbox/circuits/forms/bulk_edit.py:183 +#: netbox/circuits/forms/bulk_edit.py:228 netbox/core/forms/bulk_edit.py:28 +#: netbox/dcim/forms/bulk_create.py:35 netbox/dcim/forms/bulk_edit.py:73 +#: netbox/dcim/forms/bulk_edit.py:92 netbox/dcim/forms/bulk_edit.py:151 +#: netbox/dcim/forms/bulk_edit.py:192 netbox/dcim/forms/bulk_edit.py:210 +#: netbox/dcim/forms/bulk_edit.py:288 netbox/dcim/forms/bulk_edit.py:432 +#: netbox/dcim/forms/bulk_edit.py:466 netbox/dcim/forms/bulk_edit.py:481 +#: netbox/dcim/forms/bulk_edit.py:540 netbox/dcim/forms/bulk_edit.py:584 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_edit.py:642 +#: netbox/dcim/forms/bulk_edit.py:715 netbox/dcim/forms/bulk_edit.py:767 +#: netbox/dcim/forms/bulk_edit.py:819 netbox/dcim/forms/bulk_edit.py:842 +#: netbox/dcim/forms/bulk_edit.py:890 netbox/dcim/forms/bulk_edit.py:960 +#: netbox/dcim/forms/bulk_edit.py:1013 netbox/dcim/forms/bulk_edit.py:1048 +#: netbox/dcim/forms/bulk_edit.py:1088 netbox/dcim/forms/bulk_edit.py:1132 +#: netbox/dcim/forms/bulk_edit.py:1177 netbox/dcim/forms/bulk_edit.py:1204 +#: netbox/dcim/forms/bulk_edit.py:1222 netbox/dcim/forms/bulk_edit.py:1240 +#: netbox/dcim/forms/bulk_edit.py:1258 netbox/dcim/forms/bulk_edit.py:1682 +#: netbox/extras/forms/bulk_edit.py:39 netbox/extras/forms/bulk_edit.py:149 +#: netbox/extras/forms/bulk_edit.py:178 netbox/extras/forms/bulk_edit.py:208 +#: netbox/extras/forms/bulk_edit.py:256 netbox/extras/forms/bulk_edit.py:274 +#: netbox/extras/forms/bulk_edit.py:298 netbox/extras/forms/bulk_edit.py:312 +#: netbox/extras/forms/bulk_edit.py:339 netbox/extras/tables/tables.py:79 +#: netbox/ipam/forms/bulk_edit.py:53 netbox/ipam/forms/bulk_edit.py:73 +#: netbox/ipam/forms/bulk_edit.py:93 netbox/ipam/forms/bulk_edit.py:117 +#: netbox/ipam/forms/bulk_edit.py:146 netbox/ipam/forms/bulk_edit.py:175 +#: netbox/ipam/forms/bulk_edit.py:194 netbox/ipam/forms/bulk_edit.py:276 +#: netbox/ipam/forms/bulk_edit.py:321 netbox/ipam/forms/bulk_edit.py:369 +#: netbox/ipam/forms/bulk_edit.py:412 netbox/ipam/forms/bulk_edit.py:428 +#: netbox/ipam/forms/bulk_edit.py:516 netbox/ipam/forms/bulk_edit.py:547 +#: netbox/templates/account/token.html:35 +#: netbox/templates/circuits/circuit.html:59 +#: netbox/templates/circuits/circuitgroup.html:32 +#: netbox/templates/circuits/circuittype.html:26 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:88 +#: netbox/templates/circuits/provider.html:33 +#: netbox/templates/circuits/providernetwork.html:32 +#: netbox/templates/core/datasource.html:54 +#: netbox/templates/core/plugin.html:80 netbox/templates/dcim/cable.html:36 +#: netbox/templates/dcim/consoleport.html:44 +#: netbox/templates/dcim/consoleserverport.html:44 +#: netbox/templates/dcim/device.html:94 netbox/templates/dcim/devicebay.html:32 +#: netbox/templates/dcim/devicerole.html:30 +#: netbox/templates/dcim/devicetype.html:33 +#: netbox/templates/dcim/frontport.html:58 +#: netbox/templates/dcim/interface.html:69 +#: netbox/templates/dcim/inventoryitem.html:60 +#: netbox/templates/dcim/inventoryitemrole.html:22 +#: netbox/templates/dcim/location.html:33 +#: netbox/templates/dcim/manufacturer.html:40 +#: netbox/templates/dcim/module.html:73 netbox/templates/dcim/modulebay.html:42 +#: netbox/templates/dcim/moduletype.html:37 +#: netbox/templates/dcim/platform.html:33 +#: netbox/templates/dcim/powerfeed.html:40 +#: netbox/templates/dcim/poweroutlet.html:40 +#: netbox/templates/dcim/powerpanel.html:30 +#: netbox/templates/dcim/powerport.html:40 netbox/templates/dcim/rack.html:53 +#: netbox/templates/dcim/rackreservation.html:62 +#: netbox/templates/dcim/rackrole.html:26 +#: netbox/templates/dcim/racktype.html:24 +#: netbox/templates/dcim/rearport.html:54 netbox/templates/dcim/region.html:33 +#: netbox/templates/dcim/site.html:60 netbox/templates/dcim/sitegroup.html:33 +#: netbox/templates/dcim/virtualchassis.html:31 +#: netbox/templates/extras/configcontext.html:21 +#: netbox/templates/extras/configtemplate.html:17 +#: netbox/templates/extras/customfield.html:34 +#: netbox/templates/extras/dashboard/widget_add.html:14 +#: netbox/templates/extras/eventrule.html:21 +#: netbox/templates/extras/exporttemplate.html:19 +#: netbox/templates/extras/notificationgroup.html:20 +#: netbox/templates/extras/savedfilter.html:17 +#: netbox/templates/extras/script_list.html:46 +#: netbox/templates/extras/tag.html:20 netbox/templates/extras/webhook.html:17 +#: netbox/templates/generic/bulk_import.html:120 +#: netbox/templates/ipam/aggregate.html:43 netbox/templates/ipam/asn.html:42 +#: netbox/templates/ipam/asnrange.html:38 +#: netbox/templates/ipam/fhrpgroup.html:34 +#: netbox/templates/ipam/ipaddress.html:55 +#: netbox/templates/ipam/iprange.html:67 netbox/templates/ipam/prefix.html:81 +#: netbox/templates/ipam/rir.html:26 netbox/templates/ipam/role.html:26 +#: netbox/templates/ipam/routetarget.html:21 +#: netbox/templates/ipam/service.html:50 +#: netbox/templates/ipam/servicetemplate.html:27 +#: netbox/templates/ipam/vlan.html:62 netbox/templates/ipam/vlangroup.html:34 +#: netbox/templates/ipam/vrf.html:33 netbox/templates/tenancy/contact.html:67 +#: netbox/templates/tenancy/contactgroup.html:25 +#: netbox/templates/tenancy/contactrole.html:22 +#: netbox/templates/tenancy/tenant.html:24 +#: netbox/templates/tenancy/tenantgroup.html:33 +#: netbox/templates/users/group.html:21 +#: netbox/templates/users/objectpermission.html:21 +#: netbox/templates/users/token.html:27 +#: netbox/templates/virtualization/cluster.html:25 +#: netbox/templates/virtualization/clustergroup.html:26 +#: netbox/templates/virtualization/clustertype.html:26 +#: netbox/templates/virtualization/virtualdisk.html:39 +#: netbox/templates/virtualization/virtualmachine.html:31 +#: netbox/templates/virtualization/vminterface.html:51 +#: netbox/templates/vpn/ikepolicy.html:17 +#: netbox/templates/vpn/ikeproposal.html:17 +#: netbox/templates/vpn/ipsecpolicy.html:17 +#: netbox/templates/vpn/ipsecprofile.html:17 +#: netbox/templates/vpn/ipsecprofile.html:40 +#: netbox/templates/vpn/ipsecprofile.html:73 +#: netbox/templates/vpn/ipsecproposal.html:17 +#: netbox/templates/vpn/l2vpn.html:26 netbox/templates/vpn/tunnel.html:33 +#: netbox/templates/vpn/tunnelgroup.html:30 +#: netbox/templates/wireless/wirelesslan.html:26 +#: netbox/templates/wireless/wirelesslangroup.html:33 +#: netbox/templates/wireless/wirelesslink.html:34 +#: netbox/tenancy/forms/bulk_edit.py:32 netbox/tenancy/forms/bulk_edit.py:80 +#: netbox/tenancy/forms/bulk_edit.py:122 netbox/users/forms/bulk_edit.py:64 +#: netbox/users/forms/bulk_edit.py:82 netbox/users/forms/bulk_edit.py:112 +#: netbox/virtualization/forms/bulk_edit.py:32 +#: netbox/virtualization/forms/bulk_edit.py:46 +#: netbox/virtualization/forms/bulk_edit.py:100 +#: netbox/virtualization/forms/bulk_edit.py:177 +#: netbox/virtualization/forms/bulk_edit.py:228 +#: netbox/virtualization/forms/bulk_edit.py:337 +#: netbox/vpn/forms/bulk_edit.py:28 netbox/vpn/forms/bulk_edit.py:64 +#: netbox/vpn/forms/bulk_edit.py:121 netbox/vpn/forms/bulk_edit.py:155 +#: netbox/vpn/forms/bulk_edit.py:190 netbox/vpn/forms/bulk_edit.py:215 +#: netbox/vpn/forms/bulk_edit.py:247 netbox/vpn/forms/bulk_edit.py:274 +#: netbox/wireless/forms/bulk_edit.py:29 netbox/wireless/forms/bulk_edit.py:82 +#: netbox/wireless/forms/bulk_edit.py:140 msgid "Description" msgstr "" -#: circuits/forms/bulk_edit.py:51 circuits/forms/bulk_edit.py:73 -#: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:36 -#: circuits/forms/bulk_import.py:51 circuits/forms/bulk_import.py:74 -#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 -#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 -#: circuits/forms/filtersets.py:199 circuits/forms/filtersets.py:232 -#: circuits/forms/filtersets.py:255 circuits/forms/model_forms.py:47 -#: circuits/forms/model_forms.py:61 circuits/forms/model_forms.py:93 -#: circuits/tables/circuits.py:58 circuits/tables/circuits.py:108 -#: circuits/tables/circuits.py:160 circuits/tables/providers.py:72 -#: circuits/tables/providers.py:103 templates/circuits/circuit.html:18 -#: templates/circuits/circuittermination.html:25 -#: templates/circuits/provider.html:20 -#: templates/circuits/provideraccount.html:20 -#: templates/circuits/providernetwork.html:20 -#: templates/dcim/inc/cable_termination.html:51 +#: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 +#: netbox/circuits/forms/bulk_edit.py:123 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 +#: netbox/circuits/forms/filtersets.py:70 +#: netbox/circuits/forms/filtersets.py:88 +#: netbox/circuits/forms/filtersets.py:116 +#: netbox/circuits/forms/filtersets.py:131 +#: netbox/circuits/forms/filtersets.py:199 +#: netbox/circuits/forms/filtersets.py:232 +#: netbox/circuits/forms/filtersets.py:255 +#: netbox/circuits/forms/model_forms.py:47 +#: netbox/circuits/forms/model_forms.py:61 +#: netbox/circuits/forms/model_forms.py:93 +#: netbox/circuits/tables/circuits.py:58 netbox/circuits/tables/circuits.py:108 +#: netbox/circuits/tables/circuits.py:160 +#: netbox/circuits/tables/providers.py:72 +#: netbox/circuits/tables/providers.py:103 +#: netbox/templates/circuits/circuit.html:18 +#: netbox/templates/circuits/circuittermination.html:25 +#: netbox/templates/circuits/provider.html:20 +#: netbox/templates/circuits/provideraccount.html:20 +#: netbox/templates/circuits/providernetwork.html:20 +#: netbox/templates/dcim/inc/cable_termination.html:51 msgid "Provider" msgstr "" -#: circuits/forms/bulk_edit.py:80 circuits/forms/filtersets.py:91 -#: templates/circuits/providernetwork.html:28 +#: netbox/circuits/forms/bulk_edit.py:80 netbox/circuits/forms/filtersets.py:91 +#: netbox/templates/circuits/providernetwork.html:28 msgid "Service ID" msgstr "" -#: circuits/forms/bulk_edit.py:100 circuits/forms/filtersets.py:107 -#: dcim/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:604 -#: dcim/forms/bulk_edit.py:804 dcim/forms/bulk_edit.py:1173 -#: dcim/forms/bulk_edit.py:1200 dcim/forms/bulk_edit.py:1678 -#: dcim/forms/filtersets.py:1064 dcim/forms/filtersets.py:1455 -#: dcim/forms/filtersets.py:1479 dcim/tables/devices.py:704 -#: dcim/tables/devices.py:761 dcim/tables/devices.py:1003 -#: dcim/tables/devicetypes.py:249 dcim/tables/devicetypes.py:264 -#: dcim/tables/racks.py:33 extras/forms/bulk_edit.py:270 -#: extras/tables/tables.py:443 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 +#: netbox/circuits/forms/bulk_edit.py:100 +#: netbox/circuits/forms/filtersets.py:107 netbox/dcim/forms/bulk_edit.py:206 +#: netbox/dcim/forms/bulk_edit.py:604 netbox/dcim/forms/bulk_edit.py:804 +#: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 +#: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 +#: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 +#: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 +#: netbox/templates/circuits/circuittype.html:30 +#: netbox/templates/dcim/cable.html:40 netbox/templates/dcim/devicerole.html:34 +#: netbox/templates/dcim/frontport.html:40 +#: netbox/templates/dcim/inventoryitemrole.html:26 +#: netbox/templates/dcim/rackrole.html:30 +#: netbox/templates/dcim/rearport.html:40 netbox/templates/extras/tag.html:26 msgid "Color" msgstr "" -#: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:87 -#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:18 -#: core/forms/filtersets.py:33 core/tables/change_logging.py:32 -#: core/tables/data.py:20 core/tables/jobs.py:18 dcim/forms/bulk_edit.py:782 -#: dcim/forms/bulk_edit.py:921 dcim/forms/bulk_edit.py:989 -#: dcim/forms/bulk_edit.py:1008 dcim/forms/bulk_edit.py:1031 -#: dcim/forms/bulk_edit.py:1073 dcim/forms/bulk_edit.py:1117 -#: dcim/forms/bulk_edit.py:1168 dcim/forms/bulk_edit.py:1195 -#: dcim/forms/bulk_import.py:188 dcim/forms/bulk_import.py:260 -#: dcim/forms/bulk_import.py:708 dcim/forms/bulk_import.py:734 -#: dcim/forms/bulk_import.py:760 dcim/forms/bulk_import.py:780 -#: dcim/forms/bulk_import.py:863 dcim/forms/bulk_import.py:957 -#: dcim/forms/bulk_import.py:999 dcim/forms/bulk_import.py:1213 -#: dcim/forms/bulk_import.py:1376 dcim/forms/filtersets.py:955 -#: dcim/forms/filtersets.py:1054 dcim/forms/filtersets.py:1175 -#: dcim/forms/filtersets.py:1247 dcim/forms/filtersets.py:1272 -#: dcim/forms/filtersets.py:1296 dcim/forms/filtersets.py:1316 -#: dcim/forms/filtersets.py:1353 dcim/forms/filtersets.py:1450 -#: dcim/forms/filtersets.py:1474 dcim/forms/model_forms.py:703 -#: dcim/forms/model_forms.py:709 dcim/forms/object_import.py:84 -#: dcim/forms/object_import.py:113 dcim/forms/object_import.py:145 -#: dcim/tables/devices.py:178 dcim/tables/devices.py:814 -#: dcim/tables/power.py:77 dcim/tables/racks.py:138 -#: extras/forms/bulk_import.py:42 extras/tables/tables.py:405 -#: extras/tables/tables.py:465 netbox/tables/tables.py:240 -#: 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/rearport.html:36 templates/extras/eventrule.html:74 -#: 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: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 +#: netbox/circuits/forms/bulk_edit.py:118 +#: netbox/circuits/forms/bulk_import.py:87 +#: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 +#: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 +#: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 +#: netbox/dcim/forms/bulk_edit.py:782 netbox/dcim/forms/bulk_edit.py:921 +#: netbox/dcim/forms/bulk_edit.py:989 netbox/dcim/forms/bulk_edit.py:1008 +#: netbox/dcim/forms/bulk_edit.py:1031 netbox/dcim/forms/bulk_edit.py:1073 +#: netbox/dcim/forms/bulk_edit.py:1117 netbox/dcim/forms/bulk_edit.py:1168 +#: netbox/dcim/forms/bulk_edit.py:1195 netbox/dcim/forms/bulk_import.py:188 +#: netbox/dcim/forms/bulk_import.py:260 netbox/dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:734 netbox/dcim/forms/bulk_import.py:760 +#: netbox/dcim/forms/bulk_import.py:780 netbox/dcim/forms/bulk_import.py:863 +#: netbox/dcim/forms/bulk_import.py:957 netbox/dcim/forms/bulk_import.py:999 +#: netbox/dcim/forms/bulk_import.py:1213 netbox/dcim/forms/bulk_import.py:1376 +#: netbox/dcim/forms/filtersets.py:955 netbox/dcim/forms/filtersets.py:1054 +#: netbox/dcim/forms/filtersets.py:1175 netbox/dcim/forms/filtersets.py:1247 +#: netbox/dcim/forms/filtersets.py:1272 netbox/dcim/forms/filtersets.py:1296 +#: netbox/dcim/forms/filtersets.py:1316 netbox/dcim/forms/filtersets.py:1353 +#: netbox/dcim/forms/filtersets.py:1450 netbox/dcim/forms/filtersets.py:1474 +#: netbox/dcim/forms/model_forms.py:703 netbox/dcim/forms/model_forms.py:709 +#: netbox/dcim/forms/object_import.py:84 netbox/dcim/forms/object_import.py:113 +#: netbox/dcim/forms/object_import.py:145 netbox/dcim/tables/devices.py:178 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 +#: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 +#: netbox/netbox/tables/tables.py:240 netbox/templates/circuits/circuit.html:30 +#: netbox/templates/core/datasource.html:38 netbox/templates/dcim/cable.html:15 +#: netbox/templates/dcim/consoleport.html:36 +#: netbox/templates/dcim/consoleserverport.html:36 +#: netbox/templates/dcim/frontport.html:36 +#: netbox/templates/dcim/interface.html:46 +#: netbox/templates/dcim/interface.html:169 +#: netbox/templates/dcim/interface.html:311 +#: netbox/templates/dcim/powerfeed.html:32 +#: netbox/templates/dcim/poweroutlet.html:36 +#: netbox/templates/dcim/powerport.html:36 +#: netbox/templates/dcim/rearport.html:36 +#: netbox/templates/extras/eventrule.html:74 +#: netbox/templates/virtualization/cluster.html:17 +#: netbox/templates/vpn/l2vpn.html:22 +#: netbox/templates/wireless/inc/authentication_attrs.html:8 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:14 +#: netbox/virtualization/forms/bulk_edit.py:60 +#: netbox/virtualization/forms/bulk_import.py:41 +#: netbox/virtualization/forms/filtersets.py:54 +#: netbox/virtualization/forms/model_forms.py:62 +#: netbox/virtualization/tables/clusters.py:66 +#: netbox/vpn/forms/bulk_edit.py:264 netbox/vpn/forms/bulk_import.py:264 +#: netbox/vpn/forms/filtersets.py:217 netbox/vpn/forms/model_forms.py:84 +#: netbox/vpn/forms/model_forms.py:119 netbox/vpn/forms/model_forms.py:231 msgid "Type" msgstr "" -#: circuits/forms/bulk_edit.py:128 circuits/forms/bulk_import.py:80 -#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:98 +#: netbox/circuits/forms/bulk_edit.py:128 +#: netbox/circuits/forms/bulk_import.py:80 +#: netbox/circuits/forms/filtersets.py:139 +#: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "" -#: circuits/forms/bulk_edit.py:136 circuits/forms/bulk_import.py:93 -#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:38 -#: core/forms/filtersets.py:79 core/tables/data.py:23 core/tables/jobs.py:26 -#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:106 -#: dcim/forms/bulk_edit.py:181 dcim/forms/bulk_edit.py:351 -#: dcim/forms/bulk_edit.py:700 dcim/forms/bulk_edit.py:756 -#: dcim/forms/bulk_edit.py:788 dcim/forms/bulk_edit.py:915 -#: dcim/forms/bulk_edit.py:1701 dcim/forms/bulk_import.py:88 -#: dcim/forms/bulk_import.py:147 dcim/forms/bulk_import.py:248 -#: dcim/forms/bulk_import.py:505 dcim/forms/bulk_import.py:659 -#: dcim/forms/bulk_import.py:1207 dcim/forms/bulk_import.py:1371 -#: dcim/forms/bulk_import.py:1435 dcim/forms/filtersets.py:178 -#: dcim/forms/filtersets.py:237 dcim/forms/filtersets.py:359 -#: dcim/forms/filtersets.py:799 dcim/forms/filtersets.py:924 -#: dcim/forms/filtersets.py:958 dcim/forms/filtersets.py:1059 -#: dcim/forms/filtersets.py:1170 dcim/tables/devices.py:140 -#: dcim/tables/devices.py:817 dcim/tables/devices.py:1063 -#: dcim/tables/modules.py:69 dcim/tables/power.py:74 dcim/tables/racks.py:126 -#: dcim/tables/sites.py:82 dcim/tables/sites.py:138 ipam/forms/bulk_edit.py:256 -#: ipam/forms/bulk_edit.py:306 ipam/forms/bulk_edit.py:354 -#: ipam/forms/bulk_edit.py:506 ipam/forms/bulk_import.py:192 -#: ipam/forms/bulk_import.py:257 ipam/forms/bulk_import.py:293 -#: ipam/forms/bulk_import.py:450 ipam/forms/filtersets.py:210 -#: ipam/forms/filtersets.py:281 ipam/forms/filtersets.py:355 -#: ipam/forms/filtersets.py:501 ipam/forms/model_forms.py:468 -#: ipam/tables/ip.py:237 ipam/tables/ip.py:312 ipam/tables/ip.py:363 -#: ipam/tables/ip.py:426 ipam/tables/ip.py:453 ipam/tables/vlans.py:126 -#: ipam/tables/vlans.py:232 templates/circuits/circuit.html:34 -#: templates/core/datasource.html:46 templates/core/job.html:48 -#: templates/core/rq_task.html:81 templates/core/system.html:18 -#: templates/dcim/cable.html:19 templates/dcim/device.html:178 -#: templates/dcim/location.html:45 templates/dcim/module.html:69 -#: templates/dcim/powerfeed.html:36 templates/dcim/rack.html:41 -#: templates/dcim/site.html:43 templates/extras/script_list.html:47 -#: 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:32 -#: users/forms/model_forms.py:194 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:62 -#: virtualization/forms/filtersets.py:160 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:60 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:20 +#: netbox/circuits/forms/bulk_edit.py:136 +#: netbox/circuits/forms/bulk_import.py:93 +#: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 +#: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 +#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 +#: netbox/dcim/forms/bulk_edit.py:106 netbox/dcim/forms/bulk_edit.py:181 +#: netbox/dcim/forms/bulk_edit.py:351 netbox/dcim/forms/bulk_edit.py:700 +#: netbox/dcim/forms/bulk_edit.py:756 netbox/dcim/forms/bulk_edit.py:788 +#: netbox/dcim/forms/bulk_edit.py:915 netbox/dcim/forms/bulk_edit.py:1701 +#: netbox/dcim/forms/bulk_import.py:88 netbox/dcim/forms/bulk_import.py:147 +#: netbox/dcim/forms/bulk_import.py:248 netbox/dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:659 netbox/dcim/forms/bulk_import.py:1207 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/dcim/forms/bulk_import.py:1435 +#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:237 +#: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 +#: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 +#: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 +#: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 +#: netbox/ipam/forms/bulk_edit.py:256 netbox/ipam/forms/bulk_edit.py:306 +#: netbox/ipam/forms/bulk_edit.py:354 netbox/ipam/forms/bulk_edit.py:506 +#: netbox/ipam/forms/bulk_import.py:192 netbox/ipam/forms/bulk_import.py:257 +#: netbox/ipam/forms/bulk_import.py:293 netbox/ipam/forms/bulk_import.py:450 +#: netbox/ipam/forms/filtersets.py:210 netbox/ipam/forms/filtersets.py:281 +#: netbox/ipam/forms/filtersets.py:355 netbox/ipam/forms/filtersets.py:501 +#: netbox/ipam/forms/model_forms.py:468 netbox/ipam/tables/ip.py:237 +#: netbox/ipam/tables/ip.py:312 netbox/ipam/tables/ip.py:363 +#: netbox/ipam/tables/ip.py:426 netbox/ipam/tables/ip.py:453 +#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:232 +#: netbox/templates/circuits/circuit.html:34 +#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:48 +#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 +#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:69 +#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:41 +#: netbox/templates/dcim/site.html:43 +#: netbox/templates/extras/script_list.html:48 +#: netbox/templates/ipam/ipaddress.html:37 +#: netbox/templates/ipam/iprange.html:54 netbox/templates/ipam/prefix.html:73 +#: netbox/templates/ipam/vlan.html:48 +#: netbox/templates/virtualization/cluster.html:21 +#: netbox/templates/virtualization/virtualmachine.html:19 +#: netbox/templates/vpn/tunnel.html:25 +#: netbox/templates/wireless/wirelesslan.html:22 +#: netbox/templates/wireless/wirelesslink.html:17 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 +#: netbox/virtualization/forms/bulk_edit.py:70 +#: netbox/virtualization/forms/bulk_edit.py:118 +#: netbox/virtualization/forms/bulk_import.py:54 +#: netbox/virtualization/forms/bulk_import.py:80 +#: netbox/virtualization/forms/filtersets.py:62 +#: netbox/virtualization/forms/filtersets.py:160 +#: netbox/virtualization/tables/clusters.py:74 +#: netbox/virtualization/tables/virtualmachines.py:60 +#: netbox/vpn/forms/bulk_edit.py:39 netbox/vpn/forms/bulk_import.py:37 +#: netbox/vpn/forms/filtersets.py:47 netbox/vpn/tables/tunnels.py:48 +#: netbox/wireless/forms/bulk_edit.py:43 netbox/wireless/forms/bulk_edit.py:105 +#: netbox/wireless/forms/bulk_import.py:43 +#: netbox/wireless/forms/bulk_import.py:84 +#: netbox/wireless/forms/filtersets.py:49 +#: netbox/wireless/forms/filtersets.py:83 +#: netbox/wireless/tables/wirelesslan.py:52 +#: netbox/wireless/tables/wirelesslink.py:20 msgid "Status" msgstr "" -#: circuits/forms/bulk_edit.py:142 circuits/forms/bulk_edit.py:233 -#: circuits/forms/bulk_import.py:98 circuits/forms/bulk_import.py:158 -#: circuits/forms/filtersets.py:119 circuits/forms/filtersets.py:241 -#: dcim/forms/bulk_edit.py:122 dcim/forms/bulk_edit.py:187 -#: dcim/forms/bulk_edit.py:346 dcim/forms/bulk_edit.py:461 -#: dcim/forms/bulk_edit.py:690 dcim/forms/bulk_edit.py:794 -#: dcim/forms/bulk_edit.py:1706 dcim/forms/bulk_import.py:107 -#: dcim/forms/bulk_import.py:152 dcim/forms/bulk_import.py:241 -#: dcim/forms/bulk_import.py:334 dcim/forms/bulk_import.py:479 -#: dcim/forms/bulk_import.py:1219 dcim/forms/bulk_import.py:1428 -#: dcim/forms/filtersets.py:173 dcim/forms/filtersets.py:205 -#: dcim/forms/filtersets.py:323 dcim/forms/filtersets.py:399 -#: dcim/forms/filtersets.py:420 dcim/forms/filtersets.py:722 -#: dcim/forms/filtersets.py:916 dcim/forms/filtersets.py:978 -#: dcim/forms/filtersets.py:1008 dcim/forms/filtersets.py:1130 -#: dcim/tables/power.py:88 extras/filtersets.py:612 -#: extras/forms/filtersets.py:323 extras/forms/filtersets.py:396 -#: ipam/forms/bulk_edit.py:43 ipam/forms/bulk_edit.py:68 -#: ipam/forms/bulk_edit.py:112 ipam/forms/bulk_edit.py:141 -#: ipam/forms/bulk_edit.py:166 ipam/forms/bulk_edit.py:251 -#: ipam/forms/bulk_edit.py:301 ipam/forms/bulk_edit.py:349 -#: ipam/forms/bulk_edit.py:501 ipam/forms/bulk_import.py:38 -#: ipam/forms/bulk_import.py:67 ipam/forms/bulk_import.py:95 -#: ipam/forms/bulk_import.py:115 ipam/forms/bulk_import.py:135 -#: ipam/forms/bulk_import.py:164 ipam/forms/bulk_import.py:250 -#: ipam/forms/bulk_import.py:286 ipam/forms/bulk_import.py:443 -#: 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:174 -#: ipam/forms/filtersets.py:267 ipam/forms/filtersets.py:310 -#: ipam/forms/filtersets.py:469 ipam/tables/ip.py:456 ipam/tables/vlans.py:229 -#: templates/circuits/circuit.html:38 templates/circuits/circuitgroup.html:36 -#: templates/dcim/cable.html:23 templates/dcim/device.html:79 -#: templates/dcim/location.html:49 templates/dcim/powerfeed.html:44 -#: templates/dcim/rack.html:32 templates/dcim/rackreservation.html:49 -#: templates/dcim/site.html:47 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:39 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: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:35 -#: wireless/forms/filtersets.py:75 +#: netbox/circuits/forms/bulk_edit.py:142 +#: netbox/circuits/forms/bulk_edit.py:233 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 +#: netbox/circuits/forms/filtersets.py:119 +#: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 +#: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 +#: netbox/dcim/forms/bulk_edit.py:461 netbox/dcim/forms/bulk_edit.py:690 +#: netbox/dcim/forms/bulk_edit.py:794 netbox/dcim/forms/bulk_edit.py:1706 +#: netbox/dcim/forms/bulk_import.py:107 netbox/dcim/forms/bulk_import.py:152 +#: netbox/dcim/forms/bulk_import.py:241 netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1428 netbox/dcim/forms/filtersets.py:173 +#: netbox/dcim/forms/filtersets.py:205 netbox/dcim/forms/filtersets.py:323 +#: netbox/dcim/forms/filtersets.py:399 netbox/dcim/forms/filtersets.py:420 +#: netbox/dcim/forms/filtersets.py:722 netbox/dcim/forms/filtersets.py:916 +#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1008 +#: netbox/dcim/forms/filtersets.py:1130 netbox/dcim/tables/power.py:88 +#: netbox/extras/filtersets.py:612 netbox/extras/forms/filtersets.py:323 +#: netbox/extras/forms/filtersets.py:396 netbox/ipam/forms/bulk_edit.py:43 +#: netbox/ipam/forms/bulk_edit.py:68 netbox/ipam/forms/bulk_edit.py:112 +#: netbox/ipam/forms/bulk_edit.py:141 netbox/ipam/forms/bulk_edit.py:166 +#: netbox/ipam/forms/bulk_edit.py:251 netbox/ipam/forms/bulk_edit.py:301 +#: netbox/ipam/forms/bulk_edit.py:349 netbox/ipam/forms/bulk_edit.py:501 +#: netbox/ipam/forms/bulk_import.py:38 netbox/ipam/forms/bulk_import.py:67 +#: netbox/ipam/forms/bulk_import.py:95 netbox/ipam/forms/bulk_import.py:115 +#: netbox/ipam/forms/bulk_import.py:135 netbox/ipam/forms/bulk_import.py:164 +#: netbox/ipam/forms/bulk_import.py:250 netbox/ipam/forms/bulk_import.py:286 +#: netbox/ipam/forms/bulk_import.py:443 netbox/ipam/forms/filtersets.py:48 +#: netbox/ipam/forms/filtersets.py:68 netbox/ipam/forms/filtersets.py:100 +#: netbox/ipam/forms/filtersets.py:120 netbox/ipam/forms/filtersets.py:143 +#: netbox/ipam/forms/filtersets.py:174 netbox/ipam/forms/filtersets.py:267 +#: netbox/ipam/forms/filtersets.py:310 netbox/ipam/forms/filtersets.py:469 +#: netbox/ipam/tables/ip.py:456 netbox/ipam/tables/vlans.py:229 +#: netbox/templates/circuits/circuit.html:38 +#: netbox/templates/circuits/circuitgroup.html:36 +#: netbox/templates/dcim/cable.html:23 netbox/templates/dcim/device.html:79 +#: netbox/templates/dcim/location.html:49 +#: netbox/templates/dcim/powerfeed.html:44 netbox/templates/dcim/rack.html:32 +#: netbox/templates/dcim/rackreservation.html:49 +#: netbox/templates/dcim/site.html:47 +#: netbox/templates/dcim/virtualdevicecontext.html:52 +#: netbox/templates/ipam/aggregate.html:30 netbox/templates/ipam/asn.html:33 +#: netbox/templates/ipam/asnrange.html:29 +#: netbox/templates/ipam/ipaddress.html:28 +#: netbox/templates/ipam/iprange.html:58 netbox/templates/ipam/prefix.html:29 +#: netbox/templates/ipam/routetarget.html:17 netbox/templates/ipam/vlan.html:39 +#: netbox/templates/ipam/vrf.html:20 netbox/templates/tenancy/tenant.html:17 +#: netbox/templates/virtualization/cluster.html:33 +#: netbox/templates/virtualization/virtualmachine.html:39 +#: netbox/templates/vpn/l2vpn.html:30 netbox/templates/vpn/tunnel.html:49 +#: netbox/templates/wireless/wirelesslan.html:34 +#: netbox/templates/wireless/wirelesslink.html:25 +#: netbox/tenancy/forms/forms.py:25 netbox/tenancy/forms/forms.py:48 +#: netbox/tenancy/forms/model_forms.py:52 netbox/tenancy/tables/columns.py:64 +#: netbox/virtualization/forms/bulk_edit.py:76 +#: netbox/virtualization/forms/bulk_edit.py:155 +#: netbox/virtualization/forms/bulk_import.py:66 +#: netbox/virtualization/forms/bulk_import.py:115 +#: netbox/virtualization/forms/filtersets.py:47 +#: netbox/virtualization/forms/filtersets.py:105 +#: netbox/vpn/forms/bulk_edit.py:59 netbox/vpn/forms/bulk_edit.py:269 +#: netbox/vpn/forms/bulk_import.py:59 netbox/vpn/forms/bulk_import.py:258 +#: netbox/vpn/forms/filtersets.py:214 netbox/wireless/forms/bulk_edit.py:63 +#: netbox/wireless/forms/bulk_edit.py:110 +#: netbox/wireless/forms/bulk_import.py:55 +#: netbox/wireless/forms/bulk_import.py:97 +#: netbox/wireless/forms/filtersets.py:35 +#: netbox/wireless/forms/filtersets.py:75 msgid "Tenant" msgstr "" -#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:174 +#: netbox/circuits/forms/bulk_edit.py:147 +#: netbox/circuits/forms/filtersets.py:174 msgid "Install date" msgstr "" -#: circuits/forms/bulk_edit.py:152 circuits/forms/filtersets.py:179 +#: netbox/circuits/forms/bulk_edit.py:152 +#: netbox/circuits/forms/filtersets.py:179 msgid "Termination date" msgstr "" -#: circuits/forms/bulk_edit.py:158 circuits/forms/filtersets.py:186 +#: netbox/circuits/forms/bulk_edit.py:158 +#: netbox/circuits/forms/filtersets.py:186 msgid "Commit rate (Kbps)" msgstr "" -#: circuits/forms/bulk_edit.py:173 circuits/forms/model_forms.py:112 +#: netbox/circuits/forms/bulk_edit.py:173 +#: netbox/circuits/forms/model_forms.py:112 msgid "Service Parameters" msgstr "" -#: circuits/forms/bulk_edit.py:174 circuits/forms/model_forms.py:113 -#: circuits/forms/model_forms.py:183 dcim/forms/model_forms.py:139 -#: dcim/forms/model_forms.py:181 dcim/forms/model_forms.py:266 -#: dcim/forms/model_forms.py:323 dcim/forms/model_forms.py:768 -#: dcim/forms/model_forms.py:1692 ipam/forms/model_forms.py:64 -#: ipam/forms/model_forms.py:81 ipam/forms/model_forms.py:115 -#: ipam/forms/model_forms.py:136 ipam/forms/model_forms.py:160 -#: ipam/forms/model_forms.py:232 ipam/forms/model_forms.py:261 -#: ipam/forms/model_forms.py:316 netbox/navigation/menu.py:24 -#: 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:170 +#: netbox/circuits/forms/bulk_edit.py:174 +#: netbox/circuits/forms/model_forms.py:113 +#: netbox/circuits/forms/model_forms.py:183 +#: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 +#: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 +#: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 +#: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 +#: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 +#: netbox/ipam/forms/model_forms.py:261 netbox/ipam/forms/model_forms.py:316 +#: netbox/netbox/navigation/menu.py:24 +#: netbox/templates/dcim/device_edit.html:85 +#: netbox/templates/dcim/htmx/cable_edit.html:72 +#: netbox/templates/ipam/ipaddress_bulk_add.html:27 +#: netbox/templates/ipam/vlan_edit.html:22 +#: netbox/virtualization/forms/model_forms.py:80 +#: netbox/virtualization/forms/model_forms.py:222 +#: netbox/vpn/forms/bulk_edit.py:78 netbox/vpn/forms/filtersets.py:44 +#: netbox/vpn/forms/model_forms.py:62 netbox/vpn/forms/model_forms.py:147 +#: netbox/vpn/forms/model_forms.py:411 netbox/wireless/forms/model_forms.py:54 +#: netbox/wireless/forms/model_forms.py:170 msgid "Tenancy" msgstr "" -#: circuits/forms/bulk_edit.py:193 circuits/forms/bulk_edit.py:217 -#: circuits/forms/model_forms.py:155 circuits/tables/circuits.py:117 -#: templates/circuits/inc/circuit_termination_fields.html:62 -#: templates/circuits/providernetwork.html:17 +#: netbox/circuits/forms/bulk_edit.py:193 +#: netbox/circuits/forms/bulk_edit.py:217 +#: netbox/circuits/forms/model_forms.py:155 +#: netbox/circuits/tables/circuits.py:117 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:62 +#: netbox/templates/circuits/providernetwork.html:17 msgid "Provider Network" msgstr "" -#: circuits/forms/bulk_edit.py:199 +#: netbox/circuits/forms/bulk_edit.py:199 msgid "Port speed (Kbps)" msgstr "" -#: circuits/forms/bulk_edit.py:203 +#: netbox/circuits/forms/bulk_edit.py:203 msgid "Upstream speed (Kbps)" msgstr "" -#: circuits/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_edit.py:1315 dcim/forms/bulk_edit.py:1332 -#: dcim/forms/bulk_edit.py:1349 dcim/forms/bulk_edit.py:1367 -#: dcim/forms/bulk_edit.py:1455 dcim/forms/bulk_edit.py:1594 -#: dcim/forms/bulk_edit.py:1611 +#: netbox/circuits/forms/bulk_edit.py:206 netbox/dcim/forms/bulk_edit.py:951 +#: netbox/dcim/forms/bulk_edit.py:1315 netbox/dcim/forms/bulk_edit.py:1332 +#: netbox/dcim/forms/bulk_edit.py:1349 netbox/dcim/forms/bulk_edit.py:1367 +#: netbox/dcim/forms/bulk_edit.py:1455 netbox/dcim/forms/bulk_edit.py:1594 +#: netbox/dcim/forms/bulk_edit.py:1611 msgid "Mark connected" msgstr "" -#: circuits/forms/bulk_edit.py:219 circuits/forms/model_forms.py:157 -#: templates/circuits/inc/circuit_termination_fields.html:54 -#: templates/dcim/frontport.html:121 templates/dcim/interface.html:193 -#: templates/dcim/rearport.html:111 +#: netbox/circuits/forms/bulk_edit.py:219 +#: netbox/circuits/forms/model_forms.py:157 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:54 +#: netbox/templates/dcim/frontport.html:121 +#: netbox/templates/dcim/interface.html:193 +#: netbox/templates/dcim/rearport.html:111 msgid "Circuit Termination" msgstr "" -#: circuits/forms/bulk_edit.py:221 circuits/forms/model_forms.py:159 +#: netbox/circuits/forms/bulk_edit.py:221 +#: netbox/circuits/forms/model_forms.py:159 msgid "Termination Details" msgstr "" -#: circuits/forms/bulk_edit.py:251 circuits/forms/filtersets.py:268 -#: circuits/tables/circuits.py:168 dcim/forms/model_forms.py:551 -#: templates/circuits/circuitgroupassignment.html:30 -#: templates/dcim/device.html:133 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 +#: netbox/circuits/forms/bulk_edit.py:251 +#: netbox/circuits/forms/filtersets.py:268 +#: netbox/circuits/tables/circuits.py:168 netbox/dcim/forms/model_forms.py:551 +#: netbox/templates/circuits/circuitgroupassignment.html:30 +#: netbox/templates/dcim/device.html:133 +#: netbox/templates/dcim/virtualchassis.html:68 +#: netbox/templates/dcim/virtualchassis_edit.html:56 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 +#: netbox/tenancy/forms/bulk_edit.py:147 netbox/tenancy/forms/filtersets.py:110 msgid "Priority" msgstr "" -#: circuits/forms/bulk_import.py:39 circuits/forms/bulk_import.py:54 -#: circuits/forms/bulk_import.py:77 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "" -#: circuits/forms/bulk_import.py:83 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "" -#: circuits/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "" -#: circuits/forms/bulk_import.py:95 dcim/forms/bulk_import.py:90 -#: dcim/forms/bulk_import.py:149 dcim/forms/bulk_import.py:250 -#: dcim/forms/bulk_import.py:507 dcim/forms/bulk_import.py:661 -#: dcim/forms/bulk_import.py:1373 ipam/forms/bulk_import.py:194 -#: ipam/forms/bulk_import.py:259 ipam/forms/bulk_import.py:295 -#: ipam/forms/bulk_import.py:452 virtualization/forms/bulk_import.py:56 -#: virtualization/forms/bulk_import.py:82 vpn/forms/bulk_import.py:39 -#: wireless/forms/bulk_import.py:45 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 +#: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 +#: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 +#: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 +#: netbox/ipam/forms/bulk_import.py:259 netbox/ipam/forms/bulk_import.py:295 +#: netbox/ipam/forms/bulk_import.py:452 +#: netbox/virtualization/forms/bulk_import.py:56 +#: netbox/virtualization/forms/bulk_import.py:82 +#: netbox/vpn/forms/bulk_import.py:39 netbox/wireless/forms/bulk_import.py:45 msgid "Operational status" msgstr "" -#: circuits/forms/bulk_import.py:102 circuits/forms/bulk_import.py:162 -#: dcim/forms/bulk_import.py:111 dcim/forms/bulk_import.py:156 -#: dcim/forms/bulk_import.py:338 dcim/forms/bulk_import.py:483 -#: dcim/forms/bulk_import.py:1223 dcim/forms/bulk_import.py:1368 -#: dcim/forms/bulk_import.py:1432 ipam/forms/bulk_import.py:42 -#: ipam/forms/bulk_import.py:71 ipam/forms/bulk_import.py:99 -#: ipam/forms/bulk_import.py:119 ipam/forms/bulk_import.py:139 -#: ipam/forms/bulk_import.py:168 ipam/forms/bulk_import.py:254 -#: ipam/forms/bulk_import.py:290 ipam/forms/bulk_import.py:447 -#: 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 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 +#: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 +#: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 +#: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 +#: netbox/dcim/forms/bulk_import.py:1432 netbox/ipam/forms/bulk_import.py:42 +#: netbox/ipam/forms/bulk_import.py:71 netbox/ipam/forms/bulk_import.py:99 +#: netbox/ipam/forms/bulk_import.py:119 netbox/ipam/forms/bulk_import.py:139 +#: netbox/ipam/forms/bulk_import.py:168 netbox/ipam/forms/bulk_import.py:254 +#: netbox/ipam/forms/bulk_import.py:290 netbox/ipam/forms/bulk_import.py:447 +#: netbox/virtualization/forms/bulk_import.py:70 +#: netbox/virtualization/forms/bulk_import.py:119 +#: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:59 +#: netbox/wireless/forms/bulk_import.py:101 msgid "Assigned tenant" msgstr "" -#: circuits/forms/bulk_import.py:120 -#: templates/circuits/inc/circuit_termination.html:6 -#: templates/circuits/inc/circuit_termination_fields.html:15 -#: templates/dcim/cable.html:68 templates/dcim/cable.html:72 -#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:77 +#: netbox/circuits/forms/bulk_import.py:120 +#: netbox/templates/circuits/inc/circuit_termination.html:6 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:15 +#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 +#: netbox/vpn/forms/bulk_import.py:100 netbox/vpn/forms/filtersets.py:77 msgid "Termination" msgstr "" -#: circuits/forms/bulk_import.py:130 circuits/forms/filtersets.py:147 -#: circuits/forms/filtersets.py:227 circuits/forms/model_forms.py:144 +#: netbox/circuits/forms/bulk_import.py:130 +#: netbox/circuits/forms/filtersets.py:147 +#: netbox/circuits/forms/filtersets.py:227 +#: netbox/circuits/forms/model_forms.py:144 msgid "Provider network" msgstr "" -#: circuits/forms/filtersets.py:30 circuits/forms/filtersets.py:118 -#: circuits/forms/filtersets.py:200 dcim/forms/bulk_edit.py:338 -#: dcim/forms/bulk_edit.py:441 dcim/forms/bulk_edit.py:682 -#: dcim/forms/bulk_edit.py:729 dcim/forms/bulk_edit.py:882 -#: dcim/forms/bulk_import.py:235 dcim/forms/bulk_import.py:315 -#: dcim/forms/bulk_import.py:546 dcim/forms/bulk_import.py:1317 -#: dcim/forms/bulk_import.py:1351 dcim/forms/filtersets.py:95 -#: dcim/forms/filtersets.py:322 dcim/forms/filtersets.py:356 -#: dcim/forms/filtersets.py:396 dcim/forms/filtersets.py:447 -#: dcim/forms/filtersets.py:719 dcim/forms/filtersets.py:762 -#: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1006 -#: dcim/forms/filtersets.py:1026 dcim/forms/filtersets.py:1090 -#: dcim/forms/filtersets.py:1120 dcim/forms/filtersets.py:1129 -#: dcim/forms/filtersets.py:1240 dcim/forms/filtersets.py:1264 -#: dcim/forms/filtersets.py:1289 dcim/forms/filtersets.py:1308 -#: dcim/forms/filtersets.py:1331 dcim/forms/filtersets.py:1442 -#: dcim/forms/filtersets.py:1466 dcim/forms/filtersets.py:1490 -#: dcim/forms/filtersets.py:1508 dcim/forms/filtersets.py:1525 -#: dcim/forms/model_forms.py:180 dcim/forms/model_forms.py:243 -#: dcim/forms/model_forms.py:468 dcim/forms/model_forms.py:728 -#: dcim/tables/devices.py:157 dcim/tables/power.py:30 dcim/tables/racks.py:118 -#: dcim/tables/racks.py:212 extras/filtersets.py:536 -#: extras/forms/filtersets.py:320 ipam/forms/filtersets.py:173 -#: ipam/forms/filtersets.py:414 ipam/forms/filtersets.py:437 -#: ipam/forms/filtersets.py:467 templates/dcim/device.html:26 -#: templates/dcim/device_edit.html:30 -#: templates/dcim/inc/cable_termination.html:12 templates/dcim/location.html:26 -#: templates/dcim/powerpanel.html:26 templates/dcim/rack.html:24 -#: 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 +#: netbox/circuits/forms/filtersets.py:30 +#: netbox/circuits/forms/filtersets.py:118 +#: netbox/circuits/forms/filtersets.py:200 netbox/dcim/forms/bulk_edit.py:338 +#: netbox/dcim/forms/bulk_edit.py:441 netbox/dcim/forms/bulk_edit.py:682 +#: netbox/dcim/forms/bulk_edit.py:729 netbox/dcim/forms/bulk_edit.py:882 +#: netbox/dcim/forms/bulk_import.py:235 netbox/dcim/forms/bulk_import.py:315 +#: netbox/dcim/forms/bulk_import.py:546 netbox/dcim/forms/bulk_import.py:1317 +#: netbox/dcim/forms/bulk_import.py:1351 netbox/dcim/forms/filtersets.py:95 +#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:396 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:719 netbox/dcim/forms/filtersets.py:762 +#: netbox/dcim/forms/filtersets.py:977 netbox/dcim/forms/filtersets.py:1006 +#: netbox/dcim/forms/filtersets.py:1026 netbox/dcim/forms/filtersets.py:1090 +#: netbox/dcim/forms/filtersets.py:1120 netbox/dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1264 +#: netbox/dcim/forms/filtersets.py:1289 netbox/dcim/forms/filtersets.py:1308 +#: netbox/dcim/forms/filtersets.py:1331 netbox/dcim/forms/filtersets.py:1442 +#: netbox/dcim/forms/filtersets.py:1466 netbox/dcim/forms/filtersets.py:1490 +#: netbox/dcim/forms/filtersets.py:1508 netbox/dcim/forms/filtersets.py:1525 +#: netbox/dcim/forms/model_forms.py:180 netbox/dcim/forms/model_forms.py:243 +#: netbox/dcim/forms/model_forms.py:468 netbox/dcim/forms/model_forms.py:728 +#: netbox/dcim/tables/devices.py:157 netbox/dcim/tables/power.py:30 +#: netbox/dcim/tables/racks.py:118 netbox/dcim/tables/racks.py:212 +#: netbox/extras/filtersets.py:536 netbox/extras/forms/filtersets.py:320 +#: netbox/ipam/forms/filtersets.py:173 netbox/ipam/forms/filtersets.py:414 +#: netbox/ipam/forms/filtersets.py:437 netbox/ipam/forms/filtersets.py:467 +#: netbox/templates/dcim/device.html:26 +#: netbox/templates/dcim/device_edit.html:30 +#: netbox/templates/dcim/inc/cable_termination.html:12 +#: netbox/templates/dcim/location.html:26 +#: netbox/templates/dcim/powerpanel.html:26 netbox/templates/dcim/rack.html:24 +#: netbox/templates/dcim/rackreservation.html:32 +#: netbox/virtualization/forms/filtersets.py:46 +#: netbox/virtualization/forms/filtersets.py:100 +#: netbox/wireless/forms/model_forms.py:87 +#: netbox/wireless/forms/model_forms.py:129 msgid "Location" msgstr "" -#: circuits/forms/filtersets.py:32 circuits/forms/filtersets.py:120 -#: dcim/forms/filtersets.py:144 dcim/forms/filtersets.py:158 -#: dcim/forms/filtersets.py:174 dcim/forms/filtersets.py:206 -#: dcim/forms/filtersets.py:328 dcim/forms/filtersets.py:400 -#: dcim/forms/filtersets.py:471 dcim/forms/filtersets.py:723 -#: dcim/forms/filtersets.py:1091 netbox/navigation/menu.py:31 -#: netbox/navigation/menu.py:33 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 +#: netbox/circuits/forms/filtersets.py:32 +#: netbox/circuits/forms/filtersets.py:120 netbox/dcim/forms/filtersets.py:144 +#: netbox/dcim/forms/filtersets.py:158 netbox/dcim/forms/filtersets.py:174 +#: netbox/dcim/forms/filtersets.py:206 netbox/dcim/forms/filtersets.py:328 +#: netbox/dcim/forms/filtersets.py:400 netbox/dcim/forms/filtersets.py:471 +#: netbox/dcim/forms/filtersets.py:723 netbox/dcim/forms/filtersets.py:1091 +#: netbox/netbox/navigation/menu.py:31 netbox/netbox/navigation/menu.py:33 +#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 +#: netbox/virtualization/forms/filtersets.py:37 +#: netbox/virtualization/forms/filtersets.py:48 +#: netbox/virtualization/forms/filtersets.py:106 msgid "Contacts" msgstr "" -#: circuits/forms/filtersets.py:37 circuits/forms/filtersets.py:157 -#: dcim/forms/bulk_edit.py:112 dcim/forms/bulk_edit.py:313 -#: dcim/forms/bulk_edit.py:857 dcim/forms/bulk_import.py:93 -#: dcim/forms/filtersets.py:73 dcim/forms/filtersets.py:185 -#: dcim/forms/filtersets.py:211 dcim/forms/filtersets.py:334 -#: dcim/forms/filtersets.py:425 dcim/forms/filtersets.py:739 -#: dcim/forms/filtersets.py:983 dcim/forms/filtersets.py:1013 -#: dcim/forms/filtersets.py:1097 dcim/forms/filtersets.py:1136 -#: dcim/forms/filtersets.py:1576 dcim/forms/filtersets.py:1600 -#: dcim/forms/filtersets.py:1624 dcim/forms/model_forms.py:112 -#: dcim/forms/object_create.py:375 dcim/tables/devices.py:143 -#: dcim/tables/sites.py:85 extras/filtersets.py:503 ipam/forms/bulk_edit.py:208 -#: ipam/forms/bulk_edit.py:474 ipam/forms/filtersets.py:217 -#: ipam/forms/filtersets.py:422 ipam/forms/filtersets.py:475 -#: templates/dcim/device.html:18 templates/dcim/rack.html:16 -#: templates/dcim/rackreservation.html:22 templates/dcim/region.html:26 -#: templates/dcim/site.html:31 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 +#: netbox/circuits/forms/filtersets.py:37 +#: netbox/circuits/forms/filtersets.py:157 netbox/dcim/forms/bulk_edit.py:112 +#: netbox/dcim/forms/bulk_edit.py:313 netbox/dcim/forms/bulk_edit.py:857 +#: netbox/dcim/forms/bulk_import.py:93 netbox/dcim/forms/filtersets.py:73 +#: netbox/dcim/forms/filtersets.py:185 netbox/dcim/forms/filtersets.py:211 +#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:425 +#: netbox/dcim/forms/filtersets.py:739 netbox/dcim/forms/filtersets.py:983 +#: netbox/dcim/forms/filtersets.py:1013 netbox/dcim/forms/filtersets.py:1097 +#: netbox/dcim/forms/filtersets.py:1136 netbox/dcim/forms/filtersets.py:1576 +#: netbox/dcim/forms/filtersets.py:1600 netbox/dcim/forms/filtersets.py:1624 +#: netbox/dcim/forms/model_forms.py:112 netbox/dcim/forms/object_create.py:375 +#: netbox/dcim/tables/devices.py:143 netbox/dcim/tables/sites.py:85 +#: netbox/extras/filtersets.py:503 netbox/ipam/forms/bulk_edit.py:208 +#: netbox/ipam/forms/bulk_edit.py:474 netbox/ipam/forms/filtersets.py:217 +#: netbox/ipam/forms/filtersets.py:422 netbox/ipam/forms/filtersets.py:475 +#: netbox/templates/dcim/device.html:18 netbox/templates/dcim/rack.html:16 +#: netbox/templates/dcim/rackreservation.html:22 +#: netbox/templates/dcim/region.html:26 netbox/templates/dcim/site.html:31 +#: netbox/templates/ipam/prefix.html:49 netbox/templates/ipam/vlan.html:16 +#: netbox/virtualization/forms/bulk_edit.py:81 +#: netbox/virtualization/forms/filtersets.py:59 +#: netbox/virtualization/forms/filtersets.py:133 +#: netbox/virtualization/forms/model_forms.py:92 +#: netbox/vpn/forms/filtersets.py:257 msgid "Region" msgstr "" -#: circuits/forms/filtersets.py:42 circuits/forms/filtersets.py:162 -#: dcim/forms/bulk_edit.py:321 dcim/forms/bulk_edit.py:865 -#: dcim/forms/filtersets.py:78 dcim/forms/filtersets.py:190 -#: dcim/forms/filtersets.py:216 dcim/forms/filtersets.py:347 -#: dcim/forms/filtersets.py:430 dcim/forms/filtersets.py:744 -#: dcim/forms/filtersets.py:988 dcim/forms/filtersets.py:1102 -#: dcim/forms/filtersets.py:1141 dcim/forms/object_create.py:383 -#: extras/filtersets.py:520 ipam/forms/bulk_edit.py:213 -#: ipam/forms/bulk_edit.py:479 ipam/forms/filtersets.py:222 -#: ipam/forms/filtersets.py:427 ipam/forms/filtersets.py:480 -#: virtualization/forms/bulk_edit.py:86 virtualization/forms/filtersets.py:69 -#: virtualization/forms/filtersets.py:138 -#: virtualization/forms/model_forms.py:98 +#: netbox/circuits/forms/filtersets.py:42 +#: netbox/circuits/forms/filtersets.py:162 netbox/dcim/forms/bulk_edit.py:321 +#: netbox/dcim/forms/bulk_edit.py:865 netbox/dcim/forms/filtersets.py:78 +#: netbox/dcim/forms/filtersets.py:190 netbox/dcim/forms/filtersets.py:216 +#: netbox/dcim/forms/filtersets.py:347 netbox/dcim/forms/filtersets.py:430 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:988 +#: netbox/dcim/forms/filtersets.py:1102 netbox/dcim/forms/filtersets.py:1141 +#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:520 +#: netbox/ipam/forms/bulk_edit.py:213 netbox/ipam/forms/bulk_edit.py:479 +#: netbox/ipam/forms/filtersets.py:222 netbox/ipam/forms/filtersets.py:427 +#: netbox/ipam/forms/filtersets.py:480 +#: netbox/virtualization/forms/bulk_edit.py:86 +#: netbox/virtualization/forms/filtersets.py:69 +#: netbox/virtualization/forms/filtersets.py:138 +#: netbox/virtualization/forms/model_forms.py:98 msgid "Site group" msgstr "" -#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 -#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 -#: core/forms/filtersets.py:67 core/forms/filtersets.py:135 -#: dcim/forms/bulk_edit.py:828 dcim/forms/filtersets.py:172 -#: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:915 -#: dcim/forms/filtersets.py:1007 dcim/forms/filtersets.py:1131 -#: dcim/forms/filtersets.py:1239 dcim/forms/filtersets.py:1263 -#: dcim/forms/filtersets.py:1288 dcim/forms/filtersets.py:1307 -#: dcim/forms/filtersets.py:1327 dcim/forms/filtersets.py:1441 -#: dcim/forms/filtersets.py:1465 dcim/forms/filtersets.py:1489 -#: dcim/forms/filtersets.py:1507 dcim/forms/filtersets.py:1523 -#: extras/forms/bulk_edit.py:90 extras/forms/filtersets.py:44 -#: extras/forms/filtersets.py:134 extras/forms/filtersets.py:165 -#: extras/forms/filtersets.py:205 extras/forms/filtersets.py:221 -#: extras/forms/filtersets.py:252 extras/forms/filtersets.py:276 -#: extras/forms/filtersets.py:441 ipam/forms/filtersets.py:99 -#: ipam/forms/filtersets.py:266 ipam/forms/filtersets.py:307 -#: ipam/forms/filtersets.py:382 ipam/forms/filtersets.py:468 -#: ipam/forms/filtersets.py:527 ipam/forms/filtersets.py:545 -#: netbox/tables/tables.py:256 virtualization/forms/filtersets.py:45 -#: virtualization/forms/filtersets.py:103 -#: virtualization/forms/filtersets.py:198 -#: virtualization/forms/filtersets.py:243 vpn/forms/filtersets.py:213 -#: wireless/forms/bulk_edit.py:150 wireless/forms/filtersets.py:34 -#: wireless/forms/filtersets.py:74 +#: netbox/circuits/forms/filtersets.py:65 +#: netbox/circuits/forms/filtersets.py:83 +#: netbox/circuits/forms/filtersets.py:102 +#: netbox/circuits/forms/filtersets.py:117 netbox/core/forms/filtersets.py:67 +#: netbox/core/forms/filtersets.py:135 netbox/dcim/forms/bulk_edit.py:828 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:204 +#: netbox/dcim/forms/filtersets.py:915 netbox/dcim/forms/filtersets.py:1007 +#: netbox/dcim/forms/filtersets.py:1131 netbox/dcim/forms/filtersets.py:1239 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/filtersets.py:1288 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/filtersets.py:1327 +#: netbox/dcim/forms/filtersets.py:1441 netbox/dcim/forms/filtersets.py:1465 +#: netbox/dcim/forms/filtersets.py:1489 netbox/dcim/forms/filtersets.py:1507 +#: netbox/dcim/forms/filtersets.py:1523 netbox/extras/forms/bulk_edit.py:90 +#: netbox/extras/forms/filtersets.py:44 netbox/extras/forms/filtersets.py:134 +#: netbox/extras/forms/filtersets.py:165 netbox/extras/forms/filtersets.py:205 +#: netbox/extras/forms/filtersets.py:221 netbox/extras/forms/filtersets.py:252 +#: netbox/extras/forms/filtersets.py:276 netbox/extras/forms/filtersets.py:441 +#: netbox/ipam/forms/filtersets.py:99 netbox/ipam/forms/filtersets.py:266 +#: netbox/ipam/forms/filtersets.py:307 netbox/ipam/forms/filtersets.py:382 +#: netbox/ipam/forms/filtersets.py:468 netbox/ipam/forms/filtersets.py:527 +#: netbox/ipam/forms/filtersets.py:545 netbox/netbox/tables/tables.py:256 +#: netbox/virtualization/forms/filtersets.py:45 +#: netbox/virtualization/forms/filtersets.py:103 +#: netbox/virtualization/forms/filtersets.py:198 +#: netbox/virtualization/forms/filtersets.py:243 +#: netbox/vpn/forms/filtersets.py:213 netbox/wireless/forms/bulk_edit.py:150 +#: netbox/wireless/forms/filtersets.py:34 +#: netbox/wireless/forms/filtersets.py:74 msgid "Attributes" msgstr "" -#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:63 -#: circuits/tables/providers.py:66 templates/circuits/circuit.html:22 -#: templates/circuits/provideraccount.html:24 +#: netbox/circuits/forms/filtersets.py:73 netbox/circuits/tables/circuits.py:63 +#: netbox/circuits/tables/providers.py:66 +#: netbox/templates/circuits/circuit.html:22 +#: netbox/templates/circuits/provideraccount.html:24 msgid "Account" msgstr "" -#: circuits/forms/filtersets.py:217 +#: netbox/circuits/forms/filtersets.py:217 msgid "Term Side" msgstr "" -#: circuits/forms/filtersets.py:250 extras/forms/model_forms.py:582 -#: ipam/forms/filtersets.py:142 ipam/forms/filtersets.py:546 -#: ipam/forms/model_forms.py:323 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 +#: netbox/circuits/forms/filtersets.py:250 +#: netbox/extras/forms/model_forms.py:582 netbox/ipam/forms/filtersets.py:142 +#: netbox/ipam/forms/filtersets.py:546 netbox/ipam/forms/model_forms.py:323 +#: netbox/templates/extras/configcontext.html:60 +#: netbox/templates/ipam/ipaddress.html:59 +#: netbox/templates/ipam/vlan_edit.html:30 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "" -#: circuits/forms/filtersets.py:265 circuits/forms/model_forms.py:195 -#: circuits/tables/circuits.py:155 dcim/forms/bulk_edit.py:117 -#: dcim/forms/bulk_import.py:100 dcim/forms/model_forms.py:117 -#: dcim/tables/sites.py:89 extras/forms/filtersets.py:480 -#: ipam/filtersets.py:999 ipam/forms/bulk_edit.py:493 -#: ipam/forms/bulk_import.py:436 ipam/forms/model_forms.py:528 -#: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:122 ipam/tables/vlans.py:226 -#: templates/circuits/circuitgroupassignment.html:22 -#: templates/dcim/interface.html:284 templates/dcim/site.html:37 -#: 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: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:62 users/filtersets.py:185 users/forms/filtersets.py:31 -#: users/forms/filtersets.py:37 users/forms/filtersets.py:79 -#: 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 +#: netbox/circuits/forms/filtersets.py:265 +#: netbox/circuits/forms/model_forms.py:195 +#: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:117 +#: netbox/dcim/forms/bulk_import.py:100 netbox/dcim/forms/model_forms.py:117 +#: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480 +#: netbox/ipam/filtersets.py:999 netbox/ipam/forms/bulk_edit.py:493 +#: netbox/ipam/forms/bulk_import.py:436 netbox/ipam/forms/model_forms.py:528 +#: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:122 +#: netbox/ipam/tables/vlans.py:226 +#: netbox/templates/circuits/circuitgroupassignment.html:22 +#: netbox/templates/dcim/interface.html:284 netbox/templates/dcim/site.html:37 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:23 +#: netbox/templates/ipam/vlan.html:27 netbox/templates/tenancy/contact.html:21 +#: netbox/templates/tenancy/tenant.html:20 netbox/templates/users/group.html:6 +#: netbox/templates/users/group.html:14 +#: netbox/templates/virtualization/cluster.html:29 +#: netbox/templates/vpn/tunnel.html:29 +#: netbox/templates/wireless/wirelesslan.html:18 +#: netbox/tenancy/forms/bulk_edit.py:43 netbox/tenancy/forms/bulk_edit.py:94 +#: netbox/tenancy/forms/bulk_import.py:40 +#: netbox/tenancy/forms/bulk_import.py:81 netbox/tenancy/forms/filtersets.py:48 +#: netbox/tenancy/forms/filtersets.py:78 netbox/tenancy/forms/filtersets.py:97 +#: netbox/tenancy/forms/model_forms.py:45 +#: netbox/tenancy/forms/model_forms.py:97 +#: netbox/tenancy/forms/model_forms.py:122 netbox/tenancy/tables/contacts.py:60 +#: netbox/tenancy/tables/contacts.py:107 netbox/tenancy/tables/tenants.py:42 +#: netbox/users/filtersets.py:62 netbox/users/filtersets.py:185 +#: netbox/users/forms/filtersets.py:31 netbox/users/forms/filtersets.py:37 +#: netbox/users/forms/filtersets.py:79 +#: netbox/virtualization/forms/bulk_edit.py:65 +#: netbox/virtualization/forms/bulk_import.py:47 +#: netbox/virtualization/forms/filtersets.py:85 +#: netbox/virtualization/forms/model_forms.py:66 +#: netbox/virtualization/tables/clusters.py:70 +#: netbox/vpn/forms/bulk_edit.py:112 netbox/vpn/forms/bulk_import.py:158 +#: netbox/vpn/forms/filtersets.py:116 netbox/vpn/tables/crypto.py:31 +#: netbox/vpn/tables/tunnels.py:44 netbox/wireless/forms/bulk_edit.py:48 +#: netbox/wireless/forms/bulk_import.py:36 +#: netbox/wireless/forms/filtersets.py:46 +#: netbox/wireless/forms/model_forms.py:40 +#: netbox/wireless/tables/wirelesslan.py:48 msgid "Group" msgstr "" -#: circuits/forms/model_forms.py:182 templates/circuits/circuitgroup.html:25 +#: netbox/circuits/forms/model_forms.py:182 +#: netbox/templates/circuits/circuitgroup.html:25 msgid "Circuit Group" msgstr "" -#: circuits/models/circuits.py:27 dcim/models/cables.py:67 -#: dcim/models/device_component_templates.py:517 -#: dcim/models/device_component_templates.py:617 -#: dcim/models/device_components.py:975 dcim/models/device_components.py:1049 -#: dcim/models/device_components.py:1204 dcim/models/devices.py:479 -#: dcim/models/racks.py:224 extras/models/tags.py:28 +#: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 +#: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 +#: netbox/extras/models/tags.py:28 msgid "color" msgstr "" -#: circuits/models/circuits.py:36 +#: netbox/circuits/models/circuits.py:36 msgid "circuit type" msgstr "" -#: circuits/models/circuits.py:37 +#: netbox/circuits/models/circuits.py:37 msgid "circuit types" msgstr "" -#: circuits/models/circuits.py:48 +#: netbox/circuits/models/circuits.py:48 msgid "circuit ID" msgstr "" -#: circuits/models/circuits.py:49 +#: netbox/circuits/models/circuits.py:49 msgid "Unique circuit ID" msgstr "" -#: circuits/models/circuits.py:69 core/models/data.py:52 core/models/jobs.py:84 -#: dcim/models/cables.py:49 dcim/models/devices.py:653 -#: dcim/models/devices.py:1173 dcim/models/devices.py:1399 -#: dcim/models/power.py:96 dcim/models/racks.py:297 dcim/models/sites.py:154 -#: dcim/models/sites.py:266 ipam/models/ip.py:253 ipam/models/ip.py:522 -#: ipam/models/ip.py:730 ipam/models/vlans.py:195 -#: virtualization/models/clusters.py:74 -#: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40 -#: wireless/models.py:95 wireless/models.py:159 +#: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 +#: netbox/dcim/models/racks.py:297 netbox/dcim/models/sites.py:154 +#: netbox/dcim/models/sites.py:266 netbox/ipam/models/ip.py:253 +#: netbox/ipam/models/ip.py:522 netbox/ipam/models/ip.py:730 +#: netbox/ipam/models/vlans.py:195 netbox/virtualization/models/clusters.py:74 +#: netbox/virtualization/models/virtualmachines.py:84 +#: netbox/vpn/models/tunnels.py:40 netbox/wireless/models.py:95 +#: netbox/wireless/models.py:159 msgid "status" msgstr "" -#: circuits/models/circuits.py:84 templates/core/plugin.html:20 +#: netbox/circuits/models/circuits.py:84 netbox/templates/core/plugin.html:20 msgid "installed" msgstr "" -#: circuits/models/circuits.py:89 +#: netbox/circuits/models/circuits.py:89 msgid "terminates" msgstr "" -#: circuits/models/circuits.py:94 +#: netbox/circuits/models/circuits.py:94 msgid "commit rate (Kbps)" msgstr "" -#: circuits/models/circuits.py:95 +#: netbox/circuits/models/circuits.py:95 msgid "Committed rate" msgstr "" -#: circuits/models/circuits.py:137 +#: netbox/circuits/models/circuits.py:137 msgid "circuit" msgstr "" -#: circuits/models/circuits.py:138 +#: netbox/circuits/models/circuits.py:138 msgid "circuits" msgstr "" -#: circuits/models/circuits.py:170 +#: netbox/circuits/models/circuits.py:170 msgid "circuit group" msgstr "" -#: circuits/models/circuits.py:171 +#: netbox/circuits/models/circuits.py:171 msgid "circuit groups" msgstr "" -#: circuits/models/circuits.py:195 ipam/models/fhrp.py:93 -#: tenancy/models/contacts.py:134 +#: netbox/circuits/models/circuits.py:195 netbox/ipam/models/fhrp.py:93 +#: netbox/tenancy/models/contacts.py:134 msgid "priority" msgstr "" -#: circuits/models/circuits.py:213 +#: netbox/circuits/models/circuits.py:213 msgid "Circuit group assignment" msgstr "" -#: circuits/models/circuits.py:214 +#: netbox/circuits/models/circuits.py:214 msgid "Circuit group assignments" msgstr "" -#: circuits/models/circuits.py:240 +#: netbox/circuits/models/circuits.py:240 msgid "termination" msgstr "" -#: circuits/models/circuits.py:257 +#: netbox/circuits/models/circuits.py:257 msgid "port speed (Kbps)" msgstr "" -#: circuits/models/circuits.py:260 +#: netbox/circuits/models/circuits.py:260 msgid "Physical circuit speed" msgstr "" -#: circuits/models/circuits.py:265 +#: netbox/circuits/models/circuits.py:265 msgid "upstream speed (Kbps)" msgstr "" -#: circuits/models/circuits.py:266 +#: netbox/circuits/models/circuits.py:266 msgid "Upstream speed, if different from port speed" msgstr "" -#: circuits/models/circuits.py:271 +#: netbox/circuits/models/circuits.py:271 msgid "cross-connect ID" msgstr "" -#: circuits/models/circuits.py:272 +#: netbox/circuits/models/circuits.py:272 msgid "ID of the local cross-connect" msgstr "" -#: circuits/models/circuits.py:277 +#: netbox/circuits/models/circuits.py:277 msgid "patch panel/port(s)" msgstr "" -#: circuits/models/circuits.py:278 +#: netbox/circuits/models/circuits.py:278 msgid "Patch panel ID and port number(s)" msgstr "" -#: circuits/models/circuits.py:281 dcim/models/device_component_templates.py:61 -#: dcim/models/device_components.py:68 dcim/models/racks.py:685 -#: extras/models/configs.py:45 extras/models/configs.py:219 -#: extras/models/customfields.py:125 extras/models/models.py:61 -#: extras/models/models.py:158 extras/models/models.py:396 -#: extras/models/models.py:511 extras/models/notifications.py:131 -#: extras/models/staging.py:31 extras/models/tags.py:32 -#: netbox/models/__init__.py:110 netbox/models/__init__.py:145 -#: netbox/models/__init__.py:191 users/models/permissions.py:24 -#: users/models/tokens.py:57 users/models/users.py:33 -#: virtualization/models/virtualmachines.py:289 +#: netbox/circuits/models/circuits.py:281 +#: netbox/dcim/models/device_component_templates.py:61 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 +#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 +#: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 +#: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 +#: netbox/extras/models/models.py:511 netbox/extras/models/notifications.py:131 +#: netbox/extras/models/staging.py:31 netbox/extras/models/tags.py:32 +#: netbox/netbox/models/__init__.py:110 netbox/netbox/models/__init__.py:145 +#: netbox/netbox/models/__init__.py:191 netbox/users/models/permissions.py:24 +#: netbox/users/models/tokens.py:57 netbox/users/models/users.py:33 +#: netbox/virtualization/models/virtualmachines.py:289 msgid "description" msgstr "" -#: circuits/models/circuits.py:294 +#: netbox/circuits/models/circuits.py:294 msgid "circuit termination" msgstr "" -#: circuits/models/circuits.py:295 +#: netbox/circuits/models/circuits.py:295 msgid "circuit terminations" msgstr "" -#: circuits/models/circuits.py:308 +#: netbox/circuits/models/circuits.py:308 msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -#: circuits/models/circuits.py:310 +#: netbox/circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -#: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:39 -#: core/models/jobs.py:45 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:53 dcim/models/devices.py:593 -#: dcim/models/devices.py:1330 dcim/models/devices.py:1395 -#: dcim/models/power.py:39 dcim/models/power.py:92 dcim/models/racks.py:262 -#: dcim/models/sites.py:138 extras/models/configs.py:36 -#: extras/models/configs.py:215 extras/models/customfields.py:92 -#: extras/models/models.py:56 extras/models/models.py:153 -#: extras/models/models.py:296 extras/models/models.py:392 -#: extras/models/models.py:501 extras/models/models.py:596 -#: extras/models/notifications.py:126 extras/models/scripts.py:30 -#: 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:36 ipam/models/vlans.py:184 ipam/models/vrfs.py:22 -#: ipam/models/vrfs.py:79 netbox/models/__init__.py:137 -#: netbox/models/__init__.py:181 tenancy/models/contacts.py:64 -#: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models/permissions.py:20 users/models/users.py:28 -#: virtualization/models/clusters.py:57 -#: virtualization/models/virtualmachines.py:72 -#: virtualization/models/virtualmachines.py:279 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:51 +#: netbox/circuits/models/providers.py:22 +#: netbox/circuits/models/providers.py:66 +#: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 +#: netbox/core/models/jobs.py:45 +#: netbox/dcim/models/device_component_templates.py:43 +#: netbox/dcim/models/device_components.py:53 netbox/dcim/models/devices.py:593 +#: netbox/dcim/models/devices.py:1330 netbox/dcim/models/devices.py:1395 +#: netbox/dcim/models/power.py:39 netbox/dcim/models/power.py:92 +#: netbox/dcim/models/racks.py:262 netbox/dcim/models/sites.py:138 +#: netbox/extras/models/configs.py:36 netbox/extras/models/configs.py:215 +#: netbox/extras/models/customfields.py:92 netbox/extras/models/models.py:56 +#: netbox/extras/models/models.py:153 netbox/extras/models/models.py:296 +#: netbox/extras/models/models.py:392 netbox/extras/models/models.py:501 +#: netbox/extras/models/models.py:596 netbox/extras/models/notifications.py:126 +#: netbox/extras/models/scripts.py:30 netbox/extras/models/staging.py:26 +#: netbox/ipam/models/asns.py:18 netbox/ipam/models/fhrp.py:25 +#: netbox/ipam/models/services.py:52 netbox/ipam/models/services.py:88 +#: netbox/ipam/models/vlans.py:36 netbox/ipam/models/vlans.py:184 +#: netbox/ipam/models/vrfs.py:22 netbox/ipam/models/vrfs.py:79 +#: netbox/netbox/models/__init__.py:137 netbox/netbox/models/__init__.py:181 +#: netbox/tenancy/models/contacts.py:64 netbox/tenancy/models/tenants.py:20 +#: netbox/tenancy/models/tenants.py:45 netbox/users/models/permissions.py:20 +#: netbox/users/models/users.py:28 netbox/virtualization/models/clusters.py:57 +#: netbox/virtualization/models/virtualmachines.py:72 +#: netbox/virtualization/models/virtualmachines.py:279 +#: netbox/vpn/models/crypto.py:24 netbox/vpn/models/crypto.py:71 +#: netbox/vpn/models/crypto.py:131 netbox/vpn/models/crypto.py:183 +#: netbox/vpn/models/crypto.py:221 netbox/vpn/models/l2vpn.py:22 +#: netbox/vpn/models/tunnels.py:35 netbox/wireless/models.py:51 msgid "name" msgstr "" -#: circuits/models/providers.py:25 +#: netbox/circuits/models/providers.py:25 msgid "Full name of the provider" msgstr "" -#: circuits/models/providers.py:28 dcim/models/devices.py:86 -#: dcim/models/racks.py:137 dcim/models/sites.py:149 -#: extras/models/models.py:506 ipam/models/asns.py:23 ipam/models/vlans.py:40 -#: netbox/models/__init__.py:141 netbox/models/__init__.py:186 -#: tenancy/models/tenants.py:25 tenancy/models/tenants.py:49 -#: vpn/models/l2vpn.py:27 wireless/models.py:56 +#: netbox/circuits/models/providers.py:28 netbox/dcim/models/devices.py:86 +#: netbox/dcim/models/racks.py:137 netbox/dcim/models/sites.py:149 +#: netbox/extras/models/models.py:506 netbox/ipam/models/asns.py:23 +#: netbox/ipam/models/vlans.py:40 netbox/netbox/models/__init__.py:141 +#: netbox/netbox/models/__init__.py:186 netbox/tenancy/models/tenants.py:25 +#: netbox/tenancy/models/tenants.py:49 netbox/vpn/models/l2vpn.py:27 +#: netbox/wireless/models.py:56 msgid "slug" msgstr "" -#: circuits/models/providers.py:42 +#: netbox/circuits/models/providers.py:42 msgid "provider" msgstr "" -#: circuits/models/providers.py:43 +#: netbox/circuits/models/providers.py:43 msgid "providers" msgstr "" -#: circuits/models/providers.py:63 +#: netbox/circuits/models/providers.py:63 msgid "account ID" msgstr "" -#: circuits/models/providers.py:86 +#: netbox/circuits/models/providers.py:86 msgid "provider account" msgstr "" -#: circuits/models/providers.py:87 +#: netbox/circuits/models/providers.py:87 msgid "provider accounts" msgstr "" -#: circuits/models/providers.py:115 +#: netbox/circuits/models/providers.py:115 msgid "service ID" msgstr "" -#: circuits/models/providers.py:126 +#: netbox/circuits/models/providers.py:126 msgid "provider network" msgstr "" -#: circuits/models/providers.py:127 +#: netbox/circuits/models/providers.py:127 msgid "provider networks" msgstr "" -#: circuits/tables/circuits.py:32 circuits/tables/circuits.py:132 -#: 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 core/tables/plugins.py:44 core/tables/tasks.py:11 -#: core/tables/tasks.py:115 dcim/forms/filtersets.py:63 -#: dcim/forms/object_create.py:43 dcim/tables/devices.py:52 -#: dcim/tables/devices.py:92 dcim/tables/devices.py:134 -#: dcim/tables/devices.py:289 dcim/tables/devices.py:392 -#: dcim/tables/devices.py:433 dcim/tables/devices.py:482 -#: dcim/tables/devices.py:531 dcim/tables/devices.py:648 -#: dcim/tables/devices.py:731 dcim/tables/devices.py:778 -#: dcim/tables/devices.py:841 dcim/tables/devices.py:911 -#: dcim/tables/devices.py:974 dcim/tables/devices.py:994 -#: dcim/tables/devices.py:1023 dcim/tables/devices.py:1053 -#: dcim/tables/devicetypes.py:31 dcim/tables/power.py:22 -#: dcim/tables/power.py:62 dcim/tables/racks.py:24 dcim/tables/racks.py:113 -#: dcim/tables/sites.py:24 dcim/tables/sites.py:51 dcim/tables/sites.py:78 -#: dcim/tables/sites.py:130 extras/forms/filtersets.py:213 -#: extras/tables/tables.py:58 extras/tables/tables.py:122 -#: extras/tables/tables.py:155 extras/tables/tables.py:180 -#: extras/tables/tables.py:246 extras/tables/tables.py:361 -#: extras/tables/tables.py:378 extras/tables/tables.py:401 -#: extras/tables/tables.py:439 extras/tables/tables.py:491 -#: extras/tables/tables.py:514 ipam/forms/bulk_edit.py:407 -#: ipam/forms/filtersets.py:386 ipam/tables/asn.py:16 ipam/tables/ip.py:85 -#: ipam/tables/ip.py:160 ipam/tables/services.py:15 ipam/tables/services.py:40 -#: ipam/tables/vlans.py:64 ipam/tables/vlans.py:114 ipam/tables/vrfs.py:26 -#: ipam/tables/vrfs.py:68 templates/circuits/circuitgroup.html:28 -#: templates/circuits/circuittype.html:22 -#: templates/circuits/provideraccount.html:28 -#: templates/circuits/providernetwork.html:24 templates/core/datasource.html:34 -#: templates/core/job.html:44 templates/core/plugin.html:54 -#: 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: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:30 -#: 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/notificationgroup.html:14 -#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:44 -#: 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:76 virtualization/forms/bulk_create.py:20 -#: virtualization/forms/object_create.py:13 -#: virtualization/forms/object_create.py:23 -#: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 -#: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:55 -#: virtualization/tables/virtualmachines.py:139 -#: virtualization/tables/virtualmachines.py:194 vpn/tables/crypto.py:18 -#: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 -#: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 -#: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 -#: wireless/tables/wirelesslan.py:79 +#: netbox/circuits/tables/circuits.py:32 netbox/circuits/tables/circuits.py:132 +#: netbox/circuits/tables/providers.py:18 +#: netbox/circuits/tables/providers.py:69 +#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 +#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:44 +#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 +#: netbox/dcim/forms/filtersets.py:63 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:92 +#: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 +#: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 +#: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 +#: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 +#: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 +#: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 +#: netbox/dcim/tables/sites.py:78 netbox/dcim/tables/sites.py:130 +#: netbox/extras/forms/filtersets.py:213 netbox/extras/tables/tables.py:58 +#: netbox/extras/tables/tables.py:122 netbox/extras/tables/tables.py:155 +#: netbox/extras/tables/tables.py:180 netbox/extras/tables/tables.py:246 +#: netbox/extras/tables/tables.py:361 netbox/extras/tables/tables.py:378 +#: netbox/extras/tables/tables.py:401 netbox/extras/tables/tables.py:439 +#: netbox/extras/tables/tables.py:491 netbox/extras/tables/tables.py:514 +#: netbox/ipam/forms/bulk_edit.py:407 netbox/ipam/forms/filtersets.py:386 +#: netbox/ipam/tables/asn.py:16 netbox/ipam/tables/ip.py:85 +#: netbox/ipam/tables/ip.py:160 netbox/ipam/tables/services.py:15 +#: netbox/ipam/tables/services.py:40 netbox/ipam/tables/vlans.py:64 +#: netbox/ipam/tables/vlans.py:114 netbox/ipam/tables/vrfs.py:26 +#: netbox/ipam/tables/vrfs.py:68 netbox/templates/circuits/circuitgroup.html:28 +#: netbox/templates/circuits/circuittype.html:22 +#: netbox/templates/circuits/provideraccount.html:28 +#: netbox/templates/circuits/providernetwork.html:24 +#: netbox/templates/core/datasource.html:34 netbox/templates/core/job.html:44 +#: netbox/templates/core/plugin.html:54 netbox/templates/core/rq_worker.html:43 +#: netbox/templates/dcim/consoleport.html:28 +#: netbox/templates/dcim/consoleserverport.html:28 +#: netbox/templates/dcim/devicebay.html:24 +#: netbox/templates/dcim/devicerole.html:26 +#: netbox/templates/dcim/frontport.html:28 +#: netbox/templates/dcim/inc/interface_vlans_table.html:5 +#: netbox/templates/dcim/inc/panels/inventory_items.html:18 +#: netbox/templates/dcim/interface.html:38 +#: netbox/templates/dcim/interface.html:165 +#: netbox/templates/dcim/inventoryitem.html:28 +#: netbox/templates/dcim/inventoryitemrole.html:18 +#: netbox/templates/dcim/location.html:29 +#: netbox/templates/dcim/manufacturer.html:36 +#: netbox/templates/dcim/modulebay.html:30 +#: netbox/templates/dcim/platform.html:29 +#: netbox/templates/dcim/poweroutlet.html:28 +#: netbox/templates/dcim/powerport.html:28 +#: netbox/templates/dcim/rackrole.html:22 +#: netbox/templates/dcim/rearport.html:28 netbox/templates/dcim/region.html:29 +#: netbox/templates/dcim/sitegroup.html:29 +#: netbox/templates/dcim/virtualdevicecontext.html:18 +#: netbox/templates/extras/configcontext.html:13 +#: netbox/templates/extras/configtemplate.html:13 +#: netbox/templates/extras/customfield.html:13 +#: netbox/templates/extras/customlink.html:13 +#: netbox/templates/extras/eventrule.html:13 +#: netbox/templates/extras/exporttemplate.html:15 +#: netbox/templates/extras/notificationgroup.html:14 +#: netbox/templates/extras/savedfilter.html:13 +#: netbox/templates/extras/script_list.html:45 +#: netbox/templates/extras/tag.html:14 netbox/templates/extras/webhook.html:13 +#: netbox/templates/ipam/asnrange.html:15 +#: netbox/templates/ipam/fhrpgroup.html:30 netbox/templates/ipam/rir.html:22 +#: netbox/templates/ipam/role.html:22 netbox/templates/ipam/routetarget.html:13 +#: netbox/templates/ipam/service.html:24 +#: netbox/templates/ipam/servicetemplate.html:15 +#: netbox/templates/ipam/vlan.html:35 netbox/templates/ipam/vlangroup.html:30 +#: netbox/templates/tenancy/contact.html:25 +#: netbox/templates/tenancy/contactgroup.html:21 +#: netbox/templates/tenancy/contactrole.html:18 +#: netbox/templates/tenancy/tenantgroup.html:29 +#: netbox/templates/users/group.html:17 +#: netbox/templates/users/objectpermission.html:17 +#: netbox/templates/virtualization/cluster.html:13 +#: netbox/templates/virtualization/clustergroup.html:22 +#: netbox/templates/virtualization/clustertype.html:22 +#: netbox/templates/virtualization/virtualdisk.html:25 +#: netbox/templates/virtualization/virtualmachine.html:15 +#: netbox/templates/virtualization/vminterface.html:25 +#: netbox/templates/vpn/ikepolicy.html:13 +#: netbox/templates/vpn/ikeproposal.html:13 +#: netbox/templates/vpn/ipsecpolicy.html:13 +#: netbox/templates/vpn/ipsecprofile.html:13 +#: netbox/templates/vpn/ipsecprofile.html:36 +#: netbox/templates/vpn/ipsecprofile.html:69 +#: netbox/templates/vpn/ipsecproposal.html:13 +#: netbox/templates/vpn/l2vpn.html:14 netbox/templates/vpn/tunnel.html:21 +#: netbox/templates/vpn/tunnelgroup.html:26 +#: netbox/templates/wireless/wirelesslangroup.html:29 +#: netbox/tenancy/tables/contacts.py:19 netbox/tenancy/tables/contacts.py:41 +#: netbox/tenancy/tables/contacts.py:56 netbox/tenancy/tables/tenants.py:16 +#: netbox/tenancy/tables/tenants.py:38 netbox/users/tables.py:62 +#: netbox/users/tables.py:76 netbox/virtualization/forms/bulk_create.py:20 +#: netbox/virtualization/forms/object_create.py:13 +#: netbox/virtualization/forms/object_create.py:23 +#: netbox/virtualization/tables/clusters.py:17 +#: netbox/virtualization/tables/clusters.py:39 +#: netbox/virtualization/tables/clusters.py:62 +#: netbox/virtualization/tables/virtualmachines.py:55 +#: netbox/virtualization/tables/virtualmachines.py:139 +#: netbox/virtualization/tables/virtualmachines.py:194 +#: netbox/vpn/tables/crypto.py:18 netbox/vpn/tables/crypto.py:57 +#: netbox/vpn/tables/crypto.py:93 netbox/vpn/tables/crypto.py:129 +#: netbox/vpn/tables/crypto.py:158 netbox/vpn/tables/l2vpn.py:23 +#: netbox/vpn/tables/tunnels.py:18 netbox/vpn/tables/tunnels.py:40 +#: netbox/wireless/tables/wirelesslan.py:18 +#: netbox/wireless/tables/wirelesslan.py:79 msgid "Name" msgstr "" -#: circuits/tables/circuits.py:41 circuits/tables/circuits.py:138 -#: circuits/tables/providers.py:45 circuits/tables/providers.py:79 -#: netbox/navigation/menu.py:266 netbox/navigation/menu.py:270 -#: netbox/navigation/menu.py:272 templates/circuits/provider.html:57 -#: templates/circuits/provideraccount.html:44 -#: templates/circuits/providernetwork.html:50 +#: netbox/circuits/tables/circuits.py:41 netbox/circuits/tables/circuits.py:138 +#: netbox/circuits/tables/providers.py:45 +#: netbox/circuits/tables/providers.py:79 netbox/netbox/navigation/menu.py:266 +#: netbox/netbox/navigation/menu.py:270 netbox/netbox/navigation/menu.py:272 +#: netbox/templates/circuits/provider.html:57 +#: netbox/templates/circuits/provideraccount.html:44 +#: netbox/templates/circuits/providernetwork.html:50 msgid "Circuits" msgstr "" -#: circuits/tables/circuits.py:55 templates/circuits/circuit.html:26 +#: netbox/circuits/tables/circuits.py:55 +#: netbox/templates/circuits/circuit.html:26 msgid "Circuit ID" msgstr "" -#: circuits/tables/circuits.py:69 wireless/forms/model_forms.py:160 +#: netbox/circuits/tables/circuits.py:69 +#: netbox/wireless/forms/model_forms.py:160 msgid "Side A" msgstr "" -#: circuits/tables/circuits.py:74 +#: netbox/circuits/tables/circuits.py:74 msgid "Side Z" msgstr "" -#: circuits/tables/circuits.py:77 templates/circuits/circuit.html:55 +#: netbox/circuits/tables/circuits.py:77 +#: netbox/templates/circuits/circuit.html:55 msgid "Commit Rate" msgstr "" -#: circuits/tables/circuits.py:80 circuits/tables/providers.py:48 -#: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1036 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:84 dcim/tables/racks.py:145 -#: dcim/tables/racks.py:225 dcim/tables/sites.py:108 -#: extras/tables/tables.py:582 ipam/tables/asn.py:69 ipam/tables/fhrp.py:34 -#: ipam/tables/ip.py:136 ipam/tables/ip.py:275 ipam/tables/ip.py:329 -#: ipam/tables/ip.py:397 ipam/tables/services.py:24 ipam/tables/services.py:54 -#: ipam/tables/vlans.py:145 ipam/tables/vrfs.py:47 ipam/tables/vrfs.py:72 -#: templates/dcim/htmx/cable_edit.html:89 templates/generic/bulk_edit.html:86 -#: templates/inc/panels/comments.html:5 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:82 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 -#: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 +#: netbox/circuits/tables/circuits.py:80 netbox/circuits/tables/providers.py:48 +#: netbox/circuits/tables/providers.py:82 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: netbox/dcim/tables/devicetypes.py:92 netbox/dcim/tables/modules.py:29 +#: netbox/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 +#: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 +#: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 +#: netbox/dcim/tables/sites.py:108 netbox/extras/tables/tables.py:582 +#: netbox/ipam/tables/asn.py:69 netbox/ipam/tables/fhrp.py:34 +#: netbox/ipam/tables/ip.py:136 netbox/ipam/tables/ip.py:275 +#: netbox/ipam/tables/ip.py:329 netbox/ipam/tables/ip.py:397 +#: netbox/ipam/tables/services.py:24 netbox/ipam/tables/services.py:54 +#: netbox/ipam/tables/vlans.py:145 netbox/ipam/tables/vrfs.py:47 +#: netbox/ipam/tables/vrfs.py:72 netbox/templates/dcim/htmx/cable_edit.html:89 +#: netbox/templates/generic/bulk_edit.html:86 +#: netbox/templates/inc/panels/comments.html:5 +#: netbox/tenancy/tables/contacts.py:68 netbox/tenancy/tables/tenants.py:46 +#: netbox/utilities/forms/fields/fields.py:29 +#: netbox/virtualization/tables/clusters.py:91 +#: netbox/virtualization/tables/virtualmachines.py:82 +#: netbox/vpn/tables/crypto.py:37 netbox/vpn/tables/crypto.py:74 +#: netbox/vpn/tables/crypto.py:109 netbox/vpn/tables/crypto.py:140 +#: netbox/vpn/tables/crypto.py:173 netbox/vpn/tables/l2vpn.py:37 +#: netbox/vpn/tables/tunnels.py:61 netbox/wireless/tables/wirelesslan.py:27 +#: netbox/wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "" -#: circuits/tables/circuits.py:86 templates/tenancy/contact.html:84 -#: tenancy/tables/contacts.py:73 +#: netbox/circuits/tables/circuits.py:86 +#: netbox/templates/tenancy/contact.html:84 +#: netbox/tenancy/tables/contacts.py:73 msgid "Assignments" msgstr "" -#: circuits/tables/providers.py:23 +#: netbox/circuits/tables/providers.py:23 msgid "Accounts" msgstr "" -#: circuits/tables/providers.py:29 +#: netbox/circuits/tables/providers.py:29 msgid "Account Count" msgstr "" -#: circuits/tables/providers.py:39 dcim/tables/sites.py:100 +#: netbox/circuits/tables/providers.py:39 netbox/dcim/tables/sites.py:100 msgid "ASN Count" msgstr "" -#: circuits/views.py:331 +#: netbox/circuits/views.py:331 #, python-brace-format msgid "No terminations have been defined for circuit {circuit}." msgstr "" -#: circuits/views.py:380 +#: netbox/circuits/views.py:380 #, python-brace-format msgid "Swapped terminations for circuit {circuit}." msgstr "" -#: core/api/views.py:39 +#: netbox/core/api/views.py:39 msgid "This user does not have permission to synchronize this data source." msgstr "" -#: core/choices.py:18 +#: netbox/core/choices.py:18 msgid "New" msgstr "" -#: core/choices.py:19 core/constants.py:18 core/tables/tasks.py:15 -#: templates/core/rq_task.html:77 +#: netbox/core/choices.py:19 netbox/core/constants.py:18 +#: netbox/core/tables/tasks.py:15 netbox/templates/core/rq_task.html:77 msgid "Queued" msgstr "" -#: core/choices.py:20 +#: netbox/core/choices.py:20 msgid "Syncing" msgstr "" -#: core/choices.py:21 core/choices.py:57 core/tables/jobs.py:41 -#: templates/core/job.html:86 +#: netbox/core/choices.py:21 netbox/core/choices.py:57 +#: netbox/core/tables/jobs.py:41 netbox/templates/core/job.html:86 msgid "Completed" msgstr "" -#: core/choices.py:22 core/choices.py:59 core/constants.py:20 -#: core/tables/tasks.py:34 dcim/choices.py:187 dcim/choices.py:239 -#: dcim/choices.py:1607 virtualization/choices.py:47 +#: netbox/core/choices.py:22 netbox/core/choices.py:59 +#: netbox/core/constants.py:20 netbox/core/tables/tasks.py:34 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "" -#: core/choices.py:35 netbox/navigation/menu.py:335 -#: netbox/navigation/menu.py:339 templates/extras/script/base.html:14 -#: templates/extras/script_list.html:7 templates/extras/script_list.html:12 -#: templates/extras/script_result.html:17 +#: netbox/core/choices.py:35 netbox/netbox/navigation/menu.py:335 +#: netbox/netbox/navigation/menu.py:339 +#: netbox/templates/extras/script/base.html:14 +#: netbox/templates/extras/script_list.html:7 +#: netbox/templates/extras/script_list.html:12 +#: netbox/templates/extras/script_result.html:17 msgid "Scripts" msgstr "" -#: core/choices.py:36 templates/extras/report/base.html:13 +#: netbox/core/choices.py:36 netbox/templates/extras/report/base.html:13 msgid "Reports" msgstr "" -#: core/choices.py:54 +#: netbox/core/choices.py:54 msgid "Pending" msgstr "" -#: core/choices.py:55 core/constants.py:23 core/tables/jobs.py:32 -#: core/tables/tasks.py:38 templates/core/job.html:73 +#: netbox/core/choices.py:55 netbox/core/constants.py:23 +#: netbox/core/tables/jobs.py:32 netbox/core/tables/tasks.py:38 +#: netbox/templates/core/job.html:73 msgid "Scheduled" msgstr "" -#: core/choices.py:56 +#: netbox/core/choices.py:56 msgid "Running" msgstr "" -#: core/choices.py:58 +#: netbox/core/choices.py:58 msgid "Errored" msgstr "" -#: core/choices.py:87 core/tables/plugins.py:63 -#: templates/generic/object.html:61 +#: netbox/core/choices.py:87 netbox/core/tables/plugins.py:63 +#: netbox/templates/generic/object.html:61 msgid "Updated" msgstr "" -#: core/choices.py:88 +#: netbox/core/choices.py:88 msgid "Deleted" msgstr "" -#: core/constants.py:19 core/tables/tasks.py:30 +#: netbox/core/constants.py:19 netbox/core/tables/tasks.py:30 msgid "Finished" msgstr "" -#: core/constants.py:21 core/tables/jobs.py:38 templates/core/job.html:82 -#: templates/extras/htmx/script_result.html:8 +#: netbox/core/constants.py:21 netbox/core/tables/jobs.py:38 +#: netbox/templates/core/job.html:82 +#: netbox/templates/extras/htmx/script_result.html:8 msgid "Started" msgstr "" -#: core/constants.py:22 core/tables/tasks.py:26 +#: netbox/core/constants.py:22 netbox/core/tables/tasks.py:26 msgid "Deferred" msgstr "" -#: core/constants.py:24 +#: netbox/core/constants.py:24 msgid "Stopped" msgstr "" -#: core/constants.py:25 +#: netbox/core/constants.py:25 msgid "Cancelled" msgstr "" -#: core/data_backends.py:32 core/tables/plugins.py:51 -#: templates/core/plugin.html:88 templates/dcim/interface.html:216 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 +#: netbox/templates/core/plugin.html:88 +#: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "" -#: core/data_backends.py:50 core/tables/change_logging.py:20 -#: templates/account/profile.html:15 templates/users/user.html:17 -#: users/tables.py:31 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 +#: netbox/templates/account/profile.html:15 netbox/templates/users/user.html:17 +#: netbox/users/tables.py:31 msgid "Username" msgstr "" -#: core/data_backends.py:52 core/data_backends.py:58 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "" -#: core/data_backends.py:56 templates/account/base.html:23 -#: templates/account/password.html:12 users/forms/model_forms.py:170 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 +#: netbox/templates/account/password.html:12 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "" -#: core/data_backends.py:62 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "" -#: core/data_backends.py:120 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "" -#: core/data_backends.py:133 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "" -#: core/data_backends.py:137 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "" -#: core/events.py:27 +#: netbox/core/events.py:27 msgid "Object created" msgstr "" -#: core/events.py:28 +#: netbox/core/events.py:28 msgid "Object updated" msgstr "" -#: core/events.py:29 +#: netbox/core/events.py:29 msgid "Object deleted" msgstr "" -#: core/events.py:30 +#: netbox/core/events.py:30 msgid "Job started" msgstr "" -#: core/events.py:31 +#: netbox/core/events.py:31 msgid "Job completed" msgstr "" -#: core/events.py:32 +#: netbox/core/events.py:32 msgid "Job failed" msgstr "" -#: core/events.py:33 +#: netbox/core/events.py:33 msgid "Job errored" msgstr "" -#: core/filtersets.py:53 extras/filtersets.py:250 extras/filtersets.py:633 -#: extras/filtersets.py:661 +#: netbox/core/filtersets.py:53 netbox/extras/filtersets.py:250 +#: netbox/extras/filtersets.py:633 netbox/extras/filtersets.py:661 msgid "Data source (ID)" msgstr "" -#: core/filtersets.py:59 +#: netbox/core/filtersets.py:59 msgid "Data source (name)" msgstr "" -#: core/filtersets.py:145 dcim/filtersets.py:501 extras/filtersets.py:287 -#: extras/filtersets.py:331 extras/filtersets.py:353 extras/filtersets.py:413 -#: users/filtersets.py:28 +#: netbox/core/filtersets.py:145 netbox/dcim/filtersets.py:501 +#: netbox/extras/filtersets.py:287 netbox/extras/filtersets.py:331 +#: netbox/extras/filtersets.py:353 netbox/extras/filtersets.py:413 +#: netbox/users/filtersets.py:28 msgid "User (ID)" msgstr "" -#: core/filtersets.py:151 +#: netbox/core/filtersets.py:151 msgid "User name" msgstr "" -#: core/forms/bulk_edit.py:25 core/forms/filtersets.py:43 -#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1122 -#: dcim/forms/bulk_edit.py:1400 dcim/forms/filtersets.py:1370 -#: dcim/tables/devices.py:553 dcim/tables/devicetypes.py:224 -#: extras/forms/bulk_edit.py:123 extras/forms/bulk_edit.py:187 -#: extras/forms/bulk_edit.py:246 extras/forms/filtersets.py:142 -#: extras/forms/filtersets.py:229 extras/forms/filtersets.py:294 -#: extras/tables/tables.py:162 extras/tables/tables.py:253 -#: extras/tables/tables.py:415 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:70 users/tables.py:83 -#: virtualization/forms/bulk_edit.py:217 virtualization/forms/filtersets.py:215 +#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 +#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 +#: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 +#: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 +#: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 +#: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 +#: netbox/extras/tables/tables.py:162 netbox/extras/tables/tables.py:253 +#: netbox/extras/tables/tables.py:415 netbox/netbox/preferences.py:22 +#: netbox/templates/core/datasource.html:42 +#: netbox/templates/dcim/interface.html:61 +#: netbox/templates/extras/customlink.html:17 +#: netbox/templates/extras/eventrule.html:17 +#: netbox/templates/extras/savedfilter.html:25 +#: netbox/templates/users/objectpermission.html:25 +#: netbox/templates/virtualization/vminterface.html:29 +#: netbox/users/forms/bulk_edit.py:89 netbox/users/forms/filtersets.py:70 +#: netbox/users/tables.py:83 netbox/virtualization/forms/bulk_edit.py:217 +#: netbox/virtualization/forms/filtersets.py:215 msgid "Enabled" msgstr "" -#: core/forms/bulk_edit.py:34 extras/forms/model_forms.py:285 -#: templates/extras/savedfilter.html:52 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 +#: netbox/core/forms/bulk_edit.py:34 netbox/extras/forms/model_forms.py:285 +#: netbox/templates/extras/savedfilter.html:52 +#: netbox/vpn/forms/filtersets.py:97 netbox/vpn/forms/filtersets.py:127 +#: netbox/vpn/forms/filtersets.py:151 netbox/vpn/forms/filtersets.py:170 +#: netbox/vpn/forms/model_forms.py:301 netbox/vpn/forms/model_forms.py:321 +#: netbox/vpn/forms/model_forms.py:337 netbox/vpn/forms/model_forms.py:357 +#: netbox/vpn/forms/model_forms.py:380 msgid "Parameters" msgstr "" -#: core/forms/bulk_edit.py:38 templates/core/datasource.html:68 +#: netbox/core/forms/bulk_edit.py:38 netbox/templates/core/datasource.html:68 msgid "Ignore rules" msgstr "" -#: core/forms/filtersets.py:30 core/forms/model_forms.py:97 -#: extras/forms/model_forms.py:248 extras/forms/model_forms.py:578 -#: extras/forms/model_forms.py:632 extras/tables/tables.py:191 -#: extras/tables/tables.py:483 extras/tables/tables.py:518 -#: templates/core/datasource.html:31 -#: 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 +#: netbox/core/forms/filtersets.py:30 netbox/core/forms/model_forms.py:97 +#: netbox/extras/forms/model_forms.py:248 +#: netbox/extras/forms/model_forms.py:578 +#: netbox/extras/forms/model_forms.py:632 netbox/extras/tables/tables.py:191 +#: netbox/extras/tables/tables.py:483 netbox/extras/tables/tables.py:518 +#: netbox/templates/core/datasource.html:31 +#: netbox/templates/dcim/device/render_config.html:18 +#: netbox/templates/extras/configcontext.html:29 +#: netbox/templates/extras/configtemplate.html:21 +#: netbox/templates/extras/exporttemplate.html:35 +#: netbox/templates/virtualization/virtualmachine/render_config.html:18 msgid "Data Source" msgstr "" -#: core/forms/filtersets.py:55 core/forms/mixins.py:21 +#: netbox/core/forms/filtersets.py:55 netbox/core/forms/mixins.py:21 msgid "File" msgstr "" -#: core/forms/filtersets.py:60 core/forms/mixins.py:16 -#: extras/forms/filtersets.py:170 extras/forms/filtersets.py:328 -#: extras/forms/filtersets.py:413 +#: netbox/core/forms/filtersets.py:60 netbox/core/forms/mixins.py:16 +#: netbox/extras/forms/filtersets.py:170 netbox/extras/forms/filtersets.py:328 +#: netbox/extras/forms/filtersets.py:413 msgid "Data source" msgstr "" -#: core/forms/filtersets.py:70 extras/forms/filtersets.py:440 +#: netbox/core/forms/filtersets.py:70 netbox/extras/forms/filtersets.py:440 msgid "Creation" msgstr "" -#: core/forms/filtersets.py:74 core/forms/filtersets.py:160 -#: extras/forms/filtersets.py:461 extras/tables/tables.py:220 -#: extras/tables/tables.py:294 extras/tables/tables.py:326 -#: extras/tables/tables.py:571 templates/core/job.html:38 -#: templates/core/objectchange.html:52 tenancy/tables/contacts.py:90 -#: vpn/tables/l2vpn.py:59 +#: netbox/core/forms/filtersets.py:74 netbox/core/forms/filtersets.py:160 +#: netbox/extras/forms/filtersets.py:461 netbox/extras/tables/tables.py:220 +#: netbox/extras/tables/tables.py:294 netbox/extras/tables/tables.py:326 +#: netbox/extras/tables/tables.py:571 netbox/templates/core/job.html:38 +#: netbox/templates/core/objectchange.html:52 +#: netbox/tenancy/tables/contacts.py:90 netbox/vpn/tables/l2vpn.py:59 msgid "Object Type" msgstr "" -#: core/forms/filtersets.py:84 +#: netbox/core/forms/filtersets.py:84 msgid "Created after" msgstr "" -#: core/forms/filtersets.py:89 +#: netbox/core/forms/filtersets.py:89 msgid "Created before" msgstr "" -#: core/forms/filtersets.py:94 +#: netbox/core/forms/filtersets.py:94 msgid "Scheduled after" msgstr "" -#: core/forms/filtersets.py:99 +#: netbox/core/forms/filtersets.py:99 msgid "Scheduled before" msgstr "" -#: core/forms/filtersets.py:104 +#: netbox/core/forms/filtersets.py:104 msgid "Started after" msgstr "" -#: core/forms/filtersets.py:109 +#: netbox/core/forms/filtersets.py:109 msgid "Started before" msgstr "" -#: core/forms/filtersets.py:114 +#: netbox/core/forms/filtersets.py:114 msgid "Completed after" msgstr "" -#: core/forms/filtersets.py:119 +#: netbox/core/forms/filtersets.py:119 msgid "Completed before" msgstr "" -#: core/forms/filtersets.py:126 core/forms/filtersets.py:155 -#: dcim/forms/bulk_edit.py:456 dcim/forms/filtersets.py:418 -#: dcim/forms/filtersets.py:462 dcim/forms/model_forms.py:316 -#: extras/forms/filtersets.py:456 extras/forms/filtersets.py:475 -#: extras/tables/tables.py:302 extras/tables/tables.py:342 -#: templates/core/objectchange.html:36 templates/dcim/rackreservation.html:58 -#: templates/extras/savedfilter.html:21 templates/inc/user_menu.html:33 -#: templates/users/token.html:21 templates/users/user.html:6 -#: templates/users/user.html:14 users/filtersets.py:107 users/filtersets.py:174 -#: users/forms/filtersets.py:84 users/forms/filtersets.py:125 -#: users/forms/model_forms.py:155 users/forms/model_forms.py:192 -#: users/tables.py:19 +#: netbox/core/forms/filtersets.py:126 netbox/core/forms/filtersets.py:155 +#: netbox/dcim/forms/bulk_edit.py:456 netbox/dcim/forms/filtersets.py:418 +#: netbox/dcim/forms/filtersets.py:462 netbox/dcim/forms/model_forms.py:316 +#: netbox/extras/forms/filtersets.py:456 netbox/extras/forms/filtersets.py:475 +#: netbox/extras/tables/tables.py:302 netbox/extras/tables/tables.py:342 +#: netbox/templates/core/objectchange.html:36 +#: netbox/templates/dcim/rackreservation.html:58 +#: netbox/templates/extras/savedfilter.html:21 +#: netbox/templates/inc/user_menu.html:33 netbox/templates/users/token.html:21 +#: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 +#: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 +#: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 +#: netbox/users/tables.py:19 msgid "User" msgstr "" -#: core/forms/filtersets.py:134 core/tables/change_logging.py:15 -#: extras/tables/tables.py:609 extras/tables/tables.py:646 -#: templates/core/objectchange.html:32 +#: netbox/core/forms/filtersets.py:134 netbox/core/tables/change_logging.py:15 +#: netbox/extras/tables/tables.py:609 netbox/extras/tables/tables.py:646 +#: netbox/templates/core/objectchange.html:32 msgid "Time" msgstr "" -#: core/forms/filtersets.py:139 extras/forms/filtersets.py:445 +#: netbox/core/forms/filtersets.py:139 netbox/extras/forms/filtersets.py:445 msgid "After" msgstr "" -#: core/forms/filtersets.py:144 extras/forms/filtersets.py:450 +#: netbox/core/forms/filtersets.py:144 netbox/extras/forms/filtersets.py:450 msgid "Before" msgstr "" -#: core/forms/filtersets.py:148 core/tables/change_logging.py:29 -#: extras/forms/model_forms.py:396 templates/core/objectchange.html:46 -#: templates/extras/eventrule.html:71 +#: netbox/core/forms/filtersets.py:148 netbox/core/tables/change_logging.py:29 +#: netbox/extras/forms/model_forms.py:396 +#: netbox/templates/core/objectchange.html:46 +#: netbox/templates/extras/eventrule.html:71 msgid "Action" msgstr "" -#: 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 +#: netbox/core/forms/model_forms.py:54 netbox/core/tables/data.py:46 +#: netbox/templates/core/datafile.html:27 +#: netbox/templates/extras/report/base.html:33 +#: netbox/templates/extras/script/base.html:32 msgid "Source" msgstr "" -#: core/forms/model_forms.py:58 +#: netbox/core/forms/model_forms.py:58 msgid "Backend Parameters" msgstr "" -#: core/forms/model_forms.py:96 +#: netbox/core/forms/model_forms.py:96 msgid "File Upload" msgstr "" -#: core/forms/model_forms.py:108 +#: netbox/core/forms/model_forms.py:108 msgid "Cannot upload a file and sync from an existing file" msgstr "" -#: core/forms/model_forms.py:110 +#: netbox/core/forms/model_forms.py:110 msgid "Must upload a file or select a data file to sync" msgstr "" -#: core/forms/model_forms.py:153 templates/dcim/rack_elevation_list.html:6 +#: netbox/core/forms/model_forms.py:153 +#: netbox/templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" msgstr "" -#: core/forms/model_forms.py:157 dcim/choices.py:1518 -#: dcim/forms/bulk_edit.py:969 dcim/forms/bulk_edit.py:1357 -#: dcim/forms/bulk_edit.py:1375 dcim/tables/racks.py:158 -#: netbox/navigation/menu.py:291 netbox/navigation/menu.py:295 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 +#: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 +#: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 +#: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 msgid "Power" msgstr "" -#: core/forms/model_forms.py:159 netbox/navigation/menu.py:154 -#: templates/core/inc/config_data.html:37 +#: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:154 +#: netbox/templates/core/inc/config_data.html:37 msgid "IPAM" msgstr "" -#: core/forms/model_forms.py:160 netbox/navigation/menu.py:230 -#: 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 +#: netbox/core/forms/model_forms.py:160 netbox/netbox/navigation/menu.py:230 +#: netbox/templates/core/inc/config_data.html:50 +#: netbox/vpn/forms/bulk_edit.py:77 netbox/vpn/forms/filtersets.py:43 +#: netbox/vpn/forms/model_forms.py:61 netbox/vpn/forms/model_forms.py:146 msgid "Security" msgstr "" -#: core/forms/model_forms.py:161 templates/core/inc/config_data.html:59 +#: netbox/core/forms/model_forms.py:161 +#: netbox/templates/core/inc/config_data.html:59 msgid "Banners" msgstr "" -#: core/forms/model_forms.py:162 templates/core/inc/config_data.html:80 +#: netbox/core/forms/model_forms.py:162 +#: netbox/templates/core/inc/config_data.html:80 msgid "Pagination" msgstr "" -#: core/forms/model_forms.py:163 extras/forms/bulk_edit.py:92 -#: extras/forms/filtersets.py:47 extras/forms/model_forms.py:116 -#: extras/forms/model_forms.py:129 templates/core/inc/config_data.html:93 +#: netbox/core/forms/model_forms.py:163 netbox/extras/forms/bulk_edit.py:92 +#: netbox/extras/forms/filtersets.py:47 netbox/extras/forms/model_forms.py:116 +#: netbox/extras/forms/model_forms.py:129 +#: netbox/templates/core/inc/config_data.html:93 msgid "Validation" msgstr "" -#: core/forms/model_forms.py:164 templates/account/preferences.html:6 +#: netbox/core/forms/model_forms.py:164 +#: netbox/templates/account/preferences.html:6 msgid "User Preferences" msgstr "" -#: core/forms/model_forms.py:167 dcim/forms/filtersets.py:732 -#: templates/core/inc/config_data.html:127 users/forms/model_forms.py:64 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 +#: netbox/templates/core/inc/config_data.html:127 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "" -#: core/forms/model_forms.py:169 +#: netbox/core/forms/model_forms.py:169 msgid "Config Revision" msgstr "" -#: core/forms/model_forms.py:208 +#: netbox/core/forms/model_forms.py:208 msgid "This parameter has been defined statically and cannot be modified." msgstr "" -#: core/forms/model_forms.py:216 +#: netbox/core/forms/model_forms.py:216 #, python-brace-format msgid "Current value: {value}" msgstr "" -#: core/forms/model_forms.py:218 +#: netbox/core/forms/model_forms.py:218 msgid " (default)" msgstr "" -#: core/models/change_logging.py:29 +#: netbox/core/models/change_logging.py:29 msgid "time" msgstr "" -#: core/models/change_logging.py:42 +#: netbox/core/models/change_logging.py:42 msgid "user name" msgstr "" -#: core/models/change_logging.py:47 +#: netbox/core/models/change_logging.py:47 msgid "request ID" msgstr "" -#: core/models/change_logging.py:52 extras/models/staging.py:69 +#: netbox/core/models/change_logging.py:52 netbox/extras/models/staging.py:69 msgid "action" msgstr "" -#: core/models/change_logging.py:86 +#: netbox/core/models/change_logging.py:86 msgid "pre-change data" msgstr "" -#: core/models/change_logging.py:92 +#: netbox/core/models/change_logging.py:92 msgid "post-change data" msgstr "" -#: core/models/change_logging.py:106 +#: netbox/core/models/change_logging.py:106 msgid "object change" msgstr "" -#: core/models/change_logging.py:107 +#: netbox/core/models/change_logging.py:107 msgid "object changes" msgstr "" -#: core/models/change_logging.py:123 +#: netbox/core/models/change_logging.py:123 #, python-brace-format msgid "Change logging is not supported for this object type ({type})." msgstr "" -#: core/models/config.py:18 core/models/data.py:266 core/models/files.py:27 -#: core/models/jobs.py:49 extras/models/models.py:730 -#: extras/models/notifications.py:39 extras/models/notifications.py:186 -#: netbox/models/features.py:53 users/models/tokens.py:32 +#: netbox/core/models/config.py:18 netbox/core/models/data.py:266 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 +#: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 +#: netbox/extras/models/notifications.py:186 +#: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 msgid "created" msgstr "" -#: core/models/config.py:22 +#: netbox/core/models/config.py:22 msgid "comment" msgstr "" -#: core/models/config.py:29 +#: netbox/core/models/config.py:29 msgid "configuration data" msgstr "" -#: core/models/config.py:36 +#: netbox/core/models/config.py:36 msgid "config revision" msgstr "" -#: core/models/config.py:37 +#: netbox/core/models/config.py:37 msgid "config revisions" msgstr "" -#: core/models/config.py:41 +#: netbox/core/models/config.py:41 msgid "Default configuration" msgstr "" -#: core/models/config.py:43 +#: netbox/core/models/config.py:43 msgid "Current configuration" msgstr "" -#: core/models/config.py:44 +#: netbox/core/models/config.py:44 #, python-brace-format msgid "Config revision #{id}" msgstr "" -#: core/models/data.py:44 dcim/models/cables.py:43 -#: dcim/models/device_component_templates.py:203 -#: dcim/models/device_component_templates.py:237 -#: dcim/models/device_component_templates.py:272 -#: dcim/models/device_component_templates.py:334 -#: dcim/models/device_component_templates.py:413 -#: dcim/models/device_component_templates.py:512 -#: dcim/models/device_component_templates.py:612 -#: dcim/models/device_components.py:283 dcim/models/device_components.py:312 -#: dcim/models/device_components.py:345 dcim/models/device_components.py:463 -#: dcim/models/device_components.py:605 dcim/models/device_components.py:970 -#: dcim/models/device_components.py:1044 dcim/models/power.py:102 -#: extras/models/customfields.py:78 extras/models/search.py:41 -#: virtualization/models/clusters.py:61 vpn/models/l2vpn.py:32 +#: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 +#: netbox/dcim/models/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 netbox/dcim/models/power.py:102 +#: netbox/extras/models/customfields.py:78 netbox/extras/models/search.py:41 +#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" msgstr "" -#: core/models/data.py:49 extras/choices.py:37 extras/models/models.py:164 -#: extras/tables/tables.py:656 templates/core/datasource.html:58 -#: templates/core/plugin.html:66 +#: netbox/core/models/data.py:49 netbox/extras/choices.py:37 +#: netbox/extras/models/models.py:164 netbox/extras/tables/tables.py:656 +#: netbox/templates/core/datasource.html:58 +#: netbox/templates/core/plugin.html:66 msgid "URL" msgstr "" -#: core/models/data.py:59 dcim/models/device_component_templates.py:418 -#: dcim/models/device_components.py:512 extras/models/models.py:70 -#: extras/models/models.py:301 extras/models/models.py:526 -#: users/models/permissions.py:29 +#: netbox/core/models/data.py:59 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 +#: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 +#: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" msgstr "" -#: core/models/data.py:63 +#: netbox/core/models/data.py:63 msgid "ignore rules" msgstr "" -#: core/models/data.py:65 +#: netbox/core/models/data.py:65 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "" -#: core/models/data.py:68 extras/models/models.py:534 +#: netbox/core/models/data.py:68 netbox/extras/models/models.py:534 msgid "parameters" msgstr "" -#: core/models/data.py:73 +#: netbox/core/models/data.py:73 msgid "last synced" msgstr "" -#: core/models/data.py:81 +#: netbox/core/models/data.py:81 msgid "data source" msgstr "" -#: core/models/data.py:82 +#: netbox/core/models/data.py:82 msgid "data sources" msgstr "" -#: core/models/data.py:122 +#: netbox/core/models/data.py:122 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "" -#: core/models/data.py:164 +#: netbox/core/models/data.py:164 msgid "Cannot initiate sync; syncing already in progress." msgstr "" -#: core/models/data.py:177 +#: netbox/core/models/data.py:177 msgid "" "There was an error initializing the backend. A dependency needs to be " "installed: " msgstr "" -#: core/models/data.py:270 core/models/files.py:31 netbox/models/features.py:59 +#: netbox/core/models/data.py:270 netbox/core/models/files.py:31 +#: netbox/netbox/models/features.py:59 msgid "last updated" msgstr "" -#: core/models/data.py:280 dcim/models/cables.py:444 +#: netbox/core/models/data.py:280 netbox/dcim/models/cables.py:444 msgid "path" msgstr "" -#: core/models/data.py:283 +#: netbox/core/models/data.py:283 msgid "File path relative to the data source's root" msgstr "" -#: core/models/data.py:287 ipam/models/ip.py:503 +#: netbox/core/models/data.py:287 netbox/ipam/models/ip.py:503 msgid "size" msgstr "" -#: core/models/data.py:290 +#: netbox/core/models/data.py:290 msgid "hash" msgstr "" -#: core/models/data.py:294 +#: netbox/core/models/data.py:294 msgid "Length must be 64 hexadecimal characters." msgstr "" -#: core/models/data.py:296 +#: netbox/core/models/data.py:296 msgid "SHA256 hash of the file data" msgstr "" -#: core/models/data.py:313 +#: netbox/core/models/data.py:313 msgid "data file" msgstr "" -#: core/models/data.py:314 +#: netbox/core/models/data.py:314 msgid "data files" msgstr "" -#: core/models/data.py:401 +#: netbox/core/models/data.py:401 msgid "auto sync record" msgstr "" -#: core/models/data.py:402 +#: netbox/core/models/data.py:402 msgid "auto sync records" msgstr "" -#: core/models/files.py:37 +#: netbox/core/models/files.py:37 msgid "file root" msgstr "" -#: core/models/files.py:42 +#: netbox/core/models/files.py:42 msgid "file path" msgstr "" -#: core/models/files.py:44 +#: netbox/core/models/files.py:44 msgid "File path relative to the designated root path" msgstr "" -#: core/models/files.py:61 +#: netbox/core/models/files.py:61 msgid "managed file" msgstr "" -#: core/models/files.py:62 +#: netbox/core/models/files.py:62 msgid "managed files" msgstr "" -#: core/models/jobs.py:53 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "" -#: core/models/jobs.py:58 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "" -#: core/models/jobs.py:64 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "" -#: core/models/jobs.py:67 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "" -#: core/models/jobs.py:72 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "" -#: core/models/jobs.py:90 extras/models/models.py:101 -#: extras/models/staging.py:87 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 +#: netbox/extras/models/staging.py:87 msgid "data" msgstr "" -#: core/models/jobs.py:95 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "" -#: core/models/jobs.py:100 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "" -#: core/models/jobs.py:111 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "" -#: core/models/jobs.py:112 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "" -#: core/models/jobs.py:135 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "" -#: core/models/jobs.py:185 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" -#: core/models/jobs.py:216 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" -#: core/signals.py:126 +#: netbox/core/signals.py:126 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "" -#: core/tables/change_logging.py:25 templates/account/profile.html:19 -#: templates/users/user.html:21 +#: netbox/core/tables/change_logging.py:25 +#: netbox/templates/account/profile.html:19 netbox/templates/users/user.html:21 msgid "Full Name" msgstr "" -#: core/tables/change_logging.py:37 core/tables/jobs.py:21 extras/choices.py:41 -#: extras/tables/tables.py:279 extras/tables/tables.py:297 -#: extras/tables/tables.py:329 extras/tables/tables.py:409 -#: extras/tables/tables.py:470 extras/tables/tables.py:576 -#: extras/tables/tables.py:616 extras/tables/tables.py:653 -#: netbox/tables/tables.py:244 templates/core/objectchange.html:58 -#: templates/extras/eventrule.html:78 templates/extras/journalentry.html:18 -#: tenancy/tables/contacts.py:93 vpn/tables/l2vpn.py:64 +#: netbox/core/tables/change_logging.py:37 netbox/core/tables/jobs.py:21 +#: netbox/extras/choices.py:41 netbox/extras/tables/tables.py:279 +#: netbox/extras/tables/tables.py:297 netbox/extras/tables/tables.py:329 +#: netbox/extras/tables/tables.py:409 netbox/extras/tables/tables.py:470 +#: netbox/extras/tables/tables.py:576 netbox/extras/tables/tables.py:616 +#: netbox/extras/tables/tables.py:653 netbox/netbox/tables/tables.py:244 +#: netbox/templates/core/objectchange.html:58 +#: netbox/templates/extras/eventrule.html:78 +#: netbox/templates/extras/journalentry.html:18 +#: netbox/tenancy/tables/contacts.py:93 netbox/vpn/tables/l2vpn.py:64 msgid "Object" msgstr "" -#: core/tables/change_logging.py:42 templates/core/objectchange.html:68 +#: netbox/core/tables/change_logging.py:42 +#: netbox/templates/core/objectchange.html:68 msgid "Request ID" msgstr "" -#: core/tables/config.py:21 users/forms/filtersets.py:44 users/tables.py:39 +#: netbox/core/tables/config.py:21 netbox/users/forms/filtersets.py:44 +#: netbox/users/tables.py:39 msgid "Is Active" msgstr "" -#: core/tables/data.py:50 templates/core/datafile.html:31 +#: netbox/core/tables/data.py:50 netbox/templates/core/datafile.html:31 msgid "Path" msgstr "" -#: core/tables/data.py:54 templates/extras/inc/result_pending.html:7 +#: netbox/core/tables/data.py:54 +#: netbox/templates/extras/inc/result_pending.html:7 msgid "Last updated" msgstr "" -#: core/tables/jobs.py:10 core/tables/tasks.py:76 -#: dcim/tables/devicetypes.py:164 extras/tables/tables.py:216 -#: extras/tables/tables.py:460 netbox/tables/tables.py:189 -#: templates/dcim/virtualchassis_edit.html:52 utilities/forms/forms.py:73 -#: wireless/tables/wirelesslink.py:17 +#: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 +#: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 +#: netbox/templates/dcim/virtualchassis_edit.html:52 +#: netbox/utilities/forms/forms.py:73 netbox/wireless/tables/wirelesslink.py:17 msgid "ID" msgstr "" -#: core/tables/jobs.py:35 +#: netbox/core/tables/jobs.py:35 msgid "Interval" msgstr "" -#: core/tables/plugins.py:14 templates/vpn/ipsecprofile.html:44 -#: vpn/forms/bulk_edit.py:141 vpn/forms/bulk_import.py:172 -#: vpn/tables/crypto.py:61 +#: netbox/core/tables/plugins.py:14 netbox/templates/vpn/ipsecprofile.html:44 +#: netbox/vpn/forms/bulk_edit.py:141 netbox/vpn/forms/bulk_import.py:172 +#: netbox/vpn/tables/crypto.py:61 msgid "Version" msgstr "" -#: core/tables/plugins.py:19 templates/core/datafile.html:38 +#: netbox/core/tables/plugins.py:19 netbox/templates/core/datafile.html:38 msgid "Last Updated" msgstr "" -#: core/tables/plugins.py:23 +#: netbox/core/tables/plugins.py:23 msgid "Minimum NetBox Version" msgstr "" -#: core/tables/plugins.py:27 +#: netbox/core/tables/plugins.py:27 msgid "Maximum NetBox Version" msgstr "" -#: core/tables/plugins.py:31 core/tables/plugins.py:74 +#: netbox/core/tables/plugins.py:31 netbox/core/tables/plugins.py:74 msgid "No plugin data found" msgstr "" -#: core/tables/plugins.py:48 templates/core/plugin.html:62 +#: netbox/core/tables/plugins.py:48 netbox/templates/core/plugin.html:62 msgid "Author" msgstr "" -#: core/tables/plugins.py:54 +#: netbox/core/tables/plugins.py:54 msgid "Installed" msgstr "" -#: core/tables/plugins.py:57 templates/core/plugin.html:84 +#: netbox/core/tables/plugins.py:57 netbox/templates/core/plugin.html:84 msgid "Certified" msgstr "" -#: core/tables/plugins.py:60 +#: netbox/core/tables/plugins.py:60 msgid "Published" msgstr "" -#: core/tables/plugins.py:66 +#: netbox/core/tables/plugins.py:66 msgid "Installed Version" msgstr "" -#: core/tables/plugins.py:70 +#: netbox/core/tables/plugins.py:70 msgid "Latest Version" msgstr "" -#: core/tables/tasks.py:18 +#: netbox/core/tables/tasks.py:18 msgid "Oldest Task" msgstr "" -#: core/tables/tasks.py:42 templates/core/rq_worker_list.html:39 +#: netbox/core/tables/tasks.py:42 netbox/templates/core/rq_worker_list.html:39 msgid "Workers" msgstr "" -#: core/tables/tasks.py:46 vpn/tables/tunnels.py:88 +#: netbox/core/tables/tasks.py:46 netbox/vpn/tables/tunnels.py:88 msgid "Host" msgstr "" -#: core/tables/tasks.py:50 ipam/forms/filtersets.py:535 +#: netbox/core/tables/tasks.py:50 netbox/ipam/forms/filtersets.py:535 msgid "Port" msgstr "" -#: core/tables/tasks.py:54 +#: netbox/core/tables/tasks.py:54 msgid "DB" msgstr "" -#: core/tables/tasks.py:58 +#: netbox/core/tables/tasks.py:58 msgid "Scheduler PID" msgstr "" -#: core/tables/tasks.py:62 +#: netbox/core/tables/tasks.py:62 msgid "No queues found" msgstr "" -#: core/tables/tasks.py:82 +#: netbox/core/tables/tasks.py:82 msgid "Enqueued" msgstr "" -#: core/tables/tasks.py:85 +#: netbox/core/tables/tasks.py:85 msgid "Ended" msgstr "" -#: core/tables/tasks.py:93 templates/core/rq_task.html:85 +#: netbox/core/tables/tasks.py:93 netbox/templates/core/rq_task.html:85 msgid "Callable" msgstr "" -#: core/tables/tasks.py:97 +#: netbox/core/tables/tasks.py:97 msgid "No tasks found" msgstr "" -#: core/tables/tasks.py:118 templates/core/rq_worker.html:47 +#: netbox/core/tables/tasks.py:118 netbox/templates/core/rq_worker.html:47 msgid "State" msgstr "" -#: core/tables/tasks.py:121 templates/core/rq_worker.html:51 +#: netbox/core/tables/tasks.py:121 netbox/templates/core/rq_worker.html:51 msgid "Birth" msgstr "" -#: core/tables/tasks.py:124 templates/core/rq_worker.html:59 +#: netbox/core/tables/tasks.py:124 netbox/templates/core/rq_worker.html:59 msgid "PID" msgstr "" -#: core/tables/tasks.py:128 +#: netbox/core/tables/tasks.py:128 msgid "No workers found" msgstr "" -#: core/views.py:90 +#: netbox/core/views.py:90 #, python-brace-format msgid "Queued job #{id} to sync {datasource}" msgstr "" -#: core/views.py:319 +#: netbox/core/views.py:319 #, python-brace-format msgid "Restored configuration revision #{id}" msgstr "" -#: core/views.py:412 core/views.py:455 core/views.py:531 +#: netbox/core/views.py:412 netbox/core/views.py:455 netbox/core/views.py:531 #, python-brace-format msgid "Job {job_id} not found" msgstr "" -#: core/views.py:463 +#: netbox/core/views.py:463 #, python-brace-format msgid "Job {id} has been deleted." msgstr "" -#: core/views.py:465 +#: netbox/core/views.py:465 #, python-brace-format msgid "Error deleting job {id}: {error}" msgstr "" -#: core/views.py:478 core/views.py:496 +#: netbox/core/views.py:478 netbox/core/views.py:496 #, python-brace-format msgid "Job {id} not found." msgstr "" -#: core/views.py:484 +#: netbox/core/views.py:484 #, python-brace-format msgid "Job {id} has been re-enqueued." msgstr "" -#: core/views.py:519 +#: netbox/core/views.py:519 #, python-brace-format msgid "Job {id} has been enqueued." msgstr "" -#: core/views.py:538 +#: netbox/core/views.py:538 #, python-brace-format msgid "Job {id} has been stopped." msgstr "" -#: core/views.py:540 +#: netbox/core/views.py:540 #, python-brace-format msgid "Failed to stop job {id}" msgstr "" -#: core/views.py:678 +#: netbox/core/views.py:678 msgid "Plugins catalog could not be loaded" msgstr "" -#: core/views.py:712 +#: netbox/core/views.py:712 #, python-brace-format msgid "Plugin {name} not found" msgstr "" -#: dcim/api/serializers_/devices.py:49 dcim/api/serializers_/devicetypes.py:25 +#: netbox/dcim/api/serializers_/devices.py:49 +#: netbox/dcim/api/serializers_/devicetypes.py:25 msgid "Position (U)" msgstr "" -#: dcim/api/serializers_/racks.py:112 templates/dcim/rack.html:28 +#: netbox/dcim/api/serializers_/racks.py:112 netbox/templates/dcim/rack.html:28 msgid "Facility ID" msgstr "" -#: dcim/choices.py:21 virtualization/choices.py:21 +#: netbox/dcim/choices.py:21 netbox/virtualization/choices.py:21 msgid "Staging" msgstr "" -#: dcim/choices.py:23 dcim/choices.py:189 dcim/choices.py:240 -#: dcim/choices.py:1531 virtualization/choices.py:23 -#: virtualization/choices.py:48 +#: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 +#: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "" -#: dcim/choices.py:24 +#: netbox/dcim/choices.py:24 msgid "Retired" msgstr "" -#: dcim/choices.py:65 +#: netbox/dcim/choices.py:65 msgid "2-post frame" msgstr "" -#: dcim/choices.py:66 +#: netbox/dcim/choices.py:66 msgid "4-post frame" msgstr "" -#: dcim/choices.py:67 +#: netbox/dcim/choices.py:67 msgid "4-post cabinet" msgstr "" -#: dcim/choices.py:68 +#: netbox/dcim/choices.py:68 msgid "Wall-mounted frame" msgstr "" -#: dcim/choices.py:69 +#: netbox/dcim/choices.py:69 msgid "Wall-mounted frame (vertical)" msgstr "" -#: dcim/choices.py:70 +#: netbox/dcim/choices.py:70 msgid "Wall-mounted cabinet" msgstr "" -#: dcim/choices.py:71 +#: netbox/dcim/choices.py:71 msgid "Wall-mounted cabinet (vertical)" msgstr "" -#: dcim/choices.py:83 dcim/choices.py:84 dcim/choices.py:85 dcim/choices.py:86 +#: netbox/dcim/choices.py:83 netbox/dcim/choices.py:84 +#: netbox/dcim/choices.py:85 netbox/dcim/choices.py:86 #, python-brace-format msgid "{n} inches" msgstr "" -#: dcim/choices.py:100 ipam/choices.py:32 ipam/choices.py:50 ipam/choices.py:70 -#: ipam/choices.py:155 wireless/choices.py:26 +#: netbox/dcim/choices.py:100 netbox/ipam/choices.py:32 +#: netbox/ipam/choices.py:50 netbox/ipam/choices.py:70 +#: netbox/ipam/choices.py:155 netbox/wireless/choices.py:26 msgid "Reserved" msgstr "" -#: dcim/choices.py:101 templates/dcim/device.html:259 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "" -#: dcim/choices.py:104 ipam/choices.py:33 ipam/choices.py:51 ipam/choices.py:71 -#: ipam/choices.py:156 wireless/choices.py:28 +#: netbox/dcim/choices.py:104 netbox/ipam/choices.py:33 +#: netbox/ipam/choices.py:51 netbox/ipam/choices.py:71 +#: netbox/ipam/choices.py:156 netbox/wireless/choices.py:28 msgid "Deprecated" msgstr "" -#: dcim/choices.py:114 templates/dcim/inc/panels/racktype_dimensions.html:41 +#: netbox/dcim/choices.py:114 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:41 msgid "Millimeters" msgstr "" -#: dcim/choices.py:115 dcim/choices.py:1553 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "" -#: dcim/choices.py:136 dcim/choices.py:207 dcim/choices.py:254 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "" -#: dcim/choices.py:137 dcim/choices.py:208 dcim/choices.py:255 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "" -#: dcim/choices.py:151 dcim/forms/bulk_edit.py:68 dcim/forms/bulk_edit.py:87 -#: dcim/forms/bulk_edit.py:173 dcim/forms/bulk_edit.py:1405 -#: dcim/forms/bulk_import.py:60 dcim/forms/bulk_import.py:74 -#: dcim/forms/bulk_import.py:137 dcim/forms/bulk_import.py:566 -#: dcim/forms/bulk_import.py:833 dcim/forms/bulk_import.py:1088 -#: dcim/forms/filtersets.py:234 dcim/forms/model_forms.py:74 -#: dcim/forms/model_forms.py:93 dcim/forms/model_forms.py:170 -#: dcim/forms/model_forms.py:1062 dcim/forms/model_forms.py:1502 -#: dcim/forms/object_import.py:176 dcim/tables/devices.py:656 -#: dcim/tables/devices.py:869 dcim/tables/devices.py:954 -#: extras/tables/tables.py:223 ipam/tables/fhrp.py:59 ipam/tables/ip.py:378 -#: ipam/tables/services.py:44 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:162 wireless/forms/bulk_edit.py:24 -#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:21 +#: netbox/dcim/choices.py:151 netbox/dcim/forms/bulk_edit.py:68 +#: netbox/dcim/forms/bulk_edit.py:87 netbox/dcim/forms/bulk_edit.py:173 +#: netbox/dcim/forms/bulk_edit.py:1405 netbox/dcim/forms/bulk_import.py:60 +#: netbox/dcim/forms/bulk_import.py:74 netbox/dcim/forms/bulk_import.py:137 +#: netbox/dcim/forms/bulk_import.py:566 netbox/dcim/forms/bulk_import.py:833 +#: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 +#: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 +#: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 +#: netbox/dcim/forms/model_forms.py:1502 netbox/dcim/forms/object_import.py:176 +#: netbox/dcim/tables/devices.py:656 netbox/dcim/tables/devices.py:869 +#: netbox/dcim/tables/devices.py:954 netbox/extras/tables/tables.py:223 +#: netbox/ipam/tables/fhrp.py:59 netbox/ipam/tables/ip.py:378 +#: netbox/ipam/tables/services.py:44 netbox/templates/dcim/interface.html:102 +#: netbox/templates/dcim/interface.html:309 +#: netbox/templates/dcim/location.html:41 netbox/templates/dcim/region.html:37 +#: netbox/templates/dcim/sitegroup.html:37 +#: netbox/templates/ipam/service.html:28 +#: netbox/templates/tenancy/contactgroup.html:29 +#: netbox/templates/tenancy/tenantgroup.html:37 +#: netbox/templates/virtualization/vminterface.html:39 +#: netbox/templates/wireless/wirelesslangroup.html:37 +#: netbox/tenancy/forms/bulk_edit.py:27 netbox/tenancy/forms/bulk_edit.py:61 +#: netbox/tenancy/forms/bulk_import.py:24 +#: netbox/tenancy/forms/bulk_import.py:58 +#: netbox/tenancy/forms/model_forms.py:25 +#: netbox/tenancy/forms/model_forms.py:68 +#: netbox/virtualization/forms/bulk_edit.py:207 +#: netbox/virtualization/forms/bulk_import.py:151 +#: netbox/virtualization/tables/virtualmachines.py:162 +#: netbox/wireless/forms/bulk_edit.py:24 +#: netbox/wireless/forms/bulk_import.py:21 +#: netbox/wireless/forms/model_forms.py:21 msgid "Parent" msgstr "" -#: dcim/choices.py:152 +#: netbox/dcim/choices.py:152 msgid "Child" msgstr "" -#: dcim/choices.py:166 templates/dcim/device.html:340 -#: templates/dcim/rack.html:133 templates/dcim/rack_elevation_list.html:20 -#: templates/dcim/rackreservation.html:76 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 +#: netbox/templates/dcim/rack_elevation_list.html:20 +#: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "" -#: dcim/choices.py:167 templates/dcim/device.html:346 -#: templates/dcim/rack.html:139 templates/dcim/rack_elevation_list.html:21 -#: templates/dcim/rackreservation.html:82 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 +#: netbox/templates/dcim/rack_elevation_list.html:21 +#: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" msgstr "" -#: dcim/choices.py:186 dcim/choices.py:238 virtualization/choices.py:46 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 +#: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "" -#: dcim/choices.py:188 +#: netbox/dcim/choices.py:188 msgid "Inventory" msgstr "" -#: dcim/choices.py:209 dcim/choices.py:256 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "" -#: dcim/choices.py:210 dcim/choices.py:257 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "" -#: dcim/choices.py:211 dcim/choices.py:258 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "" -#: dcim/choices.py:212 +#: netbox/dcim/choices.py:212 msgid "Rear to side" msgstr "" -#: dcim/choices.py:213 +#: netbox/dcim/choices.py:213 msgid "Bottom to top" msgstr "" -#: dcim/choices.py:214 +#: netbox/dcim/choices.py:214 msgid "Top to bottom" msgstr "" -#: dcim/choices.py:215 dcim/choices.py:259 dcim/choices.py:1303 +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "" -#: dcim/choices.py:216 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "" -#: dcim/choices.py:484 dcim/choices.py:733 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "" -#: dcim/choices.py:506 dcim/choices.py:755 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "" -#: dcim/choices.py:530 dcim/choices.py:779 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "" -#: dcim/choices.py:538 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "" -#: dcim/choices.py:573 dcim/choices.py:814 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "" -#: dcim/choices.py:581 dcim/choices.py:824 dcim/choices.py:1219 -#: dcim/choices.py:1221 dcim/choices.py:1447 dcim/choices.py:1449 -#: netbox/navigation/menu.py:200 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 +#: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "" -#: dcim/choices.py:787 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "" -#: dcim/choices.py:854 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "" -#: dcim/choices.py:855 dcim/choices.py:1023 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "" -#: dcim/choices.py:856 dcim/choices.py:1097 dcim/forms/bulk_edit.py:1515 -#: dcim/forms/filtersets.py:1330 dcim/forms/model_forms.py:988 -#: dcim/forms/model_forms.py:1397 netbox/navigation/menu.py:140 -#: netbox/navigation/menu.py:144 templates/dcim/interface.html:210 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 +#: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 +#: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 +#: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 +#: netbox/templates/dcim/interface.html:210 msgid "Wireless" msgstr "" -#: dcim/choices.py:1021 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "" -#: dcim/choices.py:1024 dcim/forms/bulk_edit.py:1410 -#: dcim/forms/bulk_import.py:840 dcim/forms/model_forms.py:974 -#: dcim/tables/devices.py:660 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:166 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 +#: netbox/dcim/tables/devices.py:660 netbox/templates/dcim/interface.html:106 +#: netbox/templates/virtualization/vminterface.html:43 +#: netbox/virtualization/forms/bulk_edit.py:212 +#: netbox/virtualization/forms/bulk_import.py:158 +#: netbox/virtualization/tables/virtualmachines.py:166 msgid "Bridge" msgstr "" -#: dcim/choices.py:1025 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "" -#: dcim/choices.py:1029 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "" -#: dcim/choices.py:1044 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "" -#: dcim/choices.py:1081 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "" -#: dcim/choices.py:1113 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "" -#: dcim/choices.py:1165 dcim/forms/filtersets.py:383 -#: dcim/forms/filtersets.py:809 dcim/forms/filtersets.py:963 -#: dcim/forms/filtersets.py:1542 templates/dcim/inventoryitem.html:52 -#: templates/dcim/virtualchassis_edit.html:54 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 +#: netbox/dcim/forms/filtersets.py:1542 +#: netbox/templates/dcim/inventoryitem.html:52 +#: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" msgstr "" -#: dcim/choices.py:1180 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "" -#: dcim/choices.py:1200 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "" -#: dcim/choices.py:1250 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "" -#: dcim/choices.py:1251 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "" -#: dcim/choices.py:1252 netbox/preferences.py:31 wireless/choices.py:480 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 +#: netbox/wireless/choices.py:480 msgid "Auto" msgstr "" -#: dcim/choices.py:1263 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "" -#: dcim/choices.py:1264 ipam/tables/vlans.py:172 ipam/tables/vlans.py:217 -#: templates/dcim/inc/interface_vlans_table.html:7 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 +#: netbox/ipam/tables/vlans.py:217 +#: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "" -#: dcim/choices.py:1265 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "" -#: dcim/choices.py:1294 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "" -#: dcim/choices.py:1305 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "" -#: dcim/choices.py:1306 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "" -#: dcim/choices.py:1307 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "" -#: dcim/choices.py:1308 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "" -#: dcim/choices.py:1378 dcim/choices.py:1488 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "" -#: dcim/choices.py:1401 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "" -#: dcim/choices.py:1434 dcim/choices.py:1517 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "" -#: dcim/choices.py:1504 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "" -#: dcim/choices.py:1529 dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "" -#: dcim/choices.py:1548 wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "" -#: dcim/choices.py:1549 templates/dcim/cable_trace.html:65 -#: wireless/choices.py:498 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 +#: netbox/wireless/choices.py:498 msgid "Meters" msgstr "" -#: dcim/choices.py:1550 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "" -#: dcim/choices.py:1551 wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "" -#: dcim/choices.py:1552 templates/dcim/cable_trace.html:66 -#: wireless/choices.py:500 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 +#: netbox/wireless/choices.py:500 msgid "Feet" msgstr "" -#: dcim/choices.py:1568 templates/dcim/device.html:327 -#: templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "" -#: dcim/choices.py:1569 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "" -#: dcim/choices.py:1570 templates/dcim/device.html:328 -#: templates/dcim/rack.html:108 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "" -#: dcim/choices.py:1571 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "" -#: dcim/choices.py:1618 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "" -#: dcim/choices.py:1639 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "" -#: dcim/choices.py:1640 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "" -#: dcim/fields.py:45 +#: netbox/dcim/fields.py:45 #, python-brace-format msgid "Invalid MAC address format: {value}" msgstr "" -#: dcim/fields.py:71 +#: netbox/dcim/fields.py:71 #, python-brace-format msgid "Invalid WWN format: {value}" msgstr "" -#: dcim/filtersets.py:86 +#: netbox/dcim/filtersets.py:86 msgid "Parent region (ID)" msgstr "" -#: dcim/filtersets.py:92 +#: netbox/dcim/filtersets.py:92 msgid "Parent region (slug)" msgstr "" -#: dcim/filtersets.py:116 +#: netbox/dcim/filtersets.py:116 msgid "Parent site group (ID)" msgstr "" -#: dcim/filtersets.py:122 +#: netbox/dcim/filtersets.py:122 msgid "Parent site group (slug)" msgstr "" -#: dcim/filtersets.py:164 extras/filtersets.py:364 ipam/filtersets.py:841 -#: ipam/filtersets.py:993 +#: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364 +#: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:993 msgid "Group (ID)" msgstr "" -#: dcim/filtersets.py:170 +#: netbox/dcim/filtersets.py:170 msgid "Group (slug)" msgstr "" -#: dcim/filtersets.py:176 dcim/filtersets.py:181 +#: netbox/dcim/filtersets.py:176 netbox/dcim/filtersets.py:181 msgid "AS (ID)" msgstr "" -#: dcim/filtersets.py:246 +#: netbox/dcim/filtersets.py:246 msgid "Parent location (ID)" msgstr "" -#: dcim/filtersets.py:252 +#: netbox/dcim/filtersets.py:252 msgid "Parent location (slug)" msgstr "" -#: dcim/filtersets.py:258 dcim/filtersets.py:369 dcim/filtersets.py:490 -#: dcim/filtersets.py:1057 dcim/filtersets.py:1404 dcim/filtersets.py:2182 +#: netbox/dcim/filtersets.py:258 netbox/dcim/filtersets.py:369 +#: netbox/dcim/filtersets.py:490 netbox/dcim/filtersets.py:1057 +#: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:2182 msgid "Location (ID)" msgstr "" -#: dcim/filtersets.py:265 dcim/filtersets.py:376 dcim/filtersets.py:497 -#: dcim/filtersets.py:1410 extras/filtersets.py:542 +#: netbox/dcim/filtersets.py:265 netbox/dcim/filtersets.py:376 +#: netbox/dcim/filtersets.py:497 netbox/dcim/filtersets.py:1410 +#: netbox/extras/filtersets.py:542 msgid "Location (slug)" msgstr "" -#: dcim/filtersets.py:296 dcim/filtersets.py:381 dcim/filtersets.py:539 -#: dcim/filtersets.py:678 dcim/filtersets.py:882 dcim/filtersets.py:933 -#: dcim/filtersets.py:973 dcim/filtersets.py:1306 dcim/filtersets.py:1840 +#: netbox/dcim/filtersets.py:296 netbox/dcim/filtersets.py:381 +#: netbox/dcim/filtersets.py:539 netbox/dcim/filtersets.py:678 +#: netbox/dcim/filtersets.py:882 netbox/dcim/filtersets.py:933 +#: netbox/dcim/filtersets.py:973 netbox/dcim/filtersets.py:1306 +#: netbox/dcim/filtersets.py:1840 msgid "Manufacturer (ID)" msgstr "" -#: dcim/filtersets.py:302 dcim/filtersets.py:387 dcim/filtersets.py:545 -#: dcim/filtersets.py:684 dcim/filtersets.py:888 dcim/filtersets.py:939 -#: dcim/filtersets.py:979 dcim/filtersets.py:1312 dcim/filtersets.py:1846 +#: netbox/dcim/filtersets.py:302 netbox/dcim/filtersets.py:387 +#: netbox/dcim/filtersets.py:545 netbox/dcim/filtersets.py:684 +#: netbox/dcim/filtersets.py:888 netbox/dcim/filtersets.py:939 +#: netbox/dcim/filtersets.py:979 netbox/dcim/filtersets.py:1312 +#: netbox/dcim/filtersets.py:1846 msgid "Manufacturer (slug)" msgstr "" -#: dcim/filtersets.py:393 +#: netbox/dcim/filtersets.py:393 msgid "Rack type (slug)" msgstr "" -#: dcim/filtersets.py:397 +#: netbox/dcim/filtersets.py:397 msgid "Rack type (ID)" msgstr "" -#: dcim/filtersets.py:411 dcim/filtersets.py:892 dcim/filtersets.py:994 -#: dcim/filtersets.py:1850 ipam/filtersets.py:381 ipam/filtersets.py:493 -#: ipam/filtersets.py:1003 virtualization/filtersets.py:210 +#: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892 +#: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850 +#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 +#: netbox/ipam/filtersets.py:1003 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "" -#: dcim/filtersets.py:417 dcim/filtersets.py:898 dcim/filtersets.py:1000 -#: dcim/filtersets.py:1856 extras/filtersets.py:558 ipam/filtersets.py:387 -#: ipam/filtersets.py:499 ipam/filtersets.py:1009 -#: virtualization/filtersets.py:216 +#: netbox/dcim/filtersets.py:417 netbox/dcim/filtersets.py:898 +#: netbox/dcim/filtersets.py:1000 netbox/dcim/filtersets.py:1856 +#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:387 +#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:1009 +#: netbox/virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "" -#: dcim/filtersets.py:447 dcim/filtersets.py:1062 dcim/filtersets.py:1415 -#: dcim/filtersets.py:2244 +#: netbox/dcim/filtersets.py:447 netbox/dcim/filtersets.py:1062 +#: netbox/dcim/filtersets.py:1415 netbox/dcim/filtersets.py:2244 msgid "Rack (ID)" msgstr "" -#: dcim/filtersets.py:507 extras/filtersets.py:293 extras/filtersets.py:337 -#: extras/filtersets.py:359 extras/filtersets.py:419 users/filtersets.py:113 -#: users/filtersets.py:180 +#: netbox/dcim/filtersets.py:507 netbox/extras/filtersets.py:293 +#: netbox/extras/filtersets.py:337 netbox/extras/filtersets.py:359 +#: netbox/extras/filtersets.py:419 netbox/users/filtersets.py:113 +#: netbox/users/filtersets.py:180 msgid "User (name)" msgstr "" -#: dcim/filtersets.py:549 +#: netbox/dcim/filtersets.py:549 msgid "Default platform (ID)" msgstr "" -#: dcim/filtersets.py:555 +#: netbox/dcim/filtersets.py:555 msgid "Default platform (slug)" msgstr "" -#: dcim/filtersets.py:558 dcim/forms/filtersets.py:517 +#: netbox/dcim/filtersets.py:558 netbox/dcim/forms/filtersets.py:517 msgid "Has a front image" msgstr "" -#: dcim/filtersets.py:562 dcim/forms/filtersets.py:524 +#: netbox/dcim/filtersets.py:562 netbox/dcim/forms/filtersets.py:524 msgid "Has a rear image" msgstr "" -#: dcim/filtersets.py:567 dcim/filtersets.py:688 dcim/filtersets.py:1131 -#: dcim/forms/filtersets.py:531 dcim/forms/filtersets.py:627 -#: dcim/forms/filtersets.py:848 +#: netbox/dcim/filtersets.py:567 netbox/dcim/filtersets.py:688 +#: netbox/dcim/filtersets.py:1131 netbox/dcim/forms/filtersets.py:531 +#: netbox/dcim/forms/filtersets.py:627 netbox/dcim/forms/filtersets.py:848 msgid "Has console ports" msgstr "" -#: dcim/filtersets.py:571 dcim/filtersets.py:692 dcim/filtersets.py:1135 -#: dcim/forms/filtersets.py:538 dcim/forms/filtersets.py:634 -#: dcim/forms/filtersets.py:855 +#: netbox/dcim/filtersets.py:571 netbox/dcim/filtersets.py:692 +#: netbox/dcim/filtersets.py:1135 netbox/dcim/forms/filtersets.py:538 +#: netbox/dcim/forms/filtersets.py:634 netbox/dcim/forms/filtersets.py:855 msgid "Has console server ports" msgstr "" -#: dcim/filtersets.py:575 dcim/filtersets.py:696 dcim/filtersets.py:1139 -#: dcim/forms/filtersets.py:545 dcim/forms/filtersets.py:641 -#: dcim/forms/filtersets.py:862 +#: netbox/dcim/filtersets.py:575 netbox/dcim/filtersets.py:696 +#: netbox/dcim/filtersets.py:1139 netbox/dcim/forms/filtersets.py:545 +#: netbox/dcim/forms/filtersets.py:641 netbox/dcim/forms/filtersets.py:862 msgid "Has power ports" msgstr "" -#: dcim/filtersets.py:579 dcim/filtersets.py:700 dcim/filtersets.py:1143 -#: dcim/forms/filtersets.py:552 dcim/forms/filtersets.py:648 -#: dcim/forms/filtersets.py:869 +#: netbox/dcim/filtersets.py:579 netbox/dcim/filtersets.py:700 +#: netbox/dcim/filtersets.py:1143 netbox/dcim/forms/filtersets.py:552 +#: netbox/dcim/forms/filtersets.py:648 netbox/dcim/forms/filtersets.py:869 msgid "Has power outlets" msgstr "" -#: dcim/filtersets.py:583 dcim/filtersets.py:704 dcim/filtersets.py:1147 -#: dcim/forms/filtersets.py:559 dcim/forms/filtersets.py:655 -#: dcim/forms/filtersets.py:876 +#: netbox/dcim/filtersets.py:583 netbox/dcim/filtersets.py:704 +#: netbox/dcim/filtersets.py:1147 netbox/dcim/forms/filtersets.py:559 +#: netbox/dcim/forms/filtersets.py:655 netbox/dcim/forms/filtersets.py:876 msgid "Has interfaces" msgstr "" -#: dcim/filtersets.py:587 dcim/filtersets.py:708 dcim/filtersets.py:1151 -#: dcim/forms/filtersets.py:566 dcim/forms/filtersets.py:662 -#: dcim/forms/filtersets.py:883 +#: netbox/dcim/filtersets.py:587 netbox/dcim/filtersets.py:708 +#: netbox/dcim/filtersets.py:1151 netbox/dcim/forms/filtersets.py:566 +#: netbox/dcim/forms/filtersets.py:662 netbox/dcim/forms/filtersets.py:883 msgid "Has pass-through ports" msgstr "" -#: dcim/filtersets.py:591 dcim/filtersets.py:1155 dcim/forms/filtersets.py:580 +#: netbox/dcim/filtersets.py:591 netbox/dcim/filtersets.py:1155 +#: netbox/dcim/forms/filtersets.py:580 msgid "Has module bays" msgstr "" -#: dcim/filtersets.py:595 dcim/filtersets.py:1159 dcim/forms/filtersets.py:573 +#: netbox/dcim/filtersets.py:595 netbox/dcim/filtersets.py:1159 +#: netbox/dcim/forms/filtersets.py:573 msgid "Has device bays" msgstr "" -#: dcim/filtersets.py:599 dcim/forms/filtersets.py:587 +#: netbox/dcim/filtersets.py:599 netbox/dcim/forms/filtersets.py:587 msgid "Has inventory items" msgstr "" -#: dcim/filtersets.py:756 dcim/filtersets.py:989 dcim/filtersets.py:1436 +#: netbox/dcim/filtersets.py:756 netbox/dcim/filtersets.py:989 +#: netbox/dcim/filtersets.py:1436 msgid "Device type (ID)" msgstr "" -#: dcim/filtersets.py:772 dcim/filtersets.py:1317 +#: netbox/dcim/filtersets.py:772 netbox/dcim/filtersets.py:1317 msgid "Module type (ID)" msgstr "" -#: dcim/filtersets.py:804 dcim/filtersets.py:1591 +#: netbox/dcim/filtersets.py:804 netbox/dcim/filtersets.py:1591 msgid "Power port (ID)" msgstr "" -#: dcim/filtersets.py:878 dcim/filtersets.py:1836 +#: netbox/dcim/filtersets.py:878 netbox/dcim/filtersets.py:1836 msgid "Parent inventory item (ID)" msgstr "" -#: dcim/filtersets.py:921 dcim/filtersets.py:947 dcim/filtersets.py:1127 -#: virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:947 +#: netbox/dcim/filtersets.py:1127 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "" -#: dcim/filtersets.py:985 +#: netbox/dcim/filtersets.py:985 msgid "Device type (slug)" msgstr "" -#: dcim/filtersets.py:1005 +#: netbox/dcim/filtersets.py:1005 msgid "Parent Device (ID)" msgstr "" -#: dcim/filtersets.py:1009 virtualization/filtersets.py:220 +#: netbox/dcim/filtersets.py:1009 netbox/virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "" -#: dcim/filtersets.py:1015 extras/filtersets.py:569 -#: virtualization/filtersets.py:226 +#: netbox/dcim/filtersets.py:1015 netbox/extras/filtersets.py:569 +#: netbox/virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "" -#: dcim/filtersets.py:1051 dcim/filtersets.py:1399 dcim/filtersets.py:1934 -#: dcim/filtersets.py:2176 dcim/filtersets.py:2235 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/filtersets.py:1399 +#: netbox/dcim/filtersets.py:1934 netbox/dcim/filtersets.py:2176 +#: netbox/dcim/filtersets.py:2235 msgid "Site name (slug)" msgstr "" -#: dcim/filtersets.py:1067 +#: netbox/dcim/filtersets.py:1067 msgid "Parent bay (ID)" msgstr "" -#: dcim/filtersets.py:1071 +#: netbox/dcim/filtersets.py:1071 msgid "VM cluster (ID)" msgstr "" -#: dcim/filtersets.py:1077 extras/filtersets.py:591 -#: virtualization/filtersets.py:136 +#: netbox/dcim/filtersets.py:1077 netbox/extras/filtersets.py:591 +#: netbox/virtualization/filtersets.py:136 msgid "Cluster group (slug)" msgstr "" -#: dcim/filtersets.py:1082 virtualization/filtersets.py:130 +#: netbox/dcim/filtersets.py:1082 netbox/virtualization/filtersets.py:130 msgid "Cluster group (ID)" msgstr "" -#: dcim/filtersets.py:1088 +#: netbox/dcim/filtersets.py:1088 msgid "Device model (slug)" msgstr "" -#: dcim/filtersets.py:1099 dcim/forms/bulk_edit.py:516 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/bulk_edit.py:516 msgid "Is full depth" msgstr "" -#: dcim/filtersets.py:1103 dcim/forms/common.py:18 dcim/forms/filtersets.py:818 -#: dcim/forms/filtersets.py:1385 dcim/models/device_components.py:518 -#: virtualization/filtersets.py:230 virtualization/filtersets.py:301 -#: virtualization/forms/filtersets.py:172 -#: virtualization/forms/filtersets.py:223 +#: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 +#: netbox/dcim/models/device_components.py:518 +#: netbox/virtualization/filtersets.py:230 +#: netbox/virtualization/filtersets.py:301 +#: netbox/virtualization/forms/filtersets.py:172 +#: netbox/virtualization/forms/filtersets.py:223 msgid "MAC address" msgstr "" -#: dcim/filtersets.py:1110 dcim/filtersets.py:1274 dcim/forms/filtersets.py:827 -#: dcim/forms/filtersets.py:930 virtualization/filtersets.py:234 -#: virtualization/forms/filtersets.py:176 +#: netbox/dcim/filtersets.py:1110 netbox/dcim/filtersets.py:1274 +#: netbox/dcim/forms/filtersets.py:827 netbox/dcim/forms/filtersets.py:930 +#: netbox/virtualization/filtersets.py:234 +#: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "" -#: dcim/filtersets.py:1114 +#: netbox/dcim/filtersets.py:1114 msgid "Has an out-of-band IP" msgstr "" -#: dcim/filtersets.py:1119 +#: netbox/dcim/filtersets.py:1119 msgid "Virtual chassis (ID)" msgstr "" -#: dcim/filtersets.py:1123 +#: netbox/dcim/filtersets.py:1123 msgid "Is a virtual chassis member" msgstr "" -#: dcim/filtersets.py:1164 +#: netbox/dcim/filtersets.py:1164 msgid "OOB IP (ID)" msgstr "" -#: dcim/filtersets.py:1168 +#: netbox/dcim/filtersets.py:1168 msgid "Has virtual device context" msgstr "" -#: dcim/filtersets.py:1257 +#: netbox/dcim/filtersets.py:1257 msgid "VDC (ID)" msgstr "" -#: dcim/filtersets.py:1262 +#: netbox/dcim/filtersets.py:1262 msgid "Device model" msgstr "" -#: dcim/filtersets.py:1267 ipam/filtersets.py:632 vpn/filtersets.py:102 -#: vpn/filtersets.py:401 +#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "" -#: dcim/filtersets.py:1323 +#: netbox/dcim/filtersets.py:1323 msgid "Module type (model)" msgstr "" -#: dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1329 msgid "Module bay (ID)" msgstr "" -#: dcim/filtersets.py:1333 dcim/filtersets.py:1425 ipam/filtersets.py:611 -#: ipam/filtersets.py:851 ipam/filtersets.py:1115 -#: virtualization/filtersets.py:161 vpn/filtersets.py:379 +#: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 +#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "" -#: dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1421 msgid "Rack (name)" msgstr "" -#: dcim/filtersets.py:1431 ipam/filtersets.py:606 ipam/filtersets.py:846 -#: ipam/filtersets.py:1121 vpn/filtersets.py:374 +#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "" -#: dcim/filtersets.py:1442 +#: netbox/dcim/filtersets.py:1442 msgid "Device type (model)" msgstr "" -#: dcim/filtersets.py:1447 +#: netbox/dcim/filtersets.py:1447 msgid "Device role (ID)" msgstr "" -#: dcim/filtersets.py:1453 +#: netbox/dcim/filtersets.py:1453 msgid "Device role (slug)" msgstr "" -#: dcim/filtersets.py:1458 +#: netbox/dcim/filtersets.py:1458 msgid "Virtual Chassis (ID)" msgstr "" -#: dcim/filtersets.py:1464 dcim/forms/filtersets.py:109 -#: dcim/tables/devices.py:206 netbox/navigation/menu.py:79 -#: templates/dcim/device.html:120 templates/dcim/device_edit.html:93 -#: templates/dcim/virtualchassis.html:20 -#: templates/dcim/virtualchassis_add.html:8 -#: templates/dcim/virtualchassis_edit.html:24 +#: netbox/dcim/filtersets.py:1464 netbox/dcim/forms/filtersets.py:109 +#: netbox/dcim/tables/devices.py:206 netbox/netbox/navigation/menu.py:79 +#: netbox/templates/dcim/device.html:120 +#: netbox/templates/dcim/device_edit.html:93 +#: netbox/templates/dcim/virtualchassis.html:20 +#: netbox/templates/dcim/virtualchassis_add.html:8 +#: netbox/templates/dcim/virtualchassis_edit.html:24 msgid "Virtual Chassis" msgstr "" -#: dcim/filtersets.py:1488 +#: netbox/dcim/filtersets.py:1488 msgid "Module (ID)" msgstr "" -#: dcim/filtersets.py:1495 +#: netbox/dcim/filtersets.py:1495 msgid "Cable (ID)" msgstr "" -#: dcim/filtersets.py:1604 ipam/forms/bulk_import.py:189 -#: vpn/forms/bulk_import.py:308 +#: netbox/dcim/filtersets.py:1604 netbox/ipam/forms/bulk_import.py:189 +#: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "" -#: dcim/filtersets.py:1608 +#: netbox/dcim/filtersets.py:1608 msgid "Assigned VID" msgstr "" -#: dcim/filtersets.py:1613 dcim/forms/bulk_edit.py:1489 -#: dcim/forms/bulk_import.py:891 dcim/forms/filtersets.py:1428 -#: dcim/forms/model_forms.py:1378 dcim/models/device_components.py:711 -#: dcim/tables/devices.py:626 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:242 ipam/forms/bulk_edit.py:298 -#: ipam/forms/bulk_edit.py:340 ipam/forms/bulk_import.py:157 -#: ipam/forms/bulk_import.py:243 ipam/forms/bulk_import.py:279 -#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:172 -#: ipam/forms/filtersets.py:309 ipam/forms/model_forms.py:62 -#: ipam/forms/model_forms.py:202 ipam/forms/model_forms.py:247 -#: ipam/forms/model_forms.py:300 ipam/forms/model_forms.py:431 -#: ipam/forms/model_forms.py:445 ipam/forms/model_forms.py:459 -#: ipam/models/ip.py:233 ipam/models/ip.py:512 ipam/models/ip.py:720 -#: ipam/models/vrfs.py:62 ipam/tables/ip.py:242 ipam/tables/ip.py:309 -#: ipam/tables/ip.py:360 ipam/tables/ip.py:450 -#: 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:228 -#: virtualization/forms/model_forms.py:344 -#: virtualization/models/virtualmachines.py:355 -#: virtualization/tables/virtualmachines.py:143 +#: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 +#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 +#: netbox/dcim/forms/model_forms.py:1378 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:316 +#: netbox/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 +#: netbox/ipam/filtersets.py:584 netbox/ipam/filtersets.py:595 +#: netbox/ipam/forms/bulk_edit.py:242 netbox/ipam/forms/bulk_edit.py:298 +#: netbox/ipam/forms/bulk_edit.py:340 netbox/ipam/forms/bulk_import.py:157 +#: netbox/ipam/forms/bulk_import.py:243 netbox/ipam/forms/bulk_import.py:279 +#: netbox/ipam/forms/filtersets.py:67 netbox/ipam/forms/filtersets.py:172 +#: netbox/ipam/forms/filtersets.py:309 netbox/ipam/forms/model_forms.py:62 +#: netbox/ipam/forms/model_forms.py:202 netbox/ipam/forms/model_forms.py:247 +#: netbox/ipam/forms/model_forms.py:300 netbox/ipam/forms/model_forms.py:431 +#: netbox/ipam/forms/model_forms.py:445 netbox/ipam/forms/model_forms.py:459 +#: netbox/ipam/models/ip.py:233 netbox/ipam/models/ip.py:512 +#: netbox/ipam/models/ip.py:720 netbox/ipam/models/vrfs.py:62 +#: netbox/ipam/tables/ip.py:242 netbox/ipam/tables/ip.py:309 +#: netbox/ipam/tables/ip.py:360 netbox/ipam/tables/ip.py:450 +#: netbox/templates/dcim/interface.html:133 +#: netbox/templates/ipam/ipaddress.html:18 +#: netbox/templates/ipam/iprange.html:40 netbox/templates/ipam/prefix.html:19 +#: netbox/templates/ipam/vrf.html:7 netbox/templates/ipam/vrf.html:13 +#: netbox/templates/virtualization/vminterface.html:47 +#: netbox/virtualization/forms/bulk_edit.py:261 +#: netbox/virtualization/forms/bulk_import.py:171 +#: netbox/virtualization/forms/filtersets.py:228 +#: netbox/virtualization/forms/model_forms.py:344 +#: netbox/virtualization/models/virtualmachines.py:355 +#: netbox/virtualization/tables/virtualmachines.py:143 msgid "VRF" msgstr "" -#: dcim/filtersets.py:1619 ipam/filtersets.py:322 ipam/filtersets.py:333 -#: ipam/filtersets.py:489 ipam/filtersets.py:590 ipam/filtersets.py:601 +#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:322 +#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 +#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "" -#: dcim/filtersets.py:1624 ipam/filtersets.py:1030 vpn/filtersets.py:342 +#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "" -#: dcim/filtersets.py:1630 dcim/forms/filtersets.py:1433 -#: dcim/tables/devices.py:570 ipam/filtersets.py:1036 -#: ipam/forms/filtersets.py:518 ipam/tables/vlans.py:137 -#: templates/dcim/interface.html:93 templates/ipam/vlan.html:66 -#: templates/vpn/l2vpntermination.html:12 -#: virtualization/forms/filtersets.py:233 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 +#: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1036 +#: netbox/ipam/forms/filtersets.py:518 netbox/ipam/tables/vlans.py:137 +#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 +#: netbox/templates/vpn/l2vpntermination.html:12 +#: netbox/virtualization/forms/filtersets.py:233 +#: netbox/vpn/forms/bulk_import.py:280 netbox/vpn/forms/filtersets.py:246 +#: netbox/vpn/forms/model_forms.py:409 netbox/vpn/forms/model_forms.py:427 +#: netbox/vpn/models/l2vpn.py:63 netbox/vpn/tables/l2vpn.py:55 msgid "L2VPN" msgstr "" -#: dcim/filtersets.py:1662 +#: netbox/dcim/filtersets.py:1662 msgid "Virtual Chassis Interfaces for Device" msgstr "" -#: dcim/filtersets.py:1667 +#: netbox/dcim/filtersets.py:1667 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "" -#: dcim/filtersets.py:1671 +#: netbox/dcim/filtersets.py:1671 msgid "Kind of interface" msgstr "" -#: dcim/filtersets.py:1676 virtualization/filtersets.py:293 +#: netbox/dcim/filtersets.py:1676 netbox/virtualization/filtersets.py:293 msgid "Parent interface (ID)" msgstr "" -#: dcim/filtersets.py:1681 virtualization/filtersets.py:298 +#: netbox/dcim/filtersets.py:1681 netbox/virtualization/filtersets.py:298 msgid "Bridged interface (ID)" msgstr "" -#: dcim/filtersets.py:1686 +#: netbox/dcim/filtersets.py:1686 msgid "LAG interface (ID)" msgstr "" -#: dcim/filtersets.py:1713 dcim/filtersets.py:1725 -#: dcim/forms/filtersets.py:1345 dcim/forms/model_forms.py:1690 -#: templates/dcim/virtualdevicecontext.html:15 +#: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 +#: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "" -#: dcim/filtersets.py:1719 +#: netbox/dcim/filtersets.py:1719 msgid "Virtual Device Context (Identifier)" msgstr "" -#: dcim/filtersets.py:1730 templates/wireless/wirelesslan.html:11 -#: wireless/forms/model_forms.py:53 +#: netbox/dcim/filtersets.py:1730 netbox/templates/wireless/wirelesslan.html:11 +#: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "" -#: dcim/filtersets.py:1734 dcim/tables/devices.py:613 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "" -#: dcim/filtersets.py:1803 +#: netbox/dcim/filtersets.py:1803 msgid "Parent module bay (ID)" msgstr "" -#: dcim/filtersets.py:1808 +#: netbox/dcim/filtersets.py:1808 msgid "Installed module (ID)" msgstr "" -#: dcim/filtersets.py:1819 +#: netbox/dcim/filtersets.py:1819 msgid "Installed device (ID)" msgstr "" -#: dcim/filtersets.py:1825 +#: netbox/dcim/filtersets.py:1825 msgid "Installed device (name)" msgstr "" -#: dcim/filtersets.py:1891 +#: netbox/dcim/filtersets.py:1891 msgid "Master (ID)" msgstr "" -#: dcim/filtersets.py:1897 +#: netbox/dcim/filtersets.py:1897 msgid "Master (name)" msgstr "" -#: dcim/filtersets.py:1939 tenancy/filtersets.py:245 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "" -#: dcim/filtersets.py:1945 extras/filtersets.py:618 tenancy/filtersets.py:251 +#: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "" -#: dcim/filtersets.py:1981 dcim/forms/filtersets.py:1077 +#: netbox/dcim/filtersets.py:1981 netbox/dcim/forms/filtersets.py:1077 msgid "Unterminated" msgstr "" -#: dcim/filtersets.py:2239 +#: netbox/dcim/filtersets.py:2239 msgid "Power panel (ID)" msgstr "" -#: dcim/forms/bulk_create.py:40 extras/forms/filtersets.py:401 -#: extras/forms/model_forms.py:567 extras/forms/model_forms.py:619 -#: netbox/forms/base.py:86 netbox/forms/mixins.py:81 -#: netbox/tables/columns.py:478 -#: templates/circuits/inc/circuit_termination.html:32 -#: templates/generic/bulk_edit.html:65 templates/inc/panels/tags.html:5 -#: utilities/forms/fields/fields.py:81 +#: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:401 +#: netbox/extras/forms/model_forms.py:567 +#: netbox/extras/forms/model_forms.py:619 netbox/netbox/forms/base.py:86 +#: netbox/netbox/forms/mixins.py:81 netbox/netbox/tables/columns.py:478 +#: netbox/templates/circuits/inc/circuit_termination.html:32 +#: netbox/templates/generic/bulk_edit.html:65 +#: netbox/templates/inc/panels/tags.html:5 +#: netbox/utilities/forms/fields/fields.py:81 msgid "Tags" msgstr "" -#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1498 -#: dcim/forms/model_forms.py:488 dcim/forms/model_forms.py:546 -#: dcim/forms/object_create.py:197 dcim/forms/object_create.py:353 -#: dcim/tables/devices.py:165 dcim/tables/devices.py:707 -#: dcim/tables/devicetypes.py:246 templates/dcim/device.html:43 -#: templates/dcim/device.html:131 templates/dcim/modulebay.html:38 -#: templates/dcim/virtualchassis.html:66 -#: templates/dcim/virtualchassis_edit.html:55 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1498 +#: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 +#: netbox/dcim/forms/object_create.py:197 +#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 +#: netbox/templates/dcim/modulebay.html:38 +#: netbox/templates/dcim/virtualchassis.html:66 +#: netbox/templates/dcim/virtualchassis_edit.html:55 msgid "Position" msgstr "" -#: dcim/forms/bulk_create.py:114 +#: netbox/dcim/forms/bulk_create.py:114 msgid "" "Alphanumeric ranges are supported. (Must match the number of names being " "created.)" msgstr "" -#: dcim/forms/bulk_edit.py:132 +#: netbox/dcim/forms/bulk_edit.py:132 msgid "Contact name" msgstr "" -#: dcim/forms/bulk_edit.py:137 +#: netbox/dcim/forms/bulk_edit.py:137 msgid "Contact phone" msgstr "" -#: dcim/forms/bulk_edit.py:143 +#: netbox/dcim/forms/bulk_edit.py:143 msgid "Contact E-mail" msgstr "" -#: dcim/forms/bulk_edit.py:146 dcim/forms/bulk_import.py:123 -#: dcim/forms/model_forms.py:128 +#: netbox/dcim/forms/bulk_edit.py:146 netbox/dcim/forms/bulk_import.py:123 +#: netbox/dcim/forms/model_forms.py:128 msgid "Time zone" msgstr "" -#: dcim/forms/bulk_edit.py:224 dcim/forms/bulk_edit.py:495 -#: dcim/forms/bulk_edit.py:559 dcim/forms/bulk_edit.py:632 -#: dcim/forms/bulk_edit.py:656 dcim/forms/bulk_edit.py:740 -#: dcim/forms/bulk_edit.py:1267 dcim/forms/bulk_edit.py:1660 -#: dcim/forms/bulk_import.py:182 dcim/forms/bulk_import.py:371 -#: dcim/forms/bulk_import.py:405 dcim/forms/bulk_import.py:450 -#: dcim/forms/bulk_import.py:486 dcim/forms/bulk_import.py:1082 -#: dcim/forms/filtersets.py:313 dcim/forms/filtersets.py:372 -#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:619 -#: dcim/forms/filtersets.py:700 dcim/forms/filtersets.py:782 -#: dcim/forms/filtersets.py:947 dcim/forms/filtersets.py:1539 -#: dcim/forms/model_forms.py:207 dcim/forms/model_forms.py:337 -#: dcim/forms/model_forms.py:349 dcim/forms/model_forms.py:395 -#: dcim/forms/model_forms.py:436 dcim/forms/model_forms.py:1075 -#: dcim/forms/model_forms.py:1515 dcim/forms/object_import.py:187 -#: dcim/tables/devices.py:96 dcim/tables/devices.py:172 -#: dcim/tables/devices.py:940 dcim/tables/devicetypes.py:80 -#: dcim/tables/devicetypes.py:308 dcim/tables/modules.py:20 -#: dcim/tables/modules.py:60 dcim/tables/racks.py:58 dcim/tables/racks.py:132 -#: templates/dcim/devicetype.html:14 templates/dcim/inventoryitem.html:44 -#: templates/dcim/manufacturer.html:33 templates/dcim/modulebay.html:62 -#: templates/dcim/moduletype.html:25 templates/dcim/platform.html:37 -#: templates/dcim/racktype.html:16 +#: netbox/dcim/forms/bulk_edit.py:224 netbox/dcim/forms/bulk_edit.py:495 +#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:632 +#: netbox/dcim/forms/bulk_edit.py:656 netbox/dcim/forms/bulk_edit.py:740 +#: netbox/dcim/forms/bulk_edit.py:1267 netbox/dcim/forms/bulk_edit.py:1660 +#: netbox/dcim/forms/bulk_import.py:182 netbox/dcim/forms/bulk_import.py:371 +#: netbox/dcim/forms/bulk_import.py:405 netbox/dcim/forms/bulk_import.py:450 +#: netbox/dcim/forms/bulk_import.py:486 netbox/dcim/forms/bulk_import.py:1082 +#: netbox/dcim/forms/filtersets.py:313 netbox/dcim/forms/filtersets.py:372 +#: netbox/dcim/forms/filtersets.py:494 netbox/dcim/forms/filtersets.py:619 +#: netbox/dcim/forms/filtersets.py:700 netbox/dcim/forms/filtersets.py:782 +#: netbox/dcim/forms/filtersets.py:947 netbox/dcim/forms/filtersets.py:1539 +#: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 +#: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 +#: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 +#: netbox/dcim/forms/model_forms.py:1515 netbox/dcim/forms/object_import.py:187 +#: netbox/dcim/tables/devices.py:96 netbox/dcim/tables/devices.py:172 +#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:80 +#: netbox/dcim/tables/devicetypes.py:308 netbox/dcim/tables/modules.py:20 +#: netbox/dcim/tables/modules.py:60 netbox/dcim/tables/racks.py:58 +#: netbox/dcim/tables/racks.py:132 netbox/templates/dcim/devicetype.html:14 +#: netbox/templates/dcim/inventoryitem.html:44 +#: netbox/templates/dcim/manufacturer.html:33 +#: netbox/templates/dcim/modulebay.html:62 +#: netbox/templates/dcim/moduletype.html:25 +#: netbox/templates/dcim/platform.html:37 +#: netbox/templates/dcim/racktype.html:16 msgid "Manufacturer" msgstr "" -#: dcim/forms/bulk_edit.py:229 dcim/forms/bulk_edit.py:372 -#: dcim/forms/bulk_import.py:191 dcim/forms/bulk_import.py:263 -#: dcim/forms/filtersets.py:255 -#: templates/dcim/inc/panels/racktype_dimensions.html:6 +#: netbox/dcim/forms/bulk_edit.py:229 netbox/dcim/forms/bulk_edit.py:372 +#: netbox/dcim/forms/bulk_import.py:191 netbox/dcim/forms/bulk_import.py:263 +#: netbox/dcim/forms/filtersets.py:255 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:6 msgid "Form factor" msgstr "" -#: dcim/forms/bulk_edit.py:234 dcim/forms/bulk_edit.py:377 -#: dcim/forms/bulk_import.py:199 dcim/forms/bulk_import.py:266 -#: dcim/forms/filtersets.py:260 -#: templates/dcim/inc/panels/racktype_dimensions.html:10 +#: netbox/dcim/forms/bulk_edit.py:234 netbox/dcim/forms/bulk_edit.py:377 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:266 +#: netbox/dcim/forms/filtersets.py:260 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:10 msgid "Width" msgstr "" -#: dcim/forms/bulk_edit.py:240 dcim/forms/bulk_edit.py:383 -#: templates/dcim/devicetype.html:37 +#: netbox/dcim/forms/bulk_edit.py:240 netbox/dcim/forms/bulk_edit.py:383 +#: netbox/templates/dcim/devicetype.html:37 msgid "Height (U)" msgstr "" -#: dcim/forms/bulk_edit.py:249 dcim/forms/bulk_edit.py:388 -#: dcim/forms/filtersets.py:274 +#: netbox/dcim/forms/bulk_edit.py:249 netbox/dcim/forms/bulk_edit.py:388 +#: netbox/dcim/forms/filtersets.py:274 msgid "Descending units" msgstr "" -#: dcim/forms/bulk_edit.py:252 dcim/forms/bulk_edit.py:391 +#: netbox/dcim/forms/bulk_edit.py:252 netbox/dcim/forms/bulk_edit.py:391 msgid "Outer width" msgstr "" -#: dcim/forms/bulk_edit.py:257 dcim/forms/bulk_edit.py:396 +#: netbox/dcim/forms/bulk_edit.py:257 netbox/dcim/forms/bulk_edit.py:396 msgid "Outer depth" msgstr "" -#: dcim/forms/bulk_edit.py:262 dcim/forms/bulk_edit.py:401 -#: dcim/forms/bulk_import.py:204 dcim/forms/bulk_import.py:271 +#: netbox/dcim/forms/bulk_edit.py:262 netbox/dcim/forms/bulk_edit.py:401 +#: netbox/dcim/forms/bulk_import.py:204 netbox/dcim/forms/bulk_import.py:271 msgid "Outer unit" msgstr "" -#: dcim/forms/bulk_edit.py:267 dcim/forms/bulk_edit.py:406 +#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:406 msgid "Mounting depth" msgstr "" -#: dcim/forms/bulk_edit.py:272 dcim/forms/bulk_edit.py:299 -#: dcim/forms/bulk_edit.py:416 dcim/forms/bulk_edit.py:446 -#: dcim/forms/bulk_edit.py:529 dcim/forms/bulk_edit.py:552 -#: dcim/forms/bulk_edit.py:573 dcim/forms/bulk_edit.py:595 -#: dcim/forms/bulk_import.py:384 dcim/forms/bulk_import.py:416 -#: dcim/forms/filtersets.py:285 dcim/forms/filtersets.py:307 -#: dcim/forms/filtersets.py:327 dcim/forms/filtersets.py:401 -#: dcim/forms/filtersets.py:488 dcim/forms/filtersets.py:594 -#: dcim/forms/filtersets.py:613 dcim/forms/filtersets.py:674 -#: dcim/forms/model_forms.py:221 dcim/forms/model_forms.py:298 -#: dcim/tables/devicetypes.py:106 dcim/tables/modules.py:35 -#: dcim/tables/racks.py:74 dcim/tables/racks.py:172 -#: extras/forms/bulk_edit.py:53 extras/forms/bulk_edit.py:133 -#: extras/forms/bulk_edit.py:183 extras/forms/bulk_edit.py:288 -#: extras/forms/filtersets.py:64 extras/forms/filtersets.py:156 -#: extras/forms/filtersets.py:243 ipam/forms/bulk_edit.py:190 -#: templates/dcim/device.html:324 templates/dcim/devicetype.html:49 -#: templates/dcim/moduletype.html:45 templates/dcim/rack.html:81 -#: templates/dcim/racktype.html:41 templates/extras/configcontext.html:17 -#: templates/extras/customlink.html:25 templates/extras/savedfilter.html:33 -#: templates/ipam/role.html:30 +#: netbox/dcim/forms/bulk_edit.py:272 netbox/dcim/forms/bulk_edit.py:299 +#: netbox/dcim/forms/bulk_edit.py:416 netbox/dcim/forms/bulk_edit.py:446 +#: netbox/dcim/forms/bulk_edit.py:529 netbox/dcim/forms/bulk_edit.py:552 +#: netbox/dcim/forms/bulk_edit.py:573 netbox/dcim/forms/bulk_edit.py:595 +#: netbox/dcim/forms/bulk_import.py:384 netbox/dcim/forms/bulk_import.py:416 +#: netbox/dcim/forms/filtersets.py:285 netbox/dcim/forms/filtersets.py:307 +#: netbox/dcim/forms/filtersets.py:327 netbox/dcim/forms/filtersets.py:401 +#: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 +#: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 +#: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 +#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 +#: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 +#: netbox/extras/forms/filtersets.py:64 netbox/extras/forms/filtersets.py:156 +#: netbox/extras/forms/filtersets.py:243 netbox/ipam/forms/bulk_edit.py:190 +#: netbox/templates/dcim/device.html:324 +#: netbox/templates/dcim/devicetype.html:49 +#: netbox/templates/dcim/moduletype.html:45 netbox/templates/dcim/rack.html:81 +#: netbox/templates/dcim/racktype.html:41 +#: netbox/templates/extras/configcontext.html:17 +#: netbox/templates/extras/customlink.html:25 +#: netbox/templates/extras/savedfilter.html:33 +#: netbox/templates/ipam/role.html:30 msgid "Weight" msgstr "" -#: dcim/forms/bulk_edit.py:277 dcim/forms/bulk_edit.py:421 -#: dcim/forms/filtersets.py:290 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/bulk_edit.py:421 +#: netbox/dcim/forms/filtersets.py:290 msgid "Max weight" msgstr "" -#: dcim/forms/bulk_edit.py:282 dcim/forms/bulk_edit.py:426 -#: dcim/forms/bulk_edit.py:534 dcim/forms/bulk_edit.py:578 -#: dcim/forms/bulk_import.py:210 dcim/forms/bulk_import.py:283 -#: dcim/forms/bulk_import.py:389 dcim/forms/bulk_import.py:421 -#: dcim/forms/filtersets.py:295 dcim/forms/filtersets.py:598 -#: dcim/forms/filtersets.py:678 +#: netbox/dcim/forms/bulk_edit.py:282 netbox/dcim/forms/bulk_edit.py:426 +#: netbox/dcim/forms/bulk_edit.py:534 netbox/dcim/forms/bulk_edit.py:578 +#: netbox/dcim/forms/bulk_import.py:210 netbox/dcim/forms/bulk_import.py:283 +#: netbox/dcim/forms/bulk_import.py:389 netbox/dcim/forms/bulk_import.py:421 +#: netbox/dcim/forms/filtersets.py:295 netbox/dcim/forms/filtersets.py:598 +#: netbox/dcim/forms/filtersets.py:678 msgid "Weight unit" msgstr "" -#: dcim/forms/bulk_edit.py:296 dcim/forms/filtersets.py:305 -#: dcim/forms/model_forms.py:217 dcim/forms/model_forms.py:256 -#: templates/dcim/rack.html:45 templates/dcim/racktype.html:13 +#: netbox/dcim/forms/bulk_edit.py:296 netbox/dcim/forms/filtersets.py:305 +#: netbox/dcim/forms/model_forms.py:217 netbox/dcim/forms/model_forms.py:256 +#: netbox/templates/dcim/rack.html:45 netbox/templates/dcim/racktype.html:13 msgid "Rack Type" msgstr "" -#: dcim/forms/bulk_edit.py:298 dcim/forms/model_forms.py:220 -#: dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:298 netbox/dcim/forms/model_forms.py:220 +#: netbox/dcim/forms/model_forms.py:297 msgid "Outer Dimensions" msgstr "" -#: dcim/forms/bulk_edit.py:301 dcim/forms/model_forms.py:222 -#: dcim/forms/model_forms.py:299 templates/dcim/device.html:315 -#: templates/dcim/inc/panels/racktype_dimensions.html:3 +#: netbox/dcim/forms/bulk_edit.py:301 netbox/dcim/forms/model_forms.py:222 +#: netbox/dcim/forms/model_forms.py:299 netbox/templates/dcim/device.html:315 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:3 msgid "Dimensions" msgstr "" -#: dcim/forms/bulk_edit.py:303 dcim/forms/filtersets.py:306 -#: dcim/forms/filtersets.py:326 dcim/forms/model_forms.py:224 -#: templates/dcim/inc/panels/racktype_numbering.html:3 +#: netbox/dcim/forms/bulk_edit.py:303 netbox/dcim/forms/filtersets.py:306 +#: netbox/dcim/forms/filtersets.py:326 netbox/dcim/forms/model_forms.py:224 +#: netbox/templates/dcim/inc/panels/racktype_numbering.html:3 msgid "Numbering" msgstr "" -#: dcim/forms/bulk_edit.py:357 dcim/forms/bulk_edit.py:1262 -#: dcim/forms/bulk_edit.py:1655 dcim/forms/bulk_import.py:253 -#: dcim/forms/bulk_import.py:1076 dcim/forms/filtersets.py:367 -#: dcim/forms/filtersets.py:777 dcim/forms/filtersets.py:1534 -#: dcim/forms/model_forms.py:251 dcim/forms/model_forms.py:1070 -#: dcim/forms/model_forms.py:1510 dcim/forms/object_import.py:181 -#: dcim/tables/devices.py:169 dcim/tables/devices.py:809 -#: dcim/tables/devices.py:937 dcim/tables/devicetypes.py:304 -#: dcim/tables/racks.py:129 extras/filtersets.py:552 -#: ipam/forms/bulk_edit.py:261 ipam/forms/bulk_edit.py:311 -#: ipam/forms/bulk_edit.py:359 ipam/forms/bulk_edit.py:511 -#: ipam/forms/bulk_import.py:197 ipam/forms/bulk_import.py:262 -#: ipam/forms/bulk_import.py:298 ipam/forms/bulk_import.py:455 -#: ipam/forms/filtersets.py:237 ipam/forms/filtersets.py:289 -#: ipam/forms/filtersets.py:360 ipam/forms/filtersets.py:509 -#: ipam/forms/model_forms.py:188 ipam/forms/model_forms.py:221 -#: ipam/forms/model_forms.py:250 ipam/forms/model_forms.py:643 -#: ipam/tables/ip.py:258 ipam/tables/ip.py:316 ipam/tables/ip.py:367 -#: ipam/tables/vlans.py:130 ipam/tables/vlans.py:235 -#: templates/dcim/device.html:182 -#: templates/dcim/inc/panels/inventory_items.html:20 -#: templates/dcim/interface.html:223 templates/dcim/inventoryitem.html:36 -#: templates/dcim/rack.html:49 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: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:157 -#: virtualization/forms/model_forms.py:195 -#: virtualization/tables/virtualmachines.py:75 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 +#: netbox/dcim/forms/bulk_edit.py:357 netbox/dcim/forms/bulk_edit.py:1262 +#: netbox/dcim/forms/bulk_edit.py:1655 netbox/dcim/forms/bulk_import.py:253 +#: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 +#: netbox/dcim/forms/filtersets.py:777 netbox/dcim/forms/filtersets.py:1534 +#: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 +#: netbox/dcim/forms/model_forms.py:1510 netbox/dcim/forms/object_import.py:181 +#: netbox/dcim/tables/devices.py:169 netbox/dcim/tables/devices.py:809 +#: netbox/dcim/tables/devices.py:937 netbox/dcim/tables/devicetypes.py:304 +#: netbox/dcim/tables/racks.py:129 netbox/extras/filtersets.py:552 +#: netbox/ipam/forms/bulk_edit.py:261 netbox/ipam/forms/bulk_edit.py:311 +#: netbox/ipam/forms/bulk_edit.py:359 netbox/ipam/forms/bulk_edit.py:511 +#: netbox/ipam/forms/bulk_import.py:197 netbox/ipam/forms/bulk_import.py:262 +#: netbox/ipam/forms/bulk_import.py:298 netbox/ipam/forms/bulk_import.py:455 +#: netbox/ipam/forms/filtersets.py:237 netbox/ipam/forms/filtersets.py:289 +#: netbox/ipam/forms/filtersets.py:360 netbox/ipam/forms/filtersets.py:509 +#: netbox/ipam/forms/model_forms.py:188 netbox/ipam/forms/model_forms.py:221 +#: netbox/ipam/forms/model_forms.py:250 netbox/ipam/forms/model_forms.py:643 +#: netbox/ipam/tables/ip.py:258 netbox/ipam/tables/ip.py:316 +#: netbox/ipam/tables/ip.py:367 netbox/ipam/tables/vlans.py:130 +#: netbox/ipam/tables/vlans.py:235 netbox/templates/dcim/device.html:182 +#: netbox/templates/dcim/inc/panels/inventory_items.html:20 +#: netbox/templates/dcim/interface.html:223 +#: netbox/templates/dcim/inventoryitem.html:36 +#: netbox/templates/dcim/rack.html:49 netbox/templates/ipam/ipaddress.html:41 +#: netbox/templates/ipam/iprange.html:50 netbox/templates/ipam/prefix.html:77 +#: netbox/templates/ipam/role.html:19 netbox/templates/ipam/vlan.html:52 +#: netbox/templates/virtualization/virtualmachine.html:23 +#: netbox/templates/vpn/tunneltermination.html:17 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:20 +#: netbox/tenancy/forms/bulk_edit.py:142 netbox/tenancy/forms/filtersets.py:107 +#: netbox/tenancy/forms/model_forms.py:137 +#: netbox/tenancy/tables/contacts.py:102 +#: netbox/virtualization/forms/bulk_edit.py:145 +#: netbox/virtualization/forms/bulk_import.py:106 +#: netbox/virtualization/forms/filtersets.py:157 +#: netbox/virtualization/forms/model_forms.py:195 +#: netbox/virtualization/tables/virtualmachines.py:75 +#: netbox/vpn/forms/bulk_edit.py:87 netbox/vpn/forms/bulk_import.py:81 +#: netbox/vpn/forms/filtersets.py:85 netbox/vpn/forms/model_forms.py:78 +#: netbox/vpn/forms/model_forms.py:113 netbox/vpn/tables/tunnels.py:82 msgid "Role" msgstr "" -#: dcim/forms/bulk_edit.py:364 dcim/forms/bulk_edit.py:712 -#: dcim/forms/bulk_edit.py:764 templates/dcim/device.html:104 -#: templates/dcim/module.html:77 templates/dcim/modulebay.html:70 -#: templates/dcim/rack.html:57 templates/virtualization/virtualmachine.html:35 +#: netbox/dcim/forms/bulk_edit.py:364 netbox/dcim/forms/bulk_edit.py:712 +#: netbox/dcim/forms/bulk_edit.py:764 netbox/templates/dcim/device.html:104 +#: netbox/templates/dcim/module.html:77 netbox/templates/dcim/modulebay.html:70 +#: netbox/templates/dcim/rack.html:57 +#: netbox/templates/virtualization/virtualmachine.html:35 msgid "Serial Number" msgstr "" -#: dcim/forms/bulk_edit.py:367 dcim/forms/filtersets.py:387 -#: dcim/forms/filtersets.py:813 dcim/forms/filtersets.py:967 -#: dcim/forms/filtersets.py:1546 +#: netbox/dcim/forms/bulk_edit.py:367 netbox/dcim/forms/filtersets.py:387 +#: netbox/dcim/forms/filtersets.py:813 netbox/dcim/forms/filtersets.py:967 +#: netbox/dcim/forms/filtersets.py:1546 msgid "Asset tag" msgstr "" -#: dcim/forms/bulk_edit.py:411 dcim/forms/bulk_edit.py:524 -#: dcim/forms/bulk_edit.py:568 dcim/forms/bulk_edit.py:705 -#: dcim/forms/bulk_import.py:277 dcim/forms/bulk_import.py:410 -#: dcim/forms/bulk_import.py:580 dcim/forms/filtersets.py:280 -#: dcim/forms/filtersets.py:511 dcim/forms/filtersets.py:669 -#: dcim/forms/filtersets.py:804 templates/dcim/device.html:98 -#: templates/dcim/devicetype.html:65 templates/dcim/moduletype.html:41 -#: templates/dcim/rack.html:65 templates/dcim/racktype.html:28 +#: netbox/dcim/forms/bulk_edit.py:411 netbox/dcim/forms/bulk_edit.py:524 +#: netbox/dcim/forms/bulk_edit.py:568 netbox/dcim/forms/bulk_edit.py:705 +#: netbox/dcim/forms/bulk_import.py:277 netbox/dcim/forms/bulk_import.py:410 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:511 netbox/dcim/forms/filtersets.py:669 +#: netbox/dcim/forms/filtersets.py:804 netbox/templates/dcim/device.html:98 +#: netbox/templates/dcim/devicetype.html:65 +#: netbox/templates/dcim/moduletype.html:41 netbox/templates/dcim/rack.html:65 +#: netbox/templates/dcim/racktype.html:28 msgid "Airflow" msgstr "" -#: dcim/forms/bulk_edit.py:440 dcim/forms/bulk_edit.py:910 -#: dcim/forms/bulk_import.py:322 dcim/forms/bulk_import.py:325 -#: dcim/forms/bulk_import.py:553 dcim/forms/bulk_import.py:1358 -#: dcim/forms/bulk_import.py:1362 dcim/forms/filtersets.py:104 -#: dcim/forms/filtersets.py:324 dcim/forms/filtersets.py:405 -#: dcim/forms/filtersets.py:419 dcim/forms/filtersets.py:457 -#: dcim/forms/filtersets.py:772 dcim/forms/filtersets.py:1035 -#: dcim/forms/filtersets.py:1167 dcim/forms/model_forms.py:264 -#: dcim/forms/model_forms.py:306 dcim/forms/model_forms.py:479 -#: dcim/forms/model_forms.py:755 dcim/forms/object_create.py:400 -#: dcim/tables/devices.py:161 dcim/tables/power.py:70 dcim/tables/racks.py:217 -#: ipam/forms/filtersets.py:442 templates/dcim/device.html:30 -#: templates/dcim/inc/cable_termination.html:16 -#: 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 +#: netbox/dcim/forms/bulk_edit.py:440 netbox/dcim/forms/bulk_edit.py:910 +#: netbox/dcim/forms/bulk_import.py:322 netbox/dcim/forms/bulk_import.py:325 +#: netbox/dcim/forms/bulk_import.py:553 netbox/dcim/forms/bulk_import.py:1358 +#: netbox/dcim/forms/bulk_import.py:1362 netbox/dcim/forms/filtersets.py:104 +#: netbox/dcim/forms/filtersets.py:324 netbox/dcim/forms/filtersets.py:405 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/filtersets.py:457 +#: netbox/dcim/forms/filtersets.py:772 netbox/dcim/forms/filtersets.py:1035 +#: netbox/dcim/forms/filtersets.py:1167 netbox/dcim/forms/model_forms.py:264 +#: netbox/dcim/forms/model_forms.py:306 netbox/dcim/forms/model_forms.py:479 +#: netbox/dcim/forms/model_forms.py:755 netbox/dcim/forms/object_create.py:400 +#: netbox/dcim/tables/devices.py:161 netbox/dcim/tables/power.py:70 +#: netbox/dcim/tables/racks.py:217 netbox/ipam/forms/filtersets.py:442 +#: netbox/templates/dcim/device.html:30 +#: netbox/templates/dcim/inc/cable_termination.html:16 +#: netbox/templates/dcim/powerfeed.html:28 netbox/templates/dcim/rack.html:13 +#: netbox/templates/dcim/rack/base.html:4 +#: netbox/templates/dcim/rackreservation.html:19 +#: netbox/templates/dcim/rackreservation.html:36 +#: netbox/virtualization/forms/model_forms.py:113 msgid "Rack" msgstr "" -#: dcim/forms/bulk_edit.py:444 dcim/forms/bulk_edit.py:730 -#: dcim/forms/filtersets.py:325 dcim/forms/filtersets.py:398 -#: dcim/forms/filtersets.py:481 dcim/forms/filtersets.py:608 -#: dcim/forms/filtersets.py:721 dcim/forms/filtersets.py:942 -#: dcim/forms/model_forms.py:670 dcim/forms/model_forms.py:1580 -#: templates/dcim/device_edit.html:20 +#: netbox/dcim/forms/bulk_edit.py:444 netbox/dcim/forms/bulk_edit.py:730 +#: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 +#: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 +#: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "" -#: dcim/forms/bulk_edit.py:500 dcim/forms/bulk_import.py:377 -#: dcim/forms/filtersets.py:499 dcim/forms/model_forms.py:353 +#: netbox/dcim/forms/bulk_edit.py:500 netbox/dcim/forms/bulk_import.py:377 +#: netbox/dcim/forms/filtersets.py:499 netbox/dcim/forms/model_forms.py:353 msgid "Default platform" msgstr "" -#: dcim/forms/bulk_edit.py:505 dcim/forms/bulk_edit.py:564 -#: dcim/forms/filtersets.py:502 dcim/forms/filtersets.py:622 +#: netbox/dcim/forms/bulk_edit.py:505 netbox/dcim/forms/bulk_edit.py:564 +#: netbox/dcim/forms/filtersets.py:502 netbox/dcim/forms/filtersets.py:622 msgid "Part number" msgstr "" -#: dcim/forms/bulk_edit.py:509 +#: netbox/dcim/forms/bulk_edit.py:509 msgid "U height" msgstr "" -#: dcim/forms/bulk_edit.py:521 dcim/tables/devicetypes.py:102 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "" -#: dcim/forms/bulk_edit.py:550 dcim/forms/model_forms.py:368 -#: dcim/tables/devicetypes.py:77 templates/dcim/device.html:88 -#: templates/dcim/devicebay.html:52 templates/dcim/module.html:61 +#: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 +#: netbox/templates/dcim/devicebay.html:52 netbox/templates/dcim/module.html:61 msgid "Device Type" msgstr "" -#: dcim/forms/bulk_edit.py:592 dcim/forms/model_forms.py:401 -#: dcim/tables/modules.py:17 dcim/tables/modules.py:65 -#: templates/dcim/module.html:65 templates/dcim/modulebay.html:66 -#: templates/dcim/moduletype.html:22 +#: netbox/dcim/forms/bulk_edit.py:592 netbox/dcim/forms/model_forms.py:401 +#: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65 +#: netbox/templates/dcim/module.html:65 netbox/templates/dcim/modulebay.html:66 +#: netbox/templates/dcim/moduletype.html:22 msgid "Module Type" msgstr "" -#: dcim/forms/bulk_edit.py:596 dcim/forms/model_forms.py:371 -#: dcim/forms/model_forms.py:402 templates/dcim/devicetype.html:11 +#: netbox/dcim/forms/bulk_edit.py:596 netbox/dcim/forms/model_forms.py:371 +#: netbox/dcim/forms/model_forms.py:402 +#: netbox/templates/dcim/devicetype.html:11 msgid "Chassis" msgstr "" -#: dcim/forms/bulk_edit.py:610 dcim/models/devices.py:484 -#: dcim/tables/devices.py:67 +#: netbox/dcim/forms/bulk_edit.py:610 netbox/dcim/models/devices.py:484 +#: netbox/dcim/tables/devices.py:67 msgid "VM role" msgstr "" -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_edit.py:637 -#: dcim/forms/bulk_edit.py:720 dcim/forms/bulk_import.py:434 -#: dcim/forms/bulk_import.py:438 dcim/forms/bulk_import.py:457 -#: dcim/forms/bulk_import.py:461 dcim/forms/bulk_import.py:586 -#: dcim/forms/bulk_import.py:590 dcim/forms/filtersets.py:689 -#: dcim/forms/filtersets.py:705 dcim/forms/filtersets.py:823 -#: dcim/forms/model_forms.py:415 dcim/forms/model_forms.py:441 -#: dcim/forms/model_forms.py:555 virtualization/forms/bulk_import.py:132 -#: virtualization/forms/bulk_import.py:133 -#: virtualization/forms/filtersets.py:188 -#: virtualization/forms/model_forms.py:215 +#: netbox/dcim/forms/bulk_edit.py:613 netbox/dcim/forms/bulk_edit.py:637 +#: netbox/dcim/forms/bulk_edit.py:720 netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:438 netbox/dcim/forms/bulk_import.py:457 +#: netbox/dcim/forms/bulk_import.py:461 netbox/dcim/forms/bulk_import.py:586 +#: netbox/dcim/forms/bulk_import.py:590 netbox/dcim/forms/filtersets.py:689 +#: netbox/dcim/forms/filtersets.py:705 netbox/dcim/forms/filtersets.py:823 +#: netbox/dcim/forms/model_forms.py:415 netbox/dcim/forms/model_forms.py:441 +#: netbox/dcim/forms/model_forms.py:555 +#: netbox/virtualization/forms/bulk_import.py:132 +#: netbox/virtualization/forms/bulk_import.py:133 +#: netbox/virtualization/forms/filtersets.py:188 +#: netbox/virtualization/forms/model_forms.py:215 msgid "Config template" msgstr "" -#: dcim/forms/bulk_edit.py:661 dcim/forms/bulk_edit.py:1061 -#: dcim/forms/bulk_import.py:492 dcim/forms/filtersets.py:114 -#: dcim/forms/model_forms.py:501 dcim/forms/model_forms.py:872 -#: dcim/forms/model_forms.py:889 extras/filtersets.py:547 +#: netbox/dcim/forms/bulk_edit.py:661 netbox/dcim/forms/bulk_edit.py:1061 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/filtersets.py:114 +#: netbox/dcim/forms/model_forms.py:501 netbox/dcim/forms/model_forms.py:872 +#: netbox/dcim/forms/model_forms.py:889 netbox/extras/filtersets.py:547 msgid "Device type" msgstr "" -#: dcim/forms/bulk_edit.py:672 dcim/forms/bulk_import.py:473 -#: dcim/forms/filtersets.py:119 dcim/forms/model_forms.py:509 +#: netbox/dcim/forms/bulk_edit.py:672 netbox/dcim/forms/bulk_import.py:473 +#: netbox/dcim/forms/filtersets.py:119 netbox/dcim/forms/model_forms.py:509 msgid "Device role" msgstr "" -#: dcim/forms/bulk_edit.py:695 dcim/forms/bulk_import.py:498 -#: dcim/forms/filtersets.py:796 dcim/forms/model_forms.py:451 -#: dcim/forms/model_forms.py:513 dcim/tables/devices.py:182 -#: extras/filtersets.py:563 templates/dcim/device.html:186 -#: 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:168 -#: virtualization/forms/model_forms.py:203 -#: virtualization/tables/virtualmachines.py:79 +#: netbox/dcim/forms/bulk_edit.py:695 netbox/dcim/forms/bulk_import.py:498 +#: netbox/dcim/forms/filtersets.py:796 netbox/dcim/forms/model_forms.py:451 +#: netbox/dcim/forms/model_forms.py:513 netbox/dcim/tables/devices.py:182 +#: netbox/extras/filtersets.py:563 netbox/templates/dcim/device.html:186 +#: netbox/templates/dcim/platform.html:26 +#: netbox/templates/virtualization/virtualmachine.html:27 +#: netbox/virtualization/forms/bulk_edit.py:160 +#: netbox/virtualization/forms/bulk_import.py:122 +#: netbox/virtualization/forms/filtersets.py:168 +#: netbox/virtualization/forms/model_forms.py:203 +#: netbox/virtualization/tables/virtualmachines.py:79 msgid "Platform" msgstr "" -#: dcim/forms/bulk_edit.py:728 dcim/forms/bulk_edit.py:1281 -#: dcim/forms/bulk_edit.py:1650 dcim/forms/bulk_edit.py:1696 -#: dcim/forms/bulk_import.py:641 dcim/forms/bulk_import.py:703 -#: dcim/forms/bulk_import.py:729 dcim/forms/bulk_import.py:755 -#: dcim/forms/bulk_import.py:775 dcim/forms/bulk_import.py:828 -#: dcim/forms/bulk_import.py:946 dcim/forms/bulk_import.py:994 -#: dcim/forms/bulk_import.py:1011 dcim/forms/bulk_import.py:1023 -#: dcim/forms/bulk_import.py:1071 dcim/forms/bulk_import.py:1422 -#: dcim/forms/connections.py:24 dcim/forms/filtersets.py:131 -#: dcim/forms/filtersets.py:921 dcim/forms/filtersets.py:1051 -#: dcim/forms/filtersets.py:1242 dcim/forms/filtersets.py:1267 -#: dcim/forms/filtersets.py:1291 dcim/forms/filtersets.py:1311 -#: dcim/forms/filtersets.py:1334 dcim/forms/filtersets.py:1444 -#: dcim/forms/filtersets.py:1469 dcim/forms/filtersets.py:1493 -#: dcim/forms/filtersets.py:1511 dcim/forms/filtersets.py:1528 -#: dcim/forms/filtersets.py:1592 dcim/forms/filtersets.py:1616 -#: dcim/forms/filtersets.py:1640 dcim/forms/model_forms.py:633 -#: dcim/forms/model_forms.py:849 dcim/forms/model_forms.py:1208 -#: dcim/forms/model_forms.py:1664 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:285 -#: dcim/tables/devices.py:371 dcim/tables/devices.py:412 -#: dcim/tables/devices.py:454 dcim/tables/devices.py:505 -#: dcim/tables/devices.py:597 dcim/tables/devices.py:697 -#: dcim/tables/devices.py:754 dcim/tables/devices.py:801 -#: dcim/tables/devices.py:861 dcim/tables/devices.py:930 -#: dcim/tables/devices.py:1057 dcim/tables/modules.py:52 -#: extras/forms/filtersets.py:321 ipam/forms/bulk_import.py:304 -#: ipam/forms/bulk_import.py:481 ipam/forms/filtersets.py:551 -#: ipam/forms/model_forms.py:319 ipam/forms/model_forms.py:679 -#: ipam/forms/model_forms.py:712 ipam/forms/model_forms.py:738 -#: ipam/tables/vlans.py:180 templates/dcim/consoleport.html:20 -#: templates/dcim/consoleserverport.html:20 templates/dcim/device.html:15 -#: templates/dcim/device.html:130 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:57 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:114 -#: templates/vpn/tunneltermination.html:23 -#: templates/wireless/inc/wirelesslink_interface.html:6 -#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:137 -#: virtualization/forms/bulk_import.py:99 -#: virtualization/forms/filtersets.py:128 -#: virtualization/forms/model_forms.py:185 -#: virtualization/tables/virtualmachines.py:71 vpn/choices.py:44 -#: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 -#: 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 +#: netbox/dcim/forms/bulk_edit.py:728 netbox/dcim/forms/bulk_edit.py:1281 +#: netbox/dcim/forms/bulk_edit.py:1650 netbox/dcim/forms/bulk_edit.py:1696 +#: netbox/dcim/forms/bulk_import.py:641 netbox/dcim/forms/bulk_import.py:703 +#: netbox/dcim/forms/bulk_import.py:729 netbox/dcim/forms/bulk_import.py:755 +#: netbox/dcim/forms/bulk_import.py:775 netbox/dcim/forms/bulk_import.py:828 +#: netbox/dcim/forms/bulk_import.py:946 netbox/dcim/forms/bulk_import.py:994 +#: netbox/dcim/forms/bulk_import.py:1011 netbox/dcim/forms/bulk_import.py:1023 +#: netbox/dcim/forms/bulk_import.py:1071 netbox/dcim/forms/bulk_import.py:1422 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:131 +#: netbox/dcim/forms/filtersets.py:921 netbox/dcim/forms/filtersets.py:1051 +#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/forms/filtersets.py:1267 +#: netbox/dcim/forms/filtersets.py:1291 netbox/dcim/forms/filtersets.py:1311 +#: netbox/dcim/forms/filtersets.py:1334 netbox/dcim/forms/filtersets.py:1444 +#: netbox/dcim/forms/filtersets.py:1469 netbox/dcim/forms/filtersets.py:1493 +#: netbox/dcim/forms/filtersets.py:1511 netbox/dcim/forms/filtersets.py:1528 +#: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 +#: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 +#: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 +#: netbox/dcim/forms/model_forms.py:1664 netbox/dcim/forms/object_create.py:257 +#: netbox/dcim/tables/connections.py:22 netbox/dcim/tables/connections.py:41 +#: netbox/dcim/tables/connections.py:60 netbox/dcim/tables/devices.py:285 +#: netbox/dcim/tables/devices.py:371 netbox/dcim/tables/devices.py:412 +#: netbox/dcim/tables/devices.py:454 netbox/dcim/tables/devices.py:505 +#: netbox/dcim/tables/devices.py:597 netbox/dcim/tables/devices.py:697 +#: netbox/dcim/tables/devices.py:754 netbox/dcim/tables/devices.py:801 +#: netbox/dcim/tables/devices.py:861 netbox/dcim/tables/devices.py:930 +#: netbox/dcim/tables/devices.py:1057 netbox/dcim/tables/modules.py:52 +#: netbox/extras/forms/filtersets.py:321 netbox/ipam/forms/bulk_import.py:304 +#: netbox/ipam/forms/bulk_import.py:481 netbox/ipam/forms/filtersets.py:551 +#: netbox/ipam/forms/model_forms.py:319 netbox/ipam/forms/model_forms.py:679 +#: netbox/ipam/forms/model_forms.py:712 netbox/ipam/forms/model_forms.py:738 +#: netbox/ipam/tables/vlans.py:180 netbox/templates/dcim/consoleport.html:20 +#: netbox/templates/dcim/consoleserverport.html:20 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device_edit.html:10 +#: netbox/templates/dcim/devicebay.html:20 +#: netbox/templates/dcim/devicebay.html:48 +#: netbox/templates/dcim/frontport.html:20 +#: netbox/templates/dcim/interface.html:30 +#: netbox/templates/dcim/interface.html:161 +#: netbox/templates/dcim/inventoryitem.html:20 +#: netbox/templates/dcim/module.html:57 netbox/templates/dcim/modulebay.html:20 +#: netbox/templates/dcim/poweroutlet.html:20 +#: netbox/templates/dcim/powerport.html:20 +#: netbox/templates/dcim/rearport.html:20 +#: netbox/templates/dcim/virtualchassis.html:65 +#: netbox/templates/dcim/virtualchassis_edit.html:51 +#: netbox/templates/dcim/virtualdevicecontext.html:22 +#: netbox/templates/virtualization/virtualmachine.html:114 +#: netbox/templates/vpn/tunneltermination.html:23 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:6 +#: netbox/virtualization/filtersets.py:167 +#: netbox/virtualization/forms/bulk_edit.py:137 +#: netbox/virtualization/forms/bulk_import.py:99 +#: netbox/virtualization/forms/filtersets.py:128 +#: netbox/virtualization/forms/model_forms.py:185 +#: netbox/virtualization/tables/virtualmachines.py:71 netbox/vpn/choices.py:44 +#: netbox/vpn/forms/bulk_import.py:86 netbox/vpn/forms/bulk_import.py:283 +#: netbox/vpn/forms/filtersets.py:275 netbox/vpn/forms/model_forms.py:90 +#: netbox/vpn/forms/model_forms.py:125 netbox/vpn/forms/model_forms.py:236 +#: netbox/vpn/forms/model_forms.py:453 netbox/wireless/forms/model_forms.py:99 +#: netbox/wireless/forms/model_forms.py:141 +#: netbox/wireless/tables/wirelesslan.py:75 msgid "Device" msgstr "" -#: dcim/forms/bulk_edit.py:731 templates/extras/dashboard/widget_config.html:7 -#: virtualization/forms/bulk_edit.py:191 +#: netbox/dcim/forms/bulk_edit.py:731 +#: netbox/templates/extras/dashboard/widget_config.html:7 +#: netbox/virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "" -#: dcim/forms/bulk_edit.py:745 dcim/forms/bulk_import.py:653 -#: dcim/forms/model_forms.py:647 dcim/forms/model_forms.py:897 +#: netbox/dcim/forms/bulk_edit.py:745 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/model_forms.py:647 netbox/dcim/forms/model_forms.py:897 msgid "Module type" msgstr "" -#: dcim/forms/bulk_edit.py:799 dcim/forms/bulk_edit.py:984 -#: dcim/forms/bulk_edit.py:1003 dcim/forms/bulk_edit.py:1026 -#: dcim/forms/bulk_edit.py:1068 dcim/forms/bulk_edit.py:1112 -#: dcim/forms/bulk_edit.py:1163 dcim/forms/bulk_edit.py:1190 -#: dcim/forms/bulk_edit.py:1217 dcim/forms/bulk_edit.py:1235 -#: dcim/forms/bulk_edit.py:1253 dcim/forms/filtersets.py:67 -#: 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:34 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 +#: netbox/dcim/forms/bulk_edit.py:799 netbox/dcim/forms/bulk_edit.py:984 +#: netbox/dcim/forms/bulk_edit.py:1003 netbox/dcim/forms/bulk_edit.py:1026 +#: netbox/dcim/forms/bulk_edit.py:1068 netbox/dcim/forms/bulk_edit.py:1112 +#: netbox/dcim/forms/bulk_edit.py:1163 netbox/dcim/forms/bulk_edit.py:1190 +#: netbox/dcim/forms/bulk_edit.py:1217 netbox/dcim/forms/bulk_edit.py:1235 +#: netbox/dcim/forms/bulk_edit.py:1253 netbox/dcim/forms/filtersets.py:67 +#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 +#: netbox/templates/dcim/consoleport.html:32 +#: netbox/templates/dcim/consoleserverport.html:32 +#: netbox/templates/dcim/devicebay.html:28 +#: netbox/templates/dcim/frontport.html:32 +#: netbox/templates/dcim/inc/panels/inventory_items.html:19 +#: netbox/templates/dcim/interface.html:42 +#: netbox/templates/dcim/inventoryitem.html:32 +#: netbox/templates/dcim/modulebay.html:34 +#: netbox/templates/dcim/poweroutlet.html:32 +#: netbox/templates/dcim/powerport.html:32 +#: netbox/templates/dcim/rearport.html:32 +#: netbox/templates/extras/customfield.html:26 +#: netbox/templates/generic/bulk_import.html:162 msgid "Label" msgstr "" -#: dcim/forms/bulk_edit.py:808 dcim/forms/filtersets.py:1068 -#: templates/dcim/cable.html:50 +#: netbox/dcim/forms/bulk_edit.py:808 netbox/dcim/forms/filtersets.py:1068 +#: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "" -#: dcim/forms/bulk_edit.py:813 dcim/forms/bulk_import.py:1226 -#: dcim/forms/bulk_import.py:1229 dcim/forms/filtersets.py:1072 +#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_import.py:1226 +#: netbox/dcim/forms/bulk_import.py:1229 netbox/dcim/forms/filtersets.py:1072 msgid "Length unit" msgstr "" -#: dcim/forms/bulk_edit.py:837 templates/dcim/virtualchassis.html:23 +#: netbox/dcim/forms/bulk_edit.py:837 +#: netbox/templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "" -#: dcim/forms/bulk_edit.py:905 dcim/forms/bulk_import.py:1345 -#: dcim/forms/filtersets.py:1158 dcim/forms/model_forms.py:750 +#: netbox/dcim/forms/bulk_edit.py:905 netbox/dcim/forms/bulk_import.py:1345 +#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/model_forms.py:750 msgid "Power panel" msgstr "" -#: dcim/forms/bulk_edit.py:927 dcim/forms/bulk_import.py:1381 -#: dcim/forms/filtersets.py:1180 templates/dcim/powerfeed.html:83 +#: netbox/dcim/forms/bulk_edit.py:927 netbox/dcim/forms/bulk_import.py:1381 +#: netbox/dcim/forms/filtersets.py:1180 netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "" -#: dcim/forms/bulk_edit.py:933 dcim/forms/bulk_import.py:1386 -#: dcim/forms/filtersets.py:1185 templates/dcim/powerfeed.html:95 +#: netbox/dcim/forms/bulk_edit.py:933 netbox/dcim/forms/bulk_import.py:1386 +#: netbox/dcim/forms/filtersets.py:1185 netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "" -#: dcim/forms/bulk_edit.py:939 dcim/forms/filtersets.py:1190 -#: templates/dcim/powerfeed.html:87 +#: netbox/dcim/forms/bulk_edit.py:939 netbox/dcim/forms/filtersets.py:1190 +#: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "" -#: dcim/forms/bulk_edit.py:943 dcim/forms/filtersets.py:1194 -#: templates/dcim/powerfeed.html:91 +#: netbox/dcim/forms/bulk_edit.py:943 netbox/dcim/forms/filtersets.py:1194 +#: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "" -#: dcim/forms/bulk_edit.py:947 dcim/forms/filtersets.py:1198 +#: netbox/dcim/forms/bulk_edit.py:947 netbox/dcim/forms/filtersets.py:1198 msgid "Max utilization" msgstr "" -#: dcim/forms/bulk_edit.py:1036 +#: netbox/dcim/forms/bulk_edit.py:1036 msgid "Maximum draw" msgstr "" -#: dcim/forms/bulk_edit.py:1039 dcim/models/device_component_templates.py:282 -#: dcim/models/device_components.py:356 +#: netbox/dcim/forms/bulk_edit.py:1039 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "" -#: dcim/forms/bulk_edit.py:1042 +#: netbox/dcim/forms/bulk_edit.py:1042 msgid "Allocated draw" msgstr "" -#: dcim/forms/bulk_edit.py:1045 dcim/models/device_component_templates.py:289 -#: dcim/models/device_components.py:363 +#: netbox/dcim/forms/bulk_edit.py:1045 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "" -#: dcim/forms/bulk_edit.py:1078 dcim/forms/bulk_import.py:786 -#: dcim/forms/model_forms.py:953 dcim/forms/model_forms.py:1278 -#: dcim/forms/model_forms.py:1567 dcim/forms/object_import.py:55 +#: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 +#: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "" -#: dcim/forms/bulk_edit.py:1083 dcim/forms/bulk_import.py:793 +#: netbox/dcim/forms/bulk_edit.py:1083 netbox/dcim/forms/bulk_import.py:793 msgid "Feed leg" msgstr "" -#: dcim/forms/bulk_edit.py:1129 dcim/forms/bulk_edit.py:1440 +#: netbox/dcim/forms/bulk_edit.py:1129 netbox/dcim/forms/bulk_edit.py:1440 msgid "Management only" msgstr "" -#: dcim/forms/bulk_edit.py:1139 dcim/forms/bulk_edit.py:1446 -#: dcim/forms/bulk_import.py:876 dcim/forms/filtersets.py:1394 -#: dcim/forms/object_import.py:90 dcim/models/device_component_templates.py:437 -#: dcim/models/device_components.py:670 +#: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 +#: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 +#: netbox/dcim/forms/object_import.py:90 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "" -#: dcim/forms/bulk_edit.py:1145 dcim/forms/bulk_edit.py:1452 -#: dcim/forms/bulk_import.py:882 dcim/forms/filtersets.py:1399 -#: dcim/forms/object_import.py:95 dcim/models/device_component_templates.py:443 -#: dcim/models/device_components.py:676 +#: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 +#: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 +#: netbox/dcim/forms/object_import.py:95 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "" -#: dcim/forms/bulk_edit.py:1151 dcim/forms/filtersets.py:1404 -#: dcim/forms/object_import.py:100 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "" -#: dcim/forms/bulk_edit.py:1288 dcim/forms/model_forms.py:669 -#: dcim/forms/model_forms.py:1223 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:54 templates/dcim/modulebay.html:26 -#: templates/dcim/modulebay.html:58 templates/dcim/poweroutlet.html:24 -#: templates/dcim/powerport.html:24 templates/dcim/rearport.html:24 +#: netbox/dcim/forms/bulk_edit.py:1288 netbox/dcim/forms/model_forms.py:669 +#: netbox/dcim/forms/model_forms.py:1223 netbox/dcim/tables/devices.py:313 +#: netbox/templates/dcim/consoleport.html:24 +#: netbox/templates/dcim/consoleserverport.html:24 +#: netbox/templates/dcim/frontport.html:24 +#: netbox/templates/dcim/interface.html:34 netbox/templates/dcim/module.html:54 +#: netbox/templates/dcim/modulebay.html:26 +#: netbox/templates/dcim/modulebay.html:58 +#: netbox/templates/dcim/poweroutlet.html:24 +#: netbox/templates/dcim/powerport.html:24 +#: netbox/templates/dcim/rearport.html:24 msgid "Module" msgstr "" -#: dcim/forms/bulk_edit.py:1420 dcim/tables/devices.py:665 -#: templates/dcim/interface.html:110 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 +#: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "" -#: dcim/forms/bulk_edit.py:1425 dcim/forms/model_forms.py:1305 +#: netbox/dcim/forms/bulk_edit.py:1425 netbox/dcim/forms/model_forms.py:1305 msgid "Virtual device contexts" msgstr "" -#: dcim/forms/bulk_edit.py:1431 dcim/forms/bulk_import.py:714 -#: dcim/forms/bulk_import.py:740 dcim/forms/filtersets.py:1252 -#: dcim/forms/filtersets.py:1277 dcim/forms/filtersets.py:1358 -#: dcim/tables/devices.py:610 -#: templates/circuits/inc/circuit_termination_fields.html:67 -#: templates/dcim/consoleport.html:40 templates/dcim/consoleserverport.html:40 +#: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 +#: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 +#: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 +#: netbox/dcim/tables/devices.py:610 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:67 +#: netbox/templates/dcim/consoleport.html:40 +#: netbox/templates/dcim/consoleserverport.html:40 msgid "Speed" msgstr "" -#: dcim/forms/bulk_edit.py:1460 dcim/forms/bulk_import.py:885 -#: 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 +#: netbox/dcim/forms/bulk_edit.py:1460 netbox/dcim/forms/bulk_import.py:885 +#: netbox/templates/vpn/ikepolicy.html:25 +#: netbox/templates/vpn/ipsecprofile.html:21 +#: netbox/templates/vpn/ipsecprofile.html:48 +#: netbox/virtualization/forms/bulk_edit.py:233 +#: netbox/virtualization/forms/bulk_import.py:165 +#: netbox/vpn/forms/bulk_edit.py:146 netbox/vpn/forms/bulk_edit.py:232 +#: netbox/vpn/forms/bulk_import.py:176 netbox/vpn/forms/bulk_import.py:234 +#: netbox/vpn/forms/filtersets.py:135 netbox/vpn/forms/filtersets.py:178 +#: netbox/vpn/forms/filtersets.py:192 netbox/vpn/tables/crypto.py:64 +#: netbox/vpn/tables/crypto.py:162 msgid "Mode" msgstr "" -#: dcim/forms/bulk_edit.py:1468 dcim/forms/model_forms.py:1354 -#: ipam/forms/bulk_import.py:178 ipam/forms/filtersets.py:498 -#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:240 -#: virtualization/forms/model_forms.py:321 +#: netbox/dcim/forms/bulk_edit.py:1468 netbox/dcim/forms/model_forms.py:1354 +#: netbox/ipam/forms/bulk_import.py:178 netbox/ipam/forms/filtersets.py:498 +#: netbox/ipam/models/vlans.py:84 netbox/virtualization/forms/bulk_edit.py:240 +#: netbox/virtualization/forms/model_forms.py:321 msgid "VLAN group" msgstr "" -#: dcim/forms/bulk_edit.py:1476 dcim/forms/model_forms.py:1360 -#: dcim/tables/devices.py:579 virtualization/forms/bulk_edit.py:248 -#: virtualization/forms/model_forms.py:326 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 +#: netbox/dcim/tables/devices.py:579 +#: netbox/virtualization/forms/bulk_edit.py:248 +#: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "" -#: dcim/forms/bulk_edit.py:1484 dcim/forms/model_forms.py:1369 -#: dcim/tables/devices.py:585 virtualization/forms/bulk_edit.py:256 -#: virtualization/forms/model_forms.py:335 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 +#: netbox/dcim/tables/devices.py:585 +#: netbox/virtualization/forms/bulk_edit.py:256 +#: netbox/virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" msgstr "" -#: dcim/forms/bulk_edit.py:1494 dcim/forms/model_forms.py:1341 +#: netbox/dcim/forms/bulk_edit.py:1494 netbox/dcim/forms/model_forms.py:1341 msgid "Wireless LAN group" msgstr "" -#: dcim/forms/bulk_edit.py:1499 dcim/forms/model_forms.py:1346 -#: dcim/tables/devices.py:619 netbox/navigation/menu.py:146 -#: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24 +#: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 +#: netbox/templates/dcim/interface.html:280 +#: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "" -#: dcim/forms/bulk_edit.py:1508 dcim/forms/filtersets.py:1328 -#: dcim/forms/model_forms.py:1390 ipam/forms/bulk_edit.py:286 -#: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:169 -#: templates/dcim/interface.html:122 templates/ipam/prefix.html:95 -#: virtualization/forms/model_forms.py:349 +#: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:286 +#: netbox/ipam/forms/bulk_edit.py:378 netbox/ipam/forms/filtersets.py:169 +#: netbox/templates/dcim/interface.html:122 +#: netbox/templates/ipam/prefix.html:95 +#: netbox/virtualization/forms/model_forms.py:349 msgid "Addressing" msgstr "" -#: dcim/forms/bulk_edit.py:1509 dcim/forms/filtersets.py:720 -#: dcim/forms/model_forms.py:1391 virtualization/forms/model_forms.py:350 +#: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 +#: netbox/dcim/forms/model_forms.py:1391 +#: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "" -#: dcim/forms/bulk_edit.py:1510 dcim/forms/filtersets.py:1329 -#: dcim/forms/model_forms.py:987 dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "" -#: dcim/forms/bulk_edit.py:1511 dcim/forms/model_forms.py:1392 -#: templates/dcim/interface.html:99 virtualization/forms/bulk_edit.py:267 -#: virtualization/forms/model_forms.py:351 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 +#: netbox/templates/dcim/interface.html:99 +#: netbox/virtualization/forms/bulk_edit.py:267 +#: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "" -#: dcim/forms/bulk_edit.py:1512 dcim/forms/model_forms.py:1394 -#: virtualization/forms/bulk_edit.py:268 -#: virtualization/forms/model_forms.py:352 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 +#: netbox/virtualization/forms/bulk_edit.py:268 +#: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" msgstr "" -#: dcim/forms/bulk_edit.py:1574 dcim/forms/bulk_edit.py:1576 +#: netbox/dcim/forms/bulk_edit.py:1574 netbox/dcim/forms/bulk_edit.py:1576 msgid "Interface mode must be specified to assign VLANs" msgstr "" -#: dcim/forms/bulk_edit.py:1581 dcim/forms/common.py:50 +#: netbox/dcim/forms/bulk_edit.py:1581 netbox/dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." msgstr "" -#: dcim/forms/bulk_import.py:64 +#: netbox/dcim/forms/bulk_import.py:64 msgid "Name of parent region" msgstr "" -#: dcim/forms/bulk_import.py:78 +#: netbox/dcim/forms/bulk_import.py:78 msgid "Name of parent site group" msgstr "" -#: dcim/forms/bulk_import.py:97 +#: netbox/dcim/forms/bulk_import.py:97 msgid "Assigned region" msgstr "" -#: dcim/forms/bulk_import.py:104 tenancy/forms/bulk_import.py:44 -#: tenancy/forms/bulk_import.py:85 wireless/forms/bulk_import.py:40 +#: netbox/dcim/forms/bulk_import.py:104 netbox/tenancy/forms/bulk_import.py:44 +#: netbox/tenancy/forms/bulk_import.py:85 +#: netbox/wireless/forms/bulk_import.py:40 msgid "Assigned group" msgstr "" -#: dcim/forms/bulk_import.py:123 +#: netbox/dcim/forms/bulk_import.py:123 msgid "available options" msgstr "" -#: dcim/forms/bulk_import.py:134 dcim/forms/bulk_import.py:543 -#: dcim/forms/bulk_import.py:1342 ipam/forms/bulk_import.py:175 -#: ipam/forms/bulk_import.py:433 virtualization/forms/bulk_import.py:63 -#: virtualization/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:134 netbox/dcim/forms/bulk_import.py:543 +#: netbox/dcim/forms/bulk_import.py:1342 netbox/ipam/forms/bulk_import.py:175 +#: netbox/ipam/forms/bulk_import.py:433 +#: netbox/virtualization/forms/bulk_import.py:63 +#: netbox/virtualization/forms/bulk_import.py:89 msgid "Assigned site" msgstr "" -#: dcim/forms/bulk_import.py:141 +#: netbox/dcim/forms/bulk_import.py:141 msgid "Parent location" msgstr "" -#: dcim/forms/bulk_import.py:143 +#: netbox/dcim/forms/bulk_import.py:143 msgid "Location not found." msgstr "" -#: dcim/forms/bulk_import.py:185 +#: netbox/dcim/forms/bulk_import.py:185 msgid "The manufacturer of this rack type" msgstr "" -#: dcim/forms/bulk_import.py:196 +#: netbox/dcim/forms/bulk_import.py:196 msgid "The lowest-numbered position in the rack" msgstr "" -#: dcim/forms/bulk_import.py:201 dcim/forms/bulk_import.py:268 +#: netbox/dcim/forms/bulk_import.py:201 netbox/dcim/forms/bulk_import.py:268 msgid "Rail-to-rail width (in inches)" msgstr "" -#: dcim/forms/bulk_import.py:207 dcim/forms/bulk_import.py:274 +#: netbox/dcim/forms/bulk_import.py:207 netbox/dcim/forms/bulk_import.py:274 msgid "Unit for outer dimensions" msgstr "" -#: dcim/forms/bulk_import.py:213 dcim/forms/bulk_import.py:286 +#: netbox/dcim/forms/bulk_import.py:213 netbox/dcim/forms/bulk_import.py:286 msgid "Unit for rack weights" msgstr "" -#: dcim/forms/bulk_import.py:245 +#: netbox/dcim/forms/bulk_import.py:245 msgid "Name of assigned tenant" msgstr "" -#: dcim/forms/bulk_import.py:257 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Name of assigned role" msgstr "" -#: dcim/forms/bulk_import.py:280 dcim/forms/bulk_import.py:413 -#: dcim/forms/bulk_import.py:583 +#: netbox/dcim/forms/bulk_import.py:280 netbox/dcim/forms/bulk_import.py:413 +#: netbox/dcim/forms/bulk_import.py:583 msgid "Airflow direction" msgstr "" -#: dcim/forms/bulk_import.py:312 +#: netbox/dcim/forms/bulk_import.py:312 msgid "Parent site" msgstr "" -#: dcim/forms/bulk_import.py:319 dcim/forms/bulk_import.py:1355 +#: netbox/dcim/forms/bulk_import.py:319 netbox/dcim/forms/bulk_import.py:1355 msgid "Rack's location (if any)" msgstr "" -#: dcim/forms/bulk_import.py:328 dcim/forms/model_forms.py:311 -#: dcim/tables/racks.py:222 templates/dcim/rackreservation.html:12 -#: templates/dcim/rackreservation.html:45 +#: netbox/dcim/forms/bulk_import.py:328 netbox/dcim/forms/model_forms.py:311 +#: netbox/dcim/tables/racks.py:222 +#: netbox/templates/dcim/rackreservation.html:12 +#: netbox/templates/dcim/rackreservation.html:45 msgid "Units" msgstr "" -#: dcim/forms/bulk_import.py:331 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Comma-separated list of individual unit numbers" msgstr "" -#: dcim/forms/bulk_import.py:374 +#: netbox/dcim/forms/bulk_import.py:374 msgid "The manufacturer which produces this device type" msgstr "" -#: dcim/forms/bulk_import.py:381 +#: netbox/dcim/forms/bulk_import.py:381 msgid "The default platform for devices of this type (optional)" msgstr "" -#: dcim/forms/bulk_import.py:386 +#: netbox/dcim/forms/bulk_import.py:386 msgid "Device weight" msgstr "" -#: dcim/forms/bulk_import.py:392 +#: netbox/dcim/forms/bulk_import.py:392 msgid "Unit for device weight" msgstr "" -#: dcim/forms/bulk_import.py:418 +#: netbox/dcim/forms/bulk_import.py:418 msgid "Module weight" msgstr "" -#: dcim/forms/bulk_import.py:424 +#: netbox/dcim/forms/bulk_import.py:424 msgid "Unit for module weight" msgstr "" -#: dcim/forms/bulk_import.py:454 +#: netbox/dcim/forms/bulk_import.py:454 msgid "Limit platform assignments to this manufacturer" msgstr "" -#: dcim/forms/bulk_import.py:476 dcim/forms/bulk_import.py:1425 -#: tenancy/forms/bulk_import.py:106 +#: netbox/dcim/forms/bulk_import.py:476 netbox/dcim/forms/bulk_import.py:1425 +#: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "" -#: dcim/forms/bulk_import.py:489 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Device type manufacturer" msgstr "" -#: dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:495 msgid "Device type model" msgstr "" -#: dcim/forms/bulk_import.py:502 virtualization/forms/bulk_import.py:126 +#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "" -#: dcim/forms/bulk_import.py:510 dcim/forms/bulk_import.py:514 -#: dcim/forms/model_forms.py:536 +#: netbox/dcim/forms/bulk_import.py:510 netbox/dcim/forms/bulk_import.py:514 +#: netbox/dcim/forms/model_forms.py:536 msgid "Virtual chassis" msgstr "" -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:728 -#: dcim/forms/filtersets.py:898 dcim/forms/model_forms.py:522 -#: dcim/tables/devices.py:202 extras/filtersets.py:596 -#: extras/forms/filtersets.py:322 ipam/forms/filtersets.py:415 -#: ipam/forms/filtersets.py:447 templates/dcim/device.html:239 -#: templates/virtualization/cluster.html:10 -#: templates/virtualization/virtualmachine.html:92 -#: templates/virtualization/virtualmachine.html:101 -#: virtualization/filtersets.py:157 virtualization/filtersets.py:277 -#: virtualization/forms/bulk_edit.py:129 virtualization/forms/bulk_import.py:92 -#: virtualization/forms/filtersets.py:99 virtualization/forms/filtersets.py:123 -#: virtualization/forms/filtersets.py:204 -#: virtualization/forms/model_forms.py:79 -#: virtualization/forms/model_forms.py:176 -#: virtualization/tables/virtualmachines.py:67 +#: netbox/dcim/forms/bulk_import.py:517 netbox/dcim/forms/filtersets.py:728 +#: netbox/dcim/forms/filtersets.py:898 netbox/dcim/forms/model_forms.py:522 +#: netbox/dcim/tables/devices.py:202 netbox/extras/filtersets.py:596 +#: netbox/extras/forms/filtersets.py:322 netbox/ipam/forms/filtersets.py:415 +#: netbox/ipam/forms/filtersets.py:447 netbox/templates/dcim/device.html:239 +#: netbox/templates/virtualization/cluster.html:10 +#: netbox/templates/virtualization/virtualmachine.html:92 +#: netbox/templates/virtualization/virtualmachine.html:101 +#: netbox/virtualization/filtersets.py:157 +#: netbox/virtualization/filtersets.py:277 +#: netbox/virtualization/forms/bulk_edit.py:129 +#: netbox/virtualization/forms/bulk_import.py:92 +#: netbox/virtualization/forms/filtersets.py:99 +#: netbox/virtualization/forms/filtersets.py:123 +#: netbox/virtualization/forms/filtersets.py:204 +#: netbox/virtualization/forms/model_forms.py:79 +#: netbox/virtualization/forms/model_forms.py:176 +#: netbox/virtualization/tables/virtualmachines.py:67 msgid "Cluster" msgstr "" -#: dcim/forms/bulk_import.py:521 +#: netbox/dcim/forms/bulk_import.py:521 msgid "Virtualization cluster" msgstr "" -#: dcim/forms/bulk_import.py:550 +#: netbox/dcim/forms/bulk_import.py:550 msgid "Assigned location (if any)" msgstr "" -#: dcim/forms/bulk_import.py:557 +#: netbox/dcim/forms/bulk_import.py:557 msgid "Assigned rack (if any)" msgstr "" -#: dcim/forms/bulk_import.py:560 +#: netbox/dcim/forms/bulk_import.py:560 msgid "Face" msgstr "" -#: dcim/forms/bulk_import.py:563 +#: netbox/dcim/forms/bulk_import.py:563 msgid "Mounted rack face" msgstr "" -#: dcim/forms/bulk_import.py:570 +#: netbox/dcim/forms/bulk_import.py:570 msgid "Parent device (for child devices)" msgstr "" -#: dcim/forms/bulk_import.py:573 +#: netbox/dcim/forms/bulk_import.py:573 msgid "Device bay" msgstr "" -#: dcim/forms/bulk_import.py:577 +#: netbox/dcim/forms/bulk_import.py:577 msgid "Device bay in which this device is installed (for child devices)" msgstr "" -#: dcim/forms/bulk_import.py:644 +#: netbox/dcim/forms/bulk_import.py:644 msgid "The device in which this module is installed" msgstr "" -#: dcim/forms/bulk_import.py:647 dcim/forms/model_forms.py:640 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/model_forms.py:640 msgid "Module bay" msgstr "" -#: dcim/forms/bulk_import.py:650 +#: netbox/dcim/forms/bulk_import.py:650 msgid "The module bay in which this module is installed" msgstr "" -#: dcim/forms/bulk_import.py:656 +#: netbox/dcim/forms/bulk_import.py:656 msgid "The type of module" msgstr "" -#: dcim/forms/bulk_import.py:664 dcim/forms/model_forms.py:656 +#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/model_forms.py:656 msgid "Replicate components" msgstr "" -#: dcim/forms/bulk_import.py:666 +#: netbox/dcim/forms/bulk_import.py:666 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" msgstr "" -#: dcim/forms/bulk_import.py:669 dcim/forms/model_forms.py:662 +#: netbox/dcim/forms/bulk_import.py:669 netbox/dcim/forms/model_forms.py:662 msgid "Adopt components" msgstr "" -#: dcim/forms/bulk_import.py:671 dcim/forms/model_forms.py:665 +#: netbox/dcim/forms/bulk_import.py:671 netbox/dcim/forms/model_forms.py:665 msgid "Adopt already existing components" msgstr "" -#: dcim/forms/bulk_import.py:711 dcim/forms/bulk_import.py:737 -#: dcim/forms/bulk_import.py:763 +#: netbox/dcim/forms/bulk_import.py:711 netbox/dcim/forms/bulk_import.py:737 +#: netbox/dcim/forms/bulk_import.py:763 msgid "Port type" msgstr "" -#: dcim/forms/bulk_import.py:719 dcim/forms/bulk_import.py:745 +#: netbox/dcim/forms/bulk_import.py:719 netbox/dcim/forms/bulk_import.py:745 msgid "Port speed in bps" msgstr "" -#: dcim/forms/bulk_import.py:783 +#: netbox/dcim/forms/bulk_import.py:783 msgid "Outlet type" msgstr "" -#: dcim/forms/bulk_import.py:790 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Local power port which feeds this outlet" msgstr "" -#: dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:796 msgid "Electrical phase (for three-phase circuits)" msgstr "" -#: dcim/forms/bulk_import.py:837 dcim/forms/model_forms.py:1316 -#: virtualization/forms/bulk_import.py:155 -#: virtualization/forms/model_forms.py:305 +#: netbox/dcim/forms/bulk_import.py:837 netbox/dcim/forms/model_forms.py:1316 +#: netbox/virtualization/forms/bulk_import.py:155 +#: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "" -#: dcim/forms/bulk_import.py:844 dcim/forms/model_forms.py:1324 -#: virtualization/forms/bulk_import.py:162 -#: virtualization/forms/model_forms.py:313 +#: netbox/dcim/forms/bulk_import.py:844 netbox/dcim/forms/model_forms.py:1324 +#: netbox/virtualization/forms/bulk_import.py:162 +#: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "" -#: dcim/forms/bulk_import.py:847 +#: netbox/dcim/forms/bulk_import.py:847 msgid "Lag" msgstr "" -#: dcim/forms/bulk_import.py:851 +#: netbox/dcim/forms/bulk_import.py:851 msgid "Parent LAG interface" msgstr "" -#: dcim/forms/bulk_import.py:854 +#: netbox/dcim/forms/bulk_import.py:854 msgid "Vdcs" msgstr "" -#: dcim/forms/bulk_import.py:859 +#: netbox/dcim/forms/bulk_import.py:859 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" -#: dcim/forms/bulk_import.py:865 +#: netbox/dcim/forms/bulk_import.py:865 msgid "Physical medium" msgstr "" -#: dcim/forms/bulk_import.py:868 dcim/forms/filtersets.py:1365 +#: netbox/dcim/forms/bulk_import.py:868 netbox/dcim/forms/filtersets.py:1365 msgid "Duplex" msgstr "" -#: dcim/forms/bulk_import.py:873 +#: netbox/dcim/forms/bulk_import.py:873 msgid "Poe mode" msgstr "" -#: dcim/forms/bulk_import.py:879 +#: netbox/dcim/forms/bulk_import.py:879 msgid "Poe type" msgstr "" -#: dcim/forms/bulk_import.py:888 virtualization/forms/bulk_import.py:168 +#: netbox/dcim/forms/bulk_import.py:888 +#: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "" -#: dcim/forms/bulk_import.py:895 ipam/forms/bulk_import.py:161 -#: ipam/forms/bulk_import.py:247 ipam/forms/bulk_import.py:283 -#: ipam/forms/filtersets.py:201 ipam/forms/filtersets.py:277 -#: ipam/forms/filtersets.py:336 virtualization/forms/bulk_import.py:175 +#: netbox/dcim/forms/bulk_import.py:895 netbox/ipam/forms/bulk_import.py:161 +#: netbox/ipam/forms/bulk_import.py:247 netbox/ipam/forms/bulk_import.py:283 +#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 +#: netbox/ipam/forms/filtersets.py:336 +#: netbox/virtualization/forms/bulk_import.py:175 msgid "Assigned VRF" msgstr "" -#: dcim/forms/bulk_import.py:898 +#: netbox/dcim/forms/bulk_import.py:898 msgid "Rf role" msgstr "" -#: dcim/forms/bulk_import.py:901 +#: netbox/dcim/forms/bulk_import.py:901 msgid "Wireless role (AP/station)" msgstr "" -#: dcim/forms/bulk_import.py:937 +#: netbox/dcim/forms/bulk_import.py:937 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "" -#: dcim/forms/bulk_import.py:951 dcim/forms/model_forms.py:1000 -#: dcim/forms/model_forms.py:1575 dcim/forms/object_import.py:117 +#: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 +#: netbox/dcim/forms/model_forms.py:1575 netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "" -#: dcim/forms/bulk_import.py:954 +#: netbox/dcim/forms/bulk_import.py:954 msgid "Corresponding rear port" msgstr "" -#: dcim/forms/bulk_import.py:959 dcim/forms/bulk_import.py:1000 -#: dcim/forms/bulk_import.py:1216 +#: netbox/dcim/forms/bulk_import.py:959 netbox/dcim/forms/bulk_import.py:1000 +#: netbox/dcim/forms/bulk_import.py:1216 msgid "Physical medium classification" msgstr "" -#: dcim/forms/bulk_import.py:1028 dcim/tables/devices.py:822 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "" -#: dcim/forms/bulk_import.py:1032 +#: netbox/dcim/forms/bulk_import.py:1032 msgid "Child device installed within this bay" msgstr "" -#: dcim/forms/bulk_import.py:1034 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Child device not found." msgstr "" -#: dcim/forms/bulk_import.py:1092 +#: netbox/dcim/forms/bulk_import.py:1092 msgid "Parent inventory item" msgstr "" -#: dcim/forms/bulk_import.py:1095 +#: netbox/dcim/forms/bulk_import.py:1095 msgid "Component type" msgstr "" -#: dcim/forms/bulk_import.py:1099 +#: netbox/dcim/forms/bulk_import.py:1099 msgid "Component Type" msgstr "" -#: dcim/forms/bulk_import.py:1102 +#: netbox/dcim/forms/bulk_import.py:1102 msgid "Compnent name" msgstr "" -#: dcim/forms/bulk_import.py:1104 +#: netbox/dcim/forms/bulk_import.py:1104 msgid "Component Name" msgstr "" -#: dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1146 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "" -#: dcim/forms/bulk_import.py:1171 +#: netbox/dcim/forms/bulk_import.py:1171 msgid "Side A device" msgstr "" -#: dcim/forms/bulk_import.py:1174 dcim/forms/bulk_import.py:1192 +#: netbox/dcim/forms/bulk_import.py:1174 netbox/dcim/forms/bulk_import.py:1192 msgid "Device name" msgstr "" -#: dcim/forms/bulk_import.py:1177 +#: netbox/dcim/forms/bulk_import.py:1177 msgid "Side A type" msgstr "" -#: dcim/forms/bulk_import.py:1180 dcim/forms/bulk_import.py:1198 +#: netbox/dcim/forms/bulk_import.py:1180 netbox/dcim/forms/bulk_import.py:1198 msgid "Termination type" msgstr "" -#: dcim/forms/bulk_import.py:1183 +#: netbox/dcim/forms/bulk_import.py:1183 msgid "Side A name" msgstr "" -#: dcim/forms/bulk_import.py:1184 dcim/forms/bulk_import.py:1202 +#: netbox/dcim/forms/bulk_import.py:1184 netbox/dcim/forms/bulk_import.py:1202 msgid "Termination name" msgstr "" -#: dcim/forms/bulk_import.py:1189 +#: netbox/dcim/forms/bulk_import.py:1189 msgid "Side B device" msgstr "" -#: dcim/forms/bulk_import.py:1195 +#: netbox/dcim/forms/bulk_import.py:1195 msgid "Side B type" msgstr "" -#: dcim/forms/bulk_import.py:1201 +#: netbox/dcim/forms/bulk_import.py:1201 msgid "Side B name" msgstr "" -#: dcim/forms/bulk_import.py:1210 wireless/forms/bulk_import.py:86 +#: netbox/dcim/forms/bulk_import.py:1210 +#: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "" -#: dcim/forms/bulk_import.py:1262 +#: netbox/dcim/forms/bulk_import.py:1262 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "" -#: dcim/forms/bulk_import.py:1268 +#: netbox/dcim/forms/bulk_import.py:1268 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr "" -#: dcim/forms/bulk_import.py:1293 dcim/forms/model_forms.py:785 -#: dcim/tables/devices.py:1027 templates/dcim/device.html:132 -#: templates/dcim/virtualchassis.html:27 templates/dcim/virtualchassis.html:67 +#: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 +#: netbox/templates/dcim/virtualchassis.html:27 +#: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "" -#: dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1297 msgid "Master device" msgstr "" -#: dcim/forms/bulk_import.py:1314 +#: netbox/dcim/forms/bulk_import.py:1314 msgid "Name of parent site" msgstr "" -#: dcim/forms/bulk_import.py:1348 +#: netbox/dcim/forms/bulk_import.py:1348 msgid "Upstream power panel" msgstr "" -#: dcim/forms/bulk_import.py:1378 +#: netbox/dcim/forms/bulk_import.py:1378 msgid "Primary or redundant" msgstr "" -#: dcim/forms/bulk_import.py:1383 +#: netbox/dcim/forms/bulk_import.py:1383 msgid "Supply type (AC/DC)" msgstr "" -#: dcim/forms/bulk_import.py:1388 +#: netbox/dcim/forms/bulk_import.py:1388 msgid "Single or three-phase" msgstr "" -#: dcim/forms/bulk_import.py:1439 dcim/forms/model_forms.py:1670 -#: templates/dcim/device.html:190 templates/dcim/virtualdevicecontext.html:30 -#: templates/virtualization/virtualmachine.html:52 +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 msgid "Primary IPv4" msgstr "" -#: dcim/forms/bulk_import.py:1443 +#: netbox/dcim/forms/bulk_import.py:1443 msgid "IPv4 address with mask, e.g. 1.2.3.4/24" msgstr "" -#: dcim/forms/bulk_import.py:1446 dcim/forms/model_forms.py:1679 -#: templates/dcim/device.html:206 templates/dcim/virtualdevicecontext.html:41 -#: templates/virtualization/virtualmachine.html:68 +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 msgid "Primary IPv6" msgstr "" -#: dcim/forms/bulk_import.py:1450 +#: netbox/dcim/forms/bulk_import.py:1450 msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "" -#: dcim/forms/common.py:24 dcim/models/device_components.py:527 -#: templates/dcim/interface.html:57 -#: templates/virtualization/vminterface.html:55 -#: virtualization/forms/bulk_edit.py:225 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 +#: netbox/templates/dcim/interface.html:57 +#: netbox/templates/virtualization/vminterface.html:55 +#: netbox/virtualization/forms/bulk_edit.py:225 msgid "MTU" msgstr "" -#: dcim/forms/common.py:65 +#: netbox/dcim/forms/common.py:65 #, python-brace-format msgid "" "The tagged VLANs ({vlans}) must belong to the same site as the interface's " "parent device/VM, or they must be global" msgstr "" -#: dcim/forms/common.py:126 +#: netbox/dcim/forms/common.py:126 msgid "" "Cannot install module with placeholder values in a module bay with no " "position defined." msgstr "" -#: dcim/forms/common.py:131 +#: netbox/dcim/forms/common.py:131 #, python-brace-format msgid "" "Cannot install module with placeholder values in a module bay tree {level} " "in tree but {tokens} placeholders given." msgstr "" -#: dcim/forms/common.py:144 +#: netbox/dcim/forms/common.py:144 #, python-brace-format msgid "Cannot adopt {model} {name} as it already belongs to a module" msgstr "" -#: dcim/forms/common.py:153 +#: netbox/dcim/forms/common.py:153 #, python-brace-format msgid "A {model} named {name} already exists" msgstr "" -#: dcim/forms/connections.py:49 dcim/forms/model_forms.py:738 -#: 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 +#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:738 +#: netbox/dcim/tables/power.py:66 +#: netbox/templates/dcim/inc/cable_termination.html:37 +#: netbox/templates/dcim/powerfeed.html:24 +#: netbox/templates/dcim/powerpanel.html:19 +#: netbox/templates/dcim/trace/powerpanel.html:4 msgid "Power Panel" msgstr "" -#: dcim/forms/connections.py:58 dcim/forms/model_forms.py:765 -#: templates/dcim/powerfeed.html:21 templates/dcim/powerport.html:80 +#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:765 +#: netbox/templates/dcim/powerfeed.html:21 +#: netbox/templates/dcim/powerport.html:80 msgid "Power Feed" msgstr "" -#: dcim/forms/connections.py:81 +#: netbox/dcim/forms/connections.py:81 msgid "Side" msgstr "" -#: dcim/forms/filtersets.py:136 dcim/tables/devices.py:295 +#: netbox/dcim/forms/filtersets.py:136 netbox/dcim/tables/devices.py:295 msgid "Device Status" msgstr "" -#: dcim/forms/filtersets.py:149 +#: netbox/dcim/forms/filtersets.py:149 msgid "Parent region" msgstr "" -#: dcim/forms/filtersets.py:163 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 +#: netbox/dcim/forms/filtersets.py:163 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/tenancy/forms/bulk_import.py:62 netbox/tenancy/forms/filtersets.py:33 +#: netbox/tenancy/forms/filtersets.py:62 +#: netbox/wireless/forms/bulk_import.py:25 +#: netbox/wireless/forms/filtersets.py:25 msgid "Parent group" msgstr "" -#: dcim/forms/filtersets.py:242 templates/dcim/location.html:58 -#: templates/dcim/site.html:56 +#: netbox/dcim/forms/filtersets.py:242 netbox/templates/dcim/location.html:58 +#: netbox/templates/dcim/site.html:56 msgid "Facility" msgstr "" -#: dcim/forms/filtersets.py:380 +#: netbox/dcim/forms/filtersets.py:380 msgid "Rack type" msgstr "" -#: dcim/forms/filtersets.py:397 +#: netbox/dcim/forms/filtersets.py:397 msgid "Function" msgstr "" -#: dcim/forms/filtersets.py:483 dcim/forms/model_forms.py:373 -#: templates/inc/panels/image_attachments.html:6 +#: netbox/dcim/forms/filtersets.py:483 netbox/dcim/forms/model_forms.py:373 +#: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "" -#: dcim/forms/filtersets.py:486 dcim/forms/filtersets.py:611 -#: dcim/forms/filtersets.py:726 +#: netbox/dcim/forms/filtersets.py:486 netbox/dcim/forms/filtersets.py:611 +#: netbox/dcim/forms/filtersets.py:726 msgid "Components" msgstr "" -#: dcim/forms/filtersets.py:506 +#: netbox/dcim/forms/filtersets.py:506 msgid "Subdevice role" msgstr "" -#: dcim/forms/filtersets.py:790 dcim/tables/racks.py:54 -#: templates/dcim/racktype.html:20 +#: netbox/dcim/forms/filtersets.py:790 netbox/dcim/tables/racks.py:54 +#: netbox/templates/dcim/racktype.html:20 msgid "Model" msgstr "" -#: dcim/forms/filtersets.py:834 +#: netbox/dcim/forms/filtersets.py:834 msgid "Has an OOB IP" msgstr "" -#: dcim/forms/filtersets.py:841 +#: netbox/dcim/forms/filtersets.py:841 msgid "Virtual chassis member" msgstr "" -#: dcim/forms/filtersets.py:890 +#: netbox/dcim/forms/filtersets.py:890 msgid "Has virtual device contexts" msgstr "" -#: dcim/forms/filtersets.py:903 extras/filtersets.py:585 -#: ipam/forms/filtersets.py:452 virtualization/forms/filtersets.py:112 +#: netbox/dcim/forms/filtersets.py:903 netbox/extras/filtersets.py:585 +#: netbox/ipam/forms/filtersets.py:452 +#: netbox/virtualization/forms/filtersets.py:112 msgid "Cluster group" msgstr "" -#: dcim/forms/filtersets.py:1210 +#: netbox/dcim/forms/filtersets.py:1210 msgid "Cabled" msgstr "" -#: dcim/forms/filtersets.py:1217 +#: netbox/dcim/forms/filtersets.py:1217 msgid "Occupied" msgstr "" -#: dcim/forms/filtersets.py:1244 dcim/forms/filtersets.py:1269 -#: dcim/forms/filtersets.py:1293 dcim/forms/filtersets.py:1313 -#: dcim/forms/filtersets.py:1336 dcim/tables/devices.py:364 -#: 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 +#: netbox/dcim/forms/filtersets.py:1244 netbox/dcim/forms/filtersets.py:1269 +#: netbox/dcim/forms/filtersets.py:1293 netbox/dcim/forms/filtersets.py:1313 +#: netbox/dcim/forms/filtersets.py:1336 netbox/dcim/tables/devices.py:364 +#: netbox/templates/dcim/consoleport.html:55 +#: netbox/templates/dcim/consoleserverport.html:55 +#: netbox/templates/dcim/frontport.html:69 +#: netbox/templates/dcim/interface.html:140 +#: netbox/templates/dcim/powerfeed.html:110 +#: netbox/templates/dcim/poweroutlet.html:59 +#: netbox/templates/dcim/powerport.html:59 +#: netbox/templates/dcim/rearport.html:65 msgid "Connection" msgstr "" -#: dcim/forms/filtersets.py:1348 extras/forms/bulk_edit.py:326 -#: extras/forms/bulk_import.py:247 extras/forms/filtersets.py:464 -#: extras/forms/model_forms.py:675 extras/tables/tables.py:579 -#: templates/extras/journalentry.html:30 +#: netbox/dcim/forms/filtersets.py:1348 netbox/extras/forms/bulk_edit.py:326 +#: netbox/extras/forms/bulk_import.py:247 netbox/extras/forms/filtersets.py:464 +#: netbox/extras/forms/model_forms.py:675 netbox/extras/tables/tables.py:579 +#: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "" -#: dcim/forms/filtersets.py:1377 +#: netbox/dcim/forms/filtersets.py:1377 msgid "Mgmt only" msgstr "" -#: dcim/forms/filtersets.py:1389 dcim/forms/model_forms.py:1383 -#: dcim/models/device_components.py:629 templates/dcim/interface.html:129 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 +#: netbox/dcim/models/device_components.py:629 +#: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "" -#: dcim/forms/filtersets.py:1409 +#: netbox/dcim/forms/filtersets.py:1409 msgid "Wireless channel" msgstr "" -#: dcim/forms/filtersets.py:1413 +#: netbox/dcim/forms/filtersets.py:1413 msgid "Channel frequency (MHz)" msgstr "" -#: dcim/forms/filtersets.py:1417 +#: netbox/dcim/forms/filtersets.py:1417 msgid "Channel width (MHz)" msgstr "" -#: dcim/forms/filtersets.py:1421 templates/dcim/interface.html:85 +#: netbox/dcim/forms/filtersets.py:1421 netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "" -#: dcim/forms/filtersets.py:1446 dcim/forms/filtersets.py:1471 -#: dcim/tables/devices.py:327 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:73 templates/dcim/trace/cable.html:7 +#: netbox/dcim/forms/filtersets.py:1446 netbox/dcim/forms/filtersets.py:1471 +#: netbox/dcim/tables/devices.py:327 netbox/templates/dcim/cable.html:12 +#: netbox/templates/dcim/cable_trace.html:46 +#: netbox/templates/dcim/frontport.html:77 +#: netbox/templates/dcim/htmx/cable_edit.html:50 +#: netbox/templates/dcim/inc/connection_endpoints.html:4 +#: netbox/templates/dcim/rearport.html:73 +#: netbox/templates/dcim/trace/cable.html:7 msgid "Cable" msgstr "" -#: dcim/forms/filtersets.py:1550 dcim/tables/devices.py:949 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "" -#: dcim/forms/formsets.py:20 +#: netbox/dcim/forms/formsets.py:20 #, python-brace-format msgid "A virtual chassis member already exists in position {vc_position}." msgstr "" -#: dcim/forms/model_forms.py:140 +#: netbox/dcim/forms/model_forms.py:140 msgid "Contact Info" msgstr "" -#: dcim/forms/model_forms.py:195 templates/dcim/rackrole.html:19 +#: netbox/dcim/forms/model_forms.py:195 netbox/templates/dcim/rackrole.html:19 msgid "Rack Role" msgstr "" -#: dcim/forms/model_forms.py:212 dcim/forms/model_forms.py:362 -#: dcim/forms/model_forms.py:446 utilities/forms/fields/fields.py:47 +#: netbox/dcim/forms/model_forms.py:212 netbox/dcim/forms/model_forms.py:362 +#: netbox/dcim/forms/model_forms.py:446 +#: netbox/utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "" -#: dcim/forms/model_forms.py:259 +#: netbox/dcim/forms/model_forms.py:259 msgid "Select a pre-defined rack type, or set physical characteristics below." msgstr "" -#: dcim/forms/model_forms.py:265 +#: netbox/dcim/forms/model_forms.py:265 msgid "Inventory Control" msgstr "" -#: dcim/forms/model_forms.py:313 +#: netbox/dcim/forms/model_forms.py:313 msgid "" "Comma-separated list of numeric unit IDs. A range may be specified using a " "hyphen." msgstr "" -#: dcim/forms/model_forms.py:322 dcim/tables/racks.py:202 +#: netbox/dcim/forms/model_forms.py:322 netbox/dcim/tables/racks.py:202 msgid "Reservation" msgstr "" -#: dcim/forms/model_forms.py:423 templates/dcim/devicerole.html:23 +#: netbox/dcim/forms/model_forms.py:423 +#: netbox/templates/dcim/devicerole.html:23 msgid "Device Role" msgstr "" -#: dcim/forms/model_forms.py:490 dcim/models/devices.py:644 +#: netbox/dcim/forms/model_forms.py:490 netbox/dcim/models/devices.py:644 msgid "The lowest-numbered unit occupied by the device" msgstr "" -#: dcim/forms/model_forms.py:547 +#: netbox/dcim/forms/model_forms.py:547 msgid "The position in the virtual chassis this device is identified by" msgstr "" -#: dcim/forms/model_forms.py:552 +#: netbox/dcim/forms/model_forms.py:552 msgid "The priority of the device in the virtual chassis" msgstr "" -#: dcim/forms/model_forms.py:659 +#: netbox/dcim/forms/model_forms.py:659 msgid "Automatically populate components associated with this module type" msgstr "" -#: dcim/forms/model_forms.py:767 +#: netbox/dcim/forms/model_forms.py:767 msgid "Characteristics" msgstr "" -#: dcim/forms/model_forms.py:1087 +#: netbox/dcim/forms/model_forms.py:1087 msgid "Console port template" msgstr "" -#: dcim/forms/model_forms.py:1095 +#: netbox/dcim/forms/model_forms.py:1095 msgid "Console server port template" msgstr "" -#: dcim/forms/model_forms.py:1103 +#: netbox/dcim/forms/model_forms.py:1103 msgid "Front port template" msgstr "" -#: dcim/forms/model_forms.py:1111 +#: netbox/dcim/forms/model_forms.py:1111 msgid "Interface template" msgstr "" -#: dcim/forms/model_forms.py:1119 +#: netbox/dcim/forms/model_forms.py:1119 msgid "Power outlet template" msgstr "" -#: dcim/forms/model_forms.py:1127 +#: netbox/dcim/forms/model_forms.py:1127 msgid "Power port template" msgstr "" -#: dcim/forms/model_forms.py:1135 +#: netbox/dcim/forms/model_forms.py:1135 msgid "Rear port template" msgstr "" -#: dcim/forms/model_forms.py:1144 dcim/forms/model_forms.py:1388 -#: dcim/forms/model_forms.py:1551 dcim/forms/model_forms.py:1583 -#: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:318 -#: ipam/forms/model_forms.py:280 ipam/forms/model_forms.py:289 -#: ipam/tables/fhrp.py:64 ipam/tables/ip.py:372 ipam/tables/vlans.py:169 -#: templates/circuits/inc/circuit_termination_fields.html:51 -#: 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:55 -#: 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:113 wireless/forms/model_forms.py:155 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 +#: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 +#: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 +#: netbox/ipam/tables/vlans.py:169 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:51 +#: netbox/templates/dcim/frontport.html:106 +#: netbox/templates/dcim/interface.html:27 +#: netbox/templates/dcim/interface.html:184 +#: netbox/templates/dcim/interface.html:310 +#: netbox/templates/dcim/rearport.html:102 +#: netbox/templates/virtualization/vminterface.html:18 +#: netbox/templates/vpn/tunneltermination.html:31 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:10 +#: netbox/templates/wireless/wirelesslink.html:10 +#: netbox/templates/wireless/wirelesslink.html:55 +#: netbox/virtualization/forms/model_forms.py:348 +#: netbox/vpn/forms/bulk_import.py:297 netbox/vpn/forms/model_forms.py:436 +#: netbox/vpn/forms/model_forms.py:445 netbox/wireless/forms/model_forms.py:113 +#: netbox/wireless/forms/model_forms.py:155 msgid "Interface" msgstr "" -#: dcim/forms/model_forms.py:1145 dcim/forms/model_forms.py:1584 -#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:17 -#: templates/dcim/consoleserverport.html:74 templates/dcim/frontport.html:112 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/tables/connections.py:27 +#: netbox/templates/dcim/consoleport.html:17 +#: netbox/templates/dcim/consoleserverport.html:74 +#: netbox/templates/dcim/frontport.html:112 msgid "Console Port" msgstr "" -#: dcim/forms/model_forms.py:1146 dcim/forms/model_forms.py:1585 -#: templates/dcim/consoleport.html:73 templates/dcim/consoleserverport.html:17 -#: templates/dcim/frontport.html:109 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 +#: netbox/templates/dcim/consoleport.html:73 +#: netbox/templates/dcim/consoleserverport.html:17 +#: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "" -#: dcim/forms/model_forms.py:1147 dcim/forms/model_forms.py:1586 -#: templates/circuits/inc/circuit_termination_fields.html:52 -#: 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 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:52 +#: netbox/templates/dcim/consoleport.html:76 +#: netbox/templates/dcim/consoleserverport.html:77 +#: netbox/templates/dcim/frontport.html:17 +#: netbox/templates/dcim/frontport.html:115 +#: netbox/templates/dcim/interface.html:187 +#: netbox/templates/dcim/rearport.html:105 msgid "Front Port" msgstr "" -#: dcim/forms/model_forms.py:1148 dcim/forms/model_forms.py:1587 -#: dcim/tables/devices.py:710 -#: templates/circuits/inc/circuit_termination_fields.html:53 -#: 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 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:710 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:53 +#: netbox/templates/dcim/consoleport.html:79 +#: netbox/templates/dcim/consoleserverport.html:80 +#: netbox/templates/dcim/frontport.html:50 +#: netbox/templates/dcim/frontport.html:118 +#: netbox/templates/dcim/interface.html:190 +#: netbox/templates/dcim/rearport.html:17 +#: netbox/templates/dcim/rearport.html:108 msgid "Rear Port" msgstr "" -#: dcim/forms/model_forms.py:1149 dcim/forms/model_forms.py:1588 -#: dcim/tables/connections.py:46 dcim/tables/devices.py:512 -#: templates/dcim/poweroutlet.html:44 templates/dcim/powerport.html:17 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 +#: netbox/templates/dcim/poweroutlet.html:44 +#: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "" -#: dcim/forms/model_forms.py:1150 dcim/forms/model_forms.py:1589 -#: templates/dcim/poweroutlet.html:17 templates/dcim/powerport.html:77 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 +#: netbox/templates/dcim/poweroutlet.html:17 +#: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "" -#: dcim/forms/model_forms.py:1152 dcim/forms/model_forms.py:1591 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "" -#: dcim/forms/model_forms.py:1195 dcim/forms/model_forms.py:1638 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "" -#: dcim/forms/model_forms.py:1332 +#: netbox/dcim/forms/model_forms.py:1332 msgid "LAG interface" msgstr "" -#: dcim/forms/model_forms.py:1355 +#: netbox/dcim/forms/model_forms.py:1355 msgid "Filter VLANs available for assignment by group." msgstr "" -#: dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "" -#: dcim/forms/model_forms.py:1485 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the " "parent device." msgstr "" -#: dcim/forms/model_forms.py:1527 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "" -#: dcim/forms/model_forms.py:1535 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "" -#: dcim/forms/model_forms.py:1543 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "" -#: dcim/forms/model_forms.py:1559 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "" -#: dcim/forms/model_forms.py:1579 templates/dcim/inventoryitem.html:17 +#: netbox/dcim/forms/model_forms.py:1579 +#: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "" -#: dcim/forms/model_forms.py:1652 templates/dcim/inventoryitemrole.html:15 +#: netbox/dcim/forms/model_forms.py:1652 +#: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "" -#: dcim/forms/object_create.py:48 dcim/forms/object_create.py:199 -#: dcim/forms/object_create.py:355 +#: netbox/dcim/forms/object_create.py:48 netbox/dcim/forms/object_create.py:199 +#: netbox/dcim/forms/object_create.py:355 msgid "" "Alphanumeric ranges are supported. (Must match the number of objects being " "created.)" msgstr "" -#: dcim/forms/object_create.py:68 +#: netbox/dcim/forms/object_create.py:68 #, python-brace-format msgid "" "The provided pattern specifies {value_count} values, but {pattern_count} are " "expected." msgstr "" -#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271 -#: dcim/tables/devices.py:252 +#: netbox/dcim/forms/object_create.py:110 +#: netbox/dcim/forms/object_create.py:271 netbox/dcim/tables/devices.py:252 msgid "Rear ports" msgstr "" -#: dcim/forms/object_create.py:111 dcim/forms/object_create.py:272 +#: netbox/dcim/forms/object_create.py:111 +#: netbox/dcim/forms/object_create.py:272 msgid "Select one rear port assignment for each front port being created." msgstr "" -#: dcim/forms/object_create.py:164 +#: netbox/dcim/forms/object_create.py:164 #, python-brace-format msgid "" "The number of front port templates to be created ({frontport_count}) must " "match the selected number of rear port positions ({rearport_count})." msgstr "" -#: dcim/forms/object_create.py:251 +#: netbox/dcim/forms/object_create.py:251 #, python-brace-format msgid "" "The string {module} will be replaced with the position of the " "assigned module, if any." msgstr "" -#: dcim/forms/object_create.py:320 +#: netbox/dcim/forms/object_create.py:320 #, python-brace-format msgid "" "The number of front ports to be created ({frontport_count}) must match the " "selected number of rear port positions ({rearport_count})." msgstr "" -#: dcim/forms/object_create.py:409 dcim/tables/devices.py:1033 -#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:53 -#: templates/dcim/virtualchassis_edit.html:47 templates/ipam/fhrpgroup.html:38 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 +#: netbox/ipam/tables/fhrp.py:31 netbox/templates/dcim/virtualchassis.html:53 +#: netbox/templates/dcim/virtualchassis_edit.html:47 +#: netbox/templates/ipam/fhrpgroup.html:38 msgid "Members" msgstr "" -#: dcim/forms/object_create.py:418 +#: netbox/dcim/forms/object_create.py:418 msgid "Initial position" msgstr "" -#: dcim/forms/object_create.py:421 +#: netbox/dcim/forms/object_create.py:421 msgid "" "Position of the first member device. Increases by one for each additional " "member." msgstr "" -#: dcim/forms/object_create.py:435 +#: netbox/dcim/forms/object_create.py:435 msgid "A position must be specified for the first VC member." msgstr "" -#: dcim/models/cables.py:62 dcim/models/device_component_templates.py:55 -#: dcim/models/device_components.py:62 extras/models/customfields.py:111 +#: netbox/dcim/models/cables.py:62 +#: netbox/dcim/models/device_component_templates.py:55 +#: netbox/dcim/models/device_components.py:62 +#: netbox/extras/models/customfields.py:111 msgid "label" msgstr "" -#: dcim/models/cables.py:71 +#: netbox/dcim/models/cables.py:71 msgid "length" msgstr "" -#: dcim/models/cables.py:78 +#: netbox/dcim/models/cables.py:78 msgid "length unit" msgstr "" -#: dcim/models/cables.py:95 +#: netbox/dcim/models/cables.py:95 msgid "cable" msgstr "" -#: dcim/models/cables.py:96 +#: netbox/dcim/models/cables.py:96 msgid "cables" msgstr "" -#: dcim/models/cables.py:165 +#: netbox/dcim/models/cables.py:165 msgid "Must specify a unit when setting a cable length" msgstr "" -#: dcim/models/cables.py:168 +#: netbox/dcim/models/cables.py:168 msgid "Must define A and B terminations when creating a new cable." msgstr "" -#: dcim/models/cables.py:175 +#: netbox/dcim/models/cables.py:175 msgid "Cannot connect different termination types to same end of cable." msgstr "" -#: dcim/models/cables.py:183 +#: netbox/dcim/models/cables.py:183 #, python-brace-format msgid "Incompatible termination types: {type_a} and {type_b}" msgstr "" -#: dcim/models/cables.py:193 +#: netbox/dcim/models/cables.py:193 msgid "A and B terminations cannot connect to the same object." msgstr "" -#: dcim/models/cables.py:260 ipam/models/asns.py:37 +#: netbox/dcim/models/cables.py:260 netbox/ipam/models/asns.py:37 msgid "end" msgstr "" -#: dcim/models/cables.py:313 +#: netbox/dcim/models/cables.py:313 msgid "cable termination" msgstr "" -#: dcim/models/cables.py:314 +#: netbox/dcim/models/cables.py:314 msgid "cable terminations" msgstr "" -#: dcim/models/cables.py:333 +#: netbox/dcim/models/cables.py:333 #, python-brace-format msgid "" "Duplicate termination found for {app_label}.{model} {termination_id}: cable " "{cable_pk}" msgstr "" -#: dcim/models/cables.py:343 +#: netbox/dcim/models/cables.py:343 #, python-brace-format msgid "Cables cannot be terminated to {type_display} interfaces" msgstr "" -#: dcim/models/cables.py:350 +#: netbox/dcim/models/cables.py:350 msgid "Circuit terminations attached to a provider network may not be cabled." msgstr "" -#: dcim/models/cables.py:448 extras/models/configs.py:50 +#: netbox/dcim/models/cables.py:448 netbox/extras/models/configs.py:50 msgid "is active" msgstr "" -#: dcim/models/cables.py:452 +#: netbox/dcim/models/cables.py:452 msgid "is complete" msgstr "" -#: dcim/models/cables.py:456 +#: netbox/dcim/models/cables.py:456 msgid "is split" msgstr "" -#: dcim/models/cables.py:464 +#: netbox/dcim/models/cables.py:464 msgid "cable path" msgstr "" -#: dcim/models/cables.py:465 +#: netbox/dcim/models/cables.py:465 msgid "cable paths" msgstr "" -#: dcim/models/device_component_templates.py:46 +#: netbox/dcim/models/device_component_templates.py:46 #, python-brace-format msgid "" "{module} is accepted as a substitution for the module bay position when " "attached to a module type." msgstr "" -#: dcim/models/device_component_templates.py:58 -#: dcim/models/device_components.py:65 +#: netbox/dcim/models/device_component_templates.py:58 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "" -#: dcim/models/device_component_templates.py:103 +#: netbox/dcim/models/device_component_templates.py:103 msgid "Component templates cannot be moved to a different device type." msgstr "" -#: dcim/models/device_component_templates.py:154 +#: netbox/dcim/models/device_component_templates.py:154 msgid "" "A component template cannot be associated with both a device type and a " "module type." msgstr "" -#: dcim/models/device_component_templates.py:158 +#: netbox/dcim/models/device_component_templates.py:158 msgid "" "A component template must be associated with either a device type or a " "module type." msgstr "" -#: dcim/models/device_component_templates.py:212 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "" -#: dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "" -#: dcim/models/device_component_templates.py:246 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "" -#: dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "" -#: dcim/models/device_component_templates.py:278 -#: dcim/models/device_components.py:352 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "" -#: dcim/models/device_component_templates.py:285 -#: dcim/models/device_components.py:359 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "" -#: dcim/models/device_component_templates.py:295 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "" -#: dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "" -#: dcim/models/device_component_templates.py:315 -#: dcim/models/device_components.py:382 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" -#: dcim/models/device_component_templates.py:347 -#: dcim/models/device_components.py:477 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "" -#: dcim/models/device_component_templates.py:351 -#: dcim/models/device_components.py:481 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "" -#: dcim/models/device_component_templates.py:357 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "" -#: dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "" -#: dcim/models/device_component_templates.py:367 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" -#: dcim/models/device_component_templates.py:371 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" -#: dcim/models/device_component_templates.py:423 -#: dcim/models/device_components.py:611 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "" -#: dcim/models/device_component_templates.py:431 -#: dcim/models/device_components.py:550 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "" -#: dcim/models/device_component_templates.py:449 -#: dcim/models/device_components.py:636 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "" -#: dcim/models/device_component_templates.py:455 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "" -#: dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "" -#: dcim/models/device_component_templates.py:463 -#: dcim/models/device_components.py:804 -#: virtualization/models/virtualmachines.py:405 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 +#: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "" -#: dcim/models/device_component_templates.py:466 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" -#: dcim/models/device_component_templates.py:470 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "" -#: dcim/models/device_component_templates.py:526 -#: dcim/models/device_components.py:984 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "" -#: dcim/models/device_component_templates.py:551 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "" -#: dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "" -#: dcim/models/device_component_templates.py:562 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "" -#: dcim/models/device_component_templates.py:568 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " "positions" msgstr "" -#: dcim/models/device_component_templates.py:621 -#: dcim/models/device_components.py:1053 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "" -#: dcim/models/device_component_templates.py:632 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "" -#: dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "" -#: dcim/models/device_component_templates.py:662 -#: dcim/models/device_components.py:1103 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "" -#: dcim/models/device_component_templates.py:665 -#: dcim/models/device_components.py:1106 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" -#: dcim/models/device_component_templates.py:671 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "" -#: dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "" -#: dcim/models/device_component_templates.py:699 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "" -#: dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "" -#: dcim/models/device_component_templates.py:713 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " "allow device bays." msgstr "" -#: dcim/models/device_component_templates.py:768 -#: dcim/models/device_components.py:1262 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "" -#: dcim/models/device_component_templates.py:770 -#: dcim/models/device_components.py:1264 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "" -#: dcim/models/device_component_templates.py:787 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "" -#: dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "" -#: dcim/models/device_components.py:105 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "" -#: dcim/models/device_components.py:144 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "" -#: dcim/models/device_components.py:150 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "" -#: dcim/models/device_components.py:152 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "" -#: dcim/models/device_components.py:170 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" -#: dcim/models/device_components.py:174 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "" -#: dcim/models/device_components.py:178 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "" -#: dcim/models/device_components.py:202 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "" -#: dcim/models/device_components.py:287 dcim/models/device_components.py:316 -#: dcim/models/device_components.py:349 dcim/models/device_components.py:467 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "" -#: dcim/models/device_components.py:290 dcim/models/device_components.py:319 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "" -#: dcim/models/device_components.py:294 dcim/models/device_components.py:323 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "" -#: dcim/models/device_components.py:300 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "" -#: dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "" -#: dcim/models/device_components.py:329 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "" -#: dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "" -#: dcim/models/device_components.py:369 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "" -#: dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "" -#: dcim/models/device_components.py:487 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "" -#: dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "" -#: dcim/models/device_components.py:499 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" -#: dcim/models/device_components.py:530 vpn/models/crypto.py:81 -#: vpn/models/crypto.py:226 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 +#: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "" -#: dcim/models/device_components.py:534 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "" -#: dcim/models/device_components.py:542 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "" -#: dcim/models/device_components.py:602 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "" -#: dcim/models/device_components.py:612 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "" -#: dcim/models/device_components.py:617 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "" -#: dcim/models/device_components.py:620 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "" -#: dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "" -#: dcim/models/device_components.py:642 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "" -#: dcim/models/device_components.py:649 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "" -#: dcim/models/device_components.py:650 dcim/models/device_components.py:658 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "" -#: dcim/models/device_components.py:664 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "" -#: dcim/models/device_components.py:689 wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "" -#: dcim/models/device_components.py:697 -#: virtualization/models/virtualmachines.py:335 +#: netbox/dcim/models/device_components.py:697 +#: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "" -#: dcim/models/device_components.py:703 -#: virtualization/models/virtualmachines.py:341 +#: netbox/dcim/models/device_components.py:703 +#: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "" -#: dcim/models/device_components.py:745 -#: virtualization/models/virtualmachines.py:377 +#: netbox/dcim/models/device_components.py:745 +#: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "" -#: dcim/models/device_components.py:746 -#: virtualization/models/virtualmachines.py:378 +#: netbox/dcim/models/device_components.py:746 +#: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "" -#: dcim/models/device_components.py:757 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "" -#: dcim/models/device_components.py:765 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" -#: dcim/models/device_components.py:774 -#: virtualization/models/virtualmachines.py:390 +#: netbox/dcim/models/device_components.py:774 +#: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "" -#: dcim/models/device_components.py:778 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" -#: dcim/models/device_components.py:785 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " "({device})" msgstr "" -#: dcim/models/device_components.py:791 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." msgstr "" -#: dcim/models/device_components.py:811 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." msgstr "" -#: dcim/models/device_components.py:817 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." msgstr "" -#: dcim/models/device_components.py:828 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "" -#: dcim/models/device_components.py:832 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "" -#: dcim/models/device_components.py:839 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "" -#: dcim/models/device_components.py:845 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of " "virtual chassis {virtual_chassis}." msgstr "" -#: dcim/models/device_components.py:856 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "" -#: dcim/models/device_components.py:860 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "" -#: dcim/models/device_components.py:866 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "" -#: dcim/models/device_components.py:873 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" -#: dcim/models/device_components.py:875 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "" -#: dcim/models/device_components.py:881 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" -#: dcim/models/device_components.py:885 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" -#: dcim/models/device_components.py:891 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" -#: dcim/models/device_components.py:893 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" -#: dcim/models/device_components.py:901 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent device, or it must be global." msgstr "" -#: dcim/models/device_components.py:990 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "" -#: dcim/models/device_components.py:1006 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "" -#: dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "" -#: dcim/models/device_components.py:1021 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "" -#: dcim/models/device_components.py:1029 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only " "{positions} positions." msgstr "" -#: dcim/models/device_components.py:1059 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "" -#: dcim/models/device_components.py:1064 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "" -#: dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "" -#: dcim/models/device_components.py:1079 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports " "({frontport_count})" msgstr "" -#: dcim/models/device_components.py:1120 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "" -#: dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "" -#: dcim/models/device_components.py:1138 dcim/models/devices.py:1224 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" -#: dcim/models/device_components.py:1164 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "" -#: dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "" -#: dcim/models/device_components.py:1175 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" -#: dcim/models/device_components.py:1181 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "" -#: dcim/models/device_components.py:1189 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "" -#: dcim/models/device_components.py:1210 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "" -#: dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "" -#: dcim/models/device_components.py:1268 dcim/models/devices.py:607 -#: dcim/models/devices.py:1181 dcim/models/racks.py:313 -#: virtualization/models/virtualmachines.py:131 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/racks.py:313 +#: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "" -#: dcim/models/device_components.py:1276 dcim/models/devices.py:615 -#: dcim/models/devices.py:1188 dcim/models/racks.py:320 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 +#: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "" -#: dcim/models/device_components.py:1277 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "" -#: dcim/models/device_components.py:1280 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "" -#: dcim/models/device_components.py:1282 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "" -#: dcim/models/device_components.py:1300 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "" -#: dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "" -#: dcim/models/device_components.py:1312 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "" -#: dcim/models/device_components.py:1320 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "" -#: dcim/models/device_components.py:1326 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "" -#: dcim/models/device_components.py:1334 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" -#: dcim/models/devices.py:54 +#: netbox/dcim/models/devices.py:54 msgid "manufacturer" msgstr "" -#: dcim/models/devices.py:55 +#: netbox/dcim/models/devices.py:55 msgid "manufacturers" msgstr "" -#: dcim/models/devices.py:82 dcim/models/devices.py:382 -#: dcim/models/racks.py:133 +#: netbox/dcim/models/devices.py:82 netbox/dcim/models/devices.py:382 +#: netbox/dcim/models/racks.py:133 msgid "model" msgstr "" -#: dcim/models/devices.py:95 +#: netbox/dcim/models/devices.py:95 msgid "default platform" msgstr "" -#: dcim/models/devices.py:98 dcim/models/devices.py:386 +#: netbox/dcim/models/devices.py:98 netbox/dcim/models/devices.py:386 msgid "part number" msgstr "" -#: dcim/models/devices.py:101 dcim/models/devices.py:389 +#: netbox/dcim/models/devices.py:101 netbox/dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "" -#: dcim/models/devices.py:107 dcim/models/racks.py:54 +#: netbox/dcim/models/devices.py:107 netbox/dcim/models/racks.py:54 msgid "height (U)" msgstr "" -#: dcim/models/devices.py:111 +#: netbox/dcim/models/devices.py:111 msgid "exclude from utilization" msgstr "" -#: dcim/models/devices.py:112 +#: netbox/dcim/models/devices.py:112 msgid "Devices of this type are excluded when calculating rack utilization." msgstr "" -#: dcim/models/devices.py:116 +#: netbox/dcim/models/devices.py:116 msgid "is full depth" msgstr "" -#: dcim/models/devices.py:117 +#: netbox/dcim/models/devices.py:117 msgid "Device consumes both front and rear rack faces." msgstr "" -#: dcim/models/devices.py:123 +#: netbox/dcim/models/devices.py:123 msgid "parent/child status" msgstr "" -#: dcim/models/devices.py:124 +#: netbox/dcim/models/devices.py:124 msgid "" "Parent devices house child devices in device bays. Leave blank if this " "device type is neither a parent nor a child." msgstr "" -#: dcim/models/devices.py:128 dcim/models/devices.py:392 -#: dcim/models/devices.py:659 dcim/models/racks.py:324 +#: netbox/dcim/models/devices.py:128 netbox/dcim/models/devices.py:392 +#: netbox/dcim/models/devices.py:659 netbox/dcim/models/racks.py:324 msgid "airflow" msgstr "" -#: dcim/models/devices.py:204 +#: netbox/dcim/models/devices.py:204 msgid "device type" msgstr "" -#: dcim/models/devices.py:205 +#: netbox/dcim/models/devices.py:205 msgid "device types" msgstr "" -#: dcim/models/devices.py:290 +#: netbox/dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "" -#: dcim/models/devices.py:307 +#: netbox/dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate " "a height of {height}U" msgstr "" -#: dcim/models/devices.py:322 +#: netbox/dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." msgstr "" -#: dcim/models/devices.py:331 +#: netbox/dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." msgstr "" -#: dcim/models/devices.py:337 +#: netbox/dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "" -#: dcim/models/devices.py:411 +#: netbox/dcim/models/devices.py:411 msgid "module type" msgstr "" -#: dcim/models/devices.py:412 +#: netbox/dcim/models/devices.py:412 msgid "module types" msgstr "" -#: dcim/models/devices.py:485 +#: netbox/dcim/models/devices.py:485 msgid "Virtual machines may be assigned to this role" msgstr "" -#: dcim/models/devices.py:497 +#: netbox/dcim/models/devices.py:497 msgid "device role" msgstr "" -#: dcim/models/devices.py:498 +#: netbox/dcim/models/devices.py:498 msgid "device roles" msgstr "" -#: dcim/models/devices.py:515 +#: netbox/dcim/models/devices.py:515 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" -#: dcim/models/devices.py:527 +#: netbox/dcim/models/devices.py:527 msgid "platform" msgstr "" -#: dcim/models/devices.py:528 +#: netbox/dcim/models/devices.py:528 msgid "platforms" msgstr "" -#: dcim/models/devices.py:576 +#: netbox/dcim/models/devices.py:576 msgid "The function this device serves" msgstr "" -#: dcim/models/devices.py:608 +#: netbox/dcim/models/devices.py:608 msgid "Chassis serial number, assigned by the manufacturer" msgstr "" -#: dcim/models/devices.py:616 dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "" -#: dcim/models/devices.py:643 +#: netbox/dcim/models/devices.py:643 msgid "position (U)" msgstr "" -#: dcim/models/devices.py:650 +#: netbox/dcim/models/devices.py:650 msgid "rack face" msgstr "" -#: dcim/models/devices.py:670 dcim/models/devices.py:1415 -#: virtualization/models/virtualmachines.py:100 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 +#: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "" -#: dcim/models/devices.py:678 dcim/models/devices.py:1423 -#: virtualization/models/virtualmachines.py:108 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 +#: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "" -#: dcim/models/devices.py:686 +#: netbox/dcim/models/devices.py:686 msgid "out-of-band IP" msgstr "" -#: dcim/models/devices.py:703 +#: netbox/dcim/models/devices.py:703 msgid "VC position" msgstr "" -#: dcim/models/devices.py:706 +#: netbox/dcim/models/devices.py:706 msgid "Virtual chassis position" msgstr "" -#: dcim/models/devices.py:709 +#: netbox/dcim/models/devices.py:709 msgid "VC priority" msgstr "" -#: dcim/models/devices.py:713 +#: netbox/dcim/models/devices.py:713 msgid "Virtual chassis master election priority" msgstr "" -#: dcim/models/devices.py:716 dcim/models/sites.py:207 +#: netbox/dcim/models/devices.py:716 netbox/dcim/models/sites.py:207 msgid "latitude" msgstr "" -#: dcim/models/devices.py:721 dcim/models/devices.py:729 -#: dcim/models/sites.py:212 dcim/models/sites.py:220 +#: netbox/dcim/models/devices.py:721 netbox/dcim/models/devices.py:729 +#: netbox/dcim/models/sites.py:212 netbox/dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "" -#: dcim/models/devices.py:724 dcim/models/sites.py:215 +#: netbox/dcim/models/devices.py:724 netbox/dcim/models/sites.py:215 msgid "longitude" msgstr "" -#: dcim/models/devices.py:797 +#: netbox/dcim/models/devices.py:797 msgid "Device name must be unique per site." msgstr "" -#: dcim/models/devices.py:808 ipam/models/services.py:75 +#: netbox/dcim/models/devices.py:808 netbox/ipam/models/services.py:75 msgid "device" msgstr "" -#: dcim/models/devices.py:809 +#: netbox/dcim/models/devices.py:809 msgid "devices" msgstr "" -#: dcim/models/devices.py:835 +#: netbox/dcim/models/devices.py:835 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "" -#: dcim/models/devices.py:840 +#: netbox/dcim/models/devices.py:840 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "" -#: dcim/models/devices.py:846 +#: netbox/dcim/models/devices.py:846 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "" -#: dcim/models/devices.py:853 +#: netbox/dcim/models/devices.py:853 msgid "Cannot select a rack face without assigning a rack." msgstr "" -#: dcim/models/devices.py:857 +#: netbox/dcim/models/devices.py:857 msgid "Cannot select a rack position without assigning a rack." msgstr "" -#: dcim/models/devices.py:863 +#: netbox/dcim/models/devices.py:863 msgid "Position must be in increments of 0.5 rack units." msgstr "" -#: dcim/models/devices.py:867 +#: netbox/dcim/models/devices.py:867 msgid "Must specify rack face when defining rack position." msgstr "" -#: dcim/models/devices.py:875 +#: netbox/dcim/models/devices.py:875 #, python-brace-format msgid "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -#: dcim/models/devices.py:886 +#: netbox/dcim/models/devices.py:886 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." msgstr "" -#: dcim/models/devices.py:893 +#: netbox/dcim/models/devices.py:893 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." msgstr "" -#: dcim/models/devices.py:907 +#: netbox/dcim/models/devices.py:907 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " "accommodate this device type: {device_type} ({u_height}U)" msgstr "" -#: dcim/models/devices.py:922 +#: netbox/dcim/models/devices.py:922 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "" -#: dcim/models/devices.py:931 dcim/models/devices.py:946 +#: netbox/dcim/models/devices.py:931 netbox/dcim/models/devices.py:946 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "" -#: dcim/models/devices.py:937 +#: netbox/dcim/models/devices.py:937 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "" -#: dcim/models/devices.py:964 +#: netbox/dcim/models/devices.py:964 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " "but this device's type belongs to {devicetype_manufacturer}." msgstr "" -#: dcim/models/devices.py:975 +#: netbox/dcim/models/devices.py:975 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "" -#: dcim/models/devices.py:983 +#: netbox/dcim/models/devices.py:983 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" -#: dcim/models/devices.py:988 +#: netbox/dcim/models/devices.py:988 #, python-brace-format msgid "" "Device cannot be removed from virtual chassis {virtual_chassis} because it " "is currently designated as its master." msgstr "" -#: dcim/models/devices.py:1196 +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "" -#: dcim/models/devices.py:1197 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "" -#: dcim/models/devices.py:1213 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "" -#: dcim/models/devices.py:1334 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "" -#: dcim/models/devices.py:1347 dcim/models/devices.py:1348 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "" -#: dcim/models/devices.py:1363 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" -#: dcim/models/devices.py:1379 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "" -#: dcim/models/devices.py:1404 vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "" -#: dcim/models/devices.py:1405 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "" -#: dcim/models/devices.py:1433 extras/models/customfields.py:225 -#: extras/models/models.py:107 extras/models/models.py:694 -#: netbox/models/__init__.py:115 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 +#: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 +#: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "" -#: dcim/models/devices.py:1449 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "" -#: dcim/models/devices.py:1450 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "" -#: dcim/models/devices.py:1482 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "" -#: dcim/models/devices.py:1488 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" -#: dcim/models/mixins.py:15 extras/models/configs.py:41 -#: extras/models/models.py:313 extras/models/models.py:522 -#: extras/models/search.py:48 ipam/models/ip.py:194 +#: netbox/dcim/models/mixins.py:15 netbox/extras/models/configs.py:41 +#: netbox/extras/models/models.py:313 netbox/extras/models/models.py:522 +#: netbox/extras/models/search.py:48 netbox/ipam/models/ip.py:194 msgid "weight" msgstr "" -#: dcim/models/mixins.py:22 +#: netbox/dcim/models/mixins.py:22 msgid "weight unit" msgstr "" -#: dcim/models/mixins.py:51 +#: netbox/dcim/models/mixins.py:51 msgid "Must specify a unit when setting a weight" msgstr "" -#: dcim/models/power.py:55 +#: netbox/dcim/models/power.py:55 msgid "power panel" msgstr "" -#: dcim/models/power.py:56 +#: netbox/dcim/models/power.py:56 msgid "power panels" msgstr "" -#: dcim/models/power.py:70 +#: netbox/dcim/models/power.py:70 #, python-brace-format msgid "" "Location {location} ({location_site}) is in a different site than {site}" msgstr "" -#: dcim/models/power.py:108 +#: netbox/dcim/models/power.py:108 msgid "supply" msgstr "" -#: dcim/models/power.py:114 +#: netbox/dcim/models/power.py:114 msgid "phase" msgstr "" -#: dcim/models/power.py:120 +#: netbox/dcim/models/power.py:120 msgid "voltage" msgstr "" -#: dcim/models/power.py:125 +#: netbox/dcim/models/power.py:125 msgid "amperage" msgstr "" -#: dcim/models/power.py:130 +#: netbox/dcim/models/power.py:130 msgid "max utilization" msgstr "" -#: dcim/models/power.py:133 +#: netbox/dcim/models/power.py:133 msgid "Maximum permissible draw (percentage)" msgstr "" -#: dcim/models/power.py:136 +#: netbox/dcim/models/power.py:136 msgid "available power" msgstr "" -#: dcim/models/power.py:164 +#: netbox/dcim/models/power.py:164 msgid "power feed" msgstr "" -#: dcim/models/power.py:165 +#: netbox/dcim/models/power.py:165 msgid "power feeds" msgstr "" -#: dcim/models/power.py:179 +#: netbox/dcim/models/power.py:179 #, python-brace-format msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " "are in different sites." msgstr "" -#: dcim/models/power.py:190 +#: netbox/dcim/models/power.py:190 msgid "Voltage cannot be negative for AC supply" msgstr "" -#: dcim/models/racks.py:47 +#: netbox/dcim/models/racks.py:47 msgid "width" msgstr "" -#: dcim/models/racks.py:48 +#: netbox/dcim/models/racks.py:48 msgid "Rail-to-rail width" msgstr "" -#: dcim/models/racks.py:56 +#: netbox/dcim/models/racks.py:56 msgid "Height in rack units" msgstr "" -#: dcim/models/racks.py:60 +#: netbox/dcim/models/racks.py:60 msgid "starting unit" msgstr "" -#: dcim/models/racks.py:62 +#: netbox/dcim/models/racks.py:62 msgid "Starting unit for rack" msgstr "" -#: dcim/models/racks.py:66 +#: netbox/dcim/models/racks.py:66 msgid "descending units" msgstr "" -#: dcim/models/racks.py:67 +#: netbox/dcim/models/racks.py:67 msgid "Units are numbered top-to-bottom" msgstr "" -#: dcim/models/racks.py:72 +#: netbox/dcim/models/racks.py:72 msgid "outer width" msgstr "" -#: dcim/models/racks.py:75 +#: netbox/dcim/models/racks.py:75 msgid "Outer dimension of rack (width)" msgstr "" -#: dcim/models/racks.py:78 +#: netbox/dcim/models/racks.py:78 msgid "outer depth" msgstr "" -#: dcim/models/racks.py:81 +#: netbox/dcim/models/racks.py:81 msgid "Outer dimension of rack (depth)" msgstr "" -#: dcim/models/racks.py:84 +#: netbox/dcim/models/racks.py:84 msgid "outer unit" msgstr "" -#: dcim/models/racks.py:90 +#: netbox/dcim/models/racks.py:90 msgid "mounting depth" msgstr "" -#: dcim/models/racks.py:94 +#: netbox/dcim/models/racks.py:94 msgid "" "Maximum depth of a mounted device, in millimeters. For four-post racks, this " "is the distance between the front and rear rails." msgstr "" -#: dcim/models/racks.py:102 +#: netbox/dcim/models/racks.py:102 msgid "max weight" msgstr "" -#: dcim/models/racks.py:105 +#: netbox/dcim/models/racks.py:105 msgid "Maximum load capacity for the rack" msgstr "" -#: dcim/models/racks.py:125 dcim/models/racks.py:252 +#: netbox/dcim/models/racks.py:125 netbox/dcim/models/racks.py:252 msgid "form factor" msgstr "" -#: dcim/models/racks.py:162 +#: netbox/dcim/models/racks.py:162 msgid "rack type" msgstr "" -#: dcim/models/racks.py:163 +#: netbox/dcim/models/racks.py:163 msgid "rack types" msgstr "" -#: dcim/models/racks.py:180 dcim/models/racks.py:379 +#: netbox/dcim/models/racks.py:180 netbox/dcim/models/racks.py:379 msgid "Must specify a unit when setting an outer width/depth" msgstr "" -#: dcim/models/racks.py:184 dcim/models/racks.py:383 +#: netbox/dcim/models/racks.py:184 netbox/dcim/models/racks.py:383 msgid "Must specify a unit when setting a maximum weight" msgstr "" -#: dcim/models/racks.py:230 +#: netbox/dcim/models/racks.py:230 msgid "rack role" msgstr "" -#: dcim/models/racks.py:231 +#: netbox/dcim/models/racks.py:231 msgid "rack roles" msgstr "" -#: dcim/models/racks.py:274 +#: netbox/dcim/models/racks.py:274 msgid "facility ID" msgstr "" -#: dcim/models/racks.py:275 +#: netbox/dcim/models/racks.py:275 msgid "Locally-assigned identifier" msgstr "" -#: dcim/models/racks.py:308 ipam/forms/bulk_import.py:201 -#: ipam/forms/bulk_import.py:266 ipam/forms/bulk_import.py:301 -#: ipam/forms/bulk_import.py:459 virtualization/forms/bulk_import.py:112 +#: netbox/dcim/models/racks.py:308 netbox/ipam/forms/bulk_import.py:201 +#: netbox/ipam/forms/bulk_import.py:266 netbox/ipam/forms/bulk_import.py:301 +#: netbox/ipam/forms/bulk_import.py:459 +#: netbox/virtualization/forms/bulk_import.py:112 msgid "Functional role" msgstr "" -#: dcim/models/racks.py:321 +#: netbox/dcim/models/racks.py:321 msgid "A unique tag used to identify this rack" msgstr "" -#: dcim/models/racks.py:359 +#: netbox/dcim/models/racks.py:359 msgid "rack" msgstr "" -#: dcim/models/racks.py:360 +#: netbox/dcim/models/racks.py:360 msgid "racks" msgstr "" -#: dcim/models/racks.py:375 +#: netbox/dcim/models/racks.py:375 #, python-brace-format msgid "Assigned location must belong to parent site ({site})." msgstr "" -#: dcim/models/racks.py:393 +#: netbox/dcim/models/racks.py:393 #, python-brace-format msgid "" "Rack must be at least {min_height}U tall to house currently installed " "devices." msgstr "" -#: dcim/models/racks.py:400 +#: netbox/dcim/models/racks.py:400 #, python-brace-format msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." msgstr "" -#: dcim/models/racks.py:408 +#: netbox/dcim/models/racks.py:408 #, python-brace-format msgid "Location must be from the same site, {site}." msgstr "" -#: dcim/models/racks.py:670 +#: netbox/dcim/models/racks.py:670 msgid "units" msgstr "" -#: dcim/models/racks.py:696 +#: netbox/dcim/models/racks.py:696 msgid "rack reservation" msgstr "" -#: dcim/models/racks.py:697 +#: netbox/dcim/models/racks.py:697 msgid "rack reservations" msgstr "" -#: dcim/models/racks.py:714 +#: netbox/dcim/models/racks.py:714 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" msgstr "" -#: dcim/models/racks.py:727 +#: netbox/dcim/models/racks.py:727 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" msgstr "" -#: dcim/models/sites.py:49 +#: netbox/dcim/models/sites.py:49 msgid "A top-level region with this name already exists." msgstr "" -#: dcim/models/sites.py:59 +#: netbox/dcim/models/sites.py:59 msgid "A top-level region with this slug already exists." msgstr "" -#: dcim/models/sites.py:62 +#: netbox/dcim/models/sites.py:62 msgid "region" msgstr "" -#: dcim/models/sites.py:63 +#: netbox/dcim/models/sites.py:63 msgid "regions" msgstr "" -#: dcim/models/sites.py:102 +#: netbox/dcim/models/sites.py:102 msgid "A top-level site group with this name already exists." msgstr "" -#: dcim/models/sites.py:112 +#: netbox/dcim/models/sites.py:112 msgid "A top-level site group with this slug already exists." msgstr "" -#: dcim/models/sites.py:115 +#: netbox/dcim/models/sites.py:115 msgid "site group" msgstr "" -#: dcim/models/sites.py:116 +#: netbox/dcim/models/sites.py:116 msgid "site groups" msgstr "" -#: dcim/models/sites.py:141 +#: netbox/dcim/models/sites.py:141 msgid "Full name of the site" msgstr "" -#: dcim/models/sites.py:181 dcim/models/sites.py:279 +#: netbox/dcim/models/sites.py:181 netbox/dcim/models/sites.py:279 msgid "facility" msgstr "" -#: dcim/models/sites.py:184 dcim/models/sites.py:282 +#: netbox/dcim/models/sites.py:184 netbox/dcim/models/sites.py:282 msgid "Local facility ID or description" msgstr "" -#: dcim/models/sites.py:195 +#: netbox/dcim/models/sites.py:195 msgid "physical address" msgstr "" -#: dcim/models/sites.py:198 +#: netbox/dcim/models/sites.py:198 msgid "Physical location of the building" msgstr "" -#: dcim/models/sites.py:201 +#: netbox/dcim/models/sites.py:201 msgid "shipping address" msgstr "" -#: dcim/models/sites.py:204 +#: netbox/dcim/models/sites.py:204 msgid "If different from the physical address" msgstr "" -#: dcim/models/sites.py:238 +#: netbox/dcim/models/sites.py:238 msgid "site" msgstr "" -#: dcim/models/sites.py:239 +#: netbox/dcim/models/sites.py:239 msgid "sites" msgstr "" -#: dcim/models/sites.py:309 +#: netbox/dcim/models/sites.py:309 msgid "A location with this name already exists within the specified site." msgstr "" -#: dcim/models/sites.py:319 +#: netbox/dcim/models/sites.py:319 msgid "A location with this slug already exists within the specified site." msgstr "" -#: dcim/models/sites.py:322 +#: netbox/dcim/models/sites.py:322 msgid "location" msgstr "" -#: dcim/models/sites.py:323 +#: netbox/dcim/models/sites.py:323 msgid "locations" msgstr "" -#: dcim/models/sites.py:337 +#: netbox/dcim/models/sites.py:337 #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" -#: dcim/tables/cables.py:55 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" msgstr "" -#: dcim/tables/cables.py:60 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" msgstr "" -#: dcim/tables/cables.py:66 wireless/tables/wirelesslink.py:23 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:23 msgid "Device A" msgstr "" -#: dcim/tables/cables.py:72 wireless/tables/wirelesslink.py:32 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:32 msgid "Device B" msgstr "" -#: dcim/tables/cables.py:78 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" msgstr "" -#: dcim/tables/cables.py:84 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" msgstr "" -#: dcim/tables/cables.py:90 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" msgstr "" -#: dcim/tables/cables.py:96 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" msgstr "" -#: dcim/tables/cables.py:102 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" msgstr "" -#: dcim/tables/cables.py:108 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" msgstr "" -#: dcim/tables/connections.py:31 dcim/tables/connections.py:50 -#: dcim/tables/connections.py:71 -#: templates/dcim/inc/connection_endpoints.html:16 +#: netbox/dcim/tables/connections.py:31 netbox/dcim/tables/connections.py:50 +#: netbox/dcim/tables/connections.py:71 +#: netbox/templates/dcim/inc/connection_endpoints.html:16 msgid "Reachable" msgstr "" -#: dcim/tables/devices.py:58 dcim/tables/devices.py:106 -#: dcim/tables/racks.py:150 dcim/tables/sites.py:105 dcim/tables/sites.py:148 -#: extras/tables/tables.py:545 netbox/navigation/menu.py:69 -#: netbox/navigation/menu.py:73 netbox/navigation/menu.py:75 -#: virtualization/forms/model_forms.py:122 virtualization/tables/clusters.py:83 -#: virtualization/views.py:206 +#: netbox/dcim/tables/devices.py:58 netbox/dcim/tables/devices.py:106 +#: netbox/dcim/tables/racks.py:150 netbox/dcim/tables/sites.py:105 +#: netbox/dcim/tables/sites.py:148 netbox/extras/tables/tables.py:545 +#: netbox/netbox/navigation/menu.py:69 netbox/netbox/navigation/menu.py:73 +#: netbox/netbox/navigation/menu.py:75 +#: netbox/virtualization/forms/model_forms.py:122 +#: netbox/virtualization/tables/clusters.py:83 +#: netbox/virtualization/views.py:206 msgid "Devices" msgstr "" -#: dcim/tables/devices.py:63 dcim/tables/devices.py:111 -#: virtualization/tables/clusters.py:88 +#: netbox/dcim/tables/devices.py:63 netbox/dcim/tables/devices.py:111 +#: netbox/virtualization/tables/clusters.py:88 msgid "VMs" msgstr "" -#: dcim/tables/devices.py:100 dcim/tables/devices.py:216 -#: extras/forms/model_forms.py:630 templates/dcim/device.html:112 -#: templates/dcim/device/render_config.html:11 -#: 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:48 -#: templates/virtualization/virtualmachine/render_config.html:11 -#: templates/virtualization/virtualmachine/render_config.html:14 -#: virtualization/tables/virtualmachines.py:107 +#: netbox/dcim/tables/devices.py:100 netbox/dcim/tables/devices.py:216 +#: netbox/extras/forms/model_forms.py:630 netbox/templates/dcim/device.html:112 +#: netbox/templates/dcim/device/render_config.html:11 +#: netbox/templates/dcim/device/render_config.html:14 +#: netbox/templates/dcim/devicerole.html:44 +#: netbox/templates/dcim/platform.html:41 +#: netbox/templates/extras/configtemplate.html:10 +#: netbox/templates/virtualization/virtualmachine.html:48 +#: netbox/templates/virtualization/virtualmachine/render_config.html:11 +#: netbox/templates/virtualization/virtualmachine/render_config.html:14 +#: netbox/virtualization/tables/virtualmachines.py:107 msgid "Config Template" msgstr "" -#: dcim/tables/devices.py:150 templates/dcim/sitegroup.html:26 +#: netbox/dcim/tables/devices.py:150 netbox/templates/dcim/sitegroup.html:26 msgid "Site Group" msgstr "" -#: dcim/tables/devices.py:187 dcim/tables/devices.py:1068 -#: ipam/forms/bulk_import.py:503 ipam/forms/model_forms.py:306 -#: ipam/forms/model_forms.py:315 ipam/tables/ip.py:356 ipam/tables/ip.py:423 -#: ipam/tables/ip.py:446 templates/ipam/ipaddress.html:11 -#: virtualization/tables/virtualmachines.py:95 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 +#: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 +#: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 +#: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 +#: netbox/templates/ipam/ipaddress.html:11 +#: netbox/virtualization/tables/virtualmachines.py:95 msgid "IP Address" msgstr "" -#: dcim/tables/devices.py:191 dcim/tables/devices.py:1072 -#: virtualization/tables/virtualmachines.py:86 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 +#: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "" -#: dcim/tables/devices.py:195 dcim/tables/devices.py:1076 -#: virtualization/tables/virtualmachines.py:90 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 +#: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "" -#: dcim/tables/devices.py:210 +#: netbox/dcim/tables/devices.py:210 msgid "VC Position" msgstr "" -#: dcim/tables/devices.py:213 +#: netbox/dcim/tables/devices.py:213 msgid "VC Priority" msgstr "" -#: dcim/tables/devices.py:220 templates/dcim/device_edit.html:38 -#: templates/dcim/devicebay_populate.html:16 +#: netbox/dcim/tables/devices.py:220 netbox/templates/dcim/device_edit.html:38 +#: netbox/templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "" -#: dcim/tables/devices.py:225 +#: netbox/dcim/tables/devices.py:225 msgid "Position (Device Bay)" msgstr "" -#: dcim/tables/devices.py:234 +#: netbox/dcim/tables/devices.py:234 msgid "Console ports" msgstr "" -#: dcim/tables/devices.py:237 +#: netbox/dcim/tables/devices.py:237 msgid "Console server ports" msgstr "" -#: dcim/tables/devices.py:240 +#: netbox/dcim/tables/devices.py:240 msgid "Power ports" msgstr "" -#: dcim/tables/devices.py:243 +#: netbox/dcim/tables/devices.py:243 msgid "Power outlets" msgstr "" -#: dcim/tables/devices.py:246 dcim/tables/devices.py:1081 -#: dcim/tables/devicetypes.py:128 dcim/views.py:1042 dcim/views.py:1281 -#: dcim/views.py:1977 netbox/navigation/menu.py:94 -#: netbox/navigation/menu.py:250 templates/dcim/device/base.html:37 -#: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 -#: templates/dcim/inc/moduletype_buttons.html:25 templates/dcim/module.html:34 -#: 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:101 virtualization/views.py:366 -#: wireless/tables/wirelesslan.py:55 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 +#: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 +#: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 +#: netbox/templates/dcim/device/base.html:37 +#: netbox/templates/dcim/device_list.html:43 +#: netbox/templates/dcim/devicetype/base.html:34 +#: netbox/templates/dcim/inc/moduletype_buttons.html:25 +#: netbox/templates/dcim/module.html:34 +#: netbox/templates/dcim/virtualdevicecontext.html:61 +#: netbox/templates/dcim/virtualdevicecontext.html:81 +#: netbox/templates/virtualization/virtualmachine/base.html:27 +#: netbox/templates/virtualization/virtualmachine_list.html:14 +#: netbox/virtualization/tables/virtualmachines.py:101 +#: netbox/virtualization/views.py:366 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "" -#: dcim/tables/devices.py:249 +#: netbox/dcim/tables/devices.py:249 msgid "Front ports" msgstr "" -#: dcim/tables/devices.py:255 +#: netbox/dcim/tables/devices.py:255 msgid "Device bays" msgstr "" -#: dcim/tables/devices.py:258 +#: netbox/dcim/tables/devices.py:258 msgid "Module bays" msgstr "" -#: dcim/tables/devices.py:261 +#: netbox/dcim/tables/devices.py:261 msgid "Inventory items" msgstr "" -#: dcim/tables/devices.py:305 dcim/tables/modules.py:56 -#: templates/dcim/modulebay.html:17 +#: netbox/dcim/tables/devices.py:305 netbox/dcim/tables/modules.py:56 +#: netbox/templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "" -#: dcim/tables/devices.py:318 dcim/tables/devicetypes.py:47 -#: dcim/tables/devicetypes.py:143 dcim/views.py:1117 dcim/views.py:2075 -#: netbox/navigation/menu.py:103 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:6 -#: templates/dcim/inventoryitemrole.html:32 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 +#: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 +#: netbox/templates/dcim/device/base.html:52 +#: netbox/templates/dcim/device_list.html:71 +#: netbox/templates/dcim/devicetype/base.html:49 +#: netbox/templates/dcim/inc/panels/inventory_items.html:6 +#: netbox/templates/dcim/inventoryitemrole.html:32 msgid "Inventory Items" msgstr "" -#: dcim/tables/devices.py:333 +#: netbox/dcim/tables/devices.py:333 msgid "Cable Color" msgstr "" -#: dcim/tables/devices.py:339 +#: netbox/dcim/tables/devices.py:339 msgid "Link Peers" msgstr "" -#: dcim/tables/devices.py:342 +#: netbox/dcim/tables/devices.py:342 msgid "Mark Connected" msgstr "" -#: dcim/tables/devices.py:461 +#: netbox/dcim/tables/devices.py:461 msgid "Maximum draw (W)" msgstr "" -#: dcim/tables/devices.py:464 +#: netbox/dcim/tables/devices.py:464 msgid "Allocated draw (W)" msgstr "" -#: dcim/tables/devices.py:558 ipam/forms/model_forms.py:701 -#: ipam/tables/fhrp.py:28 ipam/views.py:596 ipam/views.py:696 -#: netbox/navigation/menu.py:158 netbox/navigation/menu.py:160 -#: 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 +#: netbox/dcim/tables/devices.py:558 netbox/ipam/forms/model_forms.py:701 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:158 +#: netbox/netbox/navigation/menu.py:160 +#: netbox/templates/dcim/interface.html:339 +#: netbox/templates/ipam/ipaddress_bulk_add.html:15 +#: netbox/templates/ipam/service.html:40 +#: netbox/templates/virtualization/vminterface.html:85 +#: netbox/vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "" -#: dcim/tables/devices.py:564 netbox/navigation/menu.py:202 -#: templates/ipam/inc/panels/fhrp_groups.html:6 +#: netbox/dcim/tables/devices.py:564 netbox/netbox/navigation/menu.py:202 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:6 msgid "FHRP Groups" msgstr "" -#: dcim/tables/devices.py:576 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 +#: netbox/dcim/tables/devices.py:576 netbox/templates/dcim/interface.html:89 +#: netbox/templates/virtualization/vminterface.html:67 +#: netbox/templates/vpn/tunnel.html:18 +#: netbox/templates/vpn/tunneltermination.html:13 +#: netbox/vpn/forms/bulk_edit.py:76 netbox/vpn/forms/bulk_import.py:76 +#: netbox/vpn/forms/filtersets.py:42 netbox/vpn/forms/filtersets.py:82 +#: netbox/vpn/forms/model_forms.py:60 netbox/vpn/forms/model_forms.py:145 +#: netbox/vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "" -#: dcim/tables/devices.py:604 dcim/tables/devicetypes.py:227 -#: templates/dcim/interface.html:65 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 +#: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "" -#: dcim/tables/devices.py:623 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "" -#: dcim/tables/devices.py:873 templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "" -#: dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "" -#: dcim/tables/devices.py:880 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "" -#: dcim/tables/devices.py:889 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "" -#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:312 -#: templates/dcim/inventoryitem.html:40 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 +#: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "" -#: dcim/tables/devices.py:1000 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "" -#: dcim/tables/devicetypes.py:37 netbox/navigation/menu.py:84 -#: netbox/navigation/menu.py:86 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 +#: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "" -#: dcim/tables/devicetypes.py:42 netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "" -#: dcim/tables/devicetypes.py:52 extras/forms/filtersets.py:371 -#: extras/forms/model_forms.py:537 extras/tables/tables.py:540 -#: netbox/navigation/menu.py:78 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 +#: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 +#: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "" -#: dcim/tables/devicetypes.py:84 templates/dcim/devicetype.html:29 +#: netbox/dcim/tables/devicetypes.py:84 +#: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "" -#: dcim/tables/devicetypes.py:88 templates/dcim/devicetype.html:45 +#: netbox/dcim/tables/devicetypes.py:88 +#: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "" -#: dcim/tables/devicetypes.py:98 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "" -#: dcim/tables/devicetypes.py:113 dcim/tables/modules.py:26 -#: dcim/tables/racks.py:89 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "" -#: dcim/tables/devicetypes.py:116 dcim/views.py:982 dcim/views.py:1221 -#: dcim/views.py:1913 netbox/navigation/menu.py:97 -#: templates/dcim/device/base.html:25 templates/dcim/device_list.html:15 -#: templates/dcim/devicetype/base.html:22 -#: templates/dcim/inc/moduletype_buttons.html:13 templates/dcim/module.html:22 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 +#: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 +#: netbox/netbox/navigation/menu.py:97 +#: netbox/templates/dcim/device/base.html:25 +#: netbox/templates/dcim/device_list.html:15 +#: netbox/templates/dcim/devicetype/base.html:22 +#: netbox/templates/dcim/inc/moduletype_buttons.html:13 +#: netbox/templates/dcim/module.html:22 msgid "Console Ports" msgstr "" -#: dcim/tables/devicetypes.py:119 dcim/views.py:997 dcim/views.py:1236 -#: dcim/views.py:1929 netbox/navigation/menu.py:98 -#: templates/dcim/device/base.html:28 templates/dcim/device_list.html:22 -#: templates/dcim/devicetype/base.html:25 -#: templates/dcim/inc/moduletype_buttons.html:16 templates/dcim/module.html:25 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 +#: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 +#: netbox/netbox/navigation/menu.py:98 +#: netbox/templates/dcim/device/base.html:28 +#: netbox/templates/dcim/device_list.html:22 +#: netbox/templates/dcim/devicetype/base.html:25 +#: netbox/templates/dcim/inc/moduletype_buttons.html:16 +#: netbox/templates/dcim/module.html:25 msgid "Console Server Ports" msgstr "" -#: dcim/tables/devicetypes.py:122 dcim/views.py:1012 dcim/views.py:1251 -#: dcim/views.py:1945 netbox/navigation/menu.py:99 -#: templates/dcim/device/base.html:31 templates/dcim/device_list.html:29 -#: templates/dcim/devicetype/base.html:28 -#: templates/dcim/inc/moduletype_buttons.html:19 templates/dcim/module.html:28 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 +#: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 +#: netbox/netbox/navigation/menu.py:99 +#: netbox/templates/dcim/device/base.html:31 +#: netbox/templates/dcim/device_list.html:29 +#: netbox/templates/dcim/devicetype/base.html:28 +#: netbox/templates/dcim/inc/moduletype_buttons.html:19 +#: netbox/templates/dcim/module.html:28 msgid "Power Ports" msgstr "" -#: dcim/tables/devicetypes.py:125 dcim/views.py:1027 dcim/views.py:1266 -#: dcim/views.py:1961 netbox/navigation/menu.py:100 -#: templates/dcim/device/base.html:34 templates/dcim/device_list.html:36 -#: templates/dcim/devicetype/base.html:31 -#: templates/dcim/inc/moduletype_buttons.html:22 templates/dcim/module.html:31 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 +#: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 +#: netbox/netbox/navigation/menu.py:100 +#: netbox/templates/dcim/device/base.html:34 +#: netbox/templates/dcim/device_list.html:36 +#: netbox/templates/dcim/devicetype/base.html:31 +#: netbox/templates/dcim/inc/moduletype_buttons.html:22 +#: netbox/templates/dcim/module.html:31 msgid "Power Outlets" msgstr "" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1057 dcim/views.py:1296 -#: dcim/views.py:1999 netbox/navigation/menu.py:95 -#: templates/dcim/device/base.html:40 templates/dcim/devicetype/base.html:37 -#: templates/dcim/inc/moduletype_buttons.html:28 templates/dcim/module.html:37 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 +#: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 +#: netbox/netbox/navigation/menu.py:95 +#: netbox/templates/dcim/device/base.html:40 +#: netbox/templates/dcim/devicetype/base.html:37 +#: netbox/templates/dcim/inc/moduletype_buttons.html:28 +#: netbox/templates/dcim/module.html:37 msgid "Front Ports" msgstr "" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1072 dcim/views.py:1311 -#: dcim/views.py:2015 netbox/navigation/menu.py:96 -#: templates/dcim/device/base.html:43 templates/dcim/device_list.html:50 -#: templates/dcim/devicetype/base.html:40 -#: templates/dcim/inc/moduletype_buttons.html:31 templates/dcim/module.html:40 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 +#: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 +#: netbox/netbox/navigation/menu.py:96 +#: netbox/templates/dcim/device/base.html:43 +#: netbox/templates/dcim/device_list.html:50 +#: netbox/templates/dcim/devicetype/base.html:40 +#: netbox/templates/dcim/inc/moduletype_buttons.html:31 +#: netbox/templates/dcim/module.html:40 msgid "Rear Ports" msgstr "" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1102 dcim/views.py:2055 -#: netbox/navigation/menu.py:102 templates/dcim/device/base.html:49 -#: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 +#: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 +#: netbox/templates/dcim/device/base.html:49 +#: netbox/templates/dcim/device_list.html:57 +#: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "" -#: dcim/tables/devicetypes.py:140 dcim/views.py:1087 dcim/views.py:1326 -#: dcim/views.py:2035 netbox/navigation/menu.py:101 -#: templates/dcim/device/base.html:46 templates/dcim/device_list.html:64 -#: templates/dcim/devicetype/base.html:43 -#: templates/dcim/inc/moduletype_buttons.html:34 templates/dcim/module.html:43 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 +#: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 +#: netbox/netbox/navigation/menu.py:101 +#: netbox/templates/dcim/device/base.html:46 +#: netbox/templates/dcim/device_list.html:64 +#: netbox/templates/dcim/devicetype/base.html:43 +#: netbox/templates/dcim/inc/moduletype_buttons.html:34 +#: netbox/templates/dcim/module.html:43 msgid "Module Bays" msgstr "" -#: dcim/tables/power.py:36 netbox/navigation/menu.py:297 -#: templates/dcim/powerpanel.html:51 +#: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:297 +#: netbox/templates/dcim/powerpanel.html:51 msgid "Power Feeds" msgstr "" -#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99 +#: netbox/dcim/tables/power.py:80 netbox/templates/dcim/powerfeed.html:99 msgid "Max Utilization" msgstr "" -#: dcim/tables/power.py:84 +#: netbox/dcim/tables/power.py:84 msgid "Available Power (VA)" msgstr "" -#: dcim/tables/racks.py:30 dcim/tables/sites.py:143 -#: netbox/navigation/menu.py:43 netbox/navigation/menu.py:47 -#: netbox/navigation/menu.py:49 +#: netbox/dcim/tables/racks.py:30 netbox/dcim/tables/sites.py:143 +#: netbox/netbox/navigation/menu.py:43 netbox/netbox/navigation/menu.py:47 +#: netbox/netbox/navigation/menu.py:49 msgid "Racks" msgstr "" -#: dcim/tables/racks.py:63 dcim/tables/racks.py:142 -#: templates/dcim/device.html:318 -#: templates/dcim/inc/panels/racktype_dimensions.html:14 +#: netbox/dcim/tables/racks.py:63 netbox/dcim/tables/racks.py:142 +#: netbox/templates/dcim/device.html:318 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:14 msgid "Height" msgstr "" -#: dcim/tables/racks.py:67 dcim/tables/racks.py:165 -#: templates/dcim/inc/panels/racktype_dimensions.html:18 +#: netbox/dcim/tables/racks.py:67 netbox/dcim/tables/racks.py:165 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:18 msgid "Outer Width" msgstr "" -#: dcim/tables/racks.py:71 dcim/tables/racks.py:169 -#: templates/dcim/inc/panels/racktype_dimensions.html:28 +#: netbox/dcim/tables/racks.py:71 netbox/dcim/tables/racks.py:169 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:28 msgid "Outer Depth" msgstr "" -#: dcim/tables/racks.py:79 dcim/tables/racks.py:177 +#: netbox/dcim/tables/racks.py:79 netbox/dcim/tables/racks.py:177 msgid "Max Weight" msgstr "" -#: dcim/tables/racks.py:154 +#: netbox/dcim/tables/racks.py:154 msgid "Space" msgstr "" -#: dcim/tables/sites.py:30 dcim/tables/sites.py:57 -#: extras/forms/filtersets.py:351 extras/forms/model_forms.py:517 -#: ipam/forms/bulk_edit.py:131 ipam/forms/model_forms.py:153 -#: ipam/tables/asn.py:66 netbox/navigation/menu.py:15 -#: netbox/navigation/menu.py:17 +#: netbox/dcim/tables/sites.py:30 netbox/dcim/tables/sites.py:57 +#: netbox/extras/forms/filtersets.py:351 netbox/extras/forms/model_forms.py:517 +#: netbox/ipam/forms/bulk_edit.py:131 netbox/ipam/forms/model_forms.py:153 +#: netbox/ipam/tables/asn.py:66 netbox/netbox/navigation/menu.py:15 +#: netbox/netbox/navigation/menu.py:17 msgid "Sites" msgstr "" -#: dcim/tests/test_api.py:47 +#: netbox/dcim/tests/test_api.py:47 msgid "Test case must set peer_termination_type" msgstr "" -#: dcim/views.py:140 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "" -#: dcim/views.py:740 netbox/navigation/menu.py:51 +#: netbox/dcim/views.py:740 netbox/netbox/navigation/menu.py:51 msgid "Reservations" msgstr "" -#: dcim/views.py:759 templates/dcim/location.html:90 -#: templates/dcim/site.html:140 +#: netbox/dcim/views.py:759 netbox/templates/dcim/location.html:90 +#: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "" -#: dcim/views.py:2088 extras/forms/model_forms.py:577 -#: templates/extras/configcontext.html:10 -#: virtualization/forms/model_forms.py:225 virtualization/views.py:407 +#: netbox/dcim/views.py:2088 netbox/extras/forms/model_forms.py:577 +#: netbox/templates/extras/configcontext.html:10 +#: netbox/virtualization/forms/model_forms.py:225 +#: netbox/virtualization/views.py:407 msgid "Config Context" msgstr "" -#: dcim/views.py:2098 virtualization/views.py:417 +#: netbox/dcim/views.py:2098 netbox/virtualization/views.py:417 msgid "Render Config" msgstr "" -#: dcim/views.py:2131 virtualization/views.py:450 +#: netbox/dcim/views.py:2131 netbox/virtualization/views.py:450 #, python-brace-format msgid "An error occurred while rendering the template: {error}" msgstr "" -#: dcim/views.py:2149 extras/tables/tables.py:550 netbox/navigation/menu.py:247 -#: netbox/navigation/menu.py:249 virtualization/views.py:180 +#: netbox/dcim/views.py:2149 netbox/extras/tables/tables.py:550 +#: netbox/netbox/navigation/menu.py:247 netbox/netbox/navigation/menu.py:249 +#: netbox/virtualization/views.py:180 msgid "Virtual Machines" msgstr "" -#: dcim/views.py:2897 +#: netbox/dcim/views.py:2897 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "" -#: dcim/views.py:2938 +#: netbox/dcim/views.py:2938 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "" -#: dcim/views.py:3044 ipam/tables/ip.py:234 +#: netbox/dcim/views.py:3044 netbox/ipam/tables/ip.py:234 msgid "Children" msgstr "" -#: dcim/views.py:3510 +#: netbox/dcim/views.py:3510 #, python-brace-format msgid "Added member {device}" msgstr "" -#: dcim/views.py:3557 +#: netbox/dcim/views.py:3557 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" -#: dcim/views.py:3570 +#: netbox/dcim/views.py:3570 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "" -#: extras/api/customfields.py:89 +#: netbox/extras/api/customfields.py:89 #, python-brace-format msgid "Unknown related object(s): {name}" msgstr "" -#: extras/api/serializers_/customfields.py:73 +#: netbox/extras/api/serializers_/customfields.py:73 msgid "Changing the type of custom fields is not supported." msgstr "" -#: extras/api/serializers_/scripts.py:70 extras/api/serializers_/scripts.py:75 +#: netbox/extras/api/serializers_/scripts.py:70 +#: netbox/extras/api/serializers_/scripts.py:75 msgid "Scheduling is not enabled for this script." msgstr "" -#: extras/choices.py:30 extras/forms/misc.py:14 +#: netbox/extras/choices.py:30 netbox/extras/forms/misc.py:14 msgid "Text" msgstr "" -#: extras/choices.py:31 +#: netbox/extras/choices.py:31 msgid "Text (long)" msgstr "" -#: extras/choices.py:32 +#: netbox/extras/choices.py:32 msgid "Integer" msgstr "" -#: extras/choices.py:33 +#: netbox/extras/choices.py:33 msgid "Decimal" msgstr "" -#: extras/choices.py:34 +#: netbox/extras/choices.py:34 msgid "Boolean (true/false)" msgstr "" -#: extras/choices.py:35 +#: netbox/extras/choices.py:35 msgid "Date" msgstr "" -#: extras/choices.py:36 +#: netbox/extras/choices.py:36 msgid "Date & time" msgstr "" -#: extras/choices.py:38 +#: netbox/extras/choices.py:38 msgid "JSON" msgstr "" -#: extras/choices.py:39 +#: netbox/extras/choices.py:39 msgid "Selection" msgstr "" -#: extras/choices.py:40 +#: netbox/extras/choices.py:40 msgid "Multiple selection" msgstr "" -#: extras/choices.py:42 +#: netbox/extras/choices.py:42 msgid "Multiple objects" msgstr "" -#: extras/choices.py:53 netbox/preferences.py:21 -#: templates/extras/customfield.html:78 vpn/choices.py:20 -#: wireless/choices.py:27 +#: netbox/extras/choices.py:53 netbox/netbox/preferences.py:21 +#: netbox/templates/extras/customfield.html:78 netbox/vpn/choices.py:20 +#: netbox/wireless/choices.py:27 msgid "Disabled" msgstr "" -#: extras/choices.py:54 +#: netbox/extras/choices.py:54 msgid "Loose" msgstr "" -#: extras/choices.py:55 +#: netbox/extras/choices.py:55 msgid "Exact" msgstr "" -#: extras/choices.py:66 +#: netbox/extras/choices.py:66 msgid "Always" msgstr "" -#: extras/choices.py:67 +#: netbox/extras/choices.py:67 msgid "If set" msgstr "" -#: extras/choices.py:68 extras/choices.py:81 +#: netbox/extras/choices.py:68 netbox/extras/choices.py:81 msgid "Hidden" msgstr "" -#: extras/choices.py:79 +#: netbox/extras/choices.py:79 msgid "Yes" msgstr "" -#: extras/choices.py:80 +#: netbox/extras/choices.py:80 msgid "No" msgstr "" -#: extras/choices.py:108 templates/tenancy/contact.html:57 -#: tenancy/forms/bulk_edit.py:118 wireless/forms/model_forms.py:168 +#: netbox/extras/choices.py:108 netbox/templates/tenancy/contact.html:57 +#: netbox/tenancy/forms/bulk_edit.py:118 +#: netbox/wireless/forms/model_forms.py:168 msgid "Link" msgstr "" -#: extras/choices.py:124 +#: netbox/extras/choices.py:124 msgid "Newest" msgstr "" -#: extras/choices.py:125 +#: netbox/extras/choices.py:125 msgid "Oldest" msgstr "" -#: extras/choices.py:126 +#: netbox/extras/choices.py:126 msgid "Alphabetical (A-Z)" msgstr "" -#: extras/choices.py:127 +#: netbox/extras/choices.py:127 msgid "Alphabetical (Z-A)" msgstr "" -#: extras/choices.py:144 extras/choices.py:167 +#: netbox/extras/choices.py:144 netbox/extras/choices.py:167 msgid "Info" msgstr "" -#: extras/choices.py:145 extras/choices.py:168 +#: netbox/extras/choices.py:145 netbox/extras/choices.py:168 msgid "Success" msgstr "" -#: extras/choices.py:146 extras/choices.py:169 +#: netbox/extras/choices.py:146 netbox/extras/choices.py:169 msgid "Warning" msgstr "" -#: extras/choices.py:147 +#: netbox/extras/choices.py:147 msgid "Danger" msgstr "" -#: extras/choices.py:165 +#: netbox/extras/choices.py:165 msgid "Debug" msgstr "" -#: extras/choices.py:166 netbox/choices.py:101 +#: netbox/extras/choices.py:166 netbox/netbox/choices.py:101 msgid "Default" msgstr "" -#: extras/choices.py:170 +#: netbox/extras/choices.py:170 msgid "Failure" msgstr "" -#: extras/choices.py:186 +#: netbox/extras/choices.py:186 msgid "Hourly" msgstr "" -#: extras/choices.py:187 +#: netbox/extras/choices.py:187 msgid "12 hours" msgstr "" -#: extras/choices.py:188 +#: netbox/extras/choices.py:188 msgid "Daily" msgstr "" -#: extras/choices.py:189 +#: netbox/extras/choices.py:189 msgid "Weekly" msgstr "" -#: extras/choices.py:190 +#: netbox/extras/choices.py:190 msgid "30 days" msgstr "" -#: extras/choices.py:226 templates/dcim/virtualchassis_edit.html:107 -#: 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:7 +#: netbox/extras/choices.py:226 +#: netbox/templates/dcim/virtualchassis_edit.html:107 +#: netbox/templates/generic/bulk_add_component.html:68 +#: netbox/templates/generic/object_edit.html:47 +#: netbox/templates/generic/object_edit.html:80 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 msgid "Create" msgstr "" -#: extras/choices.py:227 +#: netbox/extras/choices.py:227 msgid "Update" msgstr "" -#: extras/choices.py:228 templates/circuits/inc/circuit_termination.html:23 -#: templates/dcim/inc/panels/inventory_items.html:37 -#: templates/dcim/powerpanel.html:66 templates/extras/script_list.html:35 -#: 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 +#: netbox/extras/choices.py:228 +#: netbox/templates/circuits/inc/circuit_termination.html:23 +#: netbox/templates/dcim/inc/panels/inventory_items.html:37 +#: netbox/templates/dcim/powerpanel.html:66 +#: netbox/templates/extras/script_list.html:35 +#: netbox/templates/generic/bulk_delete.html:20 +#: netbox/templates/generic/bulk_delete.html:66 +#: netbox/templates/generic/object_delete.html:19 +#: netbox/templates/htmx/delete_form.html:57 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:48 +#: netbox/templates/users/objectpermission.html:46 +#: netbox/utilities/templates/buttons/delete.html:11 msgid "Delete" msgstr "" -#: extras/choices.py:252 netbox/choices.py:57 netbox/choices.py:102 +#: netbox/extras/choices.py:252 netbox/netbox/choices.py:57 +#: netbox/netbox/choices.py:102 msgid "Blue" msgstr "" -#: extras/choices.py:253 netbox/choices.py:56 netbox/choices.py:103 +#: netbox/extras/choices.py:253 netbox/netbox/choices.py:56 +#: netbox/netbox/choices.py:103 msgid "Indigo" msgstr "" -#: extras/choices.py:254 netbox/choices.py:54 netbox/choices.py:104 +#: netbox/extras/choices.py:254 netbox/netbox/choices.py:54 +#: netbox/netbox/choices.py:104 msgid "Purple" msgstr "" -#: extras/choices.py:255 netbox/choices.py:51 netbox/choices.py:105 +#: netbox/extras/choices.py:255 netbox/netbox/choices.py:51 +#: netbox/netbox/choices.py:105 msgid "Pink" msgstr "" -#: extras/choices.py:256 netbox/choices.py:50 netbox/choices.py:106 +#: netbox/extras/choices.py:256 netbox/netbox/choices.py:50 +#: netbox/netbox/choices.py:106 msgid "Red" msgstr "" -#: extras/choices.py:257 netbox/choices.py:68 netbox/choices.py:107 +#: netbox/extras/choices.py:257 netbox/netbox/choices.py:68 +#: netbox/netbox/choices.py:107 msgid "Orange" msgstr "" -#: extras/choices.py:258 netbox/choices.py:66 netbox/choices.py:108 +#: netbox/extras/choices.py:258 netbox/netbox/choices.py:66 +#: netbox/netbox/choices.py:108 msgid "Yellow" msgstr "" -#: extras/choices.py:259 netbox/choices.py:63 netbox/choices.py:109 +#: netbox/extras/choices.py:259 netbox/netbox/choices.py:63 +#: netbox/netbox/choices.py:109 msgid "Green" msgstr "" -#: extras/choices.py:260 netbox/choices.py:60 netbox/choices.py:110 +#: netbox/extras/choices.py:260 netbox/netbox/choices.py:60 +#: netbox/netbox/choices.py:110 msgid "Teal" msgstr "" -#: extras/choices.py:261 netbox/choices.py:59 netbox/choices.py:111 +#: netbox/extras/choices.py:261 netbox/netbox/choices.py:59 +#: netbox/netbox/choices.py:111 msgid "Cyan" msgstr "" -#: extras/choices.py:262 netbox/choices.py:112 +#: netbox/extras/choices.py:262 netbox/netbox/choices.py:112 msgid "Gray" msgstr "" -#: extras/choices.py:263 netbox/choices.py:74 netbox/choices.py:113 +#: netbox/extras/choices.py:263 netbox/netbox/choices.py:74 +#: netbox/netbox/choices.py:113 msgid "Black" msgstr "" -#: extras/choices.py:264 netbox/choices.py:75 netbox/choices.py:114 +#: netbox/extras/choices.py:264 netbox/netbox/choices.py:75 +#: netbox/netbox/choices.py:114 msgid "White" msgstr "" -#: extras/choices.py:279 extras/forms/model_forms.py:353 -#: extras/forms/model_forms.py:430 templates/extras/webhook.html:10 +#: netbox/extras/choices.py:279 netbox/extras/forms/model_forms.py:353 +#: netbox/extras/forms/model_forms.py:430 +#: netbox/templates/extras/webhook.html:10 msgid "Webhook" msgstr "" -#: extras/choices.py:280 extras/forms/model_forms.py:418 -#: templates/extras/script/base.html:29 +#: netbox/extras/choices.py:280 netbox/extras/forms/model_forms.py:418 +#: netbox/templates/extras/script/base.html:29 msgid "Script" msgstr "" -#: extras/choices.py:281 +#: netbox/extras/choices.py:281 msgid "Notification" msgstr "" -#: extras/conditions.py:54 +#: netbox/extras/conditions.py:54 #, python-brace-format msgid "Unknown operator: {op}. Must be one of: {operators}" msgstr "" -#: extras/conditions.py:58 +#: netbox/extras/conditions.py:58 #, python-brace-format msgid "Unsupported value type: {value}" msgstr "" -#: extras/conditions.py:60 +#: netbox/extras/conditions.py:60 #, python-brace-format msgid "Invalid type for {op} operation: {value}" msgstr "" -#: extras/conditions.py:137 +#: netbox/extras/conditions.py:137 #, python-brace-format msgid "Ruleset must be a dictionary, not {ruleset}." msgstr "" -#: extras/conditions.py:142 +#: netbox/extras/conditions.py:142 msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation." msgstr "" -#: extras/conditions.py:154 +#: netbox/extras/conditions.py:154 msgid "Incorrect key(s) informed. Please check documentation." msgstr "" -#: extras/dashboard/forms.py:38 +#: netbox/extras/dashboard/forms.py:38 msgid "Widget type" msgstr "" -#: extras/dashboard/utils.py:36 +#: netbox/extras/dashboard/utils.py:36 #, python-brace-format msgid "Unregistered widget class: {name}" msgstr "" -#: extras/dashboard/widgets.py:125 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "" -#: extras/dashboard/widgets.py:144 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "" -#: extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" -#: extras/dashboard/widgets.py:158 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "" -#: extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "" -#: extras/dashboard/widgets.py:169 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "" -#: extras/dashboard/widgets.py:177 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" -#: extras/dashboard/widgets.py:208 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "" -#: extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "" -#: extras/dashboard/widgets.py:222 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "" -#: extras/dashboard/widgets.py:234 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" -#: extras/dashboard/widgets.py:274 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "" -#: extras/dashboard/widgets.py:279 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "" -#: extras/dashboard/widgets.py:286 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "" -#: extras/dashboard/widgets.py:291 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "" -#: extras/dashboard/widgets.py:296 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "" -#: extras/dashboard/widgets.py:348 templates/account/base.html:10 -#: templates/account/bookmarks.html:7 templates/inc/user_menu.html:48 +#: netbox/extras/dashboard/widgets.py:348 netbox/templates/account/base.html:10 +#: netbox/templates/account/bookmarks.html:7 +#: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "" -#: extras/dashboard/widgets.py:352 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "" -#: extras/events.py:147 +#: netbox/extras/events.py:147 #, python-brace-format msgid "Unknown action type for an event rule: {action_type}" msgstr "" -#: extras/events.py:192 +#: netbox/extras/events.py:192 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" msgstr "" -#: extras/filtersets.py:45 +#: netbox/extras/filtersets.py:45 msgid "Script module (ID)" msgstr "" -#: extras/filtersets.py:254 extras/filtersets.py:637 extras/filtersets.py:665 +#: netbox/extras/filtersets.py:254 netbox/extras/filtersets.py:637 +#: netbox/extras/filtersets.py:665 msgid "Data file (ID)" msgstr "" -#: extras/filtersets.py:370 users/filtersets.py:68 users/filtersets.py:191 +#: netbox/extras/filtersets.py:370 netbox/users/filtersets.py:68 +#: netbox/users/filtersets.py:191 msgid "Group (name)" msgstr "" -#: extras/filtersets.py:574 virtualization/forms/filtersets.py:118 +#: netbox/extras/filtersets.py:574 +#: netbox/virtualization/forms/filtersets.py:118 msgid "Cluster type" msgstr "" -#: extras/filtersets.py:580 virtualization/filtersets.py:95 -#: virtualization/filtersets.py:147 +#: netbox/extras/filtersets.py:580 netbox/virtualization/filtersets.py:95 +#: netbox/virtualization/filtersets.py:147 msgid "Cluster type (slug)" msgstr "" -#: extras/filtersets.py:601 tenancy/forms/forms.py:16 tenancy/forms/forms.py:39 +#: netbox/extras/filtersets.py:601 netbox/tenancy/forms/forms.py:16 +#: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" msgstr "" -#: extras/filtersets.py:607 tenancy/filtersets.py:188 tenancy/filtersets.py:208 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "" -#: extras/filtersets.py:623 extras/forms/model_forms.py:495 -#: templates/extras/tag.html:11 +#: netbox/extras/filtersets.py:623 netbox/extras/forms/model_forms.py:495 +#: netbox/templates/extras/tag.html:11 msgid "Tag" msgstr "" -#: extras/filtersets.py:629 +#: netbox/extras/filtersets.py:629 msgid "Tag (slug)" msgstr "" -#: extras/filtersets.py:689 extras/forms/filtersets.py:429 +#: netbox/extras/filtersets.py:689 netbox/extras/forms/filtersets.py:429 msgid "Has local config context data" msgstr "" -#: extras/forms/bulk_edit.py:35 extras/forms/filtersets.py:60 +#: netbox/extras/forms/bulk_edit.py:35 netbox/extras/forms/filtersets.py:60 msgid "Group name" msgstr "" -#: extras/forms/bulk_edit.py:43 extras/forms/filtersets.py:68 -#: extras/tables/tables.py:65 templates/extras/customfield.html:38 -#: templates/generic/bulk_import.html:118 +#: netbox/extras/forms/bulk_edit.py:43 netbox/extras/forms/filtersets.py:68 +#: netbox/extras/tables/tables.py:65 +#: netbox/templates/extras/customfield.html:38 +#: netbox/templates/generic/bulk_import.html:118 msgid "Required" msgstr "" -#: extras/forms/bulk_edit.py:48 extras/forms/filtersets.py:75 +#: netbox/extras/forms/bulk_edit.py:48 netbox/extras/forms/filtersets.py:75 msgid "Must be unique" msgstr "" -#: extras/forms/bulk_edit.py:61 extras/forms/bulk_import.py:60 -#: extras/forms/filtersets.py:89 extras/models/customfields.py:209 +#: netbox/extras/forms/bulk_edit.py:61 netbox/extras/forms/bulk_import.py:60 +#: netbox/extras/forms/filtersets.py:89 +#: netbox/extras/models/customfields.py:209 msgid "UI visible" msgstr "" -#: extras/forms/bulk_edit.py:66 extras/forms/bulk_import.py:66 -#: extras/forms/filtersets.py:94 extras/models/customfields.py:216 +#: netbox/extras/forms/bulk_edit.py:66 netbox/extras/forms/bulk_import.py:66 +#: netbox/extras/forms/filtersets.py:94 +#: netbox/extras/models/customfields.py:216 msgid "UI editable" msgstr "" -#: extras/forms/bulk_edit.py:71 extras/forms/filtersets.py:97 +#: netbox/extras/forms/bulk_edit.py:71 netbox/extras/forms/filtersets.py:97 msgid "Is cloneable" msgstr "" -#: extras/forms/bulk_edit.py:76 extras/forms/filtersets.py:104 +#: netbox/extras/forms/bulk_edit.py:76 netbox/extras/forms/filtersets.py:104 msgid "Minimum value" msgstr "" -#: extras/forms/bulk_edit.py:80 extras/forms/filtersets.py:108 +#: netbox/extras/forms/bulk_edit.py:80 netbox/extras/forms/filtersets.py:108 msgid "Maximum value" msgstr "" -#: extras/forms/bulk_edit.py:84 extras/forms/filtersets.py:112 +#: netbox/extras/forms/bulk_edit.py:84 netbox/extras/forms/filtersets.py:112 msgid "Validation regex" msgstr "" -#: extras/forms/bulk_edit.py:91 extras/forms/filtersets.py:46 -#: extras/forms/model_forms.py:76 templates/extras/customfield.html:70 +#: netbox/extras/forms/bulk_edit.py:91 netbox/extras/forms/filtersets.py:46 +#: netbox/extras/forms/model_forms.py:76 +#: netbox/templates/extras/customfield.html:70 msgid "Behavior" msgstr "" -#: extras/forms/bulk_edit.py:128 extras/forms/filtersets.py:149 +#: netbox/extras/forms/bulk_edit.py:128 netbox/extras/forms/filtersets.py:149 msgid "New window" msgstr "" -#: extras/forms/bulk_edit.py:137 +#: netbox/extras/forms/bulk_edit.py:137 msgid "Button class" msgstr "" -#: extras/forms/bulk_edit.py:154 extras/forms/filtersets.py:187 -#: extras/models/models.py:409 +#: netbox/extras/forms/bulk_edit.py:154 netbox/extras/forms/filtersets.py:187 +#: netbox/extras/models/models.py:409 msgid "MIME type" msgstr "" -#: extras/forms/bulk_edit.py:159 extras/forms/filtersets.py:190 +#: netbox/extras/forms/bulk_edit.py:159 netbox/extras/forms/filtersets.py:190 msgid "File extension" msgstr "" -#: extras/forms/bulk_edit.py:164 extras/forms/filtersets.py:194 +#: netbox/extras/forms/bulk_edit.py:164 netbox/extras/forms/filtersets.py:194 msgid "As attachment" msgstr "" -#: extras/forms/bulk_edit.py:192 extras/forms/filtersets.py:236 -#: extras/tables/tables.py:256 templates/extras/savedfilter.html:29 +#: netbox/extras/forms/bulk_edit.py:192 netbox/extras/forms/filtersets.py:236 +#: netbox/extras/tables/tables.py:256 +#: netbox/templates/extras/savedfilter.html:29 msgid "Shared" msgstr "" -#: extras/forms/bulk_edit.py:215 extras/forms/filtersets.py:265 -#: extras/models/models.py:174 +#: netbox/extras/forms/bulk_edit.py:215 netbox/extras/forms/filtersets.py:265 +#: netbox/extras/models/models.py:174 msgid "HTTP method" msgstr "" -#: extras/forms/bulk_edit.py:219 extras/forms/filtersets.py:259 -#: templates/extras/webhook.html:30 +#: netbox/extras/forms/bulk_edit.py:219 netbox/extras/forms/filtersets.py:259 +#: netbox/templates/extras/webhook.html:30 msgid "Payload URL" msgstr "" -#: extras/forms/bulk_edit.py:224 extras/models/models.py:214 +#: netbox/extras/forms/bulk_edit.py:224 netbox/extras/models/models.py:214 msgid "SSL verification" msgstr "" -#: extras/forms/bulk_edit.py:227 templates/extras/webhook.html:38 +#: netbox/extras/forms/bulk_edit.py:227 netbox/templates/extras/webhook.html:38 msgid "Secret" msgstr "" -#: extras/forms/bulk_edit.py:232 +#: netbox/extras/forms/bulk_edit.py:232 msgid "CA file path" msgstr "" -#: extras/forms/bulk_edit.py:253 extras/forms/bulk_import.py:192 -#: extras/forms/model_forms.py:377 +#: netbox/extras/forms/bulk_edit.py:253 netbox/extras/forms/bulk_import.py:192 +#: netbox/extras/forms/model_forms.py:377 msgid "Event types" msgstr "" -#: extras/forms/bulk_edit.py:293 +#: netbox/extras/forms/bulk_edit.py:293 msgid "Is active" msgstr "" -#: extras/forms/bulk_import.py:37 extras/forms/bulk_import.py:118 -#: extras/forms/bulk_import.py:139 extras/forms/bulk_import.py:162 -#: extras/forms/bulk_import.py:186 extras/forms/filtersets.py:137 -#: extras/forms/filtersets.py:224 extras/forms/model_forms.py:47 -#: extras/forms/model_forms.py:205 extras/forms/model_forms.py:237 -#: extras/forms/model_forms.py:278 extras/forms/model_forms.py:372 -#: extras/forms/model_forms.py:489 users/forms/model_forms.py:276 +#: netbox/extras/forms/bulk_import.py:37 netbox/extras/forms/bulk_import.py:118 +#: netbox/extras/forms/bulk_import.py:139 +#: netbox/extras/forms/bulk_import.py:162 +#: netbox/extras/forms/bulk_import.py:186 netbox/extras/forms/filtersets.py:137 +#: netbox/extras/forms/filtersets.py:224 netbox/extras/forms/model_forms.py:47 +#: netbox/extras/forms/model_forms.py:205 +#: netbox/extras/forms/model_forms.py:237 +#: netbox/extras/forms/model_forms.py:278 +#: netbox/extras/forms/model_forms.py:372 +#: netbox/extras/forms/model_forms.py:489 netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "" -#: extras/forms/bulk_import.py:39 extras/forms/bulk_import.py:120 -#: extras/forms/bulk_import.py:141 extras/forms/bulk_import.py:164 -#: extras/forms/bulk_import.py:188 tenancy/forms/bulk_import.py:96 +#: netbox/extras/forms/bulk_import.py:39 netbox/extras/forms/bulk_import.py:120 +#: netbox/extras/forms/bulk_import.py:141 +#: netbox/extras/forms/bulk_import.py:164 +#: netbox/extras/forms/bulk_import.py:188 +#: netbox/tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "" -#: extras/forms/bulk_import.py:44 +#: netbox/extras/forms/bulk_import.py:44 msgid "Field data type (e.g. text, integer, etc.)" msgstr "" -#: extras/forms/bulk_import.py:47 extras/forms/filtersets.py:208 -#: extras/forms/filtersets.py:281 extras/forms/model_forms.py:304 -#: extras/forms/model_forms.py:341 tenancy/forms/filtersets.py:92 +#: netbox/extras/forms/bulk_import.py:47 netbox/extras/forms/filtersets.py:208 +#: netbox/extras/forms/filtersets.py:281 netbox/extras/forms/model_forms.py:304 +#: netbox/extras/forms/model_forms.py:341 netbox/tenancy/forms/filtersets.py:92 msgid "Object type" msgstr "" -#: extras/forms/bulk_import.py:50 +#: netbox/extras/forms/bulk_import.py:50 msgid "Object type (for object or multi-object fields)" msgstr "" -#: extras/forms/bulk_import.py:53 extras/forms/filtersets.py:84 +#: netbox/extras/forms/bulk_import.py:53 netbox/extras/forms/filtersets.py:84 msgid "Choice set" msgstr "" -#: extras/forms/bulk_import.py:57 +#: netbox/extras/forms/bulk_import.py:57 msgid "Choice set (for selection fields)" msgstr "" -#: extras/forms/bulk_import.py:63 +#: netbox/extras/forms/bulk_import.py:63 msgid "Whether the custom field is displayed in the UI" msgstr "" -#: extras/forms/bulk_import.py:69 +#: netbox/extras/forms/bulk_import.py:69 msgid "Whether the custom field is editable in the UI" msgstr "" -#: extras/forms/bulk_import.py:85 +#: netbox/extras/forms/bulk_import.py:85 msgid "The base set of predefined choices to use (if any)" msgstr "" -#: extras/forms/bulk_import.py:91 +#: netbox/extras/forms/bulk_import.py:91 msgid "" "Quoted string of comma-separated field choices with optional labels " "separated by colon: \"choice1:First Choice,choice2:Second Choice\"" msgstr "" -#: extras/forms/bulk_import.py:123 extras/models/models.py:323 +#: netbox/extras/forms/bulk_import.py:123 netbox/extras/models/models.py:323 msgid "button class" msgstr "" -#: extras/forms/bulk_import.py:126 extras/models/models.py:327 +#: netbox/extras/forms/bulk_import.py:126 netbox/extras/models/models.py:327 msgid "" "The class of the first link in a group will be used for the dropdown button" msgstr "" -#: extras/forms/bulk_import.py:193 +#: netbox/extras/forms/bulk_import.py:193 msgid "The event type(s) which will trigger this rule" msgstr "" -#: extras/forms/bulk_import.py:196 +#: netbox/extras/forms/bulk_import.py:196 msgid "Action object" msgstr "" -#: extras/forms/bulk_import.py:198 +#: netbox/extras/forms/bulk_import.py:198 msgid "Webhook name or script as dotted path module.Class" msgstr "" -#: extras/forms/bulk_import.py:219 +#: netbox/extras/forms/bulk_import.py:219 #, python-brace-format msgid "Webhook {name} not found" msgstr "" -#: extras/forms/bulk_import.py:228 +#: netbox/extras/forms/bulk_import.py:228 #, python-brace-format msgid "Script {name} not found" msgstr "" -#: extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:244 msgid "Assigned object type" msgstr "" -#: extras/forms/bulk_import.py:249 +#: netbox/extras/forms/bulk_import.py:249 msgid "The classification of entry" msgstr "" -#: extras/forms/bulk_import.py:261 extras/forms/model_forms.py:320 -#: netbox/navigation/menu.py:390 templates/extras/notificationgroup.html:41 -#: 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 +#: netbox/extras/forms/bulk_import.py:261 +#: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 +#: netbox/templates/extras/notificationgroup.html:41 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 +#: netbox/users/tables.py:102 msgid "Users" msgstr "" -#: extras/forms/bulk_import.py:265 +#: netbox/extras/forms/bulk_import.py:265 msgid "User names separated by commas, encased with double quotes" msgstr "" -#: extras/forms/bulk_import.py:268 extras/forms/model_forms.py:315 -#: netbox/navigation/menu.py:410 templates/extras/notificationgroup.html:31 -#: users/forms/model_forms.py:181 users/forms/model_forms.py:193 -#: users/forms/model_forms.py:305 users/tables.py:35 users/tables.py:106 +#: netbox/extras/forms/bulk_import.py:268 +#: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 +#: netbox/templates/extras/notificationgroup.html:31 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 +#: netbox/users/tables.py:106 msgid "Groups" msgstr "" -#: extras/forms/bulk_import.py:272 +#: netbox/extras/forms/bulk_import.py:272 msgid "Group names separated by commas, encased with double quotes" msgstr "" -#: extras/forms/filtersets.py:52 extras/forms/model_forms.py:56 +#: netbox/extras/forms/filtersets.py:52 netbox/extras/forms/model_forms.py:56 msgid "Related object type" msgstr "" -#: extras/forms/filtersets.py:57 +#: netbox/extras/forms/filtersets.py:57 msgid "Field type" msgstr "" -#: extras/forms/filtersets.py:120 extras/forms/model_forms.py:157 -#: extras/tables/tables.py:91 templates/generic/bulk_import.html:154 +#: netbox/extras/forms/filtersets.py:120 netbox/extras/forms/model_forms.py:157 +#: netbox/extras/tables/tables.py:91 +#: netbox/templates/generic/bulk_import.html:154 msgid "Choices" msgstr "" -#: extras/forms/filtersets.py:164 extras/forms/filtersets.py:319 -#: extras/forms/filtersets.py:408 extras/forms/model_forms.py:572 -#: templates/core/job.html:96 templates/extras/eventrule.html:84 +#: netbox/extras/forms/filtersets.py:164 netbox/extras/forms/filtersets.py:319 +#: netbox/extras/forms/filtersets.py:408 netbox/extras/forms/model_forms.py:572 +#: netbox/templates/core/job.html:96 netbox/templates/extras/eventrule.html:84 msgid "Data" msgstr "" -#: extras/forms/filtersets.py:175 extras/forms/filtersets.py:333 -#: extras/forms/filtersets.py:418 netbox/choices.py:130 -#: utilities/forms/bulk_import.py:26 +#: netbox/extras/forms/filtersets.py:175 netbox/extras/forms/filtersets.py:333 +#: netbox/extras/forms/filtersets.py:418 netbox/netbox/choices.py:130 +#: netbox/utilities/forms/bulk_import.py:26 msgid "Data file" msgstr "" -#: extras/forms/filtersets.py:183 +#: netbox/extras/forms/filtersets.py:183 msgid "Content types" msgstr "" -#: extras/forms/filtersets.py:255 extras/models/models.py:179 +#: netbox/extras/forms/filtersets.py:255 netbox/extras/models/models.py:179 msgid "HTTP content type" msgstr "" -#: extras/forms/filtersets.py:286 +#: netbox/extras/forms/filtersets.py:286 msgid "Event type" msgstr "" -#: extras/forms/filtersets.py:291 +#: netbox/extras/forms/filtersets.py:291 msgid "Action type" msgstr "" -#: extras/forms/filtersets.py:307 +#: netbox/extras/forms/filtersets.py:307 msgid "Tagged object type" msgstr "" -#: extras/forms/filtersets.py:312 +#: netbox/extras/forms/filtersets.py:312 msgid "Allowed object type" msgstr "" -#: extras/forms/filtersets.py:341 extras/forms/model_forms.py:507 -#: netbox/navigation/menu.py:18 +#: netbox/extras/forms/filtersets.py:341 netbox/extras/forms/model_forms.py:507 +#: netbox/netbox/navigation/menu.py:18 msgid "Regions" msgstr "" -#: extras/forms/filtersets.py:346 extras/forms/model_forms.py:512 +#: netbox/extras/forms/filtersets.py:346 netbox/extras/forms/model_forms.py:512 msgid "Site groups" msgstr "" -#: extras/forms/filtersets.py:356 extras/forms/model_forms.py:522 -#: netbox/navigation/menu.py:20 templates/dcim/site.html:127 +#: netbox/extras/forms/filtersets.py:356 netbox/extras/forms/model_forms.py:522 +#: netbox/netbox/navigation/menu.py:20 netbox/templates/dcim/site.html:127 msgid "Locations" msgstr "" -#: extras/forms/filtersets.py:361 extras/forms/model_forms.py:527 +#: netbox/extras/forms/filtersets.py:361 netbox/extras/forms/model_forms.py:527 msgid "Device types" msgstr "" -#: extras/forms/filtersets.py:366 extras/forms/model_forms.py:532 +#: netbox/extras/forms/filtersets.py:366 netbox/extras/forms/model_forms.py:532 msgid "Roles" msgstr "" -#: extras/forms/filtersets.py:376 extras/forms/model_forms.py:542 +#: netbox/extras/forms/filtersets.py:376 netbox/extras/forms/model_forms.py:542 msgid "Cluster types" msgstr "" -#: extras/forms/filtersets.py:381 extras/forms/model_forms.py:547 +#: netbox/extras/forms/filtersets.py:381 netbox/extras/forms/model_forms.py:547 msgid "Cluster groups" msgstr "" -#: extras/forms/filtersets.py:386 extras/forms/model_forms.py:552 -#: netbox/navigation/menu.py:255 netbox/navigation/menu.py:257 -#: templates/virtualization/clustertype.html:30 -#: virtualization/tables/clusters.py:23 virtualization/tables/clusters.py:45 +#: netbox/extras/forms/filtersets.py:386 netbox/extras/forms/model_forms.py:552 +#: netbox/netbox/navigation/menu.py:255 netbox/netbox/navigation/menu.py:257 +#: netbox/templates/virtualization/clustertype.html:30 +#: netbox/virtualization/tables/clusters.py:23 +#: netbox/virtualization/tables/clusters.py:45 msgid "Clusters" msgstr "" -#: extras/forms/filtersets.py:391 extras/forms/model_forms.py:557 +#: netbox/extras/forms/filtersets.py:391 netbox/extras/forms/model_forms.py:557 msgid "Tenant groups" msgstr "" -#: extras/forms/model_forms.py:49 +#: netbox/extras/forms/model_forms.py:49 msgid "The type(s) of object that have this custom field" msgstr "" -#: extras/forms/model_forms.py:52 +#: netbox/extras/forms/model_forms.py:52 msgid "Default value" msgstr "" -#: extras/forms/model_forms.py:58 +#: netbox/extras/forms/model_forms.py:58 msgid "Type of the related object (for object/multi-object fields only)" msgstr "" -#: extras/forms/model_forms.py:61 templates/extras/customfield.html:60 +#: netbox/extras/forms/model_forms.py:61 +#: netbox/templates/extras/customfield.html:60 msgid "Related object filter" msgstr "" -#: extras/forms/model_forms.py:63 +#: netbox/extras/forms/model_forms.py:63 msgid "Specify query parameters as a JSON object." msgstr "" -#: extras/forms/model_forms.py:73 templates/extras/customfield.html:10 +#: netbox/extras/forms/model_forms.py:73 +#: netbox/templates/extras/customfield.html:10 msgid "Custom Field" msgstr "" -#: extras/forms/model_forms.py:85 +#: netbox/extras/forms/model_forms.py:85 msgid "" "The type of data stored in this field. For object/multi-object fields, " "select the related object type below." msgstr "" -#: extras/forms/model_forms.py:88 +#: netbox/extras/forms/model_forms.py:88 msgid "" "This will be displayed as help text for the form field. Markdown is " "supported." msgstr "" -#: extras/forms/model_forms.py:143 +#: netbox/extras/forms/model_forms.py:143 msgid "Related Object" msgstr "" -#: extras/forms/model_forms.py:169 +#: netbox/extras/forms/model_forms.py:169 msgid "" "Enter one choice per line. An optional label may be specified for each " "choice by appending it with a colon. Example:" msgstr "" -#: extras/forms/model_forms.py:212 templates/extras/customlink.html:10 +#: netbox/extras/forms/model_forms.py:212 +#: netbox/templates/extras/customlink.html:10 msgid "Custom Link" msgstr "" -#: extras/forms/model_forms.py:214 +#: netbox/extras/forms/model_forms.py:214 msgid "Templates" msgstr "" -#: extras/forms/model_forms.py:226 +#: netbox/extras/forms/model_forms.py:226 #, python-brace-format msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " "Links which render as empty text will not be displayed." msgstr "" -#: extras/forms/model_forms.py:230 +#: netbox/extras/forms/model_forms.py:230 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" -#: extras/forms/model_forms.py:241 extras/forms/model_forms.py:624 +#: netbox/extras/forms/model_forms.py:241 +#: netbox/extras/forms/model_forms.py:624 msgid "Template code" msgstr "" -#: extras/forms/model_forms.py:247 templates/extras/exporttemplate.html:12 +#: netbox/extras/forms/model_forms.py:247 +#: netbox/templates/extras/exporttemplate.html:12 msgid "Export Template" msgstr "" -#: extras/forms/model_forms.py:249 +#: netbox/extras/forms/model_forms.py:249 msgid "Rendering" msgstr "" -#: extras/forms/model_forms.py:263 extras/forms/model_forms.py:649 +#: netbox/extras/forms/model_forms.py:263 +#: netbox/extras/forms/model_forms.py:649 msgid "Template content is populated from the remote source selected below." msgstr "" -#: extras/forms/model_forms.py:270 extras/forms/model_forms.py:656 +#: netbox/extras/forms/model_forms.py:270 +#: netbox/extras/forms/model_forms.py:656 msgid "Must specify either local content or a data file" msgstr "" -#: extras/forms/model_forms.py:284 netbox/forms/mixins.py:70 -#: templates/extras/savedfilter.html:10 +#: netbox/extras/forms/model_forms.py:284 netbox/netbox/forms/mixins.py:70 +#: netbox/templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "" -#: extras/forms/model_forms.py:334 +#: netbox/extras/forms/model_forms.py:334 msgid "A notification group specify at least one user or group." msgstr "" -#: extras/forms/model_forms.py:356 templates/extras/webhook.html:23 +#: netbox/extras/forms/model_forms.py:356 +#: netbox/templates/extras/webhook.html:23 msgid "HTTP Request" msgstr "" -#: extras/forms/model_forms.py:358 templates/extras/webhook.html:44 +#: netbox/extras/forms/model_forms.py:358 +#: netbox/templates/extras/webhook.html:44 msgid "SSL" msgstr "" -#: extras/forms/model_forms.py:380 +#: netbox/extras/forms/model_forms.py:380 msgid "Action choice" msgstr "" -#: extras/forms/model_forms.py:385 +#: netbox/extras/forms/model_forms.py:385 msgid "Enter conditions in JSON format." msgstr "" -#: extras/forms/model_forms.py:389 +#: netbox/extras/forms/model_forms.py:389 msgid "" "Enter parameters to pass to the action in JSON format." msgstr "" -#: extras/forms/model_forms.py:394 templates/extras/eventrule.html:10 +#: netbox/extras/forms/model_forms.py:394 +#: netbox/templates/extras/eventrule.html:10 msgid "Event Rule" msgstr "" -#: extras/forms/model_forms.py:395 +#: netbox/extras/forms/model_forms.py:395 msgid "Triggers" msgstr "" -#: extras/forms/model_forms.py:442 +#: netbox/extras/forms/model_forms.py:442 msgid "Notification group" msgstr "" -#: extras/forms/model_forms.py:562 netbox/navigation/menu.py:26 -#: tenancy/tables/tenants.py:22 +#: netbox/extras/forms/model_forms.py:562 netbox/netbox/navigation/menu.py:26 +#: netbox/tenancy/tables/tenants.py:22 msgid "Tenants" msgstr "" -#: extras/forms/model_forms.py:606 +#: netbox/extras/forms/model_forms.py:606 msgid "Data is populated from the remote source selected below." msgstr "" -#: extras/forms/model_forms.py:612 +#: netbox/extras/forms/model_forms.py:612 msgid "Must specify either local data or a data file" msgstr "" -#: extras/forms/model_forms.py:631 templates/core/datafile.html:55 +#: netbox/extras/forms/model_forms.py:631 +#: netbox/templates/core/datafile.html:55 msgid "Content" msgstr "" -#: extras/forms/reports.py:17 extras/forms/scripts.py:23 +#: netbox/extras/forms/reports.py:17 netbox/extras/forms/scripts.py:23 msgid "Schedule at" msgstr "" -#: extras/forms/reports.py:18 +#: netbox/extras/forms/reports.py:18 msgid "Schedule execution of report to a set time" msgstr "" -#: extras/forms/reports.py:23 extras/forms/scripts.py:29 +#: netbox/extras/forms/reports.py:23 netbox/extras/forms/scripts.py:29 msgid "Recurs every" msgstr "" -#: extras/forms/reports.py:27 +#: netbox/extras/forms/reports.py:27 msgid "Interval at which this report is re-run (in minutes)" msgstr "" -#: extras/forms/reports.py:35 extras/forms/scripts.py:41 +#: netbox/extras/forms/reports.py:35 netbox/extras/forms/scripts.py:41 #, python-brace-format msgid " (current time: {now})" msgstr "" -#: extras/forms/reports.py:45 extras/forms/scripts.py:51 +#: netbox/extras/forms/reports.py:45 netbox/extras/forms/scripts.py:51 msgid "Scheduled time must be in the future." msgstr "" -#: extras/forms/scripts.py:17 +#: netbox/extras/forms/scripts.py:17 msgid "Commit changes" msgstr "" -#: extras/forms/scripts.py:18 +#: netbox/extras/forms/scripts.py:18 msgid "Commit changes to the database (uncheck for a dry-run)" msgstr "" -#: extras/forms/scripts.py:24 +#: netbox/extras/forms/scripts.py:24 msgid "Schedule execution of script to a set time" msgstr "" -#: extras/forms/scripts.py:33 +#: netbox/extras/forms/scripts.py:33 msgid "Interval at which this script is re-run (in minutes)" msgstr "" -#: extras/jobs.py:49 +#: netbox/extras/jobs.py:49 msgid "Database changes have been reverted automatically." msgstr "" -#: extras/jobs.py:55 +#: netbox/extras/jobs.py:55 msgid "Script aborted with error: " msgstr "" -#: extras/jobs.py:65 +#: netbox/extras/jobs.py:65 msgid "An exception occurred: " msgstr "" -#: extras/jobs.py:70 +#: netbox/extras/jobs.py:70 msgid "Database changes have been reverted due to error." msgstr "" -#: extras/management/commands/reindex.py:66 +#: netbox/extras/management/commands/reindex.py:66 msgid "No indexers found!" msgstr "" -#: extras/models/configs.py:130 +#: netbox/extras/models/configs.py:130 msgid "config context" msgstr "" -#: extras/models/configs.py:131 +#: netbox/extras/models/configs.py:131 msgid "config contexts" msgstr "" -#: extras/models/configs.py:149 extras/models/configs.py:205 +#: netbox/extras/models/configs.py:149 netbox/extras/models/configs.py:205 msgid "JSON data must be in object form. Example:" msgstr "" -#: extras/models/configs.py:169 +#: netbox/extras/models/configs.py:169 msgid "" "Local config context data takes precedence over source contexts in the final " "rendered config context" msgstr "" -#: extras/models/configs.py:224 +#: netbox/extras/models/configs.py:224 msgid "template code" msgstr "" -#: extras/models/configs.py:225 +#: netbox/extras/models/configs.py:225 msgid "Jinja2 template code." msgstr "" -#: extras/models/configs.py:228 +#: netbox/extras/models/configs.py:228 msgid "environment parameters" msgstr "" -#: extras/models/configs.py:233 +#: netbox/extras/models/configs.py:233 msgid "" "Any additional parameters to pass when constructing the Jinja2 " "environment." msgstr "" -#: extras/models/configs.py:240 +#: netbox/extras/models/configs.py:240 msgid "config template" msgstr "" -#: extras/models/configs.py:241 +#: netbox/extras/models/configs.py:241 msgid "config templates" msgstr "" -#: extras/models/customfields.py:75 +#: netbox/extras/models/customfields.py:75 msgid "The object(s) to which this field applies." msgstr "" -#: extras/models/customfields.py:82 +#: netbox/extras/models/customfields.py:82 msgid "The type of data this custom field holds" msgstr "" -#: extras/models/customfields.py:89 +#: netbox/extras/models/customfields.py:89 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" -#: extras/models/customfields.py:95 +#: netbox/extras/models/customfields.py:95 msgid "Internal field name" msgstr "" -#: extras/models/customfields.py:99 +#: netbox/extras/models/customfields.py:99 msgid "Only alphanumeric characters and underscores are allowed." msgstr "" -#: extras/models/customfields.py:104 +#: netbox/extras/models/customfields.py:104 msgid "Double underscores are not permitted in custom field names." msgstr "" -#: extras/models/customfields.py:115 +#: netbox/extras/models/customfields.py:115 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" msgstr "" -#: extras/models/customfields.py:119 extras/models/models.py:317 +#: netbox/extras/models/customfields.py:119 netbox/extras/models/models.py:317 msgid "group name" msgstr "" -#: extras/models/customfields.py:122 +#: netbox/extras/models/customfields.py:122 msgid "Custom fields within the same group will be displayed together" msgstr "" -#: extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:130 msgid "required" msgstr "" -#: extras/models/customfields.py:132 +#: netbox/extras/models/customfields.py:132 msgid "" "This field is required when creating new objects or editing an existing " "object." msgstr "" -#: extras/models/customfields.py:135 +#: netbox/extras/models/customfields.py:135 msgid "must be unique" msgstr "" -#: extras/models/customfields.py:137 +#: netbox/extras/models/customfields.py:137 msgid "The value of this field must be unique for the assigned object" msgstr "" -#: extras/models/customfields.py:140 +#: netbox/extras/models/customfields.py:140 msgid "search weight" msgstr "" -#: extras/models/customfields.py:143 +#: netbox/extras/models/customfields.py:143 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." msgstr "" -#: extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:148 msgid "filter logic" msgstr "" -#: extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:152 msgid "" "Loose matches any instance of a given string; exact matches the entire field." msgstr "" -#: extras/models/customfields.py:155 +#: netbox/extras/models/customfields.py:155 msgid "default" msgstr "" -#: extras/models/customfields.py:159 +#: netbox/extras/models/customfields.py:159 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with " "double quotes (e.g. \"Foo\")." msgstr "" -#: extras/models/customfields.py:166 +#: netbox/extras/models/customfields.py:166 msgid "" "Filter the object selection choices using a query_params dict (must be a " "JSON value).Encapsulate strings with double quotes (e.g. \"Foo\")." msgstr "" -#: extras/models/customfields.py:172 +#: netbox/extras/models/customfields.py:172 msgid "display weight" msgstr "" -#: extras/models/customfields.py:173 +#: netbox/extras/models/customfields.py:173 msgid "Fields with higher weights appear lower in a form." msgstr "" -#: extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:178 msgid "minimum value" msgstr "" -#: extras/models/customfields.py:179 +#: netbox/extras/models/customfields.py:179 msgid "Minimum allowed value (for numeric fields)" msgstr "" -#: extras/models/customfields.py:184 +#: netbox/extras/models/customfields.py:184 msgid "maximum value" msgstr "" -#: extras/models/customfields.py:185 +#: netbox/extras/models/customfields.py:185 msgid "Maximum allowed value (for numeric fields)" msgstr "" -#: extras/models/customfields.py:191 +#: netbox/extras/models/customfields.py:191 msgid "validation regex" msgstr "" -#: extras/models/customfields.py:193 +#: netbox/extras/models/customfields.py:193 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7555,259 +8075,261 @@ msgid "" "values to exactly three uppercase letters." msgstr "" -#: extras/models/customfields.py:201 +#: netbox/extras/models/customfields.py:201 msgid "choice set" msgstr "" -#: extras/models/customfields.py:210 +#: netbox/extras/models/customfields.py:210 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" -#: extras/models/customfields.py:217 +#: netbox/extras/models/customfields.py:217 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" -#: extras/models/customfields.py:221 +#: netbox/extras/models/customfields.py:221 msgid "is cloneable" msgstr "" -#: extras/models/customfields.py:222 +#: netbox/extras/models/customfields.py:222 msgid "Replicate this value when cloning objects" msgstr "" -#: extras/models/customfields.py:239 +#: netbox/extras/models/customfields.py:239 msgid "custom field" msgstr "" -#: extras/models/customfields.py:240 +#: netbox/extras/models/customfields.py:240 msgid "custom fields" msgstr "" -#: extras/models/customfields.py:329 +#: netbox/extras/models/customfields.py:329 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "" -#: extras/models/customfields.py:336 +#: netbox/extras/models/customfields.py:336 msgid "A minimum value may be set only for numeric fields" msgstr "" -#: extras/models/customfields.py:338 +#: netbox/extras/models/customfields.py:338 msgid "A maximum value may be set only for numeric fields" msgstr "" -#: extras/models/customfields.py:348 +#: netbox/extras/models/customfields.py:348 msgid "Regular expression validation is supported only for text and URL fields" msgstr "" -#: extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:354 msgid "Uniqueness cannot be enforced for boolean fields" msgstr "" -#: extras/models/customfields.py:364 +#: netbox/extras/models/customfields.py:364 msgid "Selection fields must specify a set of choices." msgstr "" -#: extras/models/customfields.py:368 +#: netbox/extras/models/customfields.py:368 msgid "Choices may be set only on selection fields." msgstr "" -#: extras/models/customfields.py:375 +#: netbox/extras/models/customfields.py:375 msgid "Object fields must define an object type." msgstr "" -#: extras/models/customfields.py:379 +#: netbox/extras/models/customfields.py:379 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "" -#: extras/models/customfields.py:386 +#: netbox/extras/models/customfields.py:386 msgid "A related object filter can be defined only for object fields." msgstr "" -#: extras/models/customfields.py:390 +#: netbox/extras/models/customfields.py:390 msgid "Filter must be defined as a dictionary mapping attributes to values." msgstr "" -#: extras/models/customfields.py:469 +#: netbox/extras/models/customfields.py:469 msgid "True" msgstr "" -#: extras/models/customfields.py:470 +#: netbox/extras/models/customfields.py:470 msgid "False" msgstr "" -#: extras/models/customfields.py:560 +#: netbox/extras/models/customfields.py:560 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" -#: extras/models/customfields.py:654 +#: netbox/extras/models/customfields.py:654 msgid "Value must be a string." msgstr "" -#: extras/models/customfields.py:656 +#: netbox/extras/models/customfields.py:656 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "" -#: extras/models/customfields.py:661 +#: netbox/extras/models/customfields.py:661 msgid "Value must be an integer." msgstr "" -#: extras/models/customfields.py:664 extras/models/customfields.py:679 +#: netbox/extras/models/customfields.py:664 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "" -#: extras/models/customfields.py:668 extras/models/customfields.py:683 +#: netbox/extras/models/customfields.py:668 +#: netbox/extras/models/customfields.py:683 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "" -#: extras/models/customfields.py:676 +#: netbox/extras/models/customfields.py:676 msgid "Value must be a decimal." msgstr "" -#: extras/models/customfields.py:688 +#: netbox/extras/models/customfields.py:688 msgid "Value must be true or false." msgstr "" -#: extras/models/customfields.py:696 +#: netbox/extras/models/customfields.py:696 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "" -#: extras/models/customfields.py:705 +#: netbox/extras/models/customfields.py:705 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" -#: extras/models/customfields.py:712 +#: netbox/extras/models/customfields.py:712 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "" -#: extras/models/customfields.py:722 +#: netbox/extras/models/customfields.py:722 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "" -#: extras/models/customfields.py:731 +#: netbox/extras/models/customfields.py:731 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "" -#: extras/models/customfields.py:737 +#: netbox/extras/models/customfields.py:737 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "" -#: extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:741 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "" -#: extras/models/customfields.py:744 +#: netbox/extras/models/customfields.py:744 msgid "Required field cannot be empty." msgstr "" -#: extras/models/customfields.py:763 +#: netbox/extras/models/customfields.py:763 msgid "Base set of predefined choices (optional)" msgstr "" -#: extras/models/customfields.py:775 +#: netbox/extras/models/customfields.py:775 msgid "Choices are automatically ordered alphabetically" msgstr "" -#: extras/models/customfields.py:782 +#: netbox/extras/models/customfields.py:782 msgid "custom field choice set" msgstr "" -#: extras/models/customfields.py:783 +#: netbox/extras/models/customfields.py:783 msgid "custom field choice sets" msgstr "" -#: extras/models/customfields.py:825 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "" -#: extras/models/customfields.py:849 +#: netbox/extras/models/customfields.py:849 #, python-brace-format msgid "" "Cannot remove choice {choice} as there are {model} objects which reference " "it." msgstr "" -#: extras/models/dashboard.py:18 +#: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "" -#: extras/models/dashboard.py:22 +#: netbox/extras/models/dashboard.py:22 msgid "config" msgstr "" -#: extras/models/dashboard.py:27 +#: netbox/extras/models/dashboard.py:27 msgid "dashboard" msgstr "" -#: extras/models/dashboard.py:28 +#: netbox/extras/models/dashboard.py:28 msgid "dashboards" msgstr "" -#: extras/models/models.py:52 +#: netbox/extras/models/models.py:52 msgid "object types" msgstr "" -#: extras/models/models.py:53 +#: netbox/extras/models/models.py:53 msgid "The object(s) to which this rule applies." msgstr "" -#: extras/models/models.py:67 +#: netbox/extras/models/models.py:67 msgid "The types of event which will trigger this rule." msgstr "" -#: extras/models/models.py:74 +#: netbox/extras/models/models.py:74 msgid "conditions" msgstr "" -#: extras/models/models.py:77 +#: netbox/extras/models/models.py:77 msgid "" "A set of conditions which determine whether the event will be generated." msgstr "" -#: extras/models/models.py:85 +#: netbox/extras/models/models.py:85 msgid "action type" msgstr "" -#: extras/models/models.py:104 +#: netbox/extras/models/models.py:104 msgid "Additional data to pass to the action object" msgstr "" -#: extras/models/models.py:116 +#: netbox/extras/models/models.py:116 msgid "event rule" msgstr "" -#: extras/models/models.py:117 +#: netbox/extras/models/models.py:117 msgid "event rules" msgstr "" -#: extras/models/models.py:166 +#: netbox/extras/models/models.py:166 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 " "request body." msgstr "" -#: extras/models/models.py:181 +#: netbox/extras/models/models.py:181 msgid "" "The complete list of official content types is available here." msgstr "" -#: extras/models/models.py:186 +#: netbox/extras/models/models.py:186 msgid "additional headers" msgstr "" -#: extras/models/models.py:189 +#: netbox/extras/models/models.py:189 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: " @@ -7815,11 +8337,11 @@ msgid "" "as the request body (below)." msgstr "" -#: extras/models/models.py:195 +#: netbox/extras/models/models.py:195 msgid "body template" msgstr "" -#: extras/models/models.py:198 +#: netbox/extras/models/models.py:198 msgid "" "Jinja2 template for a custom request body. If blank, a JSON object " "representing the change will be included. Available context data includes: " @@ -7827,4253 +8349,4386 @@ msgid "" "username, request_id, and data." msgstr "" -#: extras/models/models.py:204 +#: netbox/extras/models/models.py:204 msgid "secret" msgstr "" -#: extras/models/models.py:208 +#: netbox/extras/models/models.py:208 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 " "the key. The secret is not transmitted in the request." msgstr "" -#: extras/models/models.py:215 +#: netbox/extras/models/models.py:215 msgid "Enable SSL certificate verification. Disable with caution!" msgstr "" -#: extras/models/models.py:221 templates/extras/webhook.html:51 +#: netbox/extras/models/models.py:221 netbox/templates/extras/webhook.html:51 msgid "CA File Path" msgstr "" -#: extras/models/models.py:223 +#: netbox/extras/models/models.py:223 msgid "" "The specific CA certificate file to use for SSL verification. Leave blank to " "use the system defaults." msgstr "" -#: extras/models/models.py:234 +#: netbox/extras/models/models.py:234 msgid "webhook" msgstr "" -#: extras/models/models.py:235 +#: netbox/extras/models/models.py:235 msgid "webhooks" msgstr "" -#: extras/models/models.py:253 +#: netbox/extras/models/models.py:253 msgid "Do not specify a CA certificate file if SSL verification is disabled." msgstr "" -#: extras/models/models.py:293 +#: netbox/extras/models/models.py:293 msgid "The object type(s) to which this link applies." msgstr "" -#: extras/models/models.py:305 +#: netbox/extras/models/models.py:305 msgid "link text" msgstr "" -#: extras/models/models.py:306 +#: netbox/extras/models/models.py:306 msgid "Jinja2 template code for link text" msgstr "" -#: extras/models/models.py:309 +#: netbox/extras/models/models.py:309 msgid "link URL" msgstr "" -#: extras/models/models.py:310 +#: netbox/extras/models/models.py:310 msgid "Jinja2 template code for link URL" msgstr "" -#: extras/models/models.py:320 +#: netbox/extras/models/models.py:320 msgid "Links with the same group will appear as a dropdown menu" msgstr "" -#: extras/models/models.py:330 +#: netbox/extras/models/models.py:330 msgid "new window" msgstr "" -#: extras/models/models.py:332 +#: netbox/extras/models/models.py:332 msgid "Force link to open in a new window" msgstr "" -#: extras/models/models.py:341 +#: netbox/extras/models/models.py:341 msgid "custom link" msgstr "" -#: extras/models/models.py:342 +#: netbox/extras/models/models.py:342 msgid "custom links" msgstr "" -#: extras/models/models.py:389 +#: netbox/extras/models/models.py:389 msgid "The object type(s) to which this template applies." msgstr "" -#: extras/models/models.py:402 +#: netbox/extras/models/models.py:402 msgid "" "Jinja2 template code. The list of objects being exported is passed as a " "context variable named queryset." msgstr "" -#: extras/models/models.py:410 +#: netbox/extras/models/models.py:410 msgid "Defaults to text/plain; charset=utf-8" msgstr "" -#: extras/models/models.py:413 +#: netbox/extras/models/models.py:413 msgid "file extension" msgstr "" -#: extras/models/models.py:416 +#: netbox/extras/models/models.py:416 msgid "Extension to append to the rendered filename" msgstr "" -#: extras/models/models.py:419 +#: netbox/extras/models/models.py:419 msgid "as attachment" msgstr "" -#: extras/models/models.py:421 +#: netbox/extras/models/models.py:421 msgid "Download file as attachment" msgstr "" -#: extras/models/models.py:430 +#: netbox/extras/models/models.py:430 msgid "export template" msgstr "" -#: extras/models/models.py:431 +#: netbox/extras/models/models.py:431 msgid "export templates" msgstr "" -#: extras/models/models.py:448 +#: netbox/extras/models/models.py:448 #, python-brace-format msgid "\"{name}\" is a reserved name. Please choose a different name." msgstr "" -#: extras/models/models.py:498 +#: netbox/extras/models/models.py:498 msgid "The object type(s) to which this filter applies." msgstr "" -#: extras/models/models.py:530 +#: netbox/extras/models/models.py:530 msgid "shared" msgstr "" -#: extras/models/models.py:543 +#: netbox/extras/models/models.py:543 msgid "saved filter" msgstr "" -#: extras/models/models.py:544 +#: netbox/extras/models/models.py:544 msgid "saved filters" msgstr "" -#: extras/models/models.py:562 +#: netbox/extras/models/models.py:562 msgid "Filter parameters must be stored as a dictionary of keyword arguments." msgstr "" -#: extras/models/models.py:590 +#: netbox/extras/models/models.py:590 msgid "image height" msgstr "" -#: extras/models/models.py:593 +#: netbox/extras/models/models.py:593 msgid "image width" msgstr "" -#: extras/models/models.py:610 +#: netbox/extras/models/models.py:610 msgid "image attachment" msgstr "" -#: extras/models/models.py:611 +#: netbox/extras/models/models.py:611 msgid "image attachments" msgstr "" -#: extras/models/models.py:625 +#: netbox/extras/models/models.py:625 #, python-brace-format msgid "Image attachments cannot be assigned to this object type ({type})." msgstr "" -#: extras/models/models.py:688 +#: netbox/extras/models/models.py:688 msgid "kind" msgstr "" -#: extras/models/models.py:702 +#: netbox/extras/models/models.py:702 msgid "journal entry" msgstr "" -#: extras/models/models.py:703 +#: netbox/extras/models/models.py:703 msgid "journal entries" msgstr "" -#: extras/models/models.py:718 +#: netbox/extras/models/models.py:718 #, python-brace-format msgid "Journaling is not supported for this object type ({type})." msgstr "" -#: extras/models/models.py:760 +#: netbox/extras/models/models.py:760 msgid "bookmark" msgstr "" -#: extras/models/models.py:761 +#: netbox/extras/models/models.py:761 msgid "bookmarks" msgstr "" -#: extras/models/models.py:774 +#: netbox/extras/models/models.py:774 #, python-brace-format msgid "Bookmarks cannot be assigned to this object type ({type})." msgstr "" -#: extras/models/notifications.py:43 +#: netbox/extras/models/notifications.py:43 msgid "read" msgstr "" -#: extras/models/notifications.py:66 +#: netbox/extras/models/notifications.py:66 msgid "event" msgstr "" -#: extras/models/notifications.py:84 +#: netbox/extras/models/notifications.py:84 msgid "notification" msgstr "" -#: extras/models/notifications.py:85 +#: netbox/extras/models/notifications.py:85 msgid "notifications" msgstr "" -#: extras/models/notifications.py:99 extras/models/notifications.py:234 +#: netbox/extras/models/notifications.py:99 +#: netbox/extras/models/notifications.py:234 #, python-brace-format msgid "Objects of this type ({type}) do not support notifications." msgstr "" -#: extras/models/notifications.py:137 users/models/users.py:58 -#: users/models/users.py:77 +#: netbox/extras/models/notifications.py:137 netbox/users/models/users.py:58 +#: netbox/users/models/users.py:77 msgid "groups" msgstr "" -#: extras/models/notifications.py:143 users/models/users.py:93 +#: netbox/extras/models/notifications.py:143 netbox/users/models/users.py:93 msgid "users" msgstr "" -#: extras/models/notifications.py:152 +#: netbox/extras/models/notifications.py:152 msgid "notification group" msgstr "" -#: extras/models/notifications.py:153 +#: netbox/extras/models/notifications.py:153 msgid "notification groups" msgstr "" -#: extras/models/notifications.py:217 +#: netbox/extras/models/notifications.py:217 msgid "subscription" msgstr "" -#: extras/models/notifications.py:218 +#: netbox/extras/models/notifications.py:218 msgid "subscriptions" msgstr "" -#: extras/models/scripts.py:42 +#: netbox/extras/models/scripts.py:42 msgid "is executable" msgstr "" -#: extras/models/scripts.py:64 +#: netbox/extras/models/scripts.py:64 msgid "script" msgstr "" -#: extras/models/scripts.py:65 +#: netbox/extras/models/scripts.py:65 msgid "scripts" msgstr "" -#: extras/models/scripts.py:111 +#: netbox/extras/models/scripts.py:111 msgid "script module" msgstr "" -#: extras/models/scripts.py:112 +#: netbox/extras/models/scripts.py:112 msgid "script modules" msgstr "" -#: extras/models/search.py:22 +#: netbox/extras/models/search.py:22 msgid "timestamp" msgstr "" -#: extras/models/search.py:37 +#: netbox/extras/models/search.py:37 msgid "field" msgstr "" -#: extras/models/search.py:45 +#: netbox/extras/models/search.py:45 msgid "value" msgstr "" -#: extras/models/search.py:56 +#: netbox/extras/models/search.py:56 msgid "cached value" msgstr "" -#: extras/models/search.py:57 +#: netbox/extras/models/search.py:57 msgid "cached values" msgstr "" -#: extras/models/staging.py:44 +#: netbox/extras/models/staging.py:44 msgid "branch" msgstr "" -#: extras/models/staging.py:45 +#: netbox/extras/models/staging.py:45 msgid "branches" msgstr "" -#: extras/models/staging.py:97 +#: netbox/extras/models/staging.py:97 msgid "staged change" msgstr "" -#: extras/models/staging.py:98 +#: netbox/extras/models/staging.py:98 msgid "staged changes" msgstr "" -#: extras/models/tags.py:40 +#: netbox/extras/models/tags.py:40 msgid "The object type(s) to which this tag can be applied." msgstr "" -#: extras/models/tags.py:49 +#: netbox/extras/models/tags.py:49 msgid "tag" msgstr "" -#: extras/models/tags.py:50 +#: netbox/extras/models/tags.py:50 msgid "tags" msgstr "" -#: extras/models/tags.py:78 +#: netbox/extras/models/tags.py:78 msgid "tagged item" msgstr "" -#: extras/models/tags.py:79 +#: netbox/extras/models/tags.py:79 msgid "tagged items" msgstr "" -#: extras/scripts.py:429 +#: netbox/extras/scripts.py:429 msgid "Script Data" msgstr "" -#: extras/scripts.py:433 +#: netbox/extras/scripts.py:433 msgid "Script Execution Parameters" msgstr "" -#: extras/tables/columns.py:12 templates/htmx/notifications.html:18 +#: netbox/extras/tables/columns.py:12 +#: netbox/templates/htmx/notifications.html:18 msgid "Dismiss" msgstr "" -#: extras/tables/tables.py:62 extras/tables/tables.py:159 -#: extras/tables/tables.py:184 extras/tables/tables.py:250 -#: extras/tables/tables.py:276 extras/tables/tables.py:412 -#: extras/tables/tables.py:446 templates/extras/customfield.html:105 -#: templates/extras/eventrule.html:27 templates/users/objectpermission.html:64 -#: users/tables.py:80 +#: netbox/extras/tables/tables.py:62 netbox/extras/tables/tables.py:159 +#: netbox/extras/tables/tables.py:184 netbox/extras/tables/tables.py:250 +#: netbox/extras/tables/tables.py:276 netbox/extras/tables/tables.py:412 +#: netbox/extras/tables/tables.py:446 +#: netbox/templates/extras/customfield.html:105 +#: netbox/templates/extras/eventrule.html:27 +#: netbox/templates/users/objectpermission.html:64 netbox/users/tables.py:80 msgid "Object Types" msgstr "" -#: extras/tables/tables.py:69 +#: netbox/extras/tables/tables.py:69 msgid "Validate Uniqueness" msgstr "" -#: extras/tables/tables.py:73 +#: netbox/extras/tables/tables.py:73 msgid "Visible" msgstr "" -#: extras/tables/tables.py:76 +#: netbox/extras/tables/tables.py:76 msgid "Editable" msgstr "" -#: extras/tables/tables.py:82 +#: netbox/extras/tables/tables.py:82 msgid "Related Object Type" msgstr "" -#: extras/tables/tables.py:86 templates/extras/customfield.html:51 +#: netbox/extras/tables/tables.py:86 +#: netbox/templates/extras/customfield.html:51 msgid "Choice Set" msgstr "" -#: extras/tables/tables.py:94 +#: netbox/extras/tables/tables.py:94 msgid "Is Cloneable" msgstr "" -#: extras/tables/tables.py:98 templates/extras/customfield.html:118 +#: netbox/extras/tables/tables.py:98 +#: netbox/templates/extras/customfield.html:118 msgid "Minimum Value" msgstr "" -#: extras/tables/tables.py:101 templates/extras/customfield.html:122 +#: netbox/extras/tables/tables.py:101 +#: netbox/templates/extras/customfield.html:122 msgid "Maximum Value" msgstr "" -#: extras/tables/tables.py:104 +#: netbox/extras/tables/tables.py:104 msgid "Validation Regex" msgstr "" -#: extras/tables/tables.py:137 +#: netbox/extras/tables/tables.py:137 msgid "Count" msgstr "" -#: extras/tables/tables.py:140 +#: netbox/extras/tables/tables.py:140 msgid "Order Alphabetically" msgstr "" -#: extras/tables/tables.py:165 templates/extras/customlink.html:33 +#: netbox/extras/tables/tables.py:165 +#: netbox/templates/extras/customlink.html:33 msgid "New Window" msgstr "" -#: extras/tables/tables.py:187 +#: netbox/extras/tables/tables.py:187 msgid "As Attachment" msgstr "" -#: extras/tables/tables.py:195 extras/tables/tables.py:487 -#: extras/tables/tables.py:522 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 +#: netbox/extras/tables/tables.py:195 netbox/extras/tables/tables.py:487 +#: netbox/extras/tables/tables.py:522 netbox/templates/core/datafile.html:24 +#: netbox/templates/dcim/device/render_config.html:22 +#: netbox/templates/extras/configcontext.html:39 +#: netbox/templates/extras/configtemplate.html:31 +#: netbox/templates/extras/exporttemplate.html:45 +#: netbox/templates/generic/bulk_import.html:35 +#: netbox/templates/virtualization/virtualmachine/render_config.html:22 msgid "Data File" msgstr "" -#: extras/tables/tables.py:200 extras/tables/tables.py:499 -#: extras/tables/tables.py:527 +#: netbox/extras/tables/tables.py:200 netbox/extras/tables/tables.py:499 +#: netbox/extras/tables/tables.py:527 msgid "Synced" msgstr "" -#: extras/tables/tables.py:227 +#: netbox/extras/tables/tables.py:227 msgid "Image" msgstr "" -#: extras/tables/tables.py:232 +#: netbox/extras/tables/tables.py:232 msgid "Size (Bytes)" msgstr "" -#: extras/tables/tables.py:339 +#: netbox/extras/tables/tables.py:339 msgid "Read" msgstr "" -#: extras/tables/tables.py:382 +#: netbox/extras/tables/tables.py:382 msgid "SSL Validation" msgstr "" -#: extras/tables/tables.py:418 templates/extras/eventrule.html:37 +#: netbox/extras/tables/tables.py:418 netbox/templates/extras/eventrule.html:37 msgid "Event Types" msgstr "" -#: extras/tables/tables.py:535 netbox/navigation/menu.py:77 -#: templates/dcim/devicerole.html:8 +#: netbox/extras/tables/tables.py:535 netbox/netbox/navigation/menu.py:77 +#: netbox/templates/dcim/devicerole.html:8 msgid "Device Roles" msgstr "" -#: extras/tables/tables.py:587 +#: netbox/extras/tables/tables.py:587 msgid "Comments (Short)" msgstr "" -#: extras/tables/tables.py:606 extras/tables/tables.py:640 +#: netbox/extras/tables/tables.py:606 netbox/extras/tables/tables.py:640 msgid "Line" msgstr "" -#: extras/tables/tables.py:613 extras/tables/tables.py:650 +#: netbox/extras/tables/tables.py:613 netbox/extras/tables/tables.py:650 msgid "Level" msgstr "" -#: extras/tables/tables.py:619 extras/tables/tables.py:659 +#: netbox/extras/tables/tables.py:619 netbox/extras/tables/tables.py:659 msgid "Message" msgstr "" -#: extras/tables/tables.py:643 +#: netbox/extras/tables/tables.py:643 msgid "Method" msgstr "" -#: extras/validators.py:15 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "" -#: extras/validators.py:26 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "" -#: extras/validators.py:37 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "" -#: extras/validators.py:52 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "" -#: extras/validators.py:94 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "" -#: extras/validators.py:119 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "" -#: extras/validators.py:133 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "" -#: extras/validators.py:150 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "" -#: extras/views.py:960 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "" -#: extras/views.py:1006 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "" -#: extras/views.py:1047 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "" -#: extras/views.py:1083 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "" -#: extras/views.py:1085 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "" -#: extras/views.py:1172 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" -#: ipam/api/field_serializers.py:17 +#: netbox/ipam/api/field_serializers.py:17 msgid "Enter a valid IPv4 or IPv6 address with optional mask." msgstr "" -#: ipam/api/field_serializers.py:24 +#: netbox/ipam/api/field_serializers.py:24 #, python-brace-format msgid "Invalid IP address format: {data}" msgstr "" -#: ipam/api/field_serializers.py:37 +#: netbox/ipam/api/field_serializers.py:37 msgid "Enter a valid IPv4 or IPv6 prefix and mask in CIDR notation." msgstr "" -#: ipam/api/field_serializers.py:44 +#: netbox/ipam/api/field_serializers.py:44 #, python-brace-format msgid "Invalid IP prefix format: {data}" msgstr "" -#: ipam/api/views.py:358 +#: netbox/ipam/api/views.py:358 msgid "" "Insufficient space is available to accommodate the requested prefix size(s)" msgstr "" -#: ipam/choices.py:30 +#: netbox/ipam/choices.py:30 msgid "Container" msgstr "" -#: ipam/choices.py:72 +#: netbox/ipam/choices.py:72 msgid "DHCP" msgstr "" -#: ipam/choices.py:73 +#: netbox/ipam/choices.py:73 msgid "SLAAC" msgstr "" -#: ipam/choices.py:89 +#: netbox/ipam/choices.py:89 msgid "Loopback" msgstr "" -#: ipam/choices.py:91 +#: netbox/ipam/choices.py:91 msgid "Anycast" msgstr "" -#: ipam/choices.py:115 +#: netbox/ipam/choices.py:115 msgid "Standard" msgstr "" -#: ipam/choices.py:120 +#: netbox/ipam/choices.py:120 msgid "CheckPoint" msgstr "" -#: ipam/choices.py:123 +#: netbox/ipam/choices.py:123 msgid "Cisco" msgstr "" -#: ipam/choices.py:137 +#: netbox/ipam/choices.py:137 msgid "Plaintext" msgstr "" -#: ipam/fields.py:36 +#: netbox/ipam/fields.py:36 #, python-brace-format msgid "Invalid IP address format: {address}" msgstr "" -#: ipam/filtersets.py:48 vpn/filtersets.py:304 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "" -#: ipam/filtersets.py:54 vpn/filtersets.py:310 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "" -#: ipam/filtersets.py:59 vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "" -#: ipam/filtersets.py:65 vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "" -#: ipam/filtersets.py:86 +#: netbox/ipam/filtersets.py:86 msgid "Importing VRF" msgstr "" -#: ipam/filtersets.py:92 +#: netbox/ipam/filtersets.py:92 msgid "Import VRF (RD)" msgstr "" -#: ipam/filtersets.py:97 +#: netbox/ipam/filtersets.py:97 msgid "Exporting VRF" msgstr "" -#: ipam/filtersets.py:103 +#: netbox/ipam/filtersets.py:103 msgid "Export VRF (RD)" msgstr "" -#: ipam/filtersets.py:108 +#: netbox/ipam/filtersets.py:108 msgid "Importing L2VPN" msgstr "" -#: ipam/filtersets.py:114 +#: netbox/ipam/filtersets.py:114 msgid "Importing L2VPN (identifier)" msgstr "" -#: ipam/filtersets.py:119 +#: netbox/ipam/filtersets.py:119 msgid "Exporting L2VPN" msgstr "" -#: ipam/filtersets.py:125 +#: netbox/ipam/filtersets.py:125 msgid "Exporting L2VPN (identifier)" msgstr "" -#: ipam/filtersets.py:155 ipam/filtersets.py:281 ipam/forms/model_forms.py:229 -#: ipam/tables/ip.py:212 templates/ipam/prefix.html:12 +#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:281 +#: netbox/ipam/forms/model_forms.py:229 netbox/ipam/tables/ip.py:212 +#: netbox/templates/ipam/prefix.html:12 msgid "Prefix" msgstr "" -#: ipam/filtersets.py:159 ipam/filtersets.py:198 ipam/filtersets.py:221 +#: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198 +#: netbox/ipam/filtersets.py:221 msgid "RIR (ID)" msgstr "" -#: ipam/filtersets.py:165 ipam/filtersets.py:204 ipam/filtersets.py:227 +#: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 +#: netbox/ipam/filtersets.py:227 msgid "RIR (slug)" msgstr "" -#: ipam/filtersets.py:285 +#: netbox/ipam/filtersets.py:285 msgid "Within prefix" msgstr "" -#: ipam/filtersets.py:289 +#: netbox/ipam/filtersets.py:289 msgid "Within and including prefix" msgstr "" -#: ipam/filtersets.py:293 +#: netbox/ipam/filtersets.py:293 msgid "Prefixes which contain this prefix or IP" msgstr "" -#: ipam/filtersets.py:304 ipam/filtersets.py:572 ipam/forms/bulk_edit.py:343 -#: ipam/forms/filtersets.py:196 ipam/forms/filtersets.py:331 +#: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572 +#: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/filtersets.py:196 +#: netbox/ipam/forms/filtersets.py:331 msgid "Mask length" msgstr "" -#: ipam/filtersets.py:373 vpn/filtersets.py:427 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "" -#: ipam/filtersets.py:377 vpn/filtersets.py:422 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "" -#: ipam/filtersets.py:471 ipam/filtersets.py:475 ipam/filtersets.py:567 -#: ipam/forms/model_forms.py:463 templates/tenancy/contact.html:53 -#: tenancy/forms/bulk_edit.py:113 +#: netbox/ipam/filtersets.py:471 netbox/ipam/filtersets.py:475 +#: netbox/ipam/filtersets.py:567 netbox/ipam/forms/model_forms.py:463 +#: netbox/templates/tenancy/contact.html:53 +#: netbox/tenancy/forms/bulk_edit.py:113 msgid "Address" msgstr "" -#: ipam/filtersets.py:479 +#: netbox/ipam/filtersets.py:479 msgid "Ranges which contain this prefix or IP" msgstr "" -#: ipam/filtersets.py:507 ipam/filtersets.py:563 +#: netbox/ipam/filtersets.py:507 netbox/ipam/filtersets.py:563 msgid "Parent prefix" msgstr "" -#: ipam/filtersets.py:616 ipam/filtersets.py:856 ipam/filtersets.py:1131 -#: vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "" -#: ipam/filtersets.py:621 ipam/filtersets.py:861 ipam/filtersets.py:1125 -#: virtualization/filtersets.py:282 virtualization/filtersets.py:321 -#: vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "" -#: ipam/filtersets.py:627 vpn/filtersets.py:97 vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "" -#: ipam/filtersets.py:638 vpn/filtersets.py:108 vpn/filtersets.py:407 +#: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "" -#: ipam/filtersets.py:643 vpn/filtersets.py:113 +#: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113 msgid "VM interface (ID)" msgstr "" -#: ipam/filtersets.py:648 +#: netbox/ipam/filtersets.py:648 msgid "FHRP group (ID)" msgstr "" -#: ipam/filtersets.py:652 +#: netbox/ipam/filtersets.py:652 msgid "Is assigned to an interface" msgstr "" -#: ipam/filtersets.py:656 +#: netbox/ipam/filtersets.py:656 msgid "Is assigned" msgstr "" -#: ipam/filtersets.py:668 +#: netbox/ipam/filtersets.py:668 msgid "Service (ID)" msgstr "" -#: ipam/filtersets.py:673 +#: netbox/ipam/filtersets.py:673 msgid "NAT inside IP address (ID)" msgstr "" -#: ipam/filtersets.py:1041 ipam/forms/bulk_import.py:322 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 msgid "Assigned interface" msgstr "" -#: ipam/filtersets.py:1046 +#: netbox/ipam/filtersets.py:1046 msgid "Assigned VM interface" msgstr "" -#: ipam/filtersets.py:1136 +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "" -#: ipam/filtersets.py:1142 ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "" -#: ipam/filtersets.py:1167 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "" -#: ipam/filtersets.py:1172 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "" -#: ipam/formfields.py:14 +#: netbox/ipam/formfields.py:14 msgid "Enter a valid IPv4 or IPv6 address (without a mask)." msgstr "" -#: ipam/formfields.py:32 +#: netbox/ipam/formfields.py:32 #, python-brace-format msgid "Invalid IPv4/IPv6 address format: {address}" msgstr "" -#: ipam/formfields.py:37 +#: netbox/ipam/formfields.py:37 msgid "This field requires an IP address without a mask." msgstr "" -#: ipam/formfields.py:39 ipam/formfields.py:61 +#: netbox/ipam/formfields.py:39 netbox/ipam/formfields.py:61 msgid "Please specify a valid IPv4 or IPv6 address." msgstr "" -#: ipam/formfields.py:44 +#: netbox/ipam/formfields.py:44 msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." msgstr "" -#: ipam/formfields.py:56 +#: netbox/ipam/formfields.py:56 msgid "CIDR mask (e.g. /24) is required." msgstr "" -#: ipam/forms/bulk_create.py:13 +#: netbox/ipam/forms/bulk_create.py:13 msgid "Address pattern" msgstr "" -#: ipam/forms/bulk_edit.py:50 +#: netbox/ipam/forms/bulk_edit.py:50 msgid "Enforce unique space" msgstr "" -#: ipam/forms/bulk_edit.py:88 +#: netbox/ipam/forms/bulk_edit.py:88 msgid "Is private" msgstr "" -#: ipam/forms/bulk_edit.py:109 ipam/forms/bulk_edit.py:138 -#: ipam/forms/bulk_edit.py:163 ipam/forms/bulk_import.py:89 -#: ipam/forms/bulk_import.py:109 ipam/forms/bulk_import.py:129 -#: ipam/forms/filtersets.py:110 ipam/forms/filtersets.py:125 -#: ipam/forms/filtersets.py:148 ipam/forms/model_forms.py:96 -#: ipam/forms/model_forms.py:109 ipam/forms/model_forms.py:131 -#: ipam/forms/model_forms.py:149 ipam/models/asns.py:31 ipam/models/asns.py:103 -#: ipam/models/ip.py:71 ipam/models/ip.py:90 ipam/tables/asn.py:20 -#: ipam/tables/asn.py:45 templates/ipam/aggregate.html:18 -#: templates/ipam/asn.html:27 templates/ipam/asnrange.html:19 -#: templates/ipam/rir.html:19 +#: netbox/ipam/forms/bulk_edit.py:109 netbox/ipam/forms/bulk_edit.py:138 +#: netbox/ipam/forms/bulk_edit.py:163 netbox/ipam/forms/bulk_import.py:89 +#: netbox/ipam/forms/bulk_import.py:109 netbox/ipam/forms/bulk_import.py:129 +#: netbox/ipam/forms/filtersets.py:110 netbox/ipam/forms/filtersets.py:125 +#: netbox/ipam/forms/filtersets.py:148 netbox/ipam/forms/model_forms.py:96 +#: netbox/ipam/forms/model_forms.py:109 netbox/ipam/forms/model_forms.py:131 +#: netbox/ipam/forms/model_forms.py:149 netbox/ipam/models/asns.py:31 +#: netbox/ipam/models/asns.py:103 netbox/ipam/models/ip.py:71 +#: netbox/ipam/models/ip.py:90 netbox/ipam/tables/asn.py:20 +#: netbox/ipam/tables/asn.py:45 netbox/templates/ipam/aggregate.html:18 +#: netbox/templates/ipam/asn.html:27 netbox/templates/ipam/asnrange.html:19 +#: netbox/templates/ipam/rir.html:19 msgid "RIR" msgstr "" -#: ipam/forms/bulk_edit.py:171 +#: netbox/ipam/forms/bulk_edit.py:171 msgid "Date added" msgstr "" -#: ipam/forms/bulk_edit.py:229 ipam/forms/model_forms.py:586 -#: ipam/forms/model_forms.py:633 ipam/tables/ip.py:251 -#: templates/ipam/vlan_edit.html:37 templates/ipam/vlangroup.html:27 +#: netbox/ipam/forms/bulk_edit.py:229 netbox/ipam/forms/model_forms.py:586 +#: netbox/ipam/forms/model_forms.py:633 netbox/ipam/tables/ip.py:251 +#: netbox/templates/ipam/vlan_edit.html:37 +#: netbox/templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "" -#: ipam/forms/bulk_edit.py:234 ipam/forms/bulk_import.py:185 -#: ipam/forms/filtersets.py:256 ipam/forms/model_forms.py:218 -#: ipam/models/vlans.py:234 ipam/tables/ip.py:255 templates/ipam/prefix.html:60 -#: templates/ipam/vlan.html:12 templates/ipam/vlan/base.html:6 -#: templates/ipam/vlan_edit.html:10 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:102 +#: netbox/ipam/forms/bulk_edit.py:234 netbox/ipam/forms/bulk_import.py:185 +#: netbox/ipam/forms/filtersets.py:256 netbox/ipam/forms/model_forms.py:218 +#: netbox/ipam/models/vlans.py:234 netbox/ipam/tables/ip.py:255 +#: netbox/templates/ipam/prefix.html:60 netbox/templates/ipam/vlan.html:12 +#: netbox/templates/ipam/vlan/base.html:6 +#: netbox/templates/ipam/vlan_edit.html:10 +#: netbox/templates/wireless/wirelesslan.html:30 +#: netbox/vpn/forms/bulk_import.py:304 netbox/vpn/forms/filtersets.py:284 +#: netbox/vpn/forms/model_forms.py:433 netbox/vpn/forms/model_forms.py:452 +#: netbox/wireless/forms/bulk_edit.py:55 +#: netbox/wireless/forms/bulk_import.py:48 +#: netbox/wireless/forms/model_forms.py:48 netbox/wireless/models.py:102 msgid "VLAN" msgstr "" -#: ipam/forms/bulk_edit.py:245 +#: netbox/ipam/forms/bulk_edit.py:245 msgid "Prefix length" msgstr "" -#: ipam/forms/bulk_edit.py:268 ipam/forms/filtersets.py:241 -#: templates/ipam/prefix.html:85 +#: netbox/ipam/forms/bulk_edit.py:268 netbox/ipam/forms/filtersets.py:241 +#: netbox/templates/ipam/prefix.html:85 msgid "Is a pool" msgstr "" -#: ipam/forms/bulk_edit.py:273 ipam/forms/bulk_edit.py:318 -#: ipam/forms/filtersets.py:248 ipam/forms/filtersets.py:293 -#: ipam/models/ip.py:272 ipam/models/ip.py:539 +#: netbox/ipam/forms/bulk_edit.py:273 netbox/ipam/forms/bulk_edit.py:318 +#: netbox/ipam/forms/filtersets.py:248 netbox/ipam/forms/filtersets.py:293 +#: netbox/ipam/models/ip.py:272 netbox/ipam/models/ip.py:539 msgid "Treat as fully utilized" msgstr "" -#: ipam/forms/bulk_edit.py:287 ipam/forms/filtersets.py:171 +#: netbox/ipam/forms/bulk_edit.py:287 netbox/ipam/forms/filtersets.py:171 msgid "VLAN Assignment" msgstr "" -#: ipam/forms/bulk_edit.py:366 ipam/models/ip.py:772 +#: netbox/ipam/forms/bulk_edit.py:366 netbox/ipam/models/ip.py:772 msgid "DNS name" msgstr "" -#: ipam/forms/bulk_edit.py:387 ipam/forms/bulk_edit.py:534 -#: ipam/forms/bulk_import.py:394 ipam/forms/bulk_import.py:469 -#: ipam/forms/bulk_import.py:495 ipam/forms/filtersets.py:390 -#: ipam/forms/filtersets.py:530 templates/ipam/fhrpgroup.html:22 -#: templates/ipam/inc/panels/fhrp_groups.html:24 templates/ipam/service.html:32 -#: templates/ipam/servicetemplate.html:19 +#: netbox/ipam/forms/bulk_edit.py:387 netbox/ipam/forms/bulk_edit.py:534 +#: netbox/ipam/forms/bulk_import.py:394 netbox/ipam/forms/bulk_import.py:469 +#: netbox/ipam/forms/bulk_import.py:495 netbox/ipam/forms/filtersets.py:390 +#: netbox/ipam/forms/filtersets.py:530 netbox/templates/ipam/fhrpgroup.html:22 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:24 +#: netbox/templates/ipam/service.html:32 +#: netbox/templates/ipam/servicetemplate.html:19 msgid "Protocol" msgstr "" -#: ipam/forms/bulk_edit.py:394 ipam/forms/filtersets.py:397 -#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:26 +#: netbox/ipam/forms/bulk_edit.py:394 netbox/ipam/forms/filtersets.py:397 +#: netbox/ipam/tables/fhrp.py:22 netbox/templates/ipam/fhrpgroup.html:26 msgid "Group ID" msgstr "" -#: ipam/forms/bulk_edit.py:399 ipam/forms/filtersets.py:402 -#: 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:54 wireless/forms/filtersets.py:88 +#: netbox/ipam/forms/bulk_edit.py:399 netbox/ipam/forms/filtersets.py:402 +#: netbox/wireless/forms/bulk_edit.py:68 netbox/wireless/forms/bulk_edit.py:115 +#: netbox/wireless/forms/bulk_import.py:62 +#: netbox/wireless/forms/bulk_import.py:65 +#: netbox/wireless/forms/bulk_import.py:104 +#: netbox/wireless/forms/bulk_import.py:107 +#: netbox/wireless/forms/filtersets.py:54 +#: netbox/wireless/forms/filtersets.py:88 msgid "Authentication type" msgstr "" -#: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:406 +#: netbox/ipam/forms/bulk_edit.py:404 netbox/ipam/forms/filtersets.py:406 msgid "Authentication key" msgstr "" -#: ipam/forms/bulk_edit.py:421 ipam/forms/filtersets.py:383 -#: ipam/forms/model_forms.py:474 netbox/navigation/menu.py:386 -#: templates/ipam/fhrpgroup.html:49 -#: templates/wireless/inc/authentication_attrs.html:5 -#: wireless/forms/bulk_edit.py:91 wireless/forms/bulk_edit.py:149 -#: wireless/forms/filtersets.py:36 wireless/forms/filtersets.py:76 -#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:171 +#: netbox/ipam/forms/bulk_edit.py:421 netbox/ipam/forms/filtersets.py:383 +#: netbox/ipam/forms/model_forms.py:474 netbox/netbox/navigation/menu.py:386 +#: netbox/templates/ipam/fhrpgroup.html:49 +#: netbox/templates/wireless/inc/authentication_attrs.html:5 +#: netbox/wireless/forms/bulk_edit.py:91 netbox/wireless/forms/bulk_edit.py:149 +#: netbox/wireless/forms/filtersets.py:36 +#: netbox/wireless/forms/filtersets.py:76 +#: netbox/wireless/forms/model_forms.py:55 +#: netbox/wireless/forms/model_forms.py:171 msgid "Authentication" msgstr "" -#: ipam/forms/bulk_edit.py:436 ipam/forms/model_forms.py:575 +#: netbox/ipam/forms/bulk_edit.py:436 netbox/ipam/forms/model_forms.py:575 msgid "Scope type" msgstr "" -#: ipam/forms/bulk_edit.py:439 ipam/forms/bulk_edit.py:453 -#: ipam/forms/model_forms.py:578 ipam/forms/model_forms.py:588 -#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:38 +#: netbox/ipam/forms/bulk_edit.py:439 netbox/ipam/forms/bulk_edit.py:453 +#: netbox/ipam/forms/model_forms.py:578 netbox/ipam/forms/model_forms.py:588 +#: netbox/ipam/tables/vlans.py:71 netbox/templates/ipam/vlangroup.html:38 msgid "Scope" msgstr "" -#: ipam/forms/bulk_edit.py:446 ipam/models/vlans.py:60 +#: netbox/ipam/forms/bulk_edit.py:446 netbox/ipam/models/vlans.py:60 msgid "VLAN ID ranges" msgstr "" -#: ipam/forms/bulk_edit.py:525 +#: netbox/ipam/forms/bulk_edit.py:525 msgid "Site & Group" msgstr "" -#: ipam/forms/bulk_edit.py:539 ipam/forms/model_forms.py:659 -#: ipam/forms/model_forms.py:691 ipam/tables/services.py:19 -#: ipam/tables/services.py:49 templates/ipam/service.html:36 -#: templates/ipam/servicetemplate.html:23 +#: netbox/ipam/forms/bulk_edit.py:539 netbox/ipam/forms/model_forms.py:659 +#: netbox/ipam/forms/model_forms.py:691 netbox/ipam/tables/services.py:19 +#: netbox/ipam/tables/services.py:49 netbox/templates/ipam/service.html:36 +#: netbox/templates/ipam/servicetemplate.html:23 msgid "Ports" msgstr "" -#: ipam/forms/bulk_import.py:48 +#: netbox/ipam/forms/bulk_import.py:48 msgid "Import route targets" msgstr "" -#: ipam/forms/bulk_import.py:54 +#: netbox/ipam/forms/bulk_import.py:54 msgid "Export route targets" msgstr "" -#: ipam/forms/bulk_import.py:92 ipam/forms/bulk_import.py:112 -#: ipam/forms/bulk_import.py:132 +#: netbox/ipam/forms/bulk_import.py:92 netbox/ipam/forms/bulk_import.py:112 +#: netbox/ipam/forms/bulk_import.py:132 msgid "Assigned RIR" msgstr "" -#: ipam/forms/bulk_import.py:182 +#: netbox/ipam/forms/bulk_import.py:182 msgid "VLAN's group (if any)" msgstr "" -#: ipam/forms/bulk_import.py:308 +#: netbox/ipam/forms/bulk_import.py:308 msgid "Parent device of assigned interface (if any)" msgstr "" -#: ipam/forms/bulk_import.py:311 ipam/forms/bulk_import.py:488 -#: ipam/forms/model_forms.py:685 virtualization/filtersets.py:288 -#: virtualization/filtersets.py:327 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:212 -#: virtualization/forms/filtersets.py:248 -#: virtualization/forms/model_forms.py:288 vpn/forms/bulk_import.py:93 -#: vpn/forms/bulk_import.py:290 +#: netbox/ipam/forms/bulk_import.py:311 netbox/ipam/forms/bulk_import.py:488 +#: netbox/ipam/forms/model_forms.py:685 netbox/virtualization/filtersets.py:288 +#: netbox/virtualization/filtersets.py:327 +#: netbox/virtualization/forms/bulk_edit.py:200 +#: netbox/virtualization/forms/bulk_edit.py:326 +#: netbox/virtualization/forms/bulk_import.py:146 +#: netbox/virtualization/forms/bulk_import.py:207 +#: netbox/virtualization/forms/filtersets.py:212 +#: netbox/virtualization/forms/filtersets.py:248 +#: netbox/virtualization/forms/model_forms.py:288 +#: netbox/vpn/forms/bulk_import.py:93 netbox/vpn/forms/bulk_import.py:290 msgid "Virtual machine" msgstr "" -#: ipam/forms/bulk_import.py:315 +#: netbox/ipam/forms/bulk_import.py:315 msgid "Parent VM of assigned interface (if any)" msgstr "" -#: ipam/forms/bulk_import.py:325 +#: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "" -#: ipam/forms/bulk_import.py:326 +#: netbox/ipam/forms/bulk_import.py:326 msgid "Make this the primary IP for the assigned device" msgstr "" -#: ipam/forms/bulk_import.py:365 +#: netbox/ipam/forms/bulk_import.py:365 msgid "No device or virtual machine specified; cannot set as primary IP" msgstr "" -#: ipam/forms/bulk_import.py:369 +#: netbox/ipam/forms/bulk_import.py:369 msgid "No interface specified; cannot set as primary IP" msgstr "" -#: ipam/forms/bulk_import.py:398 +#: netbox/ipam/forms/bulk_import.py:398 msgid "Auth type" msgstr "" -#: ipam/forms/bulk_import.py:413 +#: netbox/ipam/forms/bulk_import.py:413 msgid "Scope type (app & model)" msgstr "" -#: ipam/forms/bulk_import.py:440 +#: netbox/ipam/forms/bulk_import.py:440 msgid "Assigned VLAN group" msgstr "" -#: ipam/forms/bulk_import.py:471 ipam/forms/bulk_import.py:497 +#: netbox/ipam/forms/bulk_import.py:471 netbox/ipam/forms/bulk_import.py:497 msgid "IP protocol" msgstr "" -#: ipam/forms/bulk_import.py:485 +#: netbox/ipam/forms/bulk_import.py:485 msgid "Required if not assigned to a VM" msgstr "" -#: ipam/forms/bulk_import.py:492 +#: netbox/ipam/forms/bulk_import.py:492 msgid "Required if not assigned to a device" msgstr "" -#: ipam/forms/bulk_import.py:517 +#: netbox/ipam/forms/bulk_import.py:517 #, python-brace-format msgid "{ip} is not assigned to this device/VM." msgstr "" -#: ipam/forms/filtersets.py:47 ipam/forms/model_forms.py:63 -#: netbox/navigation/menu.py:189 vpn/forms/model_forms.py:410 +#: netbox/ipam/forms/filtersets.py:47 netbox/ipam/forms/model_forms.py:63 +#: netbox/netbox/navigation/menu.py:189 netbox/vpn/forms/model_forms.py:410 msgid "Route Targets" msgstr "" -#: ipam/forms/filtersets.py:53 ipam/forms/model_forms.py:50 -#: vpn/forms/filtersets.py:224 vpn/forms/model_forms.py:397 +#: netbox/ipam/forms/filtersets.py:53 netbox/ipam/forms/model_forms.py:50 +#: netbox/vpn/forms/filtersets.py:224 netbox/vpn/forms/model_forms.py:397 msgid "Import targets" msgstr "" -#: ipam/forms/filtersets.py:58 ipam/forms/model_forms.py:55 -#: vpn/forms/filtersets.py:229 vpn/forms/model_forms.py:402 +#: netbox/ipam/forms/filtersets.py:58 netbox/ipam/forms/model_forms.py:55 +#: netbox/vpn/forms/filtersets.py:229 netbox/vpn/forms/model_forms.py:402 msgid "Export targets" msgstr "" -#: ipam/forms/filtersets.py:73 +#: netbox/ipam/forms/filtersets.py:73 msgid "Imported by VRF" msgstr "" -#: ipam/forms/filtersets.py:78 +#: netbox/ipam/forms/filtersets.py:78 msgid "Exported by VRF" msgstr "" -#: ipam/forms/filtersets.py:87 ipam/tables/ip.py:89 templates/ipam/rir.html:30 +#: netbox/ipam/forms/filtersets.py:87 netbox/ipam/tables/ip.py:89 +#: netbox/templates/ipam/rir.html:30 msgid "Private" msgstr "" -#: ipam/forms/filtersets.py:105 ipam/forms/filtersets.py:191 -#: ipam/forms/filtersets.py:272 ipam/forms/filtersets.py:326 +#: netbox/ipam/forms/filtersets.py:105 netbox/ipam/forms/filtersets.py:191 +#: netbox/ipam/forms/filtersets.py:272 netbox/ipam/forms/filtersets.py:326 msgid "Address family" msgstr "" -#: ipam/forms/filtersets.py:119 templates/ipam/asnrange.html:25 +#: netbox/ipam/forms/filtersets.py:119 netbox/templates/ipam/asnrange.html:25 msgid "Range" msgstr "" -#: ipam/forms/filtersets.py:128 +#: netbox/ipam/forms/filtersets.py:128 msgid "Start" msgstr "" -#: ipam/forms/filtersets.py:132 +#: netbox/ipam/forms/filtersets.py:132 msgid "End" msgstr "" -#: ipam/forms/filtersets.py:186 +#: netbox/ipam/forms/filtersets.py:186 msgid "Search within" msgstr "" -#: ipam/forms/filtersets.py:207 ipam/forms/filtersets.py:342 +#: netbox/ipam/forms/filtersets.py:207 netbox/ipam/forms/filtersets.py:342 msgid "Present in VRF" msgstr "" -#: ipam/forms/filtersets.py:311 +#: netbox/ipam/forms/filtersets.py:311 msgid "Device/VM" msgstr "" -#: ipam/forms/filtersets.py:321 +#: netbox/ipam/forms/filtersets.py:321 msgid "Parent Prefix" msgstr "" -#: ipam/forms/filtersets.py:347 +#: netbox/ipam/forms/filtersets.py:347 msgid "Assigned Device" msgstr "" -#: ipam/forms/filtersets.py:352 +#: netbox/ipam/forms/filtersets.py:352 msgid "Assigned VM" msgstr "" -#: ipam/forms/filtersets.py:366 +#: netbox/ipam/forms/filtersets.py:366 msgid "Assigned to an interface" msgstr "" -#: ipam/forms/filtersets.py:373 templates/ipam/ipaddress.html:51 +#: netbox/ipam/forms/filtersets.py:373 netbox/templates/ipam/ipaddress.html:51 msgid "DNS Name" msgstr "" -#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:235 ipam/tables/ip.py:176 -#: ipam/tables/vlans.py:82 ipam/views.py:971 netbox/navigation/menu.py:193 -#: netbox/navigation/menu.py:195 +#: netbox/ipam/forms/filtersets.py:416 netbox/ipam/models/vlans.py:235 +#: netbox/ipam/tables/ip.py:176 netbox/ipam/tables/vlans.py:82 +#: netbox/ipam/views.py:971 netbox/netbox/navigation/menu.py:193 +#: netbox/netbox/navigation/menu.py:195 msgid "VLANs" msgstr "" -#: ipam/forms/filtersets.py:457 +#: netbox/ipam/forms/filtersets.py:457 msgid "Contains VLAN ID" msgstr "" -#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:176 -#: templates/ipam/vlan.html:31 +#: netbox/ipam/forms/filtersets.py:513 netbox/ipam/models/vlans.py:176 +#: netbox/templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "" -#: ipam/forms/filtersets.py:556 ipam/forms/model_forms.py:320 -#: ipam/forms/model_forms.py:713 ipam/forms/model_forms.py:739 -#: ipam/tables/vlans.py:195 templates/virtualization/virtualdisk.html:21 -#: templates/virtualization/virtualmachine.html:12 -#: templates/virtualization/vminterface.html:21 -#: templates/vpn/tunneltermination.html:25 -#: virtualization/forms/filtersets.py:197 -#: virtualization/forms/filtersets.py:242 -#: virtualization/forms/model_forms.py:220 -#: virtualization/tables/virtualmachines.py:135 -#: virtualization/tables/virtualmachines.py:190 vpn/choices.py:45 -#: 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 +#: netbox/ipam/forms/filtersets.py:556 netbox/ipam/forms/model_forms.py:320 +#: netbox/ipam/forms/model_forms.py:713 netbox/ipam/forms/model_forms.py:739 +#: netbox/ipam/tables/vlans.py:195 +#: netbox/templates/virtualization/virtualdisk.html:21 +#: netbox/templates/virtualization/virtualmachine.html:12 +#: netbox/templates/virtualization/vminterface.html:21 +#: netbox/templates/vpn/tunneltermination.html:25 +#: netbox/virtualization/forms/filtersets.py:197 +#: netbox/virtualization/forms/filtersets.py:242 +#: netbox/virtualization/forms/model_forms.py:220 +#: netbox/virtualization/tables/virtualmachines.py:135 +#: netbox/virtualization/tables/virtualmachines.py:190 netbox/vpn/choices.py:45 +#: netbox/vpn/forms/filtersets.py:293 netbox/vpn/forms/model_forms.py:160 +#: netbox/vpn/forms/model_forms.py:171 netbox/vpn/forms/model_forms.py:273 +#: netbox/vpn/forms/model_forms.py:454 msgid "Virtual Machine" msgstr "" -#: ipam/forms/model_forms.py:80 templates/ipam/routetarget.html:10 +#: netbox/ipam/forms/model_forms.py:80 +#: netbox/templates/ipam/routetarget.html:10 msgid "Route Target" msgstr "" -#: ipam/forms/model_forms.py:114 ipam/tables/ip.py:117 -#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38 +#: netbox/ipam/forms/model_forms.py:114 netbox/ipam/tables/ip.py:117 +#: netbox/templates/ipam/aggregate.html:11 netbox/templates/ipam/prefix.html:38 msgid "Aggregate" msgstr "" -#: ipam/forms/model_forms.py:135 templates/ipam/asnrange.html:12 +#: netbox/ipam/forms/model_forms.py:135 netbox/templates/ipam/asnrange.html:12 msgid "ASN Range" msgstr "" -#: ipam/forms/model_forms.py:231 +#: netbox/ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" msgstr "" -#: ipam/forms/model_forms.py:259 templates/ipam/iprange.html:10 +#: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 msgid "IP Range" msgstr "" -#: ipam/forms/model_forms.py:295 ipam/forms/model_forms.py:321 -#: ipam/forms/model_forms.py:473 templates/ipam/fhrpgroup.html:19 +#: netbox/ipam/forms/model_forms.py:295 netbox/ipam/forms/model_forms.py:321 +#: netbox/ipam/forms/model_forms.py:473 netbox/templates/ipam/fhrpgroup.html:19 msgid "FHRP Group" msgstr "" -#: ipam/forms/model_forms.py:310 +#: netbox/ipam/forms/model_forms.py:310 msgid "Make this the primary IP for the device/VM" msgstr "" -#: ipam/forms/model_forms.py:325 +#: netbox/ipam/forms/model_forms.py:325 msgid "NAT IP (Inside)" msgstr "" -#: ipam/forms/model_forms.py:384 +#: netbox/ipam/forms/model_forms.py:384 msgid "An IP address can only be assigned to a single object." msgstr "" -#: ipam/forms/model_forms.py:390 ipam/models/ip.py:897 +#: netbox/ipam/forms/model_forms.py:390 netbox/ipam/models/ip.py:897 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" msgstr "" -#: ipam/forms/model_forms.py:400 +#: netbox/ipam/forms/model_forms.py:400 msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "" -#: ipam/forms/model_forms.py:475 +#: netbox/ipam/forms/model_forms.py:475 msgid "Virtual IP Address" msgstr "" -#: ipam/forms/model_forms.py:560 +#: netbox/ipam/forms/model_forms.py:560 msgid "Assignment already exists" msgstr "" -#: ipam/forms/model_forms.py:569 templates/ipam/vlangroup.html:42 +#: netbox/ipam/forms/model_forms.py:569 netbox/templates/ipam/vlangroup.html:42 msgid "VLAN IDs" msgstr "" -#: ipam/forms/model_forms.py:587 +#: netbox/ipam/forms/model_forms.py:587 msgid "Child VLANs" msgstr "" -#: ipam/forms/model_forms.py:664 ipam/forms/model_forms.py:696 +#: netbox/ipam/forms/model_forms.py:664 netbox/ipam/forms/model_forms.py:696 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." msgstr "" -#: ipam/forms/model_forms.py:669 templates/ipam/servicetemplate.html:12 +#: netbox/ipam/forms/model_forms.py:669 +#: netbox/templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "" -#: ipam/forms/model_forms.py:716 +#: netbox/ipam/forms/model_forms.py:716 msgid "Port(s)" msgstr "" -#: ipam/forms/model_forms.py:717 ipam/forms/model_forms.py:745 -#: templates/ipam/service.html:21 +#: netbox/ipam/forms/model_forms.py:717 netbox/ipam/forms/model_forms.py:745 +#: netbox/templates/ipam/service.html:21 msgid "Service" msgstr "" -#: ipam/forms/model_forms.py:730 +#: netbox/ipam/forms/model_forms.py:730 msgid "Service template" msgstr "" -#: ipam/forms/model_forms.py:742 +#: netbox/ipam/forms/model_forms.py:742 msgid "From Template" msgstr "" -#: ipam/forms/model_forms.py:743 +#: netbox/ipam/forms/model_forms.py:743 msgid "Custom" msgstr "" -#: ipam/forms/model_forms.py:773 +#: netbox/ipam/forms/model_forms.py:773 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" -#: ipam/models/asns.py:34 +#: netbox/ipam/models/asns.py:34 msgid "start" msgstr "" -#: ipam/models/asns.py:51 +#: netbox/ipam/models/asns.py:51 msgid "ASN range" msgstr "" -#: ipam/models/asns.py:52 +#: netbox/ipam/models/asns.py:52 msgid "ASN ranges" msgstr "" -#: ipam/models/asns.py:72 +#: netbox/ipam/models/asns.py:72 #, python-brace-format msgid "Starting ASN ({start}) must be lower than ending ASN ({end})." msgstr "" -#: ipam/models/asns.py:104 +#: netbox/ipam/models/asns.py:104 msgid "Regional Internet Registry responsible for this AS number space" msgstr "" -#: ipam/models/asns.py:109 +#: netbox/ipam/models/asns.py:109 msgid "16- or 32-bit autonomous system number" msgstr "" -#: ipam/models/fhrp.py:22 +#: netbox/ipam/models/fhrp.py:22 msgid "group ID" msgstr "" -#: ipam/models/fhrp.py:30 ipam/models/services.py:22 +#: netbox/ipam/models/fhrp.py:30 netbox/ipam/models/services.py:22 msgid "protocol" msgstr "" -#: ipam/models/fhrp.py:38 wireless/models.py:28 +#: netbox/ipam/models/fhrp.py:38 netbox/wireless/models.py:28 msgid "authentication type" msgstr "" -#: ipam/models/fhrp.py:43 +#: netbox/ipam/models/fhrp.py:43 msgid "authentication key" msgstr "" -#: ipam/models/fhrp.py:56 +#: netbox/ipam/models/fhrp.py:56 msgid "FHRP group" msgstr "" -#: ipam/models/fhrp.py:57 +#: netbox/ipam/models/fhrp.py:57 msgid "FHRP groups" msgstr "" -#: ipam/models/fhrp.py:113 +#: netbox/ipam/models/fhrp.py:113 msgid "FHRP group assignment" msgstr "" -#: ipam/models/fhrp.py:114 +#: netbox/ipam/models/fhrp.py:114 msgid "FHRP group assignments" msgstr "" -#: ipam/models/ip.py:65 +#: netbox/ipam/models/ip.py:65 msgid "private" msgstr "" -#: ipam/models/ip.py:66 +#: netbox/ipam/models/ip.py:66 msgid "IP space managed by this RIR is considered private" msgstr "" -#: ipam/models/ip.py:72 netbox/navigation/menu.py:182 +#: netbox/ipam/models/ip.py:72 netbox/netbox/navigation/menu.py:182 msgid "RIRs" msgstr "" -#: ipam/models/ip.py:84 +#: netbox/ipam/models/ip.py:84 msgid "IPv4 or IPv6 network" msgstr "" -#: ipam/models/ip.py:91 +#: netbox/ipam/models/ip.py:91 msgid "Regional Internet Registry responsible for this IP space" msgstr "" -#: ipam/models/ip.py:101 +#: netbox/ipam/models/ip.py:101 msgid "date added" msgstr "" -#: ipam/models/ip.py:115 +#: netbox/ipam/models/ip.py:115 msgid "aggregate" msgstr "" -#: ipam/models/ip.py:116 +#: netbox/ipam/models/ip.py:116 msgid "aggregates" msgstr "" -#: ipam/models/ip.py:132 +#: netbox/ipam/models/ip.py:132 msgid "Cannot create aggregate with /0 mask." msgstr "" -#: ipam/models/ip.py:144 +#: netbox/ipam/models/ip.py:144 #, python-brace-format msgid "" "Aggregates cannot overlap. {prefix} is already covered by an existing " "aggregate ({aggregate})." msgstr "" -#: ipam/models/ip.py:158 +#: netbox/ipam/models/ip.py:158 #, python-brace-format msgid "" "Prefixes cannot overlap aggregates. {prefix} covers an existing aggregate " "({aggregate})." msgstr "" -#: ipam/models/ip.py:200 ipam/models/ip.py:737 vpn/models/tunnels.py:114 +#: netbox/ipam/models/ip.py:200 netbox/ipam/models/ip.py:737 +#: netbox/vpn/models/tunnels.py:114 msgid "role" msgstr "" -#: ipam/models/ip.py:201 +#: netbox/ipam/models/ip.py:201 msgid "roles" msgstr "" -#: ipam/models/ip.py:217 ipam/models/ip.py:293 +#: netbox/ipam/models/ip.py:217 netbox/ipam/models/ip.py:293 msgid "prefix" msgstr "" -#: ipam/models/ip.py:218 +#: netbox/ipam/models/ip.py:218 msgid "IPv4 or IPv6 network with mask" msgstr "" -#: ipam/models/ip.py:254 +#: netbox/ipam/models/ip.py:254 msgid "Operational status of this prefix" msgstr "" -#: ipam/models/ip.py:262 +#: netbox/ipam/models/ip.py:262 msgid "The primary function of this prefix" msgstr "" -#: ipam/models/ip.py:265 +#: netbox/ipam/models/ip.py:265 msgid "is a pool" msgstr "" -#: ipam/models/ip.py:267 +#: netbox/ipam/models/ip.py:267 msgid "All IP addresses within this prefix are considered usable" msgstr "" -#: ipam/models/ip.py:270 ipam/models/ip.py:537 +#: netbox/ipam/models/ip.py:270 netbox/ipam/models/ip.py:537 msgid "mark utilized" msgstr "" -#: ipam/models/ip.py:294 +#: netbox/ipam/models/ip.py:294 msgid "prefixes" msgstr "" -#: ipam/models/ip.py:317 +#: netbox/ipam/models/ip.py:317 msgid "Cannot create prefix with /0 mask." msgstr "" -#: ipam/models/ip.py:324 ipam/models/ip.py:874 +#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874 #, python-brace-format msgid "VRF {vrf}" msgstr "" -#: ipam/models/ip.py:324 ipam/models/ip.py:874 +#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874 msgid "global table" msgstr "" -#: ipam/models/ip.py:326 +#: netbox/ipam/models/ip.py:326 #, python-brace-format msgid "Duplicate prefix found in {table}: {prefix}" msgstr "" -#: ipam/models/ip.py:495 +#: netbox/ipam/models/ip.py:495 msgid "start address" msgstr "" -#: ipam/models/ip.py:496 ipam/models/ip.py:500 ipam/models/ip.py:712 +#: netbox/ipam/models/ip.py:496 netbox/ipam/models/ip.py:500 +#: netbox/ipam/models/ip.py:712 msgid "IPv4 or IPv6 address (with mask)" msgstr "" -#: ipam/models/ip.py:499 +#: netbox/ipam/models/ip.py:499 msgid "end address" msgstr "" -#: ipam/models/ip.py:526 +#: netbox/ipam/models/ip.py:526 msgid "Operational status of this range" msgstr "" -#: ipam/models/ip.py:534 +#: netbox/ipam/models/ip.py:534 msgid "The primary function of this range" msgstr "" -#: ipam/models/ip.py:548 +#: netbox/ipam/models/ip.py:548 msgid "IP range" msgstr "" -#: ipam/models/ip.py:549 +#: netbox/ipam/models/ip.py:549 msgid "IP ranges" msgstr "" -#: ipam/models/ip.py:565 +#: netbox/ipam/models/ip.py:565 msgid "Starting and ending IP address versions must match" msgstr "" -#: ipam/models/ip.py:571 +#: netbox/ipam/models/ip.py:571 msgid "Starting and ending IP address masks must match" msgstr "" -#: ipam/models/ip.py:578 +#: netbox/ipam/models/ip.py:578 #, python-brace-format msgid "" "Ending address must be greater than the starting address ({start_address})" msgstr "" -#: ipam/models/ip.py:590 +#: netbox/ipam/models/ip.py:590 #, python-brace-format msgid "Defined addresses overlap with range {overlapping_range} in VRF {vrf}" msgstr "" -#: ipam/models/ip.py:599 +#: netbox/ipam/models/ip.py:599 #, python-brace-format msgid "Defined range exceeds maximum supported size ({max_size})" msgstr "" -#: ipam/models/ip.py:711 tenancy/models/contacts.py:82 +#: netbox/ipam/models/ip.py:711 netbox/tenancy/models/contacts.py:82 msgid "address" msgstr "" -#: ipam/models/ip.py:734 +#: netbox/ipam/models/ip.py:734 msgid "The operational status of this IP" msgstr "" -#: ipam/models/ip.py:741 +#: netbox/ipam/models/ip.py:741 msgid "The functional role of this IP" msgstr "" -#: ipam/models/ip.py:765 templates/ipam/ipaddress.html:72 +#: netbox/ipam/models/ip.py:765 netbox/templates/ipam/ipaddress.html:72 msgid "NAT (inside)" msgstr "" -#: ipam/models/ip.py:766 +#: netbox/ipam/models/ip.py:766 msgid "The IP for which this address is the \"outside\" IP" msgstr "" -#: ipam/models/ip.py:773 +#: netbox/ipam/models/ip.py:773 msgid "Hostname or FQDN (not case-sensitive)" msgstr "" -#: ipam/models/ip.py:789 ipam/models/services.py:94 +#: netbox/ipam/models/ip.py:789 netbox/ipam/models/services.py:94 msgid "IP addresses" msgstr "" -#: ipam/models/ip.py:845 +#: netbox/ipam/models/ip.py:845 msgid "Cannot create IP address with /0 mask." msgstr "" -#: ipam/models/ip.py:851 +#: netbox/ipam/models/ip.py:851 #, python-brace-format msgid "{ip} is a network ID, which may not be assigned to an interface." msgstr "" -#: ipam/models/ip.py:862 +#: netbox/ipam/models/ip.py:862 #, python-brace-format msgid "{ip} is a broadcast address, which may not be assigned to an interface." msgstr "" -#: ipam/models/ip.py:876 +#: netbox/ipam/models/ip.py:876 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "" -#: ipam/models/ip.py:903 +#: netbox/ipam/models/ip.py:903 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "" -#: ipam/models/services.py:33 +#: netbox/ipam/models/services.py:33 msgid "port numbers" msgstr "" -#: ipam/models/services.py:59 +#: netbox/ipam/models/services.py:59 msgid "service template" msgstr "" -#: ipam/models/services.py:60 +#: netbox/ipam/models/services.py:60 msgid "service templates" msgstr "" -#: ipam/models/services.py:95 +#: netbox/ipam/models/services.py:95 msgid "The specific IP addresses (if any) to which this service is bound" msgstr "" -#: ipam/models/services.py:102 +#: netbox/ipam/models/services.py:102 msgid "service" msgstr "" -#: ipam/models/services.py:103 +#: netbox/ipam/models/services.py:103 msgid "services" msgstr "" -#: ipam/models/services.py:117 +#: netbox/ipam/models/services.py:117 msgid "" "A service cannot be associated with both a device and a virtual machine." msgstr "" -#: ipam/models/services.py:119 +#: netbox/ipam/models/services.py:119 msgid "A service must be associated with either a device or a virtual machine." msgstr "" -#: ipam/models/vlans.py:85 +#: netbox/ipam/models/vlans.py:85 msgid "VLAN groups" msgstr "" -#: ipam/models/vlans.py:95 +#: netbox/ipam/models/vlans.py:95 msgid "Cannot set scope_type without scope_id." msgstr "" -#: ipam/models/vlans.py:97 +#: netbox/ipam/models/vlans.py:97 msgid "Cannot set scope_id without scope_type." msgstr "" -#: ipam/models/vlans.py:101 +#: netbox/ipam/models/vlans.py:101 msgid "Ranges cannot overlap." msgstr "" -#: ipam/models/vlans.py:106 +#: netbox/ipam/models/vlans.py:106 #, python-brace-format msgid "" "Maximum child VID must be greater than or equal to minimum child VID " "({value})" msgstr "" -#: ipam/models/vlans.py:165 +#: netbox/ipam/models/vlans.py:165 msgid "The specific site to which this VLAN is assigned (if any)" msgstr "" -#: ipam/models/vlans.py:173 +#: netbox/ipam/models/vlans.py:173 msgid "VLAN group (optional)" msgstr "" -#: ipam/models/vlans.py:181 +#: netbox/ipam/models/vlans.py:181 msgid "Numeric VLAN ID (1-4094)" msgstr "" -#: ipam/models/vlans.py:199 +#: netbox/ipam/models/vlans.py:199 msgid "Operational status of this VLAN" msgstr "" -#: ipam/models/vlans.py:207 +#: netbox/ipam/models/vlans.py:207 msgid "The primary function of this VLAN" msgstr "" -#: ipam/models/vlans.py:250 +#: netbox/ipam/models/vlans.py:250 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " "site {site}." msgstr "" -#: ipam/models/vlans.py:259 +#: netbox/ipam/models/vlans.py:259 #, python-brace-format msgid "VID must be in ranges {ranges} for VLANs in group {group}" msgstr "" -#: ipam/models/vrfs.py:30 +#: netbox/ipam/models/vrfs.py:30 msgid "route distinguisher" msgstr "" -#: ipam/models/vrfs.py:31 +#: netbox/ipam/models/vrfs.py:31 msgid "Unique route distinguisher (as defined in RFC 4364)" msgstr "" -#: ipam/models/vrfs.py:42 +#: netbox/ipam/models/vrfs.py:42 msgid "enforce unique space" msgstr "" -#: ipam/models/vrfs.py:43 +#: netbox/ipam/models/vrfs.py:43 msgid "Prevent duplicate prefixes/IP addresses within this VRF" msgstr "" -#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:186 -#: netbox/navigation/menu.py:188 +#: netbox/ipam/models/vrfs.py:63 netbox/netbox/navigation/menu.py:186 +#: netbox/netbox/navigation/menu.py:188 msgid "VRFs" msgstr "" -#: ipam/models/vrfs.py:82 +#: netbox/ipam/models/vrfs.py:82 msgid "Route target value (formatted in accordance with RFC 4360)" msgstr "" -#: ipam/models/vrfs.py:94 +#: netbox/ipam/models/vrfs.py:94 msgid "route target" msgstr "" -#: ipam/models/vrfs.py:95 +#: netbox/ipam/models/vrfs.py:95 msgid "route targets" msgstr "" -#: ipam/tables/asn.py:52 +#: netbox/ipam/tables/asn.py:52 msgid "ASDOT" msgstr "" -#: ipam/tables/asn.py:57 +#: netbox/ipam/tables/asn.py:57 msgid "Site Count" msgstr "" -#: ipam/tables/asn.py:62 +#: netbox/ipam/tables/asn.py:62 msgid "Provider Count" msgstr "" -#: ipam/tables/ip.py:95 netbox/navigation/menu.py:179 -#: netbox/navigation/menu.py:181 +#: netbox/ipam/tables/ip.py:95 netbox/netbox/navigation/menu.py:179 +#: netbox/netbox/navigation/menu.py:181 msgid "Aggregates" msgstr "" -#: ipam/tables/ip.py:125 +#: netbox/ipam/tables/ip.py:125 msgid "Added" msgstr "" -#: ipam/tables/ip.py:128 ipam/tables/ip.py:166 ipam/tables/vlans.py:142 -#: ipam/views.py:346 netbox/navigation/menu.py:165 -#: netbox/navigation/menu.py:167 templates/ipam/vlan.html:84 +#: netbox/ipam/tables/ip.py:128 netbox/ipam/tables/ip.py:166 +#: netbox/ipam/tables/vlans.py:142 netbox/ipam/views.py:346 +#: netbox/netbox/navigation/menu.py:165 netbox/netbox/navigation/menu.py:167 +#: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" msgstr "" -#: ipam/tables/ip.py:131 ipam/tables/ip.py:270 ipam/tables/ip.py:324 -#: ipam/tables/vlans.py:86 templates/dcim/device.html:260 -#: templates/ipam/aggregate.html:24 templates/ipam/iprange.html:29 -#: templates/ipam/prefix.html:106 +#: netbox/ipam/tables/ip.py:131 netbox/ipam/tables/ip.py:270 +#: netbox/ipam/tables/ip.py:324 netbox/ipam/tables/vlans.py:86 +#: netbox/templates/dcim/device.html:260 +#: netbox/templates/ipam/aggregate.html:24 +#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" msgstr "" -#: ipam/tables/ip.py:171 netbox/navigation/menu.py:161 +#: netbox/ipam/tables/ip.py:171 netbox/netbox/navigation/menu.py:161 msgid "IP Ranges" msgstr "" -#: ipam/tables/ip.py:221 +#: netbox/ipam/tables/ip.py:221 msgid "Prefix (Flat)" msgstr "" -#: ipam/tables/ip.py:225 +#: netbox/ipam/tables/ip.py:225 msgid "Depth" msgstr "" -#: ipam/tables/ip.py:262 +#: netbox/ipam/tables/ip.py:262 msgid "Pool" msgstr "" -#: ipam/tables/ip.py:266 ipam/tables/ip.py:320 +#: netbox/ipam/tables/ip.py:266 netbox/ipam/tables/ip.py:320 msgid "Marked Utilized" msgstr "" -#: ipam/tables/ip.py:304 +#: netbox/ipam/tables/ip.py:304 msgid "Start address" msgstr "" -#: ipam/tables/ip.py:383 +#: netbox/ipam/tables/ip.py:383 msgid "NAT (Inside)" msgstr "" -#: ipam/tables/ip.py:388 +#: netbox/ipam/tables/ip.py:388 msgid "NAT (Outside)" msgstr "" -#: ipam/tables/ip.py:393 +#: netbox/ipam/tables/ip.py:393 msgid "Assigned" msgstr "" -#: ipam/tables/ip.py:429 templates/vpn/l2vpntermination.html:16 -#: vpn/forms/filtersets.py:240 +#: netbox/ipam/tables/ip.py:429 netbox/templates/vpn/l2vpntermination.html:16 +#: netbox/vpn/forms/filtersets.py:240 msgid "Assigned Object" msgstr "" -#: ipam/tables/vlans.py:68 +#: netbox/ipam/tables/vlans.py:68 msgid "Scope Type" msgstr "" -#: ipam/tables/vlans.py:76 +#: netbox/ipam/tables/vlans.py:76 msgid "VID Ranges" msgstr "" -#: ipam/tables/vlans.py:111 ipam/tables/vlans.py:214 -#: templates/dcim/inc/interface_vlans_table.html:4 +#: netbox/ipam/tables/vlans.py:111 netbox/ipam/tables/vlans.py:214 +#: netbox/templates/dcim/inc/interface_vlans_table.html:4 msgid "VID" msgstr "" -#: ipam/tables/vrfs.py:30 +#: netbox/ipam/tables/vrfs.py:30 msgid "RD" msgstr "" -#: ipam/tables/vrfs.py:33 +#: netbox/ipam/tables/vrfs.py:33 msgid "Unique" msgstr "" -#: ipam/tables/vrfs.py:37 vpn/tables/l2vpn.py:27 +#: netbox/ipam/tables/vrfs.py:37 netbox/vpn/tables/l2vpn.py:27 msgid "Import Targets" msgstr "" -#: ipam/tables/vrfs.py:42 vpn/tables/l2vpn.py:32 +#: netbox/ipam/tables/vrfs.py:42 netbox/vpn/tables/l2vpn.py:32 msgid "Export Targets" msgstr "" -#: ipam/validators.py:9 +#: netbox/ipam/validators.py:9 #, python-brace-format msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" msgstr "" -#: ipam/validators.py:16 +#: netbox/ipam/validators.py:16 #, python-format msgid "The prefix length must be less than or equal to %(limit_value)s." msgstr "" -#: ipam/validators.py:24 +#: netbox/ipam/validators.py:24 #, python-format msgid "The prefix length must be greater than or equal to %(limit_value)s." msgstr "" -#: ipam/validators.py:33 +#: netbox/ipam/validators.py:33 msgid "" "Only alphanumeric characters, asterisks, hyphens, periods, and underscores " "are allowed in DNS names" msgstr "" -#: ipam/views.py:533 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" msgstr "" -#: ipam/views.py:569 +#: netbox/ipam/views.py:569 msgid "Child Ranges" msgstr "" -#: ipam/views.py:898 +#: netbox/ipam/views.py:898 msgid "Related IPs" msgstr "" -#: ipam/views.py:1127 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" msgstr "" -#: ipam/views.py:1145 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" msgstr "" -#: netbox/api/fields.py:65 +#: netbox/netbox/api/fields.py:65 msgid "This field may not be blank." msgstr "" -#: netbox/api/fields.py:70 +#: netbox/netbox/api/fields.py:70 msgid "" "Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " "or list." msgstr "" -#: netbox/api/fields.py:91 +#: netbox/netbox/api/fields.py:91 #, python-brace-format msgid "{value} is not a valid choice." msgstr "" -#: netbox/api/fields.py:104 +#: netbox/netbox/api/fields.py:104 #, python-brace-format msgid "Invalid content type: {content_type}" msgstr "" -#: netbox/api/fields.py:105 +#: netbox/netbox/api/fields.py:105 msgid "Invalid value. Specify a content type as '.'." msgstr "" -#: netbox/api/fields.py:167 +#: netbox/netbox/api/fields.py:167 msgid "Ranges must be specified in the form (lower, upper)." msgstr "" -#: netbox/api/fields.py:169 +#: netbox/netbox/api/fields.py:169 msgid "Range boundaries must be defined as integers." msgstr "" -#: netbox/api/serializers/fields.py:40 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "" -#: netbox/authentication/__init__.py:138 +#: netbox/netbox/authentication/__init__.py:138 #, python-brace-format msgid "Invalid permission {permission} for model {model}" msgstr "" -#: netbox/choices.py:49 +#: netbox/netbox/choices.py:49 msgid "Dark Red" msgstr "" -#: netbox/choices.py:52 +#: netbox/netbox/choices.py:52 msgid "Rose" msgstr "" -#: netbox/choices.py:53 +#: netbox/netbox/choices.py:53 msgid "Fuchsia" msgstr "" -#: netbox/choices.py:55 +#: netbox/netbox/choices.py:55 msgid "Dark Purple" msgstr "" -#: netbox/choices.py:58 +#: netbox/netbox/choices.py:58 msgid "Light Blue" msgstr "" -#: netbox/choices.py:61 +#: netbox/netbox/choices.py:61 msgid "Aqua" msgstr "" -#: netbox/choices.py:62 +#: netbox/netbox/choices.py:62 msgid "Dark Green" msgstr "" -#: netbox/choices.py:64 +#: netbox/netbox/choices.py:64 msgid "Light Green" msgstr "" -#: netbox/choices.py:65 +#: netbox/netbox/choices.py:65 msgid "Lime" msgstr "" -#: netbox/choices.py:67 +#: netbox/netbox/choices.py:67 msgid "Amber" msgstr "" -#: netbox/choices.py:69 +#: netbox/netbox/choices.py:69 msgid "Dark Orange" msgstr "" -#: netbox/choices.py:70 +#: netbox/netbox/choices.py:70 msgid "Brown" msgstr "" -#: netbox/choices.py:71 +#: netbox/netbox/choices.py:71 msgid "Light Grey" msgstr "" -#: netbox/choices.py:72 +#: netbox/netbox/choices.py:72 msgid "Grey" msgstr "" -#: netbox/choices.py:73 +#: netbox/netbox/choices.py:73 msgid "Dark Grey" msgstr "" -#: netbox/choices.py:128 +#: netbox/netbox/choices.py:128 msgid "Direct" msgstr "" -#: netbox/choices.py:129 +#: netbox/netbox/choices.py:129 msgid "Upload" msgstr "" -#: netbox/choices.py:141 netbox/choices.py:155 +#: netbox/netbox/choices.py:141 netbox/netbox/choices.py:155 msgid "Auto-detect" msgstr "" -#: netbox/choices.py:156 +#: netbox/netbox/choices.py:156 msgid "Comma" msgstr "" -#: netbox/choices.py:157 +#: netbox/netbox/choices.py:157 msgid "Semicolon" msgstr "" -#: netbox/choices.py:158 +#: netbox/netbox/choices.py:158 msgid "Tab" msgstr "" -#: netbox/config/__init__.py:67 +#: netbox/netbox/config/__init__.py:67 #, python-brace-format msgid "Invalid configuration parameter: {item}" msgstr "" -#: netbox/config/parameters.py:22 templates/core/inc/config_data.html:62 +#: netbox/netbox/config/parameters.py:22 +#: netbox/templates/core/inc/config_data.html:62 msgid "Login banner" msgstr "" -#: netbox/config/parameters.py:24 +#: netbox/netbox/config/parameters.py:24 msgid "Additional content to display on the login page" msgstr "" -#: netbox/config/parameters.py:33 templates/core/inc/config_data.html:66 +#: netbox/netbox/config/parameters.py:33 +#: netbox/templates/core/inc/config_data.html:66 msgid "Maintenance banner" msgstr "" -#: netbox/config/parameters.py:35 +#: netbox/netbox/config/parameters.py:35 msgid "Additional content to display when in maintenance mode" msgstr "" -#: netbox/config/parameters.py:44 templates/core/inc/config_data.html:70 +#: netbox/netbox/config/parameters.py:44 +#: netbox/templates/core/inc/config_data.html:70 msgid "Top banner" msgstr "" -#: netbox/config/parameters.py:46 +#: netbox/netbox/config/parameters.py:46 msgid "Additional content to display at the top of every page" msgstr "" -#: netbox/config/parameters.py:55 templates/core/inc/config_data.html:74 +#: netbox/netbox/config/parameters.py:55 +#: netbox/templates/core/inc/config_data.html:74 msgid "Bottom banner" msgstr "" -#: netbox/config/parameters.py:57 +#: netbox/netbox/config/parameters.py:57 msgid "Additional content to display at the bottom of every page" msgstr "" -#: netbox/config/parameters.py:68 +#: netbox/netbox/config/parameters.py:68 msgid "Globally unique IP space" msgstr "" -#: netbox/config/parameters.py:70 +#: netbox/netbox/config/parameters.py:70 msgid "Enforce unique IP addressing within the global table" msgstr "" -#: netbox/config/parameters.py:75 templates/core/inc/config_data.html:44 +#: netbox/netbox/config/parameters.py:75 +#: netbox/templates/core/inc/config_data.html:44 msgid "Prefer IPv4" msgstr "" -#: netbox/config/parameters.py:77 +#: netbox/netbox/config/parameters.py:77 msgid "Prefer IPv4 addresses over IPv6" msgstr "" -#: netbox/config/parameters.py:84 +#: netbox/netbox/config/parameters.py:84 msgid "Rack unit height" msgstr "" -#: netbox/config/parameters.py:86 +#: netbox/netbox/config/parameters.py:86 msgid "Default unit height for rendered rack elevations" msgstr "" -#: netbox/config/parameters.py:91 +#: netbox/netbox/config/parameters.py:91 msgid "Rack unit width" msgstr "" -#: netbox/config/parameters.py:93 +#: netbox/netbox/config/parameters.py:93 msgid "Default unit width for rendered rack elevations" msgstr "" -#: netbox/config/parameters.py:100 +#: netbox/netbox/config/parameters.py:100 msgid "Powerfeed voltage" msgstr "" -#: netbox/config/parameters.py:102 +#: netbox/netbox/config/parameters.py:102 msgid "Default voltage for powerfeeds" msgstr "" -#: netbox/config/parameters.py:107 +#: netbox/netbox/config/parameters.py:107 msgid "Powerfeed amperage" msgstr "" -#: netbox/config/parameters.py:109 +#: netbox/netbox/config/parameters.py:109 msgid "Default amperage for powerfeeds" msgstr "" -#: netbox/config/parameters.py:114 +#: netbox/netbox/config/parameters.py:114 msgid "Powerfeed max utilization" msgstr "" -#: netbox/config/parameters.py:116 +#: netbox/netbox/config/parameters.py:116 msgid "Default max utilization for powerfeeds" msgstr "" -#: netbox/config/parameters.py:123 templates/core/inc/config_data.html:53 +#: netbox/netbox/config/parameters.py:123 +#: netbox/templates/core/inc/config_data.html:53 msgid "Allowed URL schemes" msgstr "" -#: netbox/config/parameters.py:128 +#: netbox/netbox/config/parameters.py:128 msgid "Permitted schemes for URLs in user-provided content" msgstr "" -#: netbox/config/parameters.py:136 +#: netbox/netbox/config/parameters.py:136 msgid "Default page size" msgstr "" -#: netbox/config/parameters.py:142 +#: netbox/netbox/config/parameters.py:142 msgid "Maximum page size" msgstr "" -#: netbox/config/parameters.py:150 templates/core/inc/config_data.html:96 +#: netbox/netbox/config/parameters.py:150 +#: netbox/templates/core/inc/config_data.html:96 msgid "Custom validators" msgstr "" -#: netbox/config/parameters.py:152 +#: netbox/netbox/config/parameters.py:152 msgid "Custom validation rules (JSON)" msgstr "" -#: netbox/config/parameters.py:160 templates/core/inc/config_data.html:104 +#: netbox/netbox/config/parameters.py:160 +#: netbox/templates/core/inc/config_data.html:104 msgid "Protection rules" msgstr "" -#: netbox/config/parameters.py:162 +#: netbox/netbox/config/parameters.py:162 msgid "Deletion protection rules (JSON)" msgstr "" -#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117 +#: netbox/netbox/config/parameters.py:172 +#: netbox/templates/core/inc/config_data.html:117 msgid "Default preferences" msgstr "" -#: netbox/config/parameters.py:174 +#: netbox/netbox/config/parameters.py:174 msgid "Default preferences for new users" msgstr "" -#: netbox/config/parameters.py:181 templates/core/inc/config_data.html:129 +#: netbox/netbox/config/parameters.py:181 +#: netbox/templates/core/inc/config_data.html:129 msgid "Maintenance mode" msgstr "" -#: netbox/config/parameters.py:183 +#: netbox/netbox/config/parameters.py:183 msgid "Enable maintenance mode" msgstr "" -#: netbox/config/parameters.py:188 templates/core/inc/config_data.html:133 +#: netbox/netbox/config/parameters.py:188 +#: netbox/templates/core/inc/config_data.html:133 msgid "GraphQL enabled" msgstr "" -#: netbox/config/parameters.py:190 +#: netbox/netbox/config/parameters.py:190 msgid "Enable the GraphQL API" msgstr "" -#: netbox/config/parameters.py:195 templates/core/inc/config_data.html:137 +#: netbox/netbox/config/parameters.py:195 +#: netbox/templates/core/inc/config_data.html:137 msgid "Changelog retention" msgstr "" -#: netbox/config/parameters.py:197 +#: netbox/netbox/config/parameters.py:197 msgid "Days to retain changelog history (set to zero for unlimited)" msgstr "" -#: netbox/config/parameters.py:202 +#: netbox/netbox/config/parameters.py:202 msgid "Job result retention" msgstr "" -#: netbox/config/parameters.py:204 +#: netbox/netbox/config/parameters.py:204 msgid "Days to retain job result history (set to zero for unlimited)" msgstr "" -#: netbox/config/parameters.py:209 templates/core/inc/config_data.html:145 +#: netbox/netbox/config/parameters.py:209 +#: netbox/templates/core/inc/config_data.html:145 msgid "Maps URL" msgstr "" -#: netbox/config/parameters.py:211 +#: netbox/netbox/config/parameters.py:211 msgid "Base URL for mapping geographic locations" msgstr "" -#: netbox/forms/__init__.py:12 +#: netbox/netbox/forms/__init__.py:12 msgid "Partial match" msgstr "" -#: netbox/forms/__init__.py:13 +#: netbox/netbox/forms/__init__.py:13 msgid "Exact match" msgstr "" -#: netbox/forms/__init__.py:14 +#: netbox/netbox/forms/__init__.py:14 msgid "Starts with" msgstr "" -#: netbox/forms/__init__.py:15 +#: netbox/netbox/forms/__init__.py:15 msgid "Ends with" msgstr "" -#: netbox/forms/__init__.py:16 +#: netbox/netbox/forms/__init__.py:16 msgid "Regex" msgstr "" -#: netbox/forms/__init__.py:34 +#: netbox/netbox/forms/__init__.py:34 msgid "Object type(s)" msgstr "" -#: netbox/forms/__init__.py:40 +#: netbox/netbox/forms/__init__.py:40 msgid "Lookup" msgstr "" -#: netbox/forms/base.py:90 +#: netbox/netbox/forms/base.py:90 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. \"tag1,tag2," "tag3\")" msgstr "" -#: netbox/forms/base.py:120 +#: netbox/netbox/forms/base.py:120 msgid "Add tags" msgstr "" -#: netbox/forms/base.py:125 +#: netbox/netbox/forms/base.py:125 msgid "Remove tags" msgstr "" -#: netbox/forms/mixins.py:38 +#: netbox/netbox/forms/mixins.py:38 #, python-brace-format msgid "{class_name} must specify a model class." msgstr "" -#: netbox/models/features.py:280 +#: netbox/netbox/models/features.py:280 #, python-brace-format msgid "Unknown field name '{name}' in custom field data." msgstr "" -#: netbox/models/features.py:286 +#: netbox/netbox/models/features.py:286 #, python-brace-format msgid "Invalid value for custom field '{name}': {error}" msgstr "" -#: netbox/models/features.py:295 +#: netbox/netbox/models/features.py:295 #, python-brace-format msgid "Custom field '{name}' must have a unique value." msgstr "" -#: netbox/models/features.py:302 +#: netbox/netbox/models/features.py:302 #, python-brace-format msgid "Missing required custom field '{name}'." msgstr "" -#: netbox/models/features.py:462 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "" -#: netbox/models/features.py:472 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "" -#: netbox/models/features.py:476 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "" -#: netbox/models/features.py:479 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "" -#: netbox/models/features.py:481 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" -#: netbox/models/features.py:484 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "" -#: netbox/models/features.py:578 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "" -#: netbox/navigation/menu.py:11 +#: netbox/netbox/navigation/menu.py:11 msgid "Organization" msgstr "" -#: netbox/navigation/menu.py:19 +#: netbox/netbox/navigation/menu.py:19 msgid "Site Groups" msgstr "" -#: netbox/navigation/menu.py:27 +#: netbox/netbox/navigation/menu.py:27 msgid "Tenant Groups" msgstr "" -#: netbox/navigation/menu.py:34 +#: netbox/netbox/navigation/menu.py:34 msgid "Contact Groups" msgstr "" -#: netbox/navigation/menu.py:35 templates/tenancy/contactrole.html:8 +#: netbox/netbox/navigation/menu.py:35 +#: netbox/templates/tenancy/contactrole.html:8 msgid "Contact Roles" msgstr "" -#: netbox/navigation/menu.py:36 +#: netbox/netbox/navigation/menu.py:36 msgid "Contact Assignments" msgstr "" -#: netbox/navigation/menu.py:50 +#: netbox/netbox/navigation/menu.py:50 msgid "Rack Roles" msgstr "" -#: netbox/navigation/menu.py:54 +#: netbox/netbox/navigation/menu.py:54 msgid "Elevations" msgstr "" -#: netbox/navigation/menu.py:60 netbox/navigation/menu.py:62 +#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 msgid "Rack Types" msgstr "" -#: netbox/navigation/menu.py:76 +#: netbox/netbox/navigation/menu.py:76 msgid "Modules" msgstr "" -#: netbox/navigation/menu.py:80 templates/dcim/device.html:160 -#: templates/dcim/virtualdevicecontext.html:8 +#: netbox/netbox/navigation/menu.py:80 netbox/templates/dcim/device.html:160 +#: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "" -#: netbox/navigation/menu.py:88 +#: netbox/netbox/navigation/menu.py:88 msgid "Manufacturers" msgstr "" -#: netbox/navigation/menu.py:92 +#: netbox/netbox/navigation/menu.py:92 msgid "Device Components" msgstr "" -#: netbox/navigation/menu.py:104 templates/dcim/inventoryitemrole.html:8 +#: netbox/netbox/navigation/menu.py:104 +#: netbox/templates/dcim/inventoryitemrole.html:8 msgid "Inventory Item Roles" msgstr "" -#: netbox/navigation/menu.py:111 netbox/navigation/menu.py:115 +#: netbox/netbox/navigation/menu.py:111 netbox/netbox/navigation/menu.py:115 msgid "Connections" msgstr "" -#: netbox/navigation/menu.py:117 +#: netbox/netbox/navigation/menu.py:117 msgid "Cables" msgstr "" -#: netbox/navigation/menu.py:118 +#: netbox/netbox/navigation/menu.py:118 msgid "Wireless Links" msgstr "" -#: netbox/navigation/menu.py:121 +#: netbox/netbox/navigation/menu.py:121 msgid "Interface Connections" msgstr "" -#: netbox/navigation/menu.py:126 +#: netbox/netbox/navigation/menu.py:126 msgid "Console Connections" msgstr "" -#: netbox/navigation/menu.py:131 +#: netbox/netbox/navigation/menu.py:131 msgid "Power Connections" msgstr "" -#: netbox/navigation/menu.py:147 +#: netbox/netbox/navigation/menu.py:147 msgid "Wireless LAN Groups" msgstr "" -#: netbox/navigation/menu.py:168 +#: netbox/netbox/navigation/menu.py:168 msgid "Prefix & VLAN Roles" msgstr "" -#: netbox/navigation/menu.py:174 +#: netbox/netbox/navigation/menu.py:174 msgid "ASN Ranges" msgstr "" -#: netbox/navigation/menu.py:196 +#: netbox/netbox/navigation/menu.py:196 msgid "VLAN Groups" msgstr "" -#: netbox/navigation/menu.py:203 +#: netbox/netbox/navigation/menu.py:203 msgid "Service Templates" msgstr "" -#: netbox/navigation/menu.py:204 templates/dcim/device.html:302 -#: templates/ipam/ipaddress.html:118 -#: templates/virtualization/virtualmachine.html:154 +#: netbox/netbox/navigation/menu.py:204 netbox/templates/dcim/device.html:302 +#: netbox/templates/ipam/ipaddress.html:118 +#: netbox/templates/virtualization/virtualmachine.html:154 msgid "Services" msgstr "" -#: netbox/navigation/menu.py:211 +#: netbox/netbox/navigation/menu.py:211 msgid "VPN" msgstr "" -#: netbox/navigation/menu.py:215 netbox/navigation/menu.py:217 -#: vpn/tables/tunnels.py:24 +#: netbox/netbox/navigation/menu.py:215 netbox/netbox/navigation/menu.py:217 +#: netbox/vpn/tables/tunnels.py:24 msgid "Tunnels" msgstr "" -#: netbox/navigation/menu.py:218 templates/vpn/tunnelgroup.html:8 +#: netbox/netbox/navigation/menu.py:218 netbox/templates/vpn/tunnelgroup.html:8 msgid "Tunnel Groups" msgstr "" -#: netbox/navigation/menu.py:219 +#: netbox/netbox/navigation/menu.py:219 msgid "Tunnel Terminations" msgstr "" -#: netbox/navigation/menu.py:223 netbox/navigation/menu.py:225 -#: vpn/models/l2vpn.py:64 +#: netbox/netbox/navigation/menu.py:223 netbox/netbox/navigation/menu.py:225 +#: netbox/vpn/models/l2vpn.py:64 msgid "L2VPNs" msgstr "" -#: netbox/navigation/menu.py:226 templates/vpn/l2vpn.html:56 -#: templates/vpn/tunnel.html:72 vpn/tables/tunnels.py:58 +#: netbox/netbox/navigation/menu.py:226 netbox/templates/vpn/l2vpn.html:56 +#: netbox/templates/vpn/tunnel.html:72 netbox/vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "" -#: netbox/navigation/menu.py:232 +#: netbox/netbox/navigation/menu.py:232 msgid "IKE Proposals" msgstr "" -#: netbox/navigation/menu.py:233 templates/vpn/ikeproposal.html:41 +#: netbox/netbox/navigation/menu.py:233 +#: netbox/templates/vpn/ikeproposal.html:41 msgid "IKE Policies" msgstr "" -#: netbox/navigation/menu.py:234 +#: netbox/netbox/navigation/menu.py:234 msgid "IPSec Proposals" msgstr "" -#: netbox/navigation/menu.py:235 templates/vpn/ipsecproposal.html:37 +#: netbox/netbox/navigation/menu.py:235 +#: netbox/templates/vpn/ipsecproposal.html:37 msgid "IPSec Policies" msgstr "" -#: netbox/navigation/menu.py:236 templates/vpn/ikepolicy.html:38 -#: templates/vpn/ipsecpolicy.html:25 +#: netbox/netbox/navigation/menu.py:236 netbox/templates/vpn/ikepolicy.html:38 +#: netbox/templates/vpn/ipsecpolicy.html:25 msgid "IPSec Profiles" msgstr "" -#: netbox/navigation/menu.py:243 templates/dcim/device_edit.html:78 +#: netbox/netbox/navigation/menu.py:243 +#: netbox/templates/dcim/device_edit.html:78 msgid "Virtualization" msgstr "" -#: netbox/navigation/menu.py:251 -#: templates/virtualization/virtualmachine.html:174 -#: templates/virtualization/virtualmachine/base.html:32 -#: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:104 virtualization/views.py:388 +#: netbox/netbox/navigation/menu.py:251 +#: netbox/templates/virtualization/virtualmachine.html:174 +#: netbox/templates/virtualization/virtualmachine/base.html:32 +#: netbox/templates/virtualization/virtualmachine_list.html:21 +#: netbox/virtualization/tables/virtualmachines.py:104 +#: netbox/virtualization/views.py:388 msgid "Virtual Disks" msgstr "" -#: netbox/navigation/menu.py:258 +#: netbox/netbox/navigation/menu.py:258 msgid "Cluster Types" msgstr "" -#: netbox/navigation/menu.py:259 +#: netbox/netbox/navigation/menu.py:259 msgid "Cluster Groups" msgstr "" -#: netbox/navigation/menu.py:273 +#: netbox/netbox/navigation/menu.py:273 msgid "Circuit Types" msgstr "" -#: netbox/navigation/menu.py:274 +#: netbox/netbox/navigation/menu.py:274 msgid "Circuit Groups" msgstr "" -#: netbox/navigation/menu.py:275 templates/circuits/circuit.html:66 +#: netbox/netbox/navigation/menu.py:275 +#: netbox/templates/circuits/circuit.html:66 msgid "Group Assignments" msgstr "" -#: netbox/navigation/menu.py:276 +#: netbox/netbox/navigation/menu.py:276 msgid "Circuit Terminations" msgstr "" -#: netbox/navigation/menu.py:280 netbox/navigation/menu.py:282 +#: netbox/netbox/navigation/menu.py:280 netbox/netbox/navigation/menu.py:282 msgid "Providers" msgstr "" -#: netbox/navigation/menu.py:283 templates/circuits/provider.html:51 +#: netbox/netbox/navigation/menu.py:283 +#: netbox/templates/circuits/provider.html:51 msgid "Provider Accounts" msgstr "" -#: netbox/navigation/menu.py:284 +#: netbox/netbox/navigation/menu.py:284 msgid "Provider Networks" msgstr "" -#: netbox/navigation/menu.py:298 +#: netbox/netbox/navigation/menu.py:298 msgid "Power Panels" msgstr "" -#: netbox/navigation/menu.py:309 +#: netbox/netbox/navigation/menu.py:309 msgid "Configurations" msgstr "" -#: netbox/navigation/menu.py:311 +#: netbox/netbox/navigation/menu.py:311 msgid "Config Contexts" msgstr "" -#: netbox/navigation/menu.py:312 +#: netbox/netbox/navigation/menu.py:312 msgid "Config Templates" msgstr "" -#: netbox/navigation/menu.py:319 netbox/navigation/menu.py:323 +#: netbox/netbox/navigation/menu.py:319 netbox/netbox/navigation/menu.py:323 msgid "Customization" msgstr "" -#: netbox/navigation/menu.py:325 templates/dcim/device_edit.html:103 -#: templates/dcim/htmx/cable_edit.html:81 -#: templates/dcim/virtualchassis_add.html:31 -#: 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:59 +#: netbox/netbox/navigation/menu.py:325 +#: netbox/templates/dcim/device_edit.html:103 +#: netbox/templates/dcim/htmx/cable_edit.html:81 +#: netbox/templates/dcim/virtualchassis_add.html:31 +#: netbox/templates/dcim/virtualchassis_edit.html:40 +#: netbox/templates/generic/bulk_edit.html:76 +#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 +#: netbox/templates/inc/panels/custom_fields.html:7 +#: netbox/templates/ipam/ipaddress_bulk_add.html:35 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "" -#: netbox/navigation/menu.py:326 +#: netbox/netbox/navigation/menu.py:326 msgid "Custom Field Choices" msgstr "" -#: netbox/navigation/menu.py:327 +#: netbox/netbox/navigation/menu.py:327 msgid "Custom Links" msgstr "" -#: netbox/navigation/menu.py:328 +#: netbox/netbox/navigation/menu.py:328 msgid "Export Templates" msgstr "" -#: netbox/navigation/menu.py:329 +#: netbox/netbox/navigation/menu.py:329 msgid "Saved Filters" msgstr "" -#: netbox/navigation/menu.py:331 +#: netbox/netbox/navigation/menu.py:331 msgid "Image Attachments" msgstr "" -#: netbox/navigation/menu.py:349 +#: netbox/netbox/navigation/menu.py:349 msgid "Operations" msgstr "" -#: netbox/navigation/menu.py:353 +#: netbox/netbox/navigation/menu.py:353 msgid "Integrations" msgstr "" -#: netbox/navigation/menu.py:355 +#: netbox/netbox/navigation/menu.py:355 msgid "Data Sources" msgstr "" -#: netbox/navigation/menu.py:356 +#: netbox/netbox/navigation/menu.py:356 msgid "Event Rules" msgstr "" -#: netbox/navigation/menu.py:357 +#: netbox/netbox/navigation/menu.py:357 msgid "Webhooks" msgstr "" -#: netbox/navigation/menu.py:361 netbox/navigation/menu.py:365 -#: netbox/views/generic/feature_views.py:153 -#: templates/extras/report/base.html:37 templates/extras/script/base.html:36 +#: netbox/netbox/navigation/menu.py:361 netbox/netbox/navigation/menu.py:365 +#: netbox/netbox/views/generic/feature_views.py:153 +#: netbox/templates/extras/report/base.html:37 +#: netbox/templates/extras/script/base.html:36 msgid "Jobs" msgstr "" -#: netbox/navigation/menu.py:371 +#: netbox/netbox/navigation/menu.py:371 msgid "Logging" msgstr "" -#: netbox/navigation/menu.py:373 +#: netbox/netbox/navigation/menu.py:373 msgid "Notification Groups" msgstr "" -#: netbox/navigation/menu.py:374 +#: netbox/netbox/navigation/menu.py:374 msgid "Journal Entries" msgstr "" -#: netbox/navigation/menu.py:375 templates/core/objectchange.html:9 -#: templates/core/objectchange_list.html:4 +#: netbox/netbox/navigation/menu.py:375 +#: netbox/templates/core/objectchange.html:9 +#: netbox/templates/core/objectchange_list.html:4 msgid "Change Log" msgstr "" -#: netbox/navigation/menu.py:382 templates/inc/user_menu.html:29 +#: netbox/netbox/navigation/menu.py:382 netbox/templates/inc/user_menu.html:29 msgid "Admin" msgstr "" -#: netbox/navigation/menu.py:430 templates/account/base.html:27 -#: templates/inc/user_menu.html:57 +#: netbox/netbox/navigation/menu.py:430 netbox/templates/account/base.html:27 +#: netbox/templates/inc/user_menu.html:57 msgid "API Tokens" msgstr "" -#: netbox/navigation/menu.py:437 users/forms/model_forms.py:187 -#: users/forms/model_forms.py:195 users/forms/model_forms.py:242 -#: users/forms/model_forms.py:249 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "" -#: netbox/navigation/menu.py:445 netbox/navigation/menu.py:449 -#: templates/core/system.html:7 +#: netbox/netbox/navigation/menu.py:445 netbox/netbox/navigation/menu.py:449 +#: netbox/templates/core/system.html:7 msgid "System" msgstr "" -#: netbox/navigation/menu.py:454 netbox/navigation/menu.py:502 -#: templates/500.html:35 templates/account/preferences.html:22 -#: templates/core/plugin.html:13 templates/core/plugin_list.html:7 -#: templates/core/plugin_list.html:12 +#: netbox/netbox/navigation/menu.py:454 netbox/netbox/navigation/menu.py:502 +#: netbox/templates/500.html:35 netbox/templates/account/preferences.html:22 +#: netbox/templates/core/plugin.html:13 +#: netbox/templates/core/plugin_list.html:7 +#: netbox/templates/core/plugin_list.html:12 msgid "Plugins" msgstr "" -#: netbox/navigation/menu.py:459 +#: netbox/netbox/navigation/menu.py:459 msgid "Configuration History" msgstr "" -#: netbox/navigation/menu.py:465 templates/core/rq_task.html:8 -#: templates/core/rq_task_list.html:22 +#: netbox/netbox/navigation/menu.py:465 netbox/templates/core/rq_task.html:8 +#: netbox/templates/core/rq_task_list.html:22 msgid "Background Tasks" msgstr "" -#: netbox/plugins/navigation.py:47 netbox/plugins/navigation.py:69 +#: netbox/netbox/plugins/navigation.py:47 +#: netbox/netbox/plugins/navigation.py:69 msgid "Permissions must be passed as a tuple or list." msgstr "" -#: netbox/plugins/navigation.py:51 +#: netbox/netbox/plugins/navigation.py:51 msgid "Buttons must be passed as a tuple or list." msgstr "" -#: netbox/plugins/navigation.py:73 +#: netbox/netbox/plugins/navigation.py:73 msgid "Button color must be a choice within ButtonColorChoices." msgstr "" -#: netbox/plugins/registration.py:25 +#: netbox/netbox/plugins/registration.py:25 #, python-brace-format msgid "" "PluginTemplateExtension class {template_extension} was passed as an instance!" msgstr "" -#: netbox/plugins/registration.py:31 +#: netbox/netbox/plugins/registration.py:31 #, python-brace-format msgid "" "{template_extension} is not a subclass of netbox.plugins." "PluginTemplateExtension!" msgstr "" -#: netbox/plugins/registration.py:51 +#: netbox/netbox/plugins/registration.py:51 #, python-brace-format msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" msgstr "" -#: netbox/plugins/registration.py:62 +#: netbox/netbox/plugins/registration.py:62 #, python-brace-format msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" msgstr "" -#: netbox/plugins/registration.py:67 +#: netbox/netbox/plugins/registration.py:67 #, python-brace-format msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" msgstr "" -#: netbox/plugins/templates.py:37 +#: netbox/netbox/plugins/templates.py:37 msgid "extra_context must be a dictionary" msgstr "" -#: netbox/preferences.py:19 +#: netbox/netbox/preferences.py:19 msgid "HTMX Navigation" msgstr "" -#: netbox/preferences.py:24 +#: netbox/netbox/preferences.py:24 msgid "Enable dynamic UI navigation" msgstr "" -#: netbox/preferences.py:26 +#: netbox/netbox/preferences.py:26 msgid "Experimental feature" msgstr "" -#: netbox/preferences.py:29 +#: netbox/netbox/preferences.py:29 msgid "Language" msgstr "" -#: netbox/preferences.py:34 +#: netbox/netbox/preferences.py:34 msgid "Forces UI translation to the specified language" msgstr "" -#: netbox/preferences.py:36 +#: netbox/netbox/preferences.py:36 msgid "Support for translation has been disabled locally" msgstr "" -#: netbox/preferences.py:42 +#: netbox/netbox/preferences.py:42 msgid "Page length" msgstr "" -#: netbox/preferences.py:44 +#: netbox/netbox/preferences.py:44 msgid "The default number of objects to display per page" msgstr "" -#: netbox/preferences.py:48 +#: netbox/netbox/preferences.py:48 msgid "Paginator placement" msgstr "" -#: netbox/preferences.py:50 +#: netbox/netbox/preferences.py:50 msgid "Bottom" msgstr "" -#: netbox/preferences.py:51 +#: netbox/netbox/preferences.py:51 msgid "Top" msgstr "" -#: netbox/preferences.py:52 +#: netbox/netbox/preferences.py:52 msgid "Both" msgstr "" -#: netbox/preferences.py:55 +#: netbox/netbox/preferences.py:55 msgid "Where the paginator controls will be displayed relative to a table" msgstr "" -#: netbox/preferences.py:60 +#: netbox/netbox/preferences.py:60 msgid "Data format" msgstr "" -#: netbox/preferences.py:65 +#: netbox/netbox/preferences.py:65 msgid "The preferred syntax for displaying generic data within the UI" msgstr "" -#: netbox/registry.py:14 +#: netbox/netbox/registry.py:14 #, python-brace-format msgid "Invalid store: {key}" msgstr "" -#: netbox/registry.py:17 +#: netbox/netbox/registry.py:17 msgid "Cannot add stores to registry after initialization" msgstr "" -#: netbox/registry.py:20 +#: netbox/netbox/registry.py:20 msgid "Cannot delete stores from registry" msgstr "" -#: netbox/settings.py:760 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "" -#: netbox/settings.py:761 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "" -#: netbox/settings.py:762 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "" -#: netbox/settings.py:763 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "" -#: netbox/settings.py:764 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "" -#: netbox/settings.py:765 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "" -#: netbox/settings.py:766 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "" -#: netbox/settings.py:767 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "" -#: netbox/settings.py:768 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "" -#: netbox/settings.py:769 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "" -#: netbox/settings.py:770 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "" -#: netbox/settings.py:771 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "" -#: netbox/settings.py:772 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "" -#: netbox/settings.py:773 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "" -#: netbox/settings.py:774 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "" -#: netbox/tables/columns.py:176 +#: netbox/netbox/tables/columns.py:176 msgid "Select all" msgstr "" -#: netbox/tables/columns.py:189 +#: netbox/netbox/tables/columns.py:189 msgid "Toggle all" msgstr "" -#: netbox/tables/columns.py:300 +#: netbox/netbox/tables/columns.py:300 msgid "Toggle Dropdown" msgstr "" -#: netbox/tables/columns.py:572 templates/core/job.html:53 +#: netbox/netbox/tables/columns.py:572 netbox/templates/core/job.html:53 msgid "Error" msgstr "" -#: netbox/tables/tables.py:58 +#: netbox/netbox/tables/tables.py:58 #, python-brace-format msgid "No {model_name} found" msgstr "" -#: netbox/tables/tables.py:249 templates/generic/bulk_import.html:117 +#: netbox/netbox/tables/tables.py:249 +#: netbox/templates/generic/bulk_import.html:117 msgid "Field" msgstr "" -#: netbox/tables/tables.py:252 +#: netbox/netbox/tables/tables.py:252 msgid "Value" msgstr "" -#: netbox/tests/dummy_plugin/navigation.py:29 +#: netbox/netbox/tests/dummy_plugin/navigation.py:29 msgid "Dummy Plugin" msgstr "" -#: netbox/views/generic/bulk_views.py:114 +#: netbox/netbox/views/generic/bulk_views.py:114 #, python-brace-format msgid "" "There was an error rendering the selected export template ({template}): " "{error}" msgstr "" -#: netbox/views/generic/bulk_views.py:416 +#: netbox/netbox/views/generic/bulk_views.py:416 #, python-brace-format msgid "Row {i}: Object with ID {id} does not exist" msgstr "" -#: netbox/views/generic/bulk_views.py:702 -#: netbox/views/generic/bulk_views.py:900 -#: netbox/views/generic/bulk_views.py:948 +#: netbox/netbox/views/generic/bulk_views.py:702 +#: netbox/netbox/views/generic/bulk_views.py:900 +#: netbox/netbox/views/generic/bulk_views.py:948 #, python-brace-format msgid "No {object_type} were selected." msgstr "" -#: netbox/views/generic/bulk_views.py:782 +#: netbox/netbox/views/generic/bulk_views.py:782 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "" -#: netbox/views/generic/bulk_views.py:878 +#: netbox/netbox/views/generic/bulk_views.py:878 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "" -#: netbox/views/generic/feature_views.py:40 +#: netbox/netbox/views/generic/feature_views.py:40 msgid "Changelog" msgstr "" -#: netbox/views/generic/feature_views.py:93 +#: netbox/netbox/views/generic/feature_views.py:93 msgid "Journal" msgstr "" -#: netbox/views/generic/feature_views.py:207 +#: netbox/netbox/views/generic/feature_views.py:207 msgid "Unable to synchronize data: No data file set." msgstr "" -#: netbox/views/generic/feature_views.py:211 +#: netbox/netbox/views/generic/feature_views.py:211 #, python-brace-format msgid "Synchronized data for {object_type} {object}." msgstr "" -#: netbox/views/generic/feature_views.py:236 +#: netbox/netbox/views/generic/feature_views.py:236 #, python-brace-format msgid "Synced {count} {object_type}" msgstr "" -#: netbox/views/generic/object_views.py:108 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "" -#: netbox/views/misc.py:44 +#: netbox/netbox/views/misc.py:44 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." msgstr "" -#: templates/403.html:4 +#: netbox/templates/403.html:4 msgid "Access Denied" msgstr "" -#: templates/403.html:9 +#: netbox/templates/403.html:9 msgid "You do not have permission to access this page" msgstr "" -#: templates/404.html:4 +#: netbox/templates/404.html:4 msgid "Page Not Found" msgstr "" -#: templates/404.html:9 +#: netbox/templates/404.html:9 msgid "The requested page does not exist" msgstr "" -#: templates/500.html:7 templates/500.html:18 +#: netbox/templates/500.html:7 netbox/templates/500.html:18 msgid "Server Error" msgstr "" -#: templates/500.html:23 +#: netbox/templates/500.html:23 msgid "There was a problem with your request. Please contact an administrator" msgstr "" -#: templates/500.html:28 +#: netbox/templates/500.html:28 msgid "The complete exception is provided below" msgstr "" -#: templates/500.html:33 templates/core/system.html:40 +#: netbox/templates/500.html:33 netbox/templates/core/system.html:40 msgid "Python version" msgstr "" -#: templates/500.html:34 +#: netbox/templates/500.html:34 msgid "NetBox version" msgstr "" -#: templates/500.html:36 +#: netbox/templates/500.html:36 msgid "None installed" msgstr "" -#: templates/500.html:39 +#: netbox/templates/500.html:39 msgid "If further assistance is required, please post to the" msgstr "" -#: templates/500.html:39 +#: netbox/templates/500.html:39 msgid "NetBox discussion forum" msgstr "" -#: templates/500.html:39 +#: netbox/templates/500.html:39 msgid "on GitHub" msgstr "" -#: templates/500.html:42 templates/base/40x.html:17 +#: netbox/templates/500.html:42 netbox/templates/base/40x.html:17 msgid "Home Page" msgstr "" -#: templates/account/base.html:7 templates/inc/user_menu.html:45 -#: vpn/forms/bulk_edit.py:255 vpn/forms/filtersets.py:189 -#: vpn/forms/model_forms.py:379 +#: netbox/templates/account/base.html:7 netbox/templates/inc/user_menu.html:45 +#: netbox/vpn/forms/bulk_edit.py:255 netbox/vpn/forms/filtersets.py:189 +#: netbox/vpn/forms/model_forms.py:379 msgid "Profile" msgstr "" -#: templates/account/base.html:13 templates/account/notifications.html:7 -#: templates/inc/user_menu.html:15 +#: netbox/templates/account/base.html:13 +#: netbox/templates/account/notifications.html:7 +#: netbox/templates/inc/user_menu.html:15 msgid "Notifications" msgstr "" -#: templates/account/base.html:16 templates/account/subscriptions.html:7 -#: templates/inc/user_menu.html:51 +#: netbox/templates/account/base.html:16 +#: netbox/templates/account/subscriptions.html:7 +#: netbox/templates/inc/user_menu.html:51 msgid "Subscriptions" msgstr "" -#: templates/account/base.html:19 templates/inc/user_menu.html:54 +#: netbox/templates/account/base.html:19 netbox/templates/inc/user_menu.html:54 msgid "Preferences" msgstr "" -#: templates/account/password.html:5 +#: netbox/templates/account/password.html:5 msgid "Change Password" msgstr "" -#: templates/account/password.html:19 templates/account/preferences.html:77 -#: templates/core/configrevision_restore.html:63 -#: templates/dcim/devicebay_populate.html:34 -#: templates/dcim/virtualchassis_add_member.html:26 -#: templates/dcim/virtualchassis_edit.html:103 -#: templates/extras/object_journal.html:26 templates/extras/script.html:38 -#: 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:28 -#: templates/virtualization/cluster_add_devices.html:30 +#: netbox/templates/account/password.html:19 +#: netbox/templates/account/preferences.html:77 +#: netbox/templates/core/configrevision_restore.html:63 +#: netbox/templates/dcim/devicebay_populate.html:34 +#: netbox/templates/dcim/virtualchassis_add_member.html:26 +#: netbox/templates/dcim/virtualchassis_edit.html:103 +#: netbox/templates/extras/object_journal.html:26 +#: netbox/templates/extras/script.html:38 +#: netbox/templates/generic/bulk_add_component.html:67 +#: netbox/templates/generic/bulk_delete.html:65 +#: netbox/templates/generic/bulk_edit.html:106 +#: netbox/templates/generic/bulk_import.html:56 +#: netbox/templates/generic/bulk_import.html:78 +#: netbox/templates/generic/bulk_import.html:100 +#: netbox/templates/generic/bulk_remove.html:62 +#: netbox/templates/generic/bulk_rename.html:63 +#: netbox/templates/generic/confirmation_form.html:19 +#: netbox/templates/generic/object_edit.html:72 +#: netbox/templates/htmx/delete_form.html:53 +#: netbox/templates/htmx/delete_form.html:55 +#: netbox/templates/ipam/ipaddress_assign.html:28 +#: netbox/templates/virtualization/cluster_add_devices.html:30 msgid "Cancel" msgstr "" -#: templates/account/password.html:20 templates/account/preferences.html:78 -#: templates/dcim/devicebay_populate.html:35 -#: 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:75 -#: utilities/templates/helpers/applied_filters.html:16 -#: utilities/templates/helpers/table_config_form.html:40 +#: netbox/templates/account/password.html:20 +#: netbox/templates/account/preferences.html:78 +#: netbox/templates/dcim/devicebay_populate.html:35 +#: netbox/templates/dcim/virtualchassis_add_member.html:28 +#: netbox/templates/dcim/virtualchassis_edit.html:105 +#: netbox/templates/extras/dashboard/widget_add.html:26 +#: netbox/templates/extras/dashboard/widget_config.html:19 +#: netbox/templates/extras/object_journal.html:27 +#: netbox/templates/generic/object_edit.html:75 +#: netbox/utilities/templates/helpers/applied_filters.html:16 +#: netbox/utilities/templates/helpers/table_config_form.html:40 msgid "Save" msgstr "" -#: templates/account/preferences.html:34 +#: netbox/templates/account/preferences.html:34 msgid "Table Configurations" msgstr "" -#: templates/account/preferences.html:39 +#: netbox/templates/account/preferences.html:39 msgid "Clear table preferences" msgstr "" -#: templates/account/preferences.html:47 +#: netbox/templates/account/preferences.html:47 msgid "Toggle All" msgstr "" -#: templates/account/preferences.html:49 +#: netbox/templates/account/preferences.html:49 msgid "Table" msgstr "" -#: templates/account/preferences.html:50 +#: netbox/templates/account/preferences.html:50 msgid "Ordering" msgstr "" -#: templates/account/preferences.html:51 +#: netbox/templates/account/preferences.html:51 msgid "Columns" msgstr "" -#: templates/account/preferences.html:71 templates/dcim/cable_trace.html:113 -#: templates/extras/object_configcontext.html:43 +#: netbox/templates/account/preferences.html:71 +#: netbox/templates/dcim/cable_trace.html:113 +#: netbox/templates/extras/object_configcontext.html:43 msgid "None found" msgstr "" -#: templates/account/profile.html:6 +#: netbox/templates/account/profile.html:6 msgid "User Profile" msgstr "" -#: templates/account/profile.html:12 +#: netbox/templates/account/profile.html:12 msgid "Account Details" msgstr "" -#: templates/account/profile.html:29 templates/tenancy/contact.html:43 -#: templates/users/user.html:25 tenancy/forms/bulk_edit.py:109 +#: netbox/templates/account/profile.html:29 +#: netbox/templates/tenancy/contact.html:43 netbox/templates/users/user.html:25 +#: netbox/tenancy/forms/bulk_edit.py:109 msgid "Email" msgstr "" -#: templates/account/profile.html:33 templates/users/user.html:29 +#: netbox/templates/account/profile.html:33 netbox/templates/users/user.html:29 msgid "Account Created" msgstr "" -#: templates/account/profile.html:37 templates/users/user.html:33 +#: netbox/templates/account/profile.html:37 netbox/templates/users/user.html:33 msgid "Last Login" msgstr "" -#: templates/account/profile.html:41 templates/users/user.html:45 +#: netbox/templates/account/profile.html:41 netbox/templates/users/user.html:45 msgid "Superuser" msgstr "" -#: templates/account/profile.html:45 templates/inc/user_menu.html:31 -#: templates/users/user.html:41 +#: netbox/templates/account/profile.html:45 +#: netbox/templates/inc/user_menu.html:31 netbox/templates/users/user.html:41 msgid "Staff" msgstr "" -#: templates/account/profile.html:53 templates/users/objectpermission.html:82 -#: templates/users/user.html:53 +#: netbox/templates/account/profile.html:53 +#: netbox/templates/users/objectpermission.html:82 +#: netbox/templates/users/user.html:53 msgid "Assigned Groups" msgstr "" -#: templates/account/profile.html:58 -#: templates/circuits/circuit_terminations_swap.html:18 -#: templates/circuits/circuit_terminations_swap.html:26 -#: templates/circuits/circuittermination.html:34 -#: templates/circuits/inc/circuit_termination.html:68 -#: templates/core/objectchange.html:124 templates/core/objectchange.html:142 -#: templates/dcim/devicebay.html:59 -#: templates/dcim/inc/panels/inventory_items.html:45 -#: templates/dcim/interface.html:296 templates/dcim/modulebay.html:80 -#: templates/extras/configcontext.html:70 templates/extras/eventrule.html:66 -#: templates/extras/htmx/script_result.html:60 templates/extras/webhook.html:65 -#: templates/extras/webhook.html:75 templates/inc/panel_table.html:13 -#: templates/inc/panels/comments.html:10 -#: 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 +#: netbox/templates/account/profile.html:58 +#: netbox/templates/circuits/circuit_terminations_swap.html:18 +#: netbox/templates/circuits/circuit_terminations_swap.html:26 +#: netbox/templates/circuits/circuittermination.html:34 +#: netbox/templates/circuits/inc/circuit_termination.html:68 +#: netbox/templates/core/objectchange.html:124 +#: netbox/templates/core/objectchange.html:142 +#: netbox/templates/dcim/devicebay.html:59 +#: netbox/templates/dcim/inc/panels/inventory_items.html:45 +#: netbox/templates/dcim/interface.html:296 +#: netbox/templates/dcim/modulebay.html:80 +#: netbox/templates/extras/configcontext.html:70 +#: netbox/templates/extras/eventrule.html:66 +#: netbox/templates/extras/htmx/script_result.html:60 +#: netbox/templates/extras/webhook.html:65 +#: netbox/templates/extras/webhook.html:75 +#: netbox/templates/inc/panel_table.html:13 +#: netbox/templates/inc/panels/comments.html:10 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:56 +#: netbox/templates/users/group.html:34 netbox/templates/users/group.html:44 +#: netbox/templates/users/objectpermission.html:77 +#: netbox/templates/users/objectpermission.html:87 +#: netbox/templates/users/user.html:58 netbox/templates/users/user.html:68 msgid "None" msgstr "" -#: templates/account/profile.html:68 templates/users/user.html:78 +#: netbox/templates/account/profile.html:68 netbox/templates/users/user.html:78 msgid "Recent Activity" msgstr "" -#: templates/account/token.html:8 templates/account/token_list.html:6 +#: netbox/templates/account/token.html:8 +#: netbox/templates/account/token_list.html:6 msgid "My API Tokens" msgstr "" -#: templates/account/token.html:11 templates/account/token.html:19 -#: templates/users/token.html:6 templates/users/token.html:14 -#: users/forms/filtersets.py:120 +#: netbox/templates/account/token.html:11 +#: netbox/templates/account/token.html:19 netbox/templates/users/token.html:6 +#: netbox/templates/users/token.html:14 netbox/users/forms/filtersets.py:120 msgid "Token" msgstr "" -#: templates/account/token.html:39 templates/users/token.html:31 -#: users/forms/bulk_edit.py:107 +#: netbox/templates/account/token.html:39 netbox/templates/users/token.html:31 +#: netbox/users/forms/bulk_edit.py:107 msgid "Write enabled" msgstr "" -#: templates/account/token.html:51 templates/users/token.html:43 +#: netbox/templates/account/token.html:51 netbox/templates/users/token.html:43 msgid "Last used" msgstr "" -#: templates/account/token_list.html:12 +#: netbox/templates/account/token_list.html:12 msgid "Add a Token" msgstr "" -#: templates/base/base.html:22 templates/home.html:27 +#: netbox/templates/base/base.html:22 netbox/templates/home.html:27 msgid "Home" msgstr "" -#: templates/base/layout.html:25 +#: netbox/templates/base/layout.html:25 msgid "NetBox Motif" msgstr "" -#: templates/base/layout.html:38 templates/base/layout.html:39 -#: templates/login.html:14 templates/login.html:15 +#: netbox/templates/base/layout.html:38 netbox/templates/base/layout.html:39 +#: netbox/templates/login.html:14 netbox/templates/login.html:15 msgid "NetBox Logo" msgstr "" -#: templates/base/layout.html:150 templates/base/layout.html:151 +#: netbox/templates/base/layout.html:150 netbox/templates/base/layout.html:151 msgid "Docs" msgstr "" -#: templates/base/layout.html:156 templates/base/layout.html:157 -#: templates/rest_framework/api.html:10 +#: netbox/templates/base/layout.html:156 netbox/templates/base/layout.html:157 +#: netbox/templates/rest_framework/api.html:10 msgid "REST API" msgstr "" -#: templates/base/layout.html:162 templates/base/layout.html:163 +#: netbox/templates/base/layout.html:162 netbox/templates/base/layout.html:163 msgid "REST API documentation" msgstr "" -#: templates/base/layout.html:169 templates/base/layout.html:170 +#: netbox/templates/base/layout.html:169 netbox/templates/base/layout.html:170 msgid "GraphQL API" msgstr "" -#: templates/base/layout.html:185 templates/base/layout.html:186 +#: netbox/templates/base/layout.html:185 netbox/templates/base/layout.html:186 msgid "NetBox Labs Support" msgstr "" -#: templates/base/layout.html:194 templates/base/layout.html:195 +#: netbox/templates/base/layout.html:194 netbox/templates/base/layout.html:195 msgid "Source Code" msgstr "" -#: templates/base/layout.html:200 templates/base/layout.html:201 +#: netbox/templates/base/layout.html:200 netbox/templates/base/layout.html:201 msgid "Community" msgstr "" -#: templates/circuits/circuit.html:47 +#: netbox/templates/circuits/circuit.html:47 msgid "Install Date" msgstr "" -#: templates/circuits/circuit.html:51 +#: netbox/templates/circuits/circuit.html:51 msgid "Termination Date" msgstr "" -#: templates/circuits/circuit.html:70 -#: templates/ipam/inc/panels/fhrp_groups.html:15 +#: netbox/templates/circuits/circuit.html:70 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:15 msgid "Assign Group" msgstr "" -#: templates/circuits/circuit_terminations_swap.html:4 +#: netbox/templates/circuits/circuit_terminations_swap.html:4 msgid "Swap Circuit Terminations" msgstr "" -#: templates/circuits/circuit_terminations_swap.html:8 +#: netbox/templates/circuits/circuit_terminations_swap.html:8 #, python-format msgid "Swap these terminations for circuit %(circuit)s?" msgstr "" -#: templates/circuits/circuit_terminations_swap.html:14 +#: netbox/templates/circuits/circuit_terminations_swap.html:14 msgid "A side" msgstr "" -#: templates/circuits/circuit_terminations_swap.html:22 +#: netbox/templates/circuits/circuit_terminations_swap.html:22 msgid "Z side" msgstr "" -#: templates/circuits/circuitgroup.html:16 +#: netbox/templates/circuits/circuitgroup.html:16 msgid "Assign Circuit" msgstr "" -#: templates/circuits/circuitgroupassignment.html:19 +#: netbox/templates/circuits/circuitgroupassignment.html:19 msgid "Circuit Group Assignment" msgstr "" -#: templates/circuits/circuittype.html:10 +#: netbox/templates/circuits/circuittype.html:10 msgid "Add Circuit" msgstr "" -#: templates/circuits/circuittype.html:19 +#: netbox/templates/circuits/circuittype.html:19 msgid "Circuit Type" msgstr "" -#: templates/circuits/inc/circuit_termination.html:10 -#: templates/dcim/manufacturer.html:11 -#: 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 +#: netbox/templates/circuits/inc/circuit_termination.html:10 +#: netbox/templates/dcim/manufacturer.html:11 +#: netbox/templates/generic/bulk_add_component.html:22 +#: netbox/templates/users/objectpermission.html:38 +#: netbox/utilities/templates/buttons/add.html:4 +#: netbox/utilities/templates/helpers/table_config_form.html:20 msgid "Add" msgstr "" -#: templates/circuits/inc/circuit_termination.html:15 -#: templates/circuits/inc/circuit_termination_fields.html:36 -#: templates/dcim/inc/panels/inventory_items.html:32 -#: templates/dcim/powerpanel.html:56 templates/extras/script_list.html:30 -#: templates/generic/object_edit.html:47 -#: templates/ipam/inc/ipaddress_edit_header.html:7 -#: templates/ipam/inc/panels/fhrp_groups.html:43 -#: utilities/templates/buttons/edit.html:3 +#: netbox/templates/circuits/inc/circuit_termination.html:15 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:36 +#: netbox/templates/dcim/inc/panels/inventory_items.html:32 +#: netbox/templates/dcim/powerpanel.html:56 +#: netbox/templates/extras/script_list.html:30 +#: netbox/templates/generic/object_edit.html:47 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:43 +#: netbox/utilities/templates/buttons/edit.html:3 msgid "Edit" msgstr "" -#: templates/circuits/inc/circuit_termination.html:18 +#: netbox/templates/circuits/inc/circuit_termination.html:18 msgid "Swap" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:19 -#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:60 -#: templates/dcim/powerfeed.html:114 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:19 +#: netbox/templates/dcim/consoleport.html:59 +#: netbox/templates/dcim/consoleserverport.html:60 +#: netbox/templates/dcim/powerfeed.html:114 msgid "Marked as connected" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:21 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:21 msgid "to" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:31 -#: templates/circuits/inc/circuit_termination_fields.html:32 -#: templates/dcim/frontport.html:80 -#: templates/dcim/inc/connection_endpoints.html:7 -#: templates/dcim/interface.html:154 templates/dcim/rearport.html:76 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:31 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:32 +#: netbox/templates/dcim/frontport.html:80 +#: netbox/templates/dcim/inc/connection_endpoints.html:7 +#: netbox/templates/dcim/interface.html:154 +#: netbox/templates/dcim/rearport.html:76 msgid "Trace" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:35 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:35 msgid "Edit cable" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:40 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:40 msgid "Remove cable" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:41 -#: templates/dcim/bulk_disconnect.html:5 -#: templates/dcim/device/consoleports.html:12 -#: templates/dcim/device/consoleserverports.html:12 -#: templates/dcim/device/frontports.html:12 -#: 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:61 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:41 +#: netbox/templates/dcim/bulk_disconnect.html:5 +#: netbox/templates/dcim/device/consoleports.html:12 +#: netbox/templates/dcim/device/consoleserverports.html:12 +#: netbox/templates/dcim/device/frontports.html:12 +#: netbox/templates/dcim/device/interfaces.html:16 +#: netbox/templates/dcim/device/poweroutlets.html:12 +#: netbox/templates/dcim/device/powerports.html:12 +#: netbox/templates/dcim/device/rearports.html:12 +#: netbox/templates/dcim/powerpanel.html:61 msgid "Disconnect" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:48 -#: 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 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:48 +#: netbox/templates/dcim/consoleport.html:69 +#: netbox/templates/dcim/consoleserverport.html:70 +#: netbox/templates/dcim/frontport.html:102 +#: netbox/templates/dcim/interface.html:180 +#: netbox/templates/dcim/interface.html:200 +#: netbox/templates/dcim/powerfeed.html:127 +#: netbox/templates/dcim/poweroutlet.html:71 +#: netbox/templates/dcim/poweroutlet.html:72 +#: netbox/templates/dcim/powerport.html:73 +#: netbox/templates/dcim/rearport.html:98 msgid "Connect" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:70 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:70 msgid "Downstream" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:71 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:71 msgid "Upstream" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:80 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:80 msgid "Cross-Connect" msgstr "" -#: templates/circuits/inc/circuit_termination_fields.html:84 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:84 msgid "Patch Panel/Port" msgstr "" -#: templates/circuits/provider.html:11 +#: netbox/templates/circuits/provider.html:11 msgid "Add circuit" msgstr "" -#: templates/circuits/provideraccount.html:17 +#: netbox/templates/circuits/provideraccount.html:17 msgid "Provider Account" msgstr "" -#: templates/core/configrevision.html:35 +#: netbox/templates/core/configrevision.html:35 msgid "Configuration Data" msgstr "" -#: templates/core/configrevision.html:40 +#: netbox/templates/core/configrevision.html:40 msgid "Comment" msgstr "" -#: templates/core/configrevision_restore.html:8 -#: templates/core/configrevision_restore.html:25 -#: templates/core/configrevision_restore.html:64 +#: netbox/templates/core/configrevision_restore.html:8 +#: netbox/templates/core/configrevision_restore.html:25 +#: netbox/templates/core/configrevision_restore.html:64 msgid "Restore" msgstr "" -#: templates/core/configrevision_restore.html:36 +#: netbox/templates/core/configrevision_restore.html:36 msgid "Parameter" msgstr "" -#: templates/core/configrevision_restore.html:37 +#: netbox/templates/core/configrevision_restore.html:37 msgid "Current Value" msgstr "" -#: templates/core/configrevision_restore.html:38 +#: netbox/templates/core/configrevision_restore.html:38 msgid "New Value" msgstr "" -#: templates/core/configrevision_restore.html:50 +#: netbox/templates/core/configrevision_restore.html:50 msgid "Changed" msgstr "" -#: templates/core/datafile.html:42 templates/ipam/iprange.html:25 -#: templates/virtualization/virtualdisk.html:29 -#: virtualization/tables/virtualmachines.py:198 +#: netbox/templates/core/datafile.html:42 netbox/templates/ipam/iprange.html:25 +#: netbox/templates/virtualization/virtualdisk.html:29 +#: netbox/virtualization/tables/virtualmachines.py:198 msgid "Size" msgstr "" -#: templates/core/datafile.html:43 +#: netbox/templates/core/datafile.html:43 msgid "bytes" msgstr "" -#: templates/core/datafile.html:46 +#: netbox/templates/core/datafile.html:46 msgid "SHA256 Hash" msgstr "" -#: templates/core/datasource.html:14 templates/core/datasource.html:20 -#: utilities/templates/buttons/sync.html:5 +#: netbox/templates/core/datasource.html:14 +#: netbox/templates/core/datasource.html:20 +#: netbox/utilities/templates/buttons/sync.html:5 msgid "Sync" msgstr "" -#: templates/core/datasource.html:50 +#: netbox/templates/core/datasource.html:50 msgid "Last synced" msgstr "" -#: templates/core/datasource.html:84 +#: netbox/templates/core/datasource.html:84 msgid "Backend" msgstr "" -#: templates/core/datasource.html:99 +#: netbox/templates/core/datasource.html:99 msgid "No parameters defined" msgstr "" -#: templates/core/datasource.html:114 +#: netbox/templates/core/datasource.html:114 msgid "Files" msgstr "" -#: templates/core/inc/config_data.html:7 +#: netbox/templates/core/inc/config_data.html:7 msgid "Rack elevations" msgstr "" -#: templates/core/inc/config_data.html:10 +#: netbox/templates/core/inc/config_data.html:10 msgid "Default unit height" msgstr "" -#: templates/core/inc/config_data.html:14 +#: netbox/templates/core/inc/config_data.html:14 msgid "Default unit width" msgstr "" -#: templates/core/inc/config_data.html:20 +#: netbox/templates/core/inc/config_data.html:20 msgid "Power feeds" msgstr "" -#: templates/core/inc/config_data.html:23 +#: netbox/templates/core/inc/config_data.html:23 msgid "Default voltage" msgstr "" -#: templates/core/inc/config_data.html:27 +#: netbox/templates/core/inc/config_data.html:27 msgid "Default amperage" msgstr "" -#: templates/core/inc/config_data.html:31 +#: netbox/templates/core/inc/config_data.html:31 msgid "Default max utilization" msgstr "" -#: templates/core/inc/config_data.html:40 +#: netbox/templates/core/inc/config_data.html:40 msgid "Enforce global unique" msgstr "" -#: templates/core/inc/config_data.html:83 +#: netbox/templates/core/inc/config_data.html:83 msgid "Paginate count" msgstr "" -#: templates/core/inc/config_data.html:87 +#: netbox/templates/core/inc/config_data.html:87 msgid "Max page size" msgstr "" -#: templates/core/inc/config_data.html:114 +#: netbox/templates/core/inc/config_data.html:114 msgid "User preferences" msgstr "" -#: templates/core/inc/config_data.html:141 +#: netbox/templates/core/inc/config_data.html:141 msgid "Job retention" msgstr "" -#: templates/core/job.html:35 templates/core/rq_task.html:12 -#: templates/core/rq_task.html:49 templates/core/rq_task.html:58 +#: netbox/templates/core/job.html:35 netbox/templates/core/rq_task.html:12 +#: netbox/templates/core/rq_task.html:49 netbox/templates/core/rq_task.html:58 msgid "Job" msgstr "" -#: templates/core/job.html:58 templates/extras/journalentry.html:26 +#: netbox/templates/core/job.html:58 +#: netbox/templates/extras/journalentry.html:26 msgid "Created By" msgstr "" -#: templates/core/job.html:66 +#: netbox/templates/core/job.html:66 msgid "Scheduling" msgstr "" -#: templates/core/job.html:77 +#: netbox/templates/core/job.html:77 #, python-format msgid "every %(interval)s minutes" msgstr "" -#: templates/core/objectchange.html:29 templates/users/objectpermission.html:42 +#: netbox/templates/core/objectchange.html:29 +#: netbox/templates/users/objectpermission.html:42 msgid "Change" msgstr "" -#: templates/core/objectchange.html:79 +#: netbox/templates/core/objectchange.html:79 msgid "Difference" msgstr "" -#: templates/core/objectchange.html:82 +#: netbox/templates/core/objectchange.html:82 msgid "Previous" msgstr "" -#: templates/core/objectchange.html:85 +#: netbox/templates/core/objectchange.html:85 msgid "Next" msgstr "" -#: templates/core/objectchange.html:93 +#: netbox/templates/core/objectchange.html:93 msgid "Object Created" msgstr "" -#: templates/core/objectchange.html:95 +#: netbox/templates/core/objectchange.html:95 msgid "Object Deleted" msgstr "" -#: templates/core/objectchange.html:97 +#: netbox/templates/core/objectchange.html:97 msgid "No Changes" msgstr "" -#: templates/core/objectchange.html:111 +#: netbox/templates/core/objectchange.html:111 msgid "Pre-Change Data" msgstr "" -#: templates/core/objectchange.html:122 +#: netbox/templates/core/objectchange.html:122 msgid "Warning: Comparing non-atomic change to previous change record" msgstr "" -#: templates/core/objectchange.html:131 +#: netbox/templates/core/objectchange.html:131 msgid "Post-Change Data" msgstr "" -#: templates/core/objectchange.html:162 +#: netbox/templates/core/objectchange.html:162 #, python-format msgid "See All %(count)s Changes" msgstr "" -#: templates/core/objectchange_list.html:9 -#: templates/extras/object_changelog.html:15 +#: netbox/templates/core/objectchange_list.html:9 +#: netbox/templates/extras/object_changelog.html:15 msgid "Change log retention" msgstr "" -#: templates/core/objectchange_list.html:9 -#: templates/extras/object_changelog.html:15 +#: netbox/templates/core/objectchange_list.html:9 +#: netbox/templates/extras/object_changelog.html:15 msgid "days" msgstr "" -#: templates/core/objectchange_list.html:9 -#: templates/extras/object_changelog.html:15 +#: netbox/templates/core/objectchange_list.html:9 +#: netbox/templates/extras/object_changelog.html:15 msgid "Indefinite" msgstr "" -#: templates/core/plugin.html:22 +#: netbox/templates/core/plugin.html:22 msgid "Not installed" msgstr "" -#: templates/core/plugin.html:33 +#: netbox/templates/core/plugin.html:33 msgid "Overview" msgstr "" -#: templates/core/plugin.html:39 +#: netbox/templates/core/plugin.html:39 msgid "Install" msgstr "" -#: templates/core/plugin.html:51 +#: netbox/templates/core/plugin.html:51 msgid "Plugin Details" msgstr "" -#: templates/core/plugin.html:58 +#: netbox/templates/core/plugin.html:58 msgid "Summary" msgstr "" -#: templates/core/plugin.html:76 +#: netbox/templates/core/plugin.html:76 msgid "License" msgstr "" -#: templates/core/plugin.html:96 +#: netbox/templates/core/plugin.html:96 msgid "Version History" msgstr "" -#: templates/core/plugin.html:107 +#: netbox/templates/core/plugin.html:107 msgid "Local Installation Instructions" msgstr "" -#: 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 +#: netbox/templates/core/rq_queue_list.html:5 +#: netbox/templates/core/rq_queue_list.html:13 +#: netbox/templates/core/rq_task_list.html:14 +#: netbox/templates/core/rq_worker.html:7 msgid "Background Queues" msgstr "" -#: templates/core/rq_queue_list.html:24 templates/core/rq_queue_list.html:25 -#: templates/core/rq_worker_list.html:49 templates/core/rq_worker_list.html:50 -#: templates/extras/script_result.html:67 -#: templates/extras/script_result.html:69 -#: templates/inc/table_controls_htmx.html:30 -#: templates/inc/table_controls_htmx.html:33 +#: netbox/templates/core/rq_queue_list.html:24 +#: netbox/templates/core/rq_queue_list.html:25 +#: netbox/templates/core/rq_worker_list.html:49 +#: netbox/templates/core/rq_worker_list.html:50 +#: netbox/templates/extras/script_result.html:67 +#: netbox/templates/extras/script_result.html:69 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "" -#: templates/core/rq_task.html:29 +#: netbox/templates/core/rq_task.html:29 msgid "Stop" msgstr "" -#: templates/core/rq_task.html:34 +#: netbox/templates/core/rq_task.html:34 msgid "Requeue" msgstr "" -#: templates/core/rq_task.html:39 +#: netbox/templates/core/rq_task.html:39 msgid "Enqueue" msgstr "" -#: templates/core/rq_task.html:61 +#: netbox/templates/core/rq_task.html:61 msgid "Queue" msgstr "" -#: templates/core/rq_task.html:65 +#: netbox/templates/core/rq_task.html:65 msgid "Timeout" msgstr "" -#: templates/core/rq_task.html:69 +#: netbox/templates/core/rq_task.html:69 msgid "Result TTL" msgstr "" -#: templates/core/rq_task.html:89 +#: netbox/templates/core/rq_task.html:89 msgid "Meta" msgstr "" -#: templates/core/rq_task.html:93 +#: netbox/templates/core/rq_task.html:93 msgid "Arguments" msgstr "" -#: templates/core/rq_task.html:97 +#: netbox/templates/core/rq_task.html:97 msgid "Keyword Arguments" msgstr "" -#: templates/core/rq_task.html:103 +#: netbox/templates/core/rq_task.html:103 msgid "Depends on" msgstr "" -#: templates/core/rq_task.html:109 +#: netbox/templates/core/rq_task.html:109 msgid "Exception" msgstr "" -#: templates/core/rq_task_list.html:28 +#: netbox/templates/core/rq_task_list.html:28 msgid "tasks in " msgstr "" -#: templates/core/rq_task_list.html:33 +#: netbox/templates/core/rq_task_list.html:33 msgid "Queued Jobs" msgstr "" -#: templates/core/rq_task_list.html:64 templates/extras/script_result.html:86 +#: netbox/templates/core/rq_task_list.html:64 +#: netbox/templates/extras/script_result.html:86 #, python-format msgid "" "Select all %(count)s %(object_type_plural)s matching query" msgstr "" -#: templates/core/rq_worker.html:10 +#: netbox/templates/core/rq_worker.html:10 msgid "Worker Info" msgstr "" -#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40 +#: netbox/templates/core/rq_worker.html:31 +#: netbox/templates/core/rq_worker.html:40 msgid "Worker" msgstr "" -#: templates/core/rq_worker.html:55 +#: netbox/templates/core/rq_worker.html:55 msgid "Queues" msgstr "" -#: templates/core/rq_worker.html:63 +#: netbox/templates/core/rq_worker.html:63 msgid "Curent Job" msgstr "" -#: templates/core/rq_worker.html:67 +#: netbox/templates/core/rq_worker.html:67 msgid "Successful job count" msgstr "" -#: templates/core/rq_worker.html:71 +#: netbox/templates/core/rq_worker.html:71 msgid "Failed job count" msgstr "" -#: templates/core/rq_worker.html:75 +#: netbox/templates/core/rq_worker.html:75 msgid "Total working time" msgstr "" -#: templates/core/rq_worker.html:76 +#: netbox/templates/core/rq_worker.html:76 msgid "seconds" msgstr "" -#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21 +#: netbox/templates/core/rq_worker_list.html:13 +#: netbox/templates/core/rq_worker_list.html:21 msgid "Background Workers" msgstr "" -#: templates/core/rq_worker_list.html:29 +#: netbox/templates/core/rq_worker_list.html:29 #, python-format msgid "Workers in %(queue_name)s" msgstr "" -#: templates/core/system.html:11 utilities/templates/buttons/export.html:4 +#: netbox/templates/core/system.html:11 +#: netbox/utilities/templates/buttons/export.html:4 msgid "Export" msgstr "" -#: templates/core/system.html:28 +#: netbox/templates/core/system.html:28 msgid "System Status" msgstr "" -#: templates/core/system.html:31 +#: netbox/templates/core/system.html:31 msgid "NetBox release" msgstr "" -#: templates/core/system.html:44 +#: netbox/templates/core/system.html:44 msgid "Django version" msgstr "" -#: templates/core/system.html:48 +#: netbox/templates/core/system.html:48 msgid "PostgreSQL version" msgstr "" -#: templates/core/system.html:52 +#: netbox/templates/core/system.html:52 msgid "Database name" msgstr "" -#: templates/core/system.html:56 +#: netbox/templates/core/system.html:56 msgid "Database size" msgstr "" -#: templates/core/system.html:61 +#: netbox/templates/core/system.html:61 msgid "Unavailable" msgstr "" -#: templates/core/system.html:66 +#: netbox/templates/core/system.html:66 msgid "RQ workers" msgstr "" -#: templates/core/system.html:69 +#: netbox/templates/core/system.html:69 msgid "default queue" msgstr "" -#: templates/core/system.html:73 +#: netbox/templates/core/system.html:73 msgid "System time" msgstr "" -#: templates/core/system.html:85 +#: netbox/templates/core/system.html:85 msgid "Current Configuration" msgstr "" -#: templates/dcim/bulk_disconnect.html:9 +#: netbox/templates/dcim/bulk_disconnect.html:9 #, python-format msgid "" "Are you sure you want to disconnect these %(count)s %(obj_type_plural)s?" msgstr "" -#: templates/dcim/cable_trace.html:10 +#: netbox/templates/dcim/cable_trace.html:10 #, python-format msgid "Cable Trace for %(object_type)s %(object)s" msgstr "" -#: templates/dcim/cable_trace.html:24 templates/dcim/inc/rack_elevation.html:7 +#: netbox/templates/dcim/cable_trace.html:24 +#: netbox/templates/dcim/inc/rack_elevation.html:7 msgid "Download SVG" msgstr "" -#: templates/dcim/cable_trace.html:30 +#: netbox/templates/dcim/cable_trace.html:30 msgid "Asymmetric Path" msgstr "" -#: templates/dcim/cable_trace.html:31 +#: netbox/templates/dcim/cable_trace.html:31 msgid "The nodes below have no links and result in an asymmetric path" msgstr "" -#: templates/dcim/cable_trace.html:38 +#: netbox/templates/dcim/cable_trace.html:38 msgid "Path split" msgstr "" -#: templates/dcim/cable_trace.html:39 +#: netbox/templates/dcim/cable_trace.html:39 msgid "Select a node below to continue" msgstr "" -#: templates/dcim/cable_trace.html:55 +#: netbox/templates/dcim/cable_trace.html:55 msgid "Trace Completed" msgstr "" -#: templates/dcim/cable_trace.html:58 +#: netbox/templates/dcim/cable_trace.html:58 msgid "Total segments" msgstr "" -#: templates/dcim/cable_trace.html:62 +#: netbox/templates/dcim/cable_trace.html:62 msgid "Total length" msgstr "" -#: templates/dcim/cable_trace.html:77 +#: netbox/templates/dcim/cable_trace.html:77 msgid "No paths found" msgstr "" -#: templates/dcim/cable_trace.html:85 +#: netbox/templates/dcim/cable_trace.html:85 msgid "Related Paths" msgstr "" -#: templates/dcim/cable_trace.html:89 +#: netbox/templates/dcim/cable_trace.html:89 msgid "Origin" msgstr "" -#: templates/dcim/cable_trace.html:90 +#: netbox/templates/dcim/cable_trace.html:90 msgid "Destination" msgstr "" -#: templates/dcim/cable_trace.html:91 +#: netbox/templates/dcim/cable_trace.html:91 msgid "Segments" msgstr "" -#: templates/dcim/cable_trace.html:104 +#: netbox/templates/dcim/cable_trace.html:104 msgid "Incomplete" msgstr "" -#: templates/dcim/component_list.html:14 +#: netbox/templates/dcim/component_list.html:14 msgid "Rename Selected" msgstr "" -#: 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 +#: netbox/templates/dcim/consoleport.html:65 +#: netbox/templates/dcim/consoleserverport.html:66 +#: netbox/templates/dcim/frontport.html:98 +#: netbox/templates/dcim/interface.html:176 +#: netbox/templates/dcim/poweroutlet.html:69 +#: netbox/templates/dcim/powerport.html:69 msgid "Not Connected" msgstr "" -#: templates/dcim/device.html:34 +#: netbox/templates/dcim/device.html:34 msgid "Highlight device in rack" msgstr "" -#: templates/dcim/device.html:55 +#: netbox/templates/dcim/device.html:55 msgid "Not racked" msgstr "" -#: templates/dcim/device.html:62 templates/dcim/site.html:94 +#: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94 msgid "GPS Coordinates" msgstr "" -#: templates/dcim/device.html:68 templates/dcim/site.html:81 -#: templates/dcim/site.html:100 +#: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:81 +#: netbox/templates/dcim/site.html:100 msgid "Map" msgstr "" -#: templates/dcim/device.html:108 templates/dcim/inventoryitem.html:56 -#: templates/dcim/module.html:81 templates/dcim/modulebay.html:74 -#: templates/dcim/rack.html:61 +#: netbox/templates/dcim/device.html:108 +#: netbox/templates/dcim/inventoryitem.html:56 +#: netbox/templates/dcim/module.html:81 netbox/templates/dcim/modulebay.html:74 +#: netbox/templates/dcim/rack.html:61 msgid "Asset Tag" msgstr "" -#: templates/dcim/device.html:123 +#: netbox/templates/dcim/device.html:123 msgid "View Virtual Chassis" msgstr "" -#: templates/dcim/device.html:164 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" msgstr "" -#: templates/dcim/device.html:175 templates/dcim/device_edit.html:64 -#: virtualization/forms/model_forms.py:223 +#: netbox/templates/dcim/device.html:175 +#: netbox/templates/dcim/device_edit.html:64 +#: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "" -#: templates/dcim/device.html:195 templates/dcim/device.html:211 -#: templates/dcim/device.html:227 -#: templates/virtualization/virtualmachine.html:57 -#: templates/virtualization/virtualmachine.html:73 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 +#: netbox/templates/virtualization/virtualmachine.html:57 +#: netbox/templates/virtualization/virtualmachine.html:73 msgid "NAT for" msgstr "" -#: templates/dcim/device.html:197 templates/dcim/device.html:213 -#: templates/dcim/device.html:229 -#: templates/virtualization/virtualmachine.html:59 -#: templates/virtualization/virtualmachine.html:75 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 +#: netbox/templates/virtualization/virtualmachine.html:59 +#: netbox/templates/virtualization/virtualmachine.html:75 msgid "NAT" msgstr "" -#: templates/dcim/device.html:252 templates/dcim/rack.html:73 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:73 msgid "Power Utilization" msgstr "" -#: templates/dcim/device.html:256 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "" -#: templates/dcim/device.html:257 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" msgstr "" -#: templates/dcim/device.html:258 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" msgstr "" -#: templates/dcim/device.html:268 templates/dcim/device.html:270 -#: templates/dcim/device.html:286 templates/dcim/powerfeed.html:67 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 +#: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "" -#: templates/dcim/device.html:280 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "" -#: templates/dcim/device.html:306 -#: templates/virtualization/virtualmachine.html:158 +#: netbox/templates/dcim/device.html:306 +#: netbox/templates/virtualization/virtualmachine.html:158 msgid "Add a service" msgstr "" -#: templates/dcim/device/base.html:21 templates/dcim/device_list.html:9 -#: templates/dcim/devicetype/base.html:18 -#: templates/dcim/inc/moduletype_buttons.html:9 templates/dcim/module.html:18 -#: templates/virtualization/virtualmachine/base.html:22 -#: templates/virtualization/virtualmachine_list.html:8 +#: netbox/templates/dcim/device/base.html:21 +#: netbox/templates/dcim/device_list.html:9 +#: netbox/templates/dcim/devicetype/base.html:18 +#: netbox/templates/dcim/inc/moduletype_buttons.html:9 +#: netbox/templates/dcim/module.html:18 +#: netbox/templates/virtualization/virtualmachine/base.html:22 +#: netbox/templates/virtualization/virtualmachine_list.html:8 msgid "Add Components" msgstr "" -#: templates/dcim/device/consoleports.html:24 +#: netbox/templates/dcim/device/consoleports.html:24 msgid "Add Console Ports" msgstr "" -#: templates/dcim/device/consoleserverports.html:24 +#: netbox/templates/dcim/device/consoleserverports.html:24 msgid "Add Console Server Ports" msgstr "" -#: templates/dcim/device/devicebays.html:10 +#: netbox/templates/dcim/device/devicebays.html:10 msgid "Add Device Bays" msgstr "" -#: templates/dcim/device/frontports.html:24 +#: netbox/templates/dcim/device/frontports.html:24 msgid "Add Front Ports" msgstr "" -#: templates/dcim/device/inc/interface_table_controls.html:9 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:9 msgid "Hide Enabled" msgstr "" -#: templates/dcim/device/inc/interface_table_controls.html:10 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:10 msgid "Hide Disabled" msgstr "" -#: templates/dcim/device/inc/interface_table_controls.html:11 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:11 msgid "Hide Virtual" msgstr "" -#: templates/dcim/device/inc/interface_table_controls.html:12 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:12 msgid "Hide Disconnected" msgstr "" -#: templates/dcim/device/interfaces.html:27 +#: netbox/templates/dcim/device/interfaces.html:27 msgid "Add Interfaces" msgstr "" -#: templates/dcim/device/inventory.html:10 -#: templates/dcim/inc/panels/inventory_items.html:10 +#: netbox/templates/dcim/device/inventory.html:10 +#: netbox/templates/dcim/inc/panels/inventory_items.html:10 msgid "Add Inventory Item" msgstr "" -#: templates/dcim/device/modulebays.html:10 +#: netbox/templates/dcim/device/modulebays.html:10 msgid "Add Module Bays" msgstr "" -#: templates/dcim/device/poweroutlets.html:24 +#: netbox/templates/dcim/device/poweroutlets.html:24 msgid "Add Power Outlets" msgstr "" -#: templates/dcim/device/powerports.html:24 +#: netbox/templates/dcim/device/powerports.html:24 msgid "Add Power Port" msgstr "" -#: templates/dcim/device/rearports.html:24 +#: netbox/templates/dcim/device/rearports.html:24 msgid "Add Rear Ports" msgstr "" -#: templates/dcim/device/render_config.html:5 -#: templates/virtualization/virtualmachine/render_config.html:5 +#: netbox/templates/dcim/device/render_config.html:5 +#: netbox/templates/virtualization/virtualmachine/render_config.html:5 msgid "Config" msgstr "" -#: templates/dcim/device/render_config.html:35 -#: templates/virtualization/virtualmachine/render_config.html:35 +#: netbox/templates/dcim/device/render_config.html:35 +#: netbox/templates/virtualization/virtualmachine/render_config.html:35 msgid "Context Data" msgstr "" -#: templates/dcim/device/render_config.html:53 -#: templates/virtualization/virtualmachine/render_config.html:53 +#: netbox/templates/dcim/device/render_config.html:53 +#: netbox/templates/virtualization/virtualmachine/render_config.html:53 msgid "Rendered Config" msgstr "" -#: templates/dcim/device/render_config.html:55 -#: templates/virtualization/virtualmachine/render_config.html:55 +#: netbox/templates/dcim/device/render_config.html:55 +#: netbox/templates/virtualization/virtualmachine/render_config.html:55 msgid "Download" msgstr "" -#: templates/dcim/device/render_config.html:61 -#: templates/virtualization/virtualmachine/render_config.html:61 +#: netbox/templates/dcim/device/render_config.html:61 +#: netbox/templates/virtualization/virtualmachine/render_config.html:61 msgid "No configuration template found" msgstr "" -#: templates/dcim/device_edit.html:44 +#: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" msgstr "" -#: templates/dcim/device_edit.html:48 -#: utilities/templates/form_helpers/render_field.html:22 +#: netbox/templates/dcim/device_edit.html:48 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "" -#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:21 -#: utilities/templates/helpers/table_config_form.html:23 +#: netbox/templates/dcim/device_edit.html:49 +#: netbox/templates/generic/bulk_remove.html:21 +#: netbox/utilities/templates/helpers/table_config_form.html:23 msgid "Remove" msgstr "" -#: templates/dcim/device_edit.html:110 +#: netbox/templates/dcim/device_edit.html:110 msgid "Local Config Context Data" msgstr "" -#: templates/dcim/device_list.html:82 templates/generic/bulk_rename.html:57 -#: templates/virtualization/virtualmachine/interfaces.html:11 -#: templates/virtualization/virtualmachine/virtual_disks.html:11 +#: netbox/templates/dcim/device_list.html:82 +#: netbox/templates/generic/bulk_rename.html:57 +#: netbox/templates/virtualization/virtualmachine/interfaces.html:11 +#: netbox/templates/virtualization/virtualmachine/virtual_disks.html:11 msgid "Rename" msgstr "" -#: templates/dcim/devicebay.html:17 +#: netbox/templates/dcim/devicebay.html:17 msgid "Device Bay" msgstr "" -#: templates/dcim/devicebay.html:43 +#: netbox/templates/dcim/devicebay.html:43 msgid "Installed Device" msgstr "" -#: templates/dcim/devicebay_depopulate.html:6 +#: netbox/templates/dcim/devicebay_depopulate.html:6 #, python-format msgid "Remove %(device)s from %(device_bay)s?" msgstr "" -#: templates/dcim/devicebay_depopulate.html:13 +#: netbox/templates/dcim/devicebay_depopulate.html:13 #, python-format msgid "" "Are you sure you want to remove %(device)s from " "%(device_bay)s?" msgstr "" -#: templates/dcim/devicebay_populate.html:13 +#: netbox/templates/dcim/devicebay_populate.html:13 msgid "Populate" msgstr "" -#: templates/dcim/devicebay_populate.html:22 +#: netbox/templates/dcim/devicebay_populate.html:22 msgid "Bay" msgstr "" -#: templates/dcim/devicerole.html:14 templates/dcim/platform.html:17 +#: netbox/templates/dcim/devicerole.html:14 +#: netbox/templates/dcim/platform.html:17 msgid "Add Device" msgstr "" -#: templates/dcim/devicerole.html:40 +#: netbox/templates/dcim/devicerole.html:40 msgid "VM Role" msgstr "" -#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:29 +#: netbox/templates/dcim/devicetype.html:18 +#: netbox/templates/dcim/moduletype.html:29 msgid "Model Name" msgstr "" -#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:33 +#: netbox/templates/dcim/devicetype.html:25 +#: netbox/templates/dcim/moduletype.html:33 msgid "Part Number" msgstr "" -#: templates/dcim/devicetype.html:41 +#: netbox/templates/dcim/devicetype.html:41 msgid "Exclude From Utilization" msgstr "" -#: templates/dcim/devicetype.html:59 +#: netbox/templates/dcim/devicetype.html:59 msgid "Parent/Child" msgstr "" -#: templates/dcim/devicetype.html:71 +#: netbox/templates/dcim/devicetype.html:71 msgid "Front Image" msgstr "" -#: templates/dcim/devicetype.html:83 +#: netbox/templates/dcim/devicetype.html:83 msgid "Rear Image" msgstr "" -#: templates/dcim/frontport.html:54 +#: netbox/templates/dcim/frontport.html:54 msgid "Rear Port Position" msgstr "" -#: 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 +#: netbox/templates/dcim/frontport.html:72 +#: netbox/templates/dcim/interface.html:144 +#: netbox/templates/dcim/poweroutlet.html:63 +#: netbox/templates/dcim/powerport.html:63 +#: netbox/templates/dcim/rearport.html:68 msgid "Marked as Connected" msgstr "" -#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82 +#: netbox/templates/dcim/frontport.html:86 +#: netbox/templates/dcim/rearport.html:82 msgid "Connection Status" msgstr "" -#: templates/dcim/htmx/cable_edit.html:10 +#: netbox/templates/dcim/htmx/cable_edit.html:10 msgid "A Side" msgstr "" -#: templates/dcim/htmx/cable_edit.html:30 +#: netbox/templates/dcim/htmx/cable_edit.html:30 msgid "B Side" msgstr "" -#: templates/dcim/inc/cable_termination.html:65 +#: netbox/templates/dcim/inc/cable_termination.html:65 msgid "No termination" msgstr "" -#: templates/dcim/inc/cable_toggle_buttons.html:3 +#: netbox/templates/dcim/inc/cable_toggle_buttons.html:3 msgid "Mark Planned" msgstr "" -#: templates/dcim/inc/cable_toggle_buttons.html:6 +#: netbox/templates/dcim/inc/cable_toggle_buttons.html:6 msgid "Mark Installed" msgstr "" -#: templates/dcim/inc/connection_endpoints.html:13 +#: netbox/templates/dcim/inc/connection_endpoints.html:13 msgid "Path Status" msgstr "" -#: templates/dcim/inc/connection_endpoints.html:18 +#: netbox/templates/dcim/inc/connection_endpoints.html:18 msgid "Not Reachable" msgstr "" -#: templates/dcim/inc/connection_endpoints.html:23 +#: netbox/templates/dcim/inc/connection_endpoints.html:23 msgid "Path Endpoints" msgstr "" -#: templates/dcim/inc/endpoint_connection.html:8 -#: templates/dcim/powerfeed.html:120 templates/dcim/rearport.html:94 +#: netbox/templates/dcim/inc/endpoint_connection.html:8 +#: netbox/templates/dcim/powerfeed.html:120 +#: netbox/templates/dcim/rearport.html:94 msgid "Not connected" msgstr "" -#: templates/dcim/inc/interface_vlans_table.html:6 +#: netbox/templates/dcim/inc/interface_vlans_table.html:6 msgid "Untagged" msgstr "" -#: templates/dcim/inc/interface_vlans_table.html:37 +#: netbox/templates/dcim/inc/interface_vlans_table.html:37 msgid "No VLANs Assigned" msgstr "" -#: templates/dcim/inc/interface_vlans_table.html:44 -#: templates/ipam/prefix_list.html:16 templates/ipam/prefix_list.html:33 +#: netbox/templates/dcim/inc/interface_vlans_table.html:44 +#: netbox/templates/ipam/prefix_list.html:16 +#: netbox/templates/ipam/prefix_list.html:33 msgid "Clear" msgstr "" -#: templates/dcim/inc/interface_vlans_table.html:47 +#: netbox/templates/dcim/inc/interface_vlans_table.html:47 msgid "Clear All" msgstr "" -#: templates/dcim/inc/panels/racktype_dimensions.html:38 +#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:38 msgid "Mounting Depth" msgstr "" -#: templates/dcim/inc/panels/racktype_numbering.html:6 +#: netbox/templates/dcim/inc/panels/racktype_numbering.html:6 msgid "Starting Unit" msgstr "" -#: templates/dcim/inc/panels/racktype_numbering.html:10 +#: netbox/templates/dcim/inc/panels/racktype_numbering.html:10 msgid "Descending Units" msgstr "" -#: templates/dcim/inc/rack_elevation.html:3 +#: netbox/templates/dcim/inc/rack_elevation.html:3 msgid "Rack elevation" msgstr "" -#: templates/dcim/interface.html:17 +#: netbox/templates/dcim/interface.html:17 msgid "Add Child Interface" msgstr "" -#: templates/dcim/interface.html:50 +#: netbox/templates/dcim/interface.html:50 msgid "Speed/Duplex" msgstr "" -#: templates/dcim/interface.html:73 +#: netbox/templates/dcim/interface.html:73 msgid "PoE Mode" msgstr "" -#: templates/dcim/interface.html:77 +#: netbox/templates/dcim/interface.html:77 msgid "PoE Type" msgstr "" -#: templates/dcim/interface.html:81 -#: templates/virtualization/vminterface.html:63 +#: netbox/templates/dcim/interface.html:81 +#: netbox/templates/virtualization/vminterface.html:63 msgid "802.1Q Mode" msgstr "" -#: templates/dcim/interface.html:125 -#: templates/virtualization/vminterface.html:59 +#: netbox/templates/dcim/interface.html:125 +#: netbox/templates/virtualization/vminterface.html:59 msgid "MAC Address" msgstr "" -#: templates/dcim/interface.html:151 +#: netbox/templates/dcim/interface.html:151 msgid "Wireless Link" msgstr "" -#: templates/dcim/interface.html:218 vpn/choices.py:55 +#: netbox/templates/dcim/interface.html:218 netbox/vpn/choices.py:55 msgid "Peer" msgstr "" -#: templates/dcim/interface.html:230 -#: templates/wireless/inc/wirelesslink_interface.html:26 +#: netbox/templates/dcim/interface.html:230 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:26 msgid "Channel" msgstr "" -#: templates/dcim/interface.html:239 -#: templates/wireless/inc/wirelesslink_interface.html:32 +#: netbox/templates/dcim/interface.html:239 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:32 msgid "Channel Frequency" msgstr "" -#: templates/dcim/interface.html:242 templates/dcim/interface.html:250 -#: templates/dcim/interface.html:261 templates/dcim/interface.html:269 +#: netbox/templates/dcim/interface.html:242 +#: netbox/templates/dcim/interface.html:250 +#: netbox/templates/dcim/interface.html:261 +#: netbox/templates/dcim/interface.html:269 msgid "MHz" msgstr "" -#: templates/dcim/interface.html:258 -#: templates/wireless/inc/wirelesslink_interface.html:42 +#: netbox/templates/dcim/interface.html:258 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:42 msgid "Channel Width" msgstr "" -#: 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:82 wireless/models.py:156 -#: wireless/tables/wirelesslan.py:44 +#: netbox/templates/dcim/interface.html:285 +#: netbox/templates/wireless/wirelesslan.html:14 +#: netbox/templates/wireless/wirelesslink.html:21 +#: netbox/wireless/forms/bulk_edit.py:60 netbox/wireless/forms/bulk_edit.py:102 +#: netbox/wireless/forms/filtersets.py:40 +#: netbox/wireless/forms/filtersets.py:80 netbox/wireless/models.py:82 +#: netbox/wireless/models.py:156 netbox/wireless/tables/wirelesslan.py:44 msgid "SSID" msgstr "" -#: templates/dcim/interface.html:305 +#: netbox/templates/dcim/interface.html:305 msgid "LAG Members" msgstr "" -#: templates/dcim/interface.html:323 +#: netbox/templates/dcim/interface.html:323 msgid "No member interfaces" msgstr "" -#: 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:89 +#: netbox/templates/dcim/interface.html:343 +#: netbox/templates/ipam/fhrpgroup.html:73 +#: netbox/templates/ipam/iprange/ip_addresses.html:7 +#: netbox/templates/ipam/prefix/ip_addresses.html:7 +#: netbox/templates/virtualization/vminterface.html:89 msgid "Add IP Address" msgstr "" -#: templates/dcim/inventoryitem.html:24 +#: netbox/templates/dcim/inventoryitem.html:24 msgid "Parent Item" msgstr "" -#: templates/dcim/inventoryitem.html:48 +#: netbox/templates/dcim/inventoryitem.html:48 msgid "Part ID" msgstr "" -#: templates/dcim/location.html:17 +#: netbox/templates/dcim/location.html:17 msgid "Add Child Location" msgstr "" -#: templates/dcim/location.html:77 +#: netbox/templates/dcim/location.html:77 msgid "Child Locations" msgstr "" -#: templates/dcim/location.html:81 templates/dcim/site.html:131 +#: netbox/templates/dcim/location.html:81 netbox/templates/dcim/site.html:131 msgid "Add a Location" msgstr "" -#: templates/dcim/location.html:94 templates/dcim/site.html:144 +#: netbox/templates/dcim/location.html:94 netbox/templates/dcim/site.html:144 msgid "Add a Device" msgstr "" -#: templates/dcim/manufacturer.html:16 +#: netbox/templates/dcim/manufacturer.html:16 msgid "Add Device Type" msgstr "" -#: templates/dcim/manufacturer.html:21 +#: netbox/templates/dcim/manufacturer.html:21 msgid "Add Module Type" msgstr "" -#: templates/dcim/powerfeed.html:53 +#: netbox/templates/dcim/powerfeed.html:53 msgid "Connected Device" msgstr "" -#: templates/dcim/powerfeed.html:63 +#: netbox/templates/dcim/powerfeed.html:63 msgid "Utilization (Allocated" msgstr "" -#: templates/dcim/powerfeed.html:80 +#: netbox/templates/dcim/powerfeed.html:80 msgid "Electrical Characteristics" msgstr "" -#: templates/dcim/powerfeed.html:88 +#: netbox/templates/dcim/powerfeed.html:88 msgctxt "Abbreviation for volts" msgid "V" msgstr "" -#: templates/dcim/powerfeed.html:92 +#: netbox/templates/dcim/powerfeed.html:92 msgctxt "Abbreviation for amperes" msgid "A" msgstr "" -#: templates/dcim/poweroutlet.html:48 +#: netbox/templates/dcim/poweroutlet.html:48 msgid "Feed Leg" msgstr "" -#: templates/dcim/powerpanel.html:72 +#: netbox/templates/dcim/powerpanel.html:72 msgid "Add Power Feeds" msgstr "" -#: templates/dcim/powerport.html:44 +#: netbox/templates/dcim/powerport.html:44 msgid "Maximum Draw" msgstr "" -#: templates/dcim/powerport.html:48 +#: netbox/templates/dcim/powerport.html:48 msgid "Allocated Draw" msgstr "" -#: templates/dcim/rack.html:69 +#: netbox/templates/dcim/rack.html:69 msgid "Space Utilization" msgstr "" -#: templates/dcim/rack.html:84 templates/dcim/racktype.html:44 +#: netbox/templates/dcim/rack.html:84 netbox/templates/dcim/racktype.html:44 msgid "Rack Weight" msgstr "" -#: templates/dcim/rack.html:94 templates/dcim/racktype.html:54 +#: netbox/templates/dcim/rack.html:94 netbox/templates/dcim/racktype.html:54 msgid "Maximum Weight" msgstr "" -#: templates/dcim/rack.html:104 +#: netbox/templates/dcim/rack.html:104 msgid "Total Weight" msgstr "" -#: templates/dcim/rack.html:125 templates/dcim/rack_elevation_list.html:15 +#: netbox/templates/dcim/rack.html:125 +#: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "" -#: templates/dcim/rack.html:126 templates/dcim/rack_elevation_list.html:16 +#: netbox/templates/dcim/rack.html:126 +#: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "" -#: templates/dcim/rack.html:127 templates/dcim/rack_elevation_list.html:17 +#: netbox/templates/dcim/rack.html:127 +#: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "" -#: templates/dcim/rack/reservations.html:8 +#: netbox/templates/dcim/rack/reservations.html:8 msgid "Add reservation" msgstr "" -#: templates/dcim/rack_elevation_list.html:12 +#: netbox/templates/dcim/rack_elevation_list.html:12 msgid "View List" msgstr "" -#: templates/dcim/rack_elevation_list.html:14 +#: netbox/templates/dcim/rack_elevation_list.html:14 msgid "Select rack view" msgstr "" -#: templates/dcim/rack_elevation_list.html:25 +#: netbox/templates/dcim/rack_elevation_list.html:25 msgid "Sort By" msgstr "" -#: templates/dcim/rack_elevation_list.html:74 +#: netbox/templates/dcim/rack_elevation_list.html:74 msgid "No Racks Found" msgstr "" -#: templates/dcim/rack_list.html:8 +#: netbox/templates/dcim/rack_list.html:8 msgid "View Elevations" msgstr "" -#: templates/dcim/rackreservation.html:42 +#: netbox/templates/dcim/rackreservation.html:42 msgid "Reservation Details" msgstr "" -#: templates/dcim/rackrole.html:10 +#: netbox/templates/dcim/rackrole.html:10 msgid "Add Rack" msgstr "" -#: templates/dcim/rearport.html:50 +#: netbox/templates/dcim/rearport.html:50 msgid "Positions" msgstr "" -#: templates/dcim/region.html:17 templates/dcim/sitegroup.html:17 +#: netbox/templates/dcim/region.html:17 netbox/templates/dcim/sitegroup.html:17 msgid "Add Site" msgstr "" -#: templates/dcim/region.html:55 +#: netbox/templates/dcim/region.html:55 msgid "Child Regions" msgstr "" -#: templates/dcim/region.html:59 +#: netbox/templates/dcim/region.html:59 msgid "Add Region" msgstr "" -#: templates/dcim/site.html:64 +#: netbox/templates/dcim/site.html:64 msgid "Time Zone" msgstr "" -#: templates/dcim/site.html:67 +#: netbox/templates/dcim/site.html:67 msgid "UTC" msgstr "" -#: templates/dcim/site.html:68 +#: netbox/templates/dcim/site.html:68 msgid "Site time" msgstr "" -#: templates/dcim/site.html:75 +#: netbox/templates/dcim/site.html:75 msgid "Physical Address" msgstr "" -#: templates/dcim/site.html:90 +#: netbox/templates/dcim/site.html:90 msgid "Shipping Address" msgstr "" -#: templates/dcim/sitegroup.html:55 templates/tenancy/contactgroup.html:46 -#: templates/tenancy/tenantgroup.html:55 -#: templates/wireless/wirelesslangroup.html:55 +#: netbox/templates/dcim/sitegroup.html:55 +#: netbox/templates/tenancy/contactgroup.html:46 +#: netbox/templates/tenancy/tenantgroup.html:55 +#: netbox/templates/wireless/wirelesslangroup.html:55 msgid "Child Groups" msgstr "" -#: templates/dcim/sitegroup.html:59 +#: netbox/templates/dcim/sitegroup.html:59 msgid "Add Site Group" msgstr "" -#: templates/dcim/trace/attachment.html:5 -#: templates/extras/exporttemplate.html:31 +#: netbox/templates/dcim/trace/attachment.html:5 +#: netbox/templates/extras/exporttemplate.html:31 msgid "Attachment" msgstr "" -#: templates/dcim/virtualchassis.html:57 +#: netbox/templates/dcim/virtualchassis.html:57 msgid "Add Member" msgstr "" -#: templates/dcim/virtualchassis_add.html:18 +#: netbox/templates/dcim/virtualchassis_add.html:18 msgid "Member Devices" msgstr "" -#: templates/dcim/virtualchassis_add_member.html:10 +#: netbox/templates/dcim/virtualchassis_add_member.html:10 #, python-format msgid "Add New Member to Virtual Chassis %(virtual_chassis)s" msgstr "" -#: templates/dcim/virtualchassis_add_member.html:19 +#: netbox/templates/dcim/virtualchassis_add_member.html:19 msgid "Add New Member" msgstr "" -#: templates/dcim/virtualchassis_add_member.html:27 -#: templates/generic/object_edit.html:78 -#: templates/users/objectpermission.html:31 users/forms/filtersets.py:67 -#: users/forms/model_forms.py:312 +#: netbox/templates/dcim/virtualchassis_add_member.html:27 +#: netbox/templates/generic/object_edit.html:78 +#: netbox/templates/users/objectpermission.html:31 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "" -#: templates/dcim/virtualchassis_add_member.html:29 +#: netbox/templates/dcim/virtualchassis_add_member.html:29 msgid "Save & Add Another" msgstr "" -#: templates/dcim/virtualchassis_edit.html:7 +#: netbox/templates/dcim/virtualchassis_edit.html:7 #, python-format msgid "Editing Virtual Chassis %(name)s" msgstr "" -#: templates/dcim/virtualchassis_edit.html:53 +#: netbox/templates/dcim/virtualchassis_edit.html:53 msgid "Rack/Unit" msgstr "" -#: templates/dcim/virtualchassis_remove_member.html:5 +#: netbox/templates/dcim/virtualchassis_remove_member.html:5 msgid "Remove Virtual Chassis Member" msgstr "" -#: templates/dcim/virtualchassis_remove_member.html:9 +#: netbox/templates/dcim/virtualchassis_remove_member.html:9 #, python-format msgid "" "Are you sure you want to remove %(device)s from virtual " "chassis %(name)s?" msgstr "" -#: templates/dcim/virtualdevicecontext.html:26 templates/vpn/l2vpn.html:18 +#: netbox/templates/dcim/virtualdevicecontext.html:26 +#: netbox/templates/vpn/l2vpn.html:18 msgid "Identifier" msgstr "" -#: templates/exceptions/import_error.html:6 +#: netbox/templates/exceptions/import_error.html:6 msgid "" "A module import error occurred during this request. Common causes include " "the following:" msgstr "" -#: templates/exceptions/import_error.html:10 +#: netbox/templates/exceptions/import_error.html:10 msgid "Missing required packages" msgstr "" -#: templates/exceptions/import_error.html:11 +#: netbox/templates/exceptions/import_error.html:11 msgid "" "This installation of NetBox might be missing one or more required Python " "packages. These packages are listed in requirements.txt and " @@ -12083,28 +12738,28 @@ msgid "" "of required packages." msgstr "" -#: templates/exceptions/import_error.html:20 +#: netbox/templates/exceptions/import_error.html:20 msgid "WSGI service not restarted after upgrade" msgstr "" -#: templates/exceptions/import_error.html:21 +#: netbox/templates/exceptions/import_error.html:21 msgid "" "If this installation has recently been upgraded, check that the WSGI service " "(e.g. gunicorn or uWSGI) has been restarted. This ensures that the new code " "is running." msgstr "" -#: templates/exceptions/permission_error.html:6 +#: netbox/templates/exceptions/permission_error.html:6 msgid "" "A file permission error was detected while processing this request. Common " "causes include the following:" msgstr "" -#: templates/exceptions/permission_error.html:10 +#: netbox/templates/exceptions/permission_error.html:10 msgid "Insufficient write permission to the media root" msgstr "" -#: templates/exceptions/permission_error.html:11 +#: netbox/templates/exceptions/permission_error.html:11 #, python-format msgid "" "The configured media root is %(media_root)s. Ensure that the " @@ -12112,367 +12767,377 @@ msgid "" "path." msgstr "" -#: templates/exceptions/programming_error.html:6 +#: netbox/templates/exceptions/programming_error.html:6 msgid "" "A database programming error was detected while processing this request. " "Common causes include the following:" msgstr "" -#: templates/exceptions/programming_error.html:10 +#: netbox/templates/exceptions/programming_error.html:10 msgid "Database migrations missing" msgstr "" -#: templates/exceptions/programming_error.html:11 +#: netbox/templates/exceptions/programming_error.html:11 msgid "" "When upgrading to a new NetBox release, the upgrade script must be run to " "apply any new database migrations. You can run migrations manually by " "executing python3 manage.py migrate from the command line." msgstr "" -#: templates/exceptions/programming_error.html:18 +#: netbox/templates/exceptions/programming_error.html:18 msgid "Unsupported PostgreSQL version" msgstr "" -#: templates/exceptions/programming_error.html:19 +#: netbox/templates/exceptions/programming_error.html:19 msgid "" "Ensure that PostgreSQL version 12 or later is in use. You can check this by " "connecting to the database using NetBox's credentials and issuing a query " "for SELECT VERSION()." msgstr "" -#: templates/extras/configcontext.html:45 -#: templates/extras/configtemplate.html:37 -#: templates/extras/exporttemplate.html:51 +#: netbox/templates/extras/configcontext.html:45 +#: netbox/templates/extras/configtemplate.html:37 +#: netbox/templates/extras/exporttemplate.html:51 msgid "The data file associated with this object has been deleted" msgstr "" -#: templates/extras/configcontext.html:54 -#: templates/extras/configtemplate.html:46 -#: templates/extras/exporttemplate.html:60 +#: netbox/templates/extras/configcontext.html:54 +#: netbox/templates/extras/configtemplate.html:46 +#: netbox/templates/extras/exporttemplate.html:60 msgid "Data Synced" msgstr "" -#: templates/extras/configcontext_list.html:7 -#: templates/extras/configtemplate_list.html:7 -#: templates/extras/exporttemplate_list.html:7 +#: netbox/templates/extras/configcontext_list.html:7 +#: netbox/templates/extras/configtemplate_list.html:7 +#: netbox/templates/extras/exporttemplate_list.html:7 msgid "Sync Data" msgstr "" -#: templates/extras/configtemplate.html:56 +#: netbox/templates/extras/configtemplate.html:56 msgid "Environment Parameters" msgstr "" -#: templates/extras/configtemplate.html:67 -#: templates/extras/exporttemplate.html:79 +#: netbox/templates/extras/configtemplate.html:67 +#: netbox/templates/extras/exporttemplate.html:79 msgid "Template" msgstr "" -#: templates/extras/customfield.html:30 templates/extras/customlink.html:21 +#: netbox/templates/extras/customfield.html:30 +#: netbox/templates/extras/customlink.html:21 msgid "Group Name" msgstr "" -#: templates/extras/customfield.html:42 +#: netbox/templates/extras/customfield.html:42 msgid "Must be Unique" msgstr "" -#: templates/extras/customfield.html:46 +#: netbox/templates/extras/customfield.html:46 msgid "Cloneable" msgstr "" -#: templates/extras/customfield.html:56 +#: netbox/templates/extras/customfield.html:56 msgid "Default Value" msgstr "" -#: templates/extras/customfield.html:73 +#: netbox/templates/extras/customfield.html:73 msgid "Search Weight" msgstr "" -#: templates/extras/customfield.html:83 +#: netbox/templates/extras/customfield.html:83 msgid "Filter Logic" msgstr "" -#: templates/extras/customfield.html:87 +#: netbox/templates/extras/customfield.html:87 msgid "Display Weight" msgstr "" -#: templates/extras/customfield.html:91 +#: netbox/templates/extras/customfield.html:91 msgid "UI Visible" msgstr "" -#: templates/extras/customfield.html:95 +#: netbox/templates/extras/customfield.html:95 msgid "UI Editable" msgstr "" -#: templates/extras/customfield.html:115 +#: netbox/templates/extras/customfield.html:115 msgid "Validation Rules" msgstr "" -#: templates/extras/customfield.html:126 +#: netbox/templates/extras/customfield.html:126 msgid "Regular Expression" msgstr "" -#: templates/extras/customlink.html:29 +#: netbox/templates/extras/customlink.html:29 msgid "Button Class" msgstr "" -#: templates/extras/customlink.html:39 templates/extras/exporttemplate.html:66 -#: templates/extras/savedfilter.html:39 +#: netbox/templates/extras/customlink.html:39 +#: netbox/templates/extras/exporttemplate.html:66 +#: netbox/templates/extras/savedfilter.html:39 msgid "Assigned Models" msgstr "" -#: templates/extras/customlink.html:52 +#: netbox/templates/extras/customlink.html:52 msgid "Link Text" msgstr "" -#: templates/extras/customlink.html:58 +#: netbox/templates/extras/customlink.html:58 msgid "Link URL" msgstr "" -#: templates/extras/dashboard/reset.html:4 templates/home.html:66 +#: netbox/templates/extras/dashboard/reset.html:4 netbox/templates/home.html:66 msgid "Reset Dashboard" msgstr "" -#: templates/extras/dashboard/reset.html:8 +#: netbox/templates/extras/dashboard/reset.html:8 msgid "" "This will remove all configured widgets and restore the " "default dashboard configuration." msgstr "" -#: templates/extras/dashboard/reset.html:13 +#: netbox/templates/extras/dashboard/reset.html:13 msgid "" "This change affects only your dashboard, and will not impact other " "users." msgstr "" -#: templates/extras/dashboard/widget.html:21 +#: netbox/templates/extras/dashboard/widget.html:21 msgid "widget configuration" msgstr "" -#: templates/extras/dashboard/widget.html:36 +#: netbox/templates/extras/dashboard/widget.html:36 msgid "Close widget" msgstr "" -#: templates/extras/dashboard/widget_add.html:7 +#: netbox/templates/extras/dashboard/widget_add.html:7 msgid "Add a Widget" msgstr "" -#: templates/extras/dashboard/widgets/bookmarks.html:14 +#: netbox/templates/extras/dashboard/widgets/bookmarks.html:14 msgid "No bookmarks have been added yet." msgstr "" -#: templates/extras/dashboard/widgets/objectcounts.html:10 +#: netbox/templates/extras/dashboard/widgets/objectcounts.html:10 msgid "No permission" msgstr "" -#: templates/extras/dashboard/widgets/objectlist.html:6 +#: netbox/templates/extras/dashboard/widgets/objectlist.html:6 msgid "No permission to view this content" msgstr "" -#: templates/extras/dashboard/widgets/objectlist.html:10 +#: netbox/templates/extras/dashboard/widgets/objectlist.html:10 msgid "Unable to load content. Invalid view name" msgstr "" -#: templates/extras/dashboard/widgets/rssfeed.html:12 +#: netbox/templates/extras/dashboard/widgets/rssfeed.html:12 msgid "No content found" msgstr "" -#: templates/extras/dashboard/widgets/rssfeed.html:18 +#: netbox/templates/extras/dashboard/widgets/rssfeed.html:18 msgid "There was a problem fetching the RSS feed" msgstr "" -#: templates/extras/dashboard/widgets/rssfeed.html:21 +#: netbox/templates/extras/dashboard/widgets/rssfeed.html:21 msgid "HTTP" msgstr "" -#: templates/extras/eventrule.html:61 +#: netbox/templates/extras/eventrule.html:61 msgid "Conditions" msgstr "" -#: templates/extras/exporttemplate.html:23 +#: netbox/templates/extras/exporttemplate.html:23 msgid "MIME Type" msgstr "" -#: templates/extras/exporttemplate.html:27 +#: netbox/templates/extras/exporttemplate.html:27 msgid "File Extension" msgstr "" -#: templates/extras/htmx/script_result.html:10 +#: netbox/templates/extras/htmx/script_result.html:10 msgid "Scheduled for" msgstr "" -#: templates/extras/htmx/script_result.html:15 +#: netbox/templates/extras/htmx/script_result.html:15 msgid "Duration" msgstr "" -#: templates/extras/htmx/script_result.html:23 +#: netbox/templates/extras/htmx/script_result.html:23 msgid "Test Summary" msgstr "" -#: templates/extras/htmx/script_result.html:43 +#: netbox/templates/extras/htmx/script_result.html:43 msgid "Log" msgstr "" -#: templates/extras/htmx/script_result.html:56 +#: netbox/templates/extras/htmx/script_result.html:56 msgid "Output" msgstr "" -#: templates/extras/inc/result_pending.html:4 +#: netbox/templates/extras/inc/result_pending.html:4 msgid "Loading" msgstr "" -#: templates/extras/inc/result_pending.html:6 +#: netbox/templates/extras/inc/result_pending.html:6 msgid "Results pending" msgstr "" -#: templates/extras/journalentry.html:15 +#: netbox/templates/extras/journalentry.html:15 msgid "Journal Entry" msgstr "" -#: templates/extras/notificationgroup.html:11 +#: netbox/templates/extras/notificationgroup.html:11 msgid "Notification Group" msgstr "" -#: templates/extras/notificationgroup.html:36 -#: templates/extras/notificationgroup.html:46 -#: utilities/templates/widgets/clearable_file_input.html:12 +#: netbox/templates/extras/notificationgroup.html:36 +#: netbox/templates/extras/notificationgroup.html:46 +#: netbox/utilities/templates/widgets/clearable_file_input.html:12 msgid "None assigned" msgstr "" -#: templates/extras/object_configcontext.html:19 +#: netbox/templates/extras/object_configcontext.html:19 msgid "The local config context overwrites all source contexts" msgstr "" -#: templates/extras/object_configcontext.html:25 +#: netbox/templates/extras/object_configcontext.html:25 msgid "Source Contexts" msgstr "" -#: templates/extras/object_journal.html:17 +#: netbox/templates/extras/object_journal.html:17 msgid "New Journal Entry" msgstr "" -#: templates/extras/report/base.html:30 +#: netbox/templates/extras/report/base.html:30 msgid "Report" msgstr "" -#: templates/extras/script.html:14 +#: netbox/templates/extras/script.html:14 msgid "You do not have permission to run scripts" msgstr "" -#: templates/extras/script.html:41 templates/extras/script.html:45 -#: templates/extras/script_list.html:86 +#: netbox/templates/extras/script.html:41 +#: netbox/templates/extras/script.html:45 +#: netbox/templates/extras/script_list.html:87 msgid "Run Script" msgstr "" -#: templates/extras/script.html:51 templates/extras/script/source.html:10 +#: netbox/templates/extras/script.html:51 +#: netbox/templates/extras/script/source.html:10 msgid "Error loading script" msgstr "" -#: templates/extras/script/jobs.html:16 +#: netbox/templates/extras/script/jobs.html:16 msgid "Script no longer exists in the source file." msgstr "" -#: templates/extras/script_list.html:46 +#: netbox/templates/extras/script_list.html:47 msgid "Last Run" msgstr "" -#: templates/extras/script_list.html:61 +#: netbox/templates/extras/script_list.html:62 msgid "Script is no longer present in the source file" msgstr "" -#: templates/extras/script_list.html:74 +#: netbox/templates/extras/script_list.html:75 msgid "Never" msgstr "" -#: templates/extras/script_list.html:84 +#: netbox/templates/extras/script_list.html:85 msgid "Run Again" msgstr "" -#: templates/extras/script_list.html:138 +#: netbox/templates/extras/script_list.html:133 +#, python-format +msgid "Could not load scripts from module %(module)s" +msgstr "" + +#: netbox/templates/extras/script_list.html:141 msgid "No Scripts Found" msgstr "" -#: templates/extras/script_list.html:141 +#: netbox/templates/extras/script_list.html:144 #, python-format msgid "" "Get started by creating a script from " "an uploaded file or data source." msgstr "" -#: templates/extras/script_result.html:35 templates/generic/object_list.html:50 -#: templates/search.html:13 +#: netbox/templates/extras/script_result.html:35 +#: netbox/templates/generic/object_list.html:50 netbox/templates/search.html:13 msgid "Results" msgstr "" -#: templates/extras/script_result.html:46 +#: netbox/templates/extras/script_result.html:46 msgid "Log threshold" msgstr "" -#: templates/extras/script_result.html:56 +#: netbox/templates/extras/script_result.html:56 msgid "All" msgstr "" -#: templates/extras/tag.html:32 +#: netbox/templates/extras/tag.html:32 msgid "Tagged Items" msgstr "" -#: templates/extras/tag.html:43 +#: netbox/templates/extras/tag.html:43 msgid "Allowed Object Types" msgstr "" -#: templates/extras/tag.html:51 +#: netbox/templates/extras/tag.html:51 msgid "Any" msgstr "" -#: templates/extras/tag.html:57 +#: netbox/templates/extras/tag.html:57 msgid "Tagged Item Types" msgstr "" -#: templates/extras/tag.html:81 +#: netbox/templates/extras/tag.html:81 msgid "Tagged Objects" msgstr "" -#: templates/extras/webhook.html:26 +#: netbox/templates/extras/webhook.html:26 msgid "HTTP Method" msgstr "" -#: templates/extras/webhook.html:34 +#: netbox/templates/extras/webhook.html:34 msgid "HTTP Content Type" msgstr "" -#: templates/extras/webhook.html:47 +#: netbox/templates/extras/webhook.html:47 msgid "SSL Verification" msgstr "" -#: templates/extras/webhook.html:60 +#: netbox/templates/extras/webhook.html:60 msgid "Additional Headers" msgstr "" -#: templates/extras/webhook.html:70 +#: netbox/templates/extras/webhook.html:70 msgid "Body Template" msgstr "" -#: templates/generic/bulk_add_component.html:29 +#: netbox/templates/generic/bulk_add_component.html:29 msgid "Bulk Creation" msgstr "" -#: templates/generic/bulk_add_component.html:34 -#: templates/generic/bulk_delete.html:32 templates/generic/bulk_edit.html:33 +#: netbox/templates/generic/bulk_add_component.html:34 +#: netbox/templates/generic/bulk_delete.html:32 +#: netbox/templates/generic/bulk_edit.html:33 msgid "Selected Objects" msgstr "" -#: templates/generic/bulk_add_component.html:58 +#: netbox/templates/generic/bulk_add_component.html:58 msgid "to Add" msgstr "" -#: templates/generic/bulk_delete.html:27 +#: netbox/templates/generic/bulk_delete.html:27 msgid "Bulk Delete" msgstr "" -#: templates/generic/bulk_delete.html:49 +#: netbox/templates/generic/bulk_delete.html:49 msgid "Confirm Bulk Deletion" msgstr "" -#: templates/generic/bulk_delete.html:50 +#: netbox/templates/generic/bulk_delete.html:50 #, python-format msgid "" "The following operation will delete %(count)s " @@ -12480,79 +13145,82 @@ msgid "" "this action." msgstr "" -#: templates/generic/bulk_edit.html:21 templates/generic/object_edit.html:22 +#: netbox/templates/generic/bulk_edit.html:21 +#: netbox/templates/generic/object_edit.html:22 msgid "Editing" msgstr "" -#: templates/generic/bulk_edit.html:28 +#: netbox/templates/generic/bulk_edit.html:28 msgid "Bulk Edit" msgstr "" -#: templates/generic/bulk_edit.html:107 templates/generic/bulk_rename.html:66 +#: netbox/templates/generic/bulk_edit.html:107 +#: netbox/templates/generic/bulk_rename.html:66 msgid "Apply" msgstr "" -#: templates/generic/bulk_import.html:19 +#: netbox/templates/generic/bulk_import.html:19 msgid "Bulk Import" msgstr "" -#: templates/generic/bulk_import.html:25 +#: netbox/templates/generic/bulk_import.html:25 msgid "Direct Import" msgstr "" -#: templates/generic/bulk_import.html:30 +#: netbox/templates/generic/bulk_import.html:30 msgid "Upload File" msgstr "" -#: templates/generic/bulk_import.html:58 templates/generic/bulk_import.html:80 -#: templates/generic/bulk_import.html:102 +#: netbox/templates/generic/bulk_import.html:58 +#: netbox/templates/generic/bulk_import.html:80 +#: netbox/templates/generic/bulk_import.html:102 msgid "Submit" msgstr "" -#: templates/generic/bulk_import.html:113 +#: netbox/templates/generic/bulk_import.html:113 msgid "Field Options" msgstr "" -#: templates/generic/bulk_import.html:119 +#: netbox/templates/generic/bulk_import.html:119 msgid "Accessor" msgstr "" -#: templates/generic/bulk_import.html:148 +#: netbox/templates/generic/bulk_import.html:148 msgid "choices" msgstr "" -#: templates/generic/bulk_import.html:161 +#: netbox/templates/generic/bulk_import.html:161 msgid "Import Value" msgstr "" -#: templates/generic/bulk_import.html:181 +#: netbox/templates/generic/bulk_import.html:181 msgid "Format: YYYY-MM-DD" msgstr "" -#: templates/generic/bulk_import.html:183 +#: netbox/templates/generic/bulk_import.html:183 msgid "Specify true or false" msgstr "" -#: templates/generic/bulk_import.html:195 +#: netbox/templates/generic/bulk_import.html:195 msgid "Required fields must be specified for all objects." msgstr "" -#: templates/generic/bulk_import.html:201 +#: netbox/templates/generic/bulk_import.html:201 #, python-format msgid "" "Related objects may be referenced by any unique attribute. For example, " "%(example)s would identify a VRF by its route distinguisher." msgstr "" -#: templates/generic/bulk_remove.html:28 +#: netbox/templates/generic/bulk_remove.html:28 msgid "Bulk Remove" msgstr "" -#: templates/generic/bulk_remove.html:42 +#: netbox/templates/generic/bulk_remove.html:42 msgid "Confirm Bulk Removal" msgstr "" -#: templates/generic/bulk_remove.html:43 +#: netbox/templates/generic/bulk_remove.html:43 #, python-format msgid "" "The following operation will remove %(count)s %(obj_type_plural)s from " @@ -12560,440 +13228,442 @@ msgid "" "removed and confirm below." msgstr "" -#: templates/generic/bulk_remove.html:64 +#: netbox/templates/generic/bulk_remove.html:64 #, python-format msgid "Remove these %(count)s %(obj_type_plural)s" msgstr "" -#: templates/generic/bulk_rename.html:20 +#: netbox/templates/generic/bulk_rename.html:20 msgid "Renaming" msgstr "" -#: templates/generic/bulk_rename.html:27 +#: netbox/templates/generic/bulk_rename.html:27 msgid "Bulk Rename" msgstr "" -#: templates/generic/bulk_rename.html:39 +#: netbox/templates/generic/bulk_rename.html:39 msgid "Current Name" msgstr "" -#: templates/generic/bulk_rename.html:40 +#: netbox/templates/generic/bulk_rename.html:40 msgid "New Name" msgstr "" -#: templates/generic/bulk_rename.html:64 -#: utilities/templates/widgets/markdown_input.html:11 +#: netbox/templates/generic/bulk_rename.html:64 +#: netbox/utilities/templates/widgets/markdown_input.html:11 msgid "Preview" msgstr "" -#: templates/generic/confirmation_form.html:16 +#: netbox/templates/generic/confirmation_form.html:16 msgid "Are you sure" msgstr "" -#: templates/generic/confirmation_form.html:20 +#: netbox/templates/generic/confirmation_form.html:20 msgid "Confirm" msgstr "" -#: templates/generic/object_children.html:47 -#: utilities/templates/buttons/bulk_edit.html:4 +#: netbox/templates/generic/object_children.html:47 +#: netbox/utilities/templates/buttons/bulk_edit.html:4 msgid "Edit Selected" msgstr "" -#: templates/generic/object_children.html:61 -#: utilities/templates/buttons/bulk_delete.html:4 +#: netbox/templates/generic/object_children.html:61 +#: netbox/utilities/templates/buttons/bulk_delete.html:4 msgid "Delete Selected" msgstr "" -#: templates/generic/object_edit.html:24 +#: netbox/templates/generic/object_edit.html:24 #, python-format msgid "Add a new %(object_type)s" msgstr "" -#: templates/generic/object_edit.html:35 +#: netbox/templates/generic/object_edit.html:35 msgid "View model documentation" msgstr "" -#: templates/generic/object_edit.html:36 +#: netbox/templates/generic/object_edit.html:36 msgid "Help" msgstr "" -#: templates/generic/object_edit.html:83 +#: netbox/templates/generic/object_edit.html:83 msgid "Create & Add Another" msgstr "" -#: templates/generic/object_list.html:57 +#: netbox/templates/generic/object_list.html:57 msgid "Filters" msgstr "" -#: templates/generic/object_list.html:88 +#: netbox/templates/generic/object_list.html:88 #, python-format msgid "" "Select all %(count)s " "%(object_type_plural)s matching query" msgstr "" -#: templates/home.html:15 +#: netbox/templates/home.html:15 msgid "New Release Available" msgstr "" -#: templates/home.html:16 +#: netbox/templates/home.html:16 msgid "is available" msgstr "" -#: templates/home.html:18 +#: netbox/templates/home.html:18 msgctxt "Document title" msgid "Upgrade Instructions" msgstr "" -#: templates/home.html:40 +#: netbox/templates/home.html:40 msgid "Unlock Dashboard" msgstr "" -#: templates/home.html:49 +#: netbox/templates/home.html:49 msgid "Lock Dashboard" msgstr "" -#: templates/home.html:60 +#: netbox/templates/home.html:60 msgid "Add Widget" msgstr "" -#: templates/home.html:63 +#: netbox/templates/home.html:63 msgid "Save Layout" msgstr "" -#: templates/htmx/delete_form.html:7 +#: netbox/templates/htmx/delete_form.html:7 msgid "Confirm Deletion" msgstr "" -#: templates/htmx/delete_form.html:11 +#: netbox/templates/htmx/delete_form.html:11 #, python-format msgid "" "Are you sure you want to delete " "%(object_type)s %(object)s?" msgstr "" -#: templates/htmx/delete_form.html:17 +#: netbox/templates/htmx/delete_form.html:17 msgid "The following objects will be deleted as a result of this action." msgstr "" -#: templates/htmx/notifications.html:15 +#: netbox/templates/htmx/notifications.html:15 msgid "ago" msgstr "" -#: templates/htmx/notifications.html:26 +#: netbox/templates/htmx/notifications.html:26 msgid "No unread notifications" msgstr "" -#: templates/htmx/notifications.html:31 +#: netbox/templates/htmx/notifications.html:31 msgid "All notifications" msgstr "" -#: templates/htmx/object_selector.html:5 +#: netbox/templates/htmx/object_selector.html:5 msgid "Select" msgstr "" -#: templates/inc/filter_list.html:43 -#: utilities/templates/helpers/table_config_form.html:39 +#: netbox/templates/inc/filter_list.html:43 +#: netbox/utilities/templates/helpers/table_config_form.html:39 msgid "Reset" msgstr "" -#: templates/inc/light_toggle.html:4 +#: netbox/templates/inc/light_toggle.html:4 msgid "Enable dark mode" msgstr "" -#: templates/inc/light_toggle.html:7 +#: netbox/templates/inc/light_toggle.html:7 msgid "Enable light mode" msgstr "" -#: templates/inc/missing_prerequisites.html:8 +#: netbox/templates/inc/missing_prerequisites.html:8 #, python-format msgid "" "Before you can add a %(model)s you must first create a " "%(prerequisite_model)s." msgstr "" -#: templates/inc/paginator.html:15 +#: netbox/templates/inc/paginator.html:15 msgid "Page selection" msgstr "" -#: templates/inc/paginator.html:75 +#: netbox/templates/inc/paginator.html:75 #, python-format msgid "Showing %(start)s-%(end)s of %(total)s" msgstr "" -#: templates/inc/paginator.html:82 +#: netbox/templates/inc/paginator.html:82 msgid "Pagination options" msgstr "" -#: templates/inc/paginator.html:86 +#: netbox/templates/inc/paginator.html:86 msgid "Per Page" msgstr "" -#: templates/inc/panels/image_attachments.html:10 +#: netbox/templates/inc/panels/image_attachments.html:10 msgid "Attach an image" msgstr "" -#: templates/inc/panels/related_objects.html:5 +#: netbox/templates/inc/panels/related_objects.html:5 msgid "Related Objects" msgstr "" -#: templates/inc/panels/tags.html:11 +#: netbox/templates/inc/panels/tags.html:11 msgid "No tags assigned" msgstr "" -#: templates/inc/sync_warning.html:10 +#: netbox/templates/inc/sync_warning.html:10 msgid "Data is out of sync with upstream file" msgstr "" -#: templates/inc/table_controls_htmx.html:7 +#: netbox/templates/inc/table_controls_htmx.html:7 msgid "Quick search" msgstr "" -#: templates/inc/table_controls_htmx.html:20 +#: netbox/templates/inc/table_controls_htmx.html:20 msgid "Saved filter" msgstr "" -#: templates/inc/table_htmx.html:18 +#: netbox/templates/inc/table_htmx.html:18 msgid "Clear ordering" msgstr "" -#: templates/inc/user_menu.html:6 +#: netbox/templates/inc/user_menu.html:6 msgid "Help center" msgstr "" -#: templates/inc/user_menu.html:41 +#: netbox/templates/inc/user_menu.html:41 msgid "Django Admin" msgstr "" -#: templates/inc/user_menu.html:61 +#: netbox/templates/inc/user_menu.html:61 msgid "Log Out" msgstr "" -#: templates/inc/user_menu.html:68 templates/login.html:38 +#: netbox/templates/inc/user_menu.html:68 netbox/templates/login.html:38 msgid "Log In" msgstr "" -#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14 -#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15 +#: netbox/templates/ipam/aggregate.html:14 +#: netbox/templates/ipam/ipaddress.html:14 +#: netbox/templates/ipam/iprange.html:13 netbox/templates/ipam/prefix.html:15 msgid "Family" msgstr "" -#: templates/ipam/aggregate.html:39 +#: netbox/templates/ipam/aggregate.html:39 msgid "Date Added" msgstr "" -#: templates/ipam/aggregate/prefixes.html:8 -#: templates/ipam/prefix/prefixes.html:8 templates/ipam/role.html:10 +#: netbox/templates/ipam/aggregate/prefixes.html:8 +#: netbox/templates/ipam/prefix/prefixes.html:8 +#: netbox/templates/ipam/role.html:10 msgid "Add Prefix" msgstr "" -#: templates/ipam/asn.html:23 +#: netbox/templates/ipam/asn.html:23 msgid "AS Number" msgstr "" -#: templates/ipam/fhrpgroup.html:52 +#: netbox/templates/ipam/fhrpgroup.html:52 msgid "Authentication Type" msgstr "" -#: templates/ipam/fhrpgroup.html:56 +#: netbox/templates/ipam/fhrpgroup.html:56 msgid "Authentication Key" msgstr "" -#: templates/ipam/fhrpgroup.html:69 +#: netbox/templates/ipam/fhrpgroup.html:69 msgid "Virtual IP Addresses" msgstr "" -#: templates/ipam/inc/ipaddress_edit_header.html:13 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:13 msgid "Assign IP" msgstr "" -#: templates/ipam/inc/ipaddress_edit_header.html:19 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:19 msgid "Bulk Create" msgstr "" -#: templates/ipam/inc/panels/fhrp_groups.html:10 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:10 msgid "Create Group" msgstr "" -#: templates/ipam/inc/panels/fhrp_groups.html:25 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:25 msgid "Virtual IPs" msgstr "" -#: templates/ipam/inc/toggle_available.html:7 +#: netbox/templates/ipam/inc/toggle_available.html:7 msgid "Show Assigned" msgstr "" -#: templates/ipam/inc/toggle_available.html:10 +#: netbox/templates/ipam/inc/toggle_available.html:10 msgid "Show Available" msgstr "" -#: templates/ipam/inc/toggle_available.html:13 +#: netbox/templates/ipam/inc/toggle_available.html:13 msgid "Show All" msgstr "" -#: templates/ipam/ipaddress.html:23 templates/ipam/iprange.html:45 -#: templates/ipam/prefix.html:24 +#: netbox/templates/ipam/ipaddress.html:23 +#: netbox/templates/ipam/iprange.html:45 netbox/templates/ipam/prefix.html:24 msgid "Global" msgstr "" -#: templates/ipam/ipaddress.html:85 +#: netbox/templates/ipam/ipaddress.html:85 msgid "NAT (outside)" msgstr "" -#: templates/ipam/ipaddress_assign.html:8 +#: netbox/templates/ipam/ipaddress_assign.html:8 msgid "Assign an IP Address" msgstr "" -#: templates/ipam/ipaddress_assign.html:22 +#: netbox/templates/ipam/ipaddress_assign.html:22 msgid "Select IP Address" msgstr "" -#: templates/ipam/ipaddress_assign.html:35 +#: netbox/templates/ipam/ipaddress_assign.html:35 msgid "Search Results" msgstr "" -#: templates/ipam/ipaddress_bulk_add.html:6 +#: netbox/templates/ipam/ipaddress_bulk_add.html:6 msgid "Bulk Add IP Addresses" msgstr "" -#: templates/ipam/iprange.html:17 +#: netbox/templates/ipam/iprange.html:17 msgid "Starting Address" msgstr "" -#: templates/ipam/iprange.html:21 +#: netbox/templates/ipam/iprange.html:21 msgid "Ending Address" msgstr "" -#: templates/ipam/iprange.html:33 templates/ipam/prefix.html:110 +#: netbox/templates/ipam/iprange.html:33 netbox/templates/ipam/prefix.html:110 msgid "Marked fully utilized" msgstr "" -#: templates/ipam/prefix.html:99 +#: netbox/templates/ipam/prefix.html:99 msgid "Addressing Details" msgstr "" -#: templates/ipam/prefix.html:118 +#: netbox/templates/ipam/prefix.html:118 msgid "Child IPs" msgstr "" -#: templates/ipam/prefix.html:126 +#: netbox/templates/ipam/prefix.html:126 msgid "Available IPs" msgstr "" -#: templates/ipam/prefix.html:138 +#: netbox/templates/ipam/prefix.html:138 msgid "First available IP" msgstr "" -#: templates/ipam/prefix.html:179 +#: netbox/templates/ipam/prefix.html:179 msgid "Prefix Details" msgstr "" -#: templates/ipam/prefix.html:185 +#: netbox/templates/ipam/prefix.html:185 msgid "Network Address" msgstr "" -#: templates/ipam/prefix.html:189 +#: netbox/templates/ipam/prefix.html:189 msgid "Network Mask" msgstr "" -#: templates/ipam/prefix.html:193 +#: netbox/templates/ipam/prefix.html:193 msgid "Wildcard Mask" msgstr "" -#: templates/ipam/prefix.html:197 +#: netbox/templates/ipam/prefix.html:197 msgid "Broadcast Address" msgstr "" -#: templates/ipam/prefix/ip_ranges.html:7 +#: netbox/templates/ipam/prefix/ip_ranges.html:7 msgid "Add IP Range" msgstr "" -#: templates/ipam/prefix_list.html:7 +#: netbox/templates/ipam/prefix_list.html:7 msgid "Hide Depth Indicators" msgstr "" -#: templates/ipam/prefix_list.html:11 +#: netbox/templates/ipam/prefix_list.html:11 msgid "Max Depth" msgstr "" -#: templates/ipam/prefix_list.html:28 +#: netbox/templates/ipam/prefix_list.html:28 msgid "Max Length" msgstr "" -#: templates/ipam/rir.html:10 +#: netbox/templates/ipam/rir.html:10 msgid "Add Aggregate" msgstr "" -#: templates/ipam/routetarget.html:38 +#: netbox/templates/ipam/routetarget.html:38 msgid "Importing VRFs" msgstr "" -#: templates/ipam/routetarget.html:44 +#: netbox/templates/ipam/routetarget.html:44 msgid "Exporting VRFs" msgstr "" -#: templates/ipam/routetarget.html:52 +#: netbox/templates/ipam/routetarget.html:52 msgid "Importing L2VPNs" msgstr "" -#: templates/ipam/routetarget.html:58 +#: netbox/templates/ipam/routetarget.html:58 msgid "Exporting L2VPNs" msgstr "" -#: templates/ipam/vlan.html:88 +#: netbox/templates/ipam/vlan.html:88 msgid "Add a Prefix" msgstr "" -#: templates/ipam/vlangroup.html:18 +#: netbox/templates/ipam/vlangroup.html:18 msgid "Add VLAN" msgstr "" -#: templates/ipam/vrf.html:16 +#: netbox/templates/ipam/vrf.html:16 msgid "Route Distinguisher" msgstr "" -#: templates/ipam/vrf.html:29 +#: netbox/templates/ipam/vrf.html:29 msgid "Unique IP Space" msgstr "" -#: templates/login.html:29 -#: utilities/templates/form_helpers/render_errors.html:7 +#: netbox/templates/login.html:29 +#: netbox/utilities/templates/form_helpers/render_errors.html:7 msgid "Errors" msgstr "" -#: templates/login.html:69 +#: netbox/templates/login.html:69 msgid "Sign In" msgstr "" -#: templates/login.html:77 +#: netbox/templates/login.html:77 msgctxt "Denotes an alternative option" msgid "Or" msgstr "" -#: templates/media_failure.html:7 +#: netbox/templates/media_failure.html:7 msgid "Static Media Failure - NetBox" msgstr "" -#: templates/media_failure.html:21 +#: netbox/templates/media_failure.html:21 msgid "Static Media Failure" msgstr "" -#: templates/media_failure.html:23 +#: netbox/templates/media_failure.html:23 msgid "The following static media file failed to load" msgstr "" -#: templates/media_failure.html:26 +#: netbox/templates/media_failure.html:26 msgid "Check the following" msgstr "" -#: templates/media_failure.html:29 +#: netbox/templates/media_failure.html:29 msgid "" "manage.py collectstatic was run during the most recent upgrade. " "This installs the most recent iteration of each static file into the static " "root path." msgstr "" -#: templates/media_failure.html:35 +#: netbox/templates/media_failure.html:35 #, python-format msgid "" "The HTTP service (e.g. nginx or Apache) is configured to serve files from " @@ -13001,1879 +13671,1914 @@ msgid "" "installation documentation for further guidance." msgstr "" -#: templates/media_failure.html:47 +#: netbox/templates/media_failure.html:47 #, python-format msgid "" "The file %(filename)s exists in the static root directory and " "is readable by the HTTP server." msgstr "" -#: templates/media_failure.html:55 +#: netbox/templates/media_failure.html:55 #, python-format msgid "" "Click here to attempt loading NetBox again." msgstr "" -#: templates/tenancy/contact.html:18 tenancy/filtersets.py:147 -#: 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 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 +#: netbox/tenancy/forms/bulk_edit.py:137 netbox/tenancy/forms/filtersets.py:102 +#: netbox/tenancy/forms/forms.py:56 netbox/tenancy/forms/model_forms.py:106 +#: netbox/tenancy/forms/model_forms.py:130 netbox/tenancy/tables/contacts.py:98 msgid "Contact" msgstr "" -#: templates/tenancy/contact.html:29 tenancy/forms/bulk_edit.py:99 +#: netbox/templates/tenancy/contact.html:29 +#: netbox/tenancy/forms/bulk_edit.py:99 msgid "Title" msgstr "" -#: templates/tenancy/contact.html:33 tenancy/forms/bulk_edit.py:104 -#: tenancy/tables/contacts.py:64 +#: netbox/templates/tenancy/contact.html:33 +#: netbox/tenancy/forms/bulk_edit.py:104 netbox/tenancy/tables/contacts.py:64 msgid "Phone" msgstr "" -#: templates/tenancy/contactgroup.html:18 tenancy/forms/forms.py:66 -#: tenancy/forms/model_forms.py:75 +#: netbox/templates/tenancy/contactgroup.html:18 +#: netbox/tenancy/forms/forms.py:66 netbox/tenancy/forms/model_forms.py:75 msgid "Contact Group" msgstr "" -#: templates/tenancy/contactgroup.html:50 +#: netbox/templates/tenancy/contactgroup.html:50 msgid "Add Contact Group" msgstr "" -#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:152 -#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:87 +#: netbox/templates/tenancy/contactrole.html:15 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "" -#: templates/tenancy/object_contacts.html:9 +#: netbox/templates/tenancy/object_contacts.html:9 msgid "Add a contact" msgstr "" -#: templates/tenancy/tenantgroup.html:17 +#: netbox/templates/tenancy/tenantgroup.html:17 msgid "Add Tenant" msgstr "" -#: templates/tenancy/tenantgroup.html:26 tenancy/forms/model_forms.py:32 -#: tenancy/tables/columns.py:51 tenancy/tables/columns.py:61 +#: netbox/templates/tenancy/tenantgroup.html:26 +#: netbox/tenancy/forms/model_forms.py:32 netbox/tenancy/tables/columns.py:51 +#: netbox/tenancy/tables/columns.py:61 msgid "Tenant Group" msgstr "" -#: templates/tenancy/tenantgroup.html:59 +#: netbox/templates/tenancy/tenantgroup.html:59 msgid "Add Tenant Group" msgstr "" -#: templates/users/group.html:39 templates/users/user.html:63 +#: netbox/templates/users/group.html:39 netbox/templates/users/user.html:63 msgid "Assigned Permissions" msgstr "" -#: templates/users/objectpermission.html:6 -#: templates/users/objectpermission.html:14 users/forms/filtersets.py:66 +#: netbox/templates/users/objectpermission.html:6 +#: netbox/templates/users/objectpermission.html:14 +#: netbox/users/forms/filtersets.py:66 msgid "Permission" msgstr "" -#: templates/users/objectpermission.html:34 +#: netbox/templates/users/objectpermission.html:34 msgid "View" msgstr "" -#: templates/users/objectpermission.html:52 users/forms/model_forms.py:315 +#: netbox/templates/users/objectpermission.html:52 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "" -#: templates/users/objectpermission.html:72 +#: netbox/templates/users/objectpermission.html:72 msgid "Assigned Users" msgstr "" -#: templates/virtualization/cluster.html:52 +#: netbox/templates/virtualization/cluster.html:52 msgid "Allocated Resources" msgstr "" -#: templates/virtualization/cluster.html:55 -#: templates/virtualization/virtualmachine.html:125 +#: netbox/templates/virtualization/cluster.html:55 +#: netbox/templates/virtualization/virtualmachine.html:125 msgid "Virtual CPUs" msgstr "" -#: templates/virtualization/cluster.html:59 -#: templates/virtualization/virtualmachine.html:129 +#: netbox/templates/virtualization/cluster.html:59 +#: netbox/templates/virtualization/virtualmachine.html:129 msgid "Memory" msgstr "" -#: templates/virtualization/cluster.html:69 -#: templates/virtualization/virtualmachine.html:140 +#: netbox/templates/virtualization/cluster.html:69 +#: netbox/templates/virtualization/virtualmachine.html:140 msgid "Disk Space" msgstr "" -#: templates/virtualization/cluster/base.html:18 +#: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "" -#: templates/virtualization/cluster/base.html:24 +#: netbox/templates/virtualization/cluster/base.html:24 msgid "Assign Device" msgstr "" -#: templates/virtualization/cluster/devices.html:10 +#: netbox/templates/virtualization/cluster/devices.html:10 msgid "Remove Selected" msgstr "" -#: templates/virtualization/cluster_add_devices.html:9 +#: netbox/templates/virtualization/cluster_add_devices.html:9 #, python-format msgid "Add Device to Cluster %(cluster)s" msgstr "" -#: templates/virtualization/cluster_add_devices.html:23 +#: netbox/templates/virtualization/cluster_add_devices.html:23 msgid "Device Selection" msgstr "" -#: templates/virtualization/cluster_add_devices.html:31 +#: netbox/templates/virtualization/cluster_add_devices.html:31 msgid "Add Devices" msgstr "" -#: templates/virtualization/clustergroup.html:10 -#: templates/virtualization/clustertype.html:10 +#: netbox/templates/virtualization/clustergroup.html:10 +#: netbox/templates/virtualization/clustertype.html:10 msgid "Add Cluster" msgstr "" -#: templates/virtualization/clustergroup.html:19 -#: virtualization/forms/model_forms.py:50 +#: netbox/templates/virtualization/clustergroup.html:19 +#: netbox/virtualization/forms/model_forms.py:50 msgid "Cluster Group" msgstr "" -#: templates/virtualization/clustertype.html:19 -#: templates/virtualization/virtualmachine.html:110 -#: virtualization/forms/model_forms.py:36 +#: netbox/templates/virtualization/clustertype.html:19 +#: netbox/templates/virtualization/virtualmachine.html:110 +#: netbox/virtualization/forms/model_forms.py:36 msgid "Cluster Type" msgstr "" -#: templates/virtualization/virtualdisk.html:18 +#: netbox/templates/virtualization/virtualdisk.html:18 msgid "Virtual Disk" msgstr "" -#: templates/virtualization/virtualmachine.html:122 -#: virtualization/forms/bulk_edit.py:190 -#: virtualization/forms/model_forms.py:224 +#: netbox/templates/virtualization/virtualmachine.html:122 +#: netbox/virtualization/forms/bulk_edit.py:190 +#: netbox/virtualization/forms/model_forms.py:224 msgid "Resources" msgstr "" -#: templates/virtualization/virtualmachine.html:178 +#: netbox/templates/virtualization/virtualmachine.html:178 msgid "Add Virtual Disk" msgstr "" -#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:33 -#: vpn/tables/crypto.py:166 +#: netbox/templates/vpn/ikepolicy.html:10 +#: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 msgid "IKE Policy" msgstr "" -#: templates/vpn/ikepolicy.html:21 +#: netbox/templates/vpn/ikepolicy.html:21 msgid "IKE Version" msgstr "" -#: templates/vpn/ikepolicy.html:29 +#: netbox/templates/vpn/ikepolicy.html:29 msgid "Pre-Shared Key" msgstr "" -#: templates/vpn/ikepolicy.html:33 -#: templates/wireless/inc/authentication_attrs.html:20 +#: netbox/templates/vpn/ikepolicy.html:33 +#: netbox/templates/wireless/inc/authentication_attrs.html:20 msgid "Show Secret" msgstr "" -#: 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 +#: netbox/templates/vpn/ikepolicy.html:57 +#: netbox/templates/vpn/ipsecpolicy.html:45 +#: netbox/templates/vpn/ipsecprofile.html:52 +#: netbox/templates/vpn/ipsecprofile.html:77 +#: netbox/vpn/forms/model_forms.py:316 netbox/vpn/forms/model_forms.py:352 +#: netbox/vpn/tables/crypto.py:68 netbox/vpn/tables/crypto.py:134 msgid "Proposals" msgstr "" -#: templates/vpn/ikeproposal.html:10 +#: netbox/templates/vpn/ikeproposal.html:10 msgid "IKE Proposal" msgstr "" -#: templates/vpn/ikeproposal.html:21 vpn/forms/bulk_edit.py:97 -#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:101 +#: netbox/templates/vpn/ikeproposal.html:21 netbox/vpn/forms/bulk_edit.py:97 +#: netbox/vpn/forms/bulk_import.py:145 netbox/vpn/forms/filtersets.py:101 msgid "Authentication method" msgstr "" -#: 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:106 vpn/forms/filtersets.py:154 +#: netbox/templates/vpn/ikeproposal.html:25 +#: netbox/templates/vpn/ipsecproposal.html:21 netbox/vpn/forms/bulk_edit.py:102 +#: netbox/vpn/forms/bulk_edit.py:172 netbox/vpn/forms/bulk_import.py:149 +#: netbox/vpn/forms/bulk_import.py:195 netbox/vpn/forms/filtersets.py:106 +#: netbox/vpn/forms/filtersets.py:154 msgid "Encryption algorithm" msgstr "" -#: 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:111 vpn/forms/filtersets.py:159 +#: netbox/templates/vpn/ikeproposal.html:29 +#: netbox/templates/vpn/ipsecproposal.html:25 netbox/vpn/forms/bulk_edit.py:107 +#: netbox/vpn/forms/bulk_edit.py:177 netbox/vpn/forms/bulk_import.py:153 +#: netbox/vpn/forms/bulk_import.py:200 netbox/vpn/forms/filtersets.py:111 +#: netbox/vpn/forms/filtersets.py:159 msgid "Authentication algorithm" msgstr "" -#: templates/vpn/ikeproposal.html:33 +#: netbox/templates/vpn/ikeproposal.html:33 msgid "DH group" msgstr "" -#: templates/vpn/ikeproposal.html:37 templates/vpn/ipsecproposal.html:29 -#: vpn/forms/bulk_edit.py:182 vpn/models/crypto.py:146 +#: netbox/templates/vpn/ikeproposal.html:37 +#: netbox/templates/vpn/ipsecproposal.html:29 netbox/vpn/forms/bulk_edit.py:182 +#: netbox/vpn/models/crypto.py:146 msgid "SA lifetime (seconds)" msgstr "" -#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:66 -#: vpn/tables/crypto.py:170 +#: netbox/templates/vpn/ipsecpolicy.html:10 +#: netbox/templates/vpn/ipsecprofile.html:66 netbox/vpn/tables/crypto.py:170 msgid "IPSec Policy" msgstr "" -#: templates/vpn/ipsecpolicy.html:21 vpn/forms/bulk_edit.py:210 -#: vpn/models/crypto.py:193 +#: netbox/templates/vpn/ipsecpolicy.html:21 netbox/vpn/forms/bulk_edit.py:210 +#: netbox/vpn/models/crypto.py:193 msgid "PFS group" msgstr "" -#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:54 +#: netbox/templates/vpn/ipsecprofile.html:10 netbox/vpn/forms/model_forms.py:54 msgid "IPSec Profile" msgstr "" -#: templates/vpn/ipsecprofile.html:89 vpn/tables/crypto.py:137 +#: netbox/templates/vpn/ipsecprofile.html:89 netbox/vpn/tables/crypto.py:137 msgid "PFS Group" msgstr "" -#: templates/vpn/ipsecproposal.html:10 +#: netbox/templates/vpn/ipsecproposal.html:10 msgid "IPSec Proposal" msgstr "" -#: templates/vpn/ipsecproposal.html:33 vpn/forms/bulk_edit.py:186 -#: vpn/models/crypto.py:152 +#: netbox/templates/vpn/ipsecproposal.html:33 netbox/vpn/forms/bulk_edit.py:186 +#: netbox/vpn/models/crypto.py:152 msgid "SA lifetime (KB)" msgstr "" -#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:9 +#: netbox/templates/vpn/l2vpn.html:11 +#: netbox/templates/vpn/l2vpntermination.html:9 msgid "L2VPN Attributes" msgstr "" -#: templates/vpn/l2vpn.html:60 templates/vpn/tunnel.html:76 +#: netbox/templates/vpn/l2vpn.html:60 netbox/templates/vpn/tunnel.html:76 msgid "Add a Termination" msgstr "" -#: templates/vpn/tunnel.html:9 +#: netbox/templates/vpn/tunnel.html:9 msgid "Add Termination" msgstr "" -#: templates/vpn/tunnel.html:37 vpn/forms/bulk_edit.py:49 -#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:57 +#: netbox/templates/vpn/tunnel.html:37 netbox/vpn/forms/bulk_edit.py:49 +#: netbox/vpn/forms/bulk_import.py:48 netbox/vpn/forms/filtersets.py:57 msgid "Encapsulation" msgstr "" -#: 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 +#: netbox/templates/vpn/tunnel.html:41 netbox/vpn/forms/bulk_edit.py:55 +#: netbox/vpn/forms/bulk_import.py:53 netbox/vpn/forms/filtersets.py:64 +#: netbox/vpn/models/crypto.py:250 netbox/vpn/tables/tunnels.py:51 msgid "IPSec profile" msgstr "" -#: templates/vpn/tunnel.html:45 vpn/forms/bulk_edit.py:69 -#: vpn/forms/filtersets.py:68 +#: netbox/templates/vpn/tunnel.html:45 netbox/vpn/forms/bulk_edit.py:69 +#: netbox/vpn/forms/filtersets.py:68 msgid "Tunnel ID" msgstr "" -#: templates/vpn/tunnelgroup.html:14 +#: netbox/templates/vpn/tunnelgroup.html:14 msgid "Add Tunnel" msgstr "" -#: templates/vpn/tunnelgroup.html:23 vpn/forms/model_forms.py:36 -#: vpn/forms/model_forms.py:49 +#: netbox/templates/vpn/tunnelgroup.html:23 netbox/vpn/forms/model_forms.py:36 +#: netbox/vpn/forms/model_forms.py:49 msgid "Tunnel Group" msgstr "" -#: templates/vpn/tunneltermination.html:10 +#: netbox/templates/vpn/tunneltermination.html:10 msgid "Tunnel Termination" msgstr "" -#: 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 +#: netbox/templates/vpn/tunneltermination.html:35 +#: netbox/vpn/forms/bulk_import.py:107 netbox/vpn/forms/model_forms.py:102 +#: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:247 +#: netbox/vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "" -#: templates/vpn/tunneltermination.html:51 +#: netbox/templates/vpn/tunneltermination.html:51 msgid "Peer Terminations" msgstr "" -#: templates/wireless/inc/authentication_attrs.html:12 +#: netbox/templates/wireless/inc/authentication_attrs.html:12 msgid "Cipher" msgstr "" -#: templates/wireless/inc/authentication_attrs.html:16 +#: netbox/templates/wireless/inc/authentication_attrs.html:16 msgid "PSK" msgstr "" -#: templates/wireless/inc/wirelesslink_interface.html:35 -#: templates/wireless/inc/wirelesslink_interface.html:45 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:35 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:45 msgctxt "Abbreviation for megahertz" msgid "MHz" msgstr "" -#: templates/wireless/wirelesslan.html:57 +#: netbox/templates/wireless/wirelesslan.html:57 msgid "Attached Interfaces" msgstr "" -#: templates/wireless/wirelesslangroup.html:17 +#: netbox/templates/wireless/wirelesslangroup.html:17 msgid "Add Wireless LAN" msgstr "" -#: templates/wireless/wirelesslangroup.html:26 wireless/forms/model_forms.py:28 +#: netbox/templates/wireless/wirelesslangroup.html:26 +#: netbox/wireless/forms/model_forms.py:28 msgid "Wireless LAN Group" msgstr "" -#: templates/wireless/wirelesslangroup.html:59 +#: netbox/templates/wireless/wirelesslangroup.html:59 msgid "Add Wireless LAN Group" msgstr "" -#: templates/wireless/wirelesslink.html:14 +#: netbox/templates/wireless/wirelesslink.html:14 msgid "Link Properties" msgstr "" -#: templates/wireless/wirelesslink.html:38 wireless/forms/bulk_edit.py:129 -#: wireless/forms/filtersets.py:102 wireless/forms/model_forms.py:165 +#: netbox/templates/wireless/wirelesslink.html:38 +#: netbox/wireless/forms/bulk_edit.py:129 +#: netbox/wireless/forms/filtersets.py:102 +#: netbox/wireless/forms/model_forms.py:165 msgid "Distance" msgstr "" -#: tenancy/filtersets.py:28 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "" -#: tenancy/filtersets.py:34 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "" -#: tenancy/filtersets.py:40 tenancy/filtersets.py:67 tenancy/filtersets.py:110 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "" -#: tenancy/filtersets.py:47 tenancy/filtersets.py:74 tenancy/filtersets.py:117 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "" -#: tenancy/filtersets.py:104 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "" -#: tenancy/filtersets.py:121 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "" -#: tenancy/filtersets.py:127 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "" -#: tenancy/filtersets.py:158 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "" -#: tenancy/filtersets.py:169 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "" -#: tenancy/filtersets.py:175 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "" -#: tenancy/filtersets.py:181 tenancy/filtersets.py:201 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "" -#: tenancy/filtersets.py:234 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "" -#: tenancy/filtersets.py:241 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "" -#: tenancy/forms/bulk_edit.py:66 +#: netbox/tenancy/forms/bulk_edit.py:66 msgid "Desciption" msgstr "" -#: tenancy/forms/bulk_import.py:101 +#: netbox/tenancy/forms/bulk_import.py:101 msgid "Assigned contact" msgstr "" -#: tenancy/models/contacts.py:32 +#: netbox/tenancy/models/contacts.py:32 msgid "contact group" msgstr "" -#: tenancy/models/contacts.py:33 +#: netbox/tenancy/models/contacts.py:33 msgid "contact groups" msgstr "" -#: tenancy/models/contacts.py:48 +#: netbox/tenancy/models/contacts.py:48 msgid "contact role" msgstr "" -#: tenancy/models/contacts.py:49 +#: netbox/tenancy/models/contacts.py:49 msgid "contact roles" msgstr "" -#: tenancy/models/contacts.py:68 +#: netbox/tenancy/models/contacts.py:68 msgid "title" msgstr "" -#: tenancy/models/contacts.py:73 +#: netbox/tenancy/models/contacts.py:73 msgid "phone" msgstr "" -#: tenancy/models/contacts.py:78 +#: netbox/tenancy/models/contacts.py:78 msgid "email" msgstr "" -#: tenancy/models/contacts.py:87 +#: netbox/tenancy/models/contacts.py:87 msgid "link" msgstr "" -#: tenancy/models/contacts.py:103 +#: netbox/tenancy/models/contacts.py:103 msgid "contact" msgstr "" -#: tenancy/models/contacts.py:104 +#: netbox/tenancy/models/contacts.py:104 msgid "contacts" msgstr "" -#: tenancy/models/contacts.py:153 +#: netbox/tenancy/models/contacts.py:153 msgid "contact assignment" msgstr "" -#: tenancy/models/contacts.py:154 +#: netbox/tenancy/models/contacts.py:154 msgid "contact assignments" msgstr "" -#: tenancy/models/contacts.py:170 +#: netbox/tenancy/models/contacts.py:170 #, python-brace-format msgid "Contacts cannot be assigned to this object type ({type})." msgstr "" -#: tenancy/models/tenants.py:32 +#: netbox/tenancy/models/tenants.py:32 msgid "tenant group" msgstr "" -#: tenancy/models/tenants.py:33 +#: netbox/tenancy/models/tenants.py:33 msgid "tenant groups" msgstr "" -#: tenancy/models/tenants.py:70 +#: netbox/tenancy/models/tenants.py:70 msgid "Tenant name must be unique per group." msgstr "" -#: tenancy/models/tenants.py:80 +#: netbox/tenancy/models/tenants.py:80 msgid "Tenant slug must be unique per group." msgstr "" -#: tenancy/models/tenants.py:88 +#: netbox/tenancy/models/tenants.py:88 msgid "tenant" msgstr "" -#: tenancy/models/tenants.py:89 +#: netbox/tenancy/models/tenants.py:89 msgid "tenants" msgstr "" -#: tenancy/tables/contacts.py:112 +#: netbox/tenancy/tables/contacts.py:112 msgid "Contact Title" msgstr "" -#: tenancy/tables/contacts.py:116 +#: netbox/tenancy/tables/contacts.py:116 msgid "Contact Phone" msgstr "" -#: tenancy/tables/contacts.py:121 +#: netbox/tenancy/tables/contacts.py:121 msgid "Contact Email" msgstr "" -#: tenancy/tables/contacts.py:125 +#: netbox/tenancy/tables/contacts.py:125 msgid "Contact Address" msgstr "" -#: tenancy/tables/contacts.py:129 +#: netbox/tenancy/tables/contacts.py:129 msgid "Contact Link" msgstr "" -#: tenancy/tables/contacts.py:133 +#: netbox/tenancy/tables/contacts.py:133 msgid "Contact Description" msgstr "" -#: users/filtersets.py:33 users/filtersets.py:73 +#: netbox/users/filtersets.py:33 netbox/users/filtersets.py:73 msgid "Permission (ID)" msgstr "" -#: users/filtersets.py:38 users/filtersets.py:78 +#: netbox/users/filtersets.py:38 netbox/users/filtersets.py:78 msgid "Notification group (ID)" msgstr "" -#: users/forms/bulk_edit.py:26 +#: netbox/users/forms/bulk_edit.py:26 msgid "First name" msgstr "" -#: users/forms/bulk_edit.py:31 +#: netbox/users/forms/bulk_edit.py:31 msgid "Last name" msgstr "" -#: users/forms/bulk_edit.py:43 +#: netbox/users/forms/bulk_edit.py:43 msgid "Staff status" msgstr "" -#: users/forms/bulk_edit.py:48 +#: netbox/users/forms/bulk_edit.py:48 msgid "Superuser status" msgstr "" -#: users/forms/bulk_import.py:41 +#: netbox/users/forms/bulk_import.py:41 msgid "If no key is provided, one will be generated automatically." msgstr "" -#: users/forms/filtersets.py:51 users/tables.py:42 +#: netbox/users/forms/filtersets.py:51 netbox/users/tables.py:42 msgid "Is Staff" msgstr "" -#: users/forms/filtersets.py:58 users/tables.py:45 +#: netbox/users/forms/filtersets.py:58 netbox/users/tables.py:45 msgid "Is Superuser" msgstr "" -#: users/forms/filtersets.py:91 users/tables.py:86 +#: netbox/users/forms/filtersets.py:91 netbox/users/tables.py:86 msgid "Can View" msgstr "" -#: users/forms/filtersets.py:98 users/tables.py:89 +#: netbox/users/forms/filtersets.py:98 netbox/users/tables.py:89 msgid "Can Add" msgstr "" -#: users/forms/filtersets.py:105 users/tables.py:92 +#: netbox/users/forms/filtersets.py:105 netbox/users/tables.py:92 msgid "Can Change" msgstr "" -#: users/forms/filtersets.py:112 users/tables.py:95 +#: netbox/users/forms/filtersets.py:112 netbox/users/tables.py:95 msgid "Can Delete" msgstr "" -#: users/forms/model_forms.py:62 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "" -#: users/forms/model_forms.py:114 +#: netbox/users/forms/model_forms.py:114 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 " "accessible once the token has been created." msgstr "" -#: users/forms/model_forms.py:126 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for " "no restrictions. Example: 10.1.1.0/24,192.168.10.16/32,2001:" "db8:1::/64" msgstr "" -#: users/forms/model_forms.py:175 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "" -#: users/forms/model_forms.py:178 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "" -#: users/forms/model_forms.py:227 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" -#: users/forms/model_forms.py:294 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "" -#: users/forms/model_forms.py:297 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "" -#: users/forms/model_forms.py:313 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "" -#: users/forms/model_forms.py:325 +#: netbox/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 " "objects will result in a logical OR operation." msgstr "" -#: users/forms/model_forms.py:364 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "" -#: users/forms/model_forms.py:382 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "" -#: users/models/permissions.py:39 +#: netbox/users/models/permissions.py:39 msgid "The list of actions granted by this permission" msgstr "" -#: users/models/permissions.py:44 +#: netbox/users/models/permissions.py:44 msgid "constraints" msgstr "" -#: users/models/permissions.py:45 +#: netbox/users/models/permissions.py:45 msgid "Queryset filter matching the applicable objects of the selected type(s)" msgstr "" -#: users/models/permissions.py:52 +#: netbox/users/models/permissions.py:52 msgid "permission" msgstr "" -#: users/models/permissions.py:53 users/models/users.py:47 +#: netbox/users/models/permissions.py:53 netbox/users/models/users.py:47 msgid "permissions" msgstr "" -#: users/models/preferences.py:29 users/models/preferences.py:30 +#: netbox/users/models/preferences.py:29 netbox/users/models/preferences.py:30 msgid "user preferences" msgstr "" -#: users/models/preferences.py:97 +#: netbox/users/models/preferences.py:97 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "" -#: users/models/preferences.py:109 +#: netbox/users/models/preferences.py:109 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" -#: users/models/tokens.py:36 +#: netbox/users/models/tokens.py:36 msgid "expires" msgstr "" -#: users/models/tokens.py:41 +#: netbox/users/models/tokens.py:41 msgid "last used" msgstr "" -#: users/models/tokens.py:46 +#: netbox/users/models/tokens.py:46 msgid "key" msgstr "" -#: users/models/tokens.py:52 +#: netbox/users/models/tokens.py:52 msgid "write enabled" msgstr "" -#: users/models/tokens.py:54 +#: netbox/users/models/tokens.py:54 msgid "Permit create/update/delete operations using this key" msgstr "" -#: users/models/tokens.py:65 +#: netbox/users/models/tokens.py:65 msgid "allowed IPs" msgstr "" -#: users/models/tokens.py:67 +#: netbox/users/models/tokens.py:67 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\"" msgstr "" -#: users/models/tokens.py:75 +#: netbox/users/models/tokens.py:75 msgid "token" msgstr "" -#: users/models/tokens.py:76 +#: netbox/users/models/tokens.py:76 msgid "tokens" msgstr "" -#: users/models/users.py:57 vpn/models/crypto.py:42 +#: netbox/users/models/users.py:57 netbox/vpn/models/crypto.py:42 msgid "group" msgstr "" -#: users/models/users.py:92 +#: netbox/users/models/users.py:92 msgid "user" msgstr "" -#: users/models/users.py:104 +#: netbox/users/models/users.py:104 msgid "A user with this username already exists." msgstr "" -#: users/tables.py:98 +#: netbox/users/tables.py:98 msgid "Custom Actions" msgstr "" -#: utilities/api.py:153 +#: netbox/utilities/api.py:153 #, python-brace-format msgid "Related object not found using the provided attributes: {params}" msgstr "" -#: utilities/api.py:156 +#: netbox/utilities/api.py:156 #, python-brace-format msgid "Multiple objects match the provided attributes: {params}" msgstr "" -#: utilities/api.py:168 +#: netbox/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 "" -#: utilities/api.py:177 +#: netbox/utilities/api.py:177 #, python-brace-format msgid "Related object not found using the provided numeric ID: {id}" msgstr "" -#: utilities/choices.py:19 +#: netbox/utilities/choices.py:19 #, python-brace-format msgid "{name} has a key defined but CHOICES is not a list" msgstr "" -#: utilities/conversion.py:19 +#: netbox/utilities/conversion.py:19 msgid "Weight must be a positive number" msgstr "" -#: utilities/conversion.py:21 +#: netbox/utilities/conversion.py:21 #, python-brace-format msgid "Invalid value '{weight}' for weight (must be a number)" msgstr "" -#: utilities/conversion.py:32 utilities/conversion.py:62 +#: netbox/utilities/conversion.py:32 netbox/utilities/conversion.py:62 #, python-brace-format msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" msgstr "" -#: utilities/conversion.py:45 +#: netbox/utilities/conversion.py:45 msgid "Length must be a positive number" msgstr "" -#: utilities/conversion.py:47 +#: netbox/utilities/conversion.py:47 #, python-brace-format msgid "Invalid value '{length}' for length (must be a number)" msgstr "" -#: utilities/error_handlers.py:31 +#: netbox/utilities/error_handlers.py:31 #, python-brace-format msgid "" "Unable to delete {objects}. {count} dependent objects were " "found: " msgstr "" -#: utilities/error_handlers.py:33 +#: netbox/utilities/error_handlers.py:33 msgid "More than 50" msgstr "" -#: utilities/fields.py:30 +#: netbox/utilities/fields.py:30 msgid "RGB color in hexadecimal. Example: " msgstr "" -#: utilities/fields.py:159 +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " "in the format 'app.model'" msgstr "" -#: utilities/fields.py:169 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " "in the format 'field'" msgstr "" -#: utilities/forms/bulk_import.py:23 +#: netbox/utilities/forms/bulk_import.py:23 msgid "Enter object data in CSV, JSON or YAML format." msgstr "" -#: utilities/forms/bulk_import.py:36 +#: netbox/utilities/forms/bulk_import.py:36 msgid "CSV delimiter" msgstr "" -#: utilities/forms/bulk_import.py:37 +#: netbox/utilities/forms/bulk_import.py:37 msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "" -#: utilities/forms/bulk_import.py:51 +#: netbox/utilities/forms/bulk_import.py:51 msgid "Form data must be empty when uploading/selecting a file." msgstr "" -#: utilities/forms/bulk_import.py:80 +#: netbox/utilities/forms/bulk_import.py:80 #, python-brace-format msgid "Unknown data format: {format}" msgstr "" -#: utilities/forms/bulk_import.py:100 +#: netbox/utilities/forms/bulk_import.py:100 msgid "Unable to detect data format. Please specify." msgstr "" -#: utilities/forms/bulk_import.py:123 +#: netbox/utilities/forms/bulk_import.py:123 msgid "Invalid CSV delimiter" msgstr "" -#: utilities/forms/bulk_import.py:167 +#: netbox/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." msgstr "" -#: utilities/forms/fields/array.py:20 +#: netbox/utilities/forms/fields/array.py:20 #, python-brace-format msgid "" "Invalid list ({value}). Must be numeric and ranges must be in ascending " "order." msgstr "" -#: utilities/forms/fields/array.py:40 +#: netbox/utilities/forms/fields/array.py:40 msgid "" "Specify one or more numeric ranges separated by commas. Example: " "1-5,20-30" msgstr "" -#: utilities/forms/fields/array.py:47 +#: netbox/utilities/forms/fields/array.py:47 #, python-brace-format msgid "" "Invalid ranges ({value}). Must be a range of integers in ascending order." msgstr "" -#: utilities/forms/fields/csv.py:44 +#: netbox/utilities/forms/fields/csv.py:44 #, python-brace-format msgid "Invalid value for a multiple choice field: {value}" msgstr "" -#: utilities/forms/fields/csv.py:57 utilities/forms/fields/csv.py:78 +#: netbox/utilities/forms/fields/csv.py:57 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "" -#: utilities/forms/fields/csv.py:65 +#: netbox/utilities/forms/fields/csv.py:65 #, python-brace-format msgid "" "\"{value}\" is not a unique value for this field; multiple objects were found" msgstr "" -#: utilities/forms/fields/csv.py:69 +#: netbox/utilities/forms/fields/csv.py:69 #, python-brace-format msgid "\"{field_name}\" is an invalid accessor field name." msgstr "" -#: utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "" -#: utilities/forms/fields/csv.py:105 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "" -#: utilities/forms/fields/expandable.py:25 +#: netbox/utilities/forms/fields/expandable.py:25 msgid "" "Alphanumeric ranges are supported for bulk creation. Mixed cases and types " "within a single range are not supported (example: [ge,xe]-0/0/[0-9])." msgstr "" -#: utilities/forms/fields/expandable.py:46 +#: netbox/utilities/forms/fields/expandable.py:46 msgid "" "Specify a numeric range to create multiple IPs.
Example: 192.0.2." "[1,5,100-254]/24" msgstr "" -#: utilities/forms/fields/fields.py:31 +#: netbox/utilities/forms/fields/fields.py:31 #, python-brace-format msgid "" " Markdown syntax is supported" msgstr "" -#: utilities/forms/fields/fields.py:48 +#: netbox/utilities/forms/fields/fields.py:48 msgid "URL-friendly unique shorthand" msgstr "" -#: utilities/forms/fields/fields.py:101 +#: netbox/utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" -#: utilities/forms/fields/fields.py:124 +#: netbox/utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "" -#: utilities/forms/forms.py:52 +#: netbox/utilities/forms/forms.py:52 msgid "Use regular expressions" msgstr "" -#: utilities/forms/forms.py:75 +#: netbox/utilities/forms/forms.py:75 msgid "" "Numeric ID of an existing object to update (if not creating a new object)" msgstr "" -#: utilities/forms/forms.py:92 +#: netbox/utilities/forms/forms.py:92 #, python-brace-format msgid "Unrecognized header: {name}" msgstr "" -#: utilities/forms/forms.py:118 +#: netbox/utilities/forms/forms.py:118 msgid "Available Columns" msgstr "" -#: utilities/forms/forms.py:126 +#: netbox/utilities/forms/forms.py:126 msgid "Selected Columns" msgstr "" -#: utilities/forms/mixins.py:44 +#: netbox/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." msgstr "" -#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 -#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 +#: netbox/utilities/forms/utils.py:42 netbox/utilities/forms/utils.py:68 +#: netbox/utilities/forms/utils.py:85 netbox/utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "" -#: utilities/forms/utils.py:74 +#: netbox/utilities/forms/utils.py:74 #, python-brace-format msgid "" "Invalid range: Ending value ({end}) must be greater than beginning value " "({begin})." msgstr "" -#: utilities/forms/utils.py:232 +#: netbox/utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "" -#: utilities/forms/utils.py:238 +#: netbox/utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "" -#: utilities/forms/utils.py:247 +#: netbox/utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" -#: utilities/forms/utils.py:270 +#: netbox/utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "" -#: utilities/forms/utils.py:272 +#: netbox/utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "" -#: utilities/forms/utils.py:276 +#: netbox/utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "" -#: utilities/forms/utils.py:284 +#: netbox/utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "" -#: utilities/forms/widgets/apiselect.py:124 +#: netbox/utilities/forms/widgets/apiselect.py:124 #, python-brace-format msgid "Missing required value for dynamic query param: '{dynamic_params}'" msgstr "" -#: utilities/forms/widgets/apiselect.py:141 +#: netbox/utilities/forms/widgets/apiselect.py:141 #, python-brace-format msgid "Missing required value for static query param: '{static_params}'" msgstr "" -#: utilities/password_validation.py:13 +#: netbox/utilities/password_validation.py:13 msgid "Password must have at least one numeral." msgstr "" -#: utilities/password_validation.py:18 +#: netbox/utilities/password_validation.py:18 msgid "Password must have at least one uppercase letter." msgstr "" -#: utilities/password_validation.py:23 +#: netbox/utilities/password_validation.py:23 msgid "Password must have at least one lowercase letter." msgstr "" -#: utilities/password_validation.py:27 +#: netbox/utilities/password_validation.py:27 msgid "" "Your password must contain at least one numeral, one uppercase letter and " "one lowercase letter." msgstr "" -#: utilities/permissions.py:42 +#: netbox/utilities/permissions.py:42 #, python-brace-format msgid "" "Invalid permission name: {name}. Must be in the format ." "_" msgstr "" -#: utilities/permissions.py:60 +#: netbox/utilities/permissions.py:60 #, python-brace-format msgid "Unknown app_label/model_name for {name}" msgstr "" -#: utilities/request.py:76 +#: netbox/utilities/request.py:76 #, python-brace-format msgid "Invalid IP address set for {header}: {ip}" msgstr "" -#: utilities/tables.py:47 +#: netbox/utilities/tables.py:47 #, python-brace-format msgid "A column named {name} is already defined for table {table_name}" msgstr "" -#: utilities/templates/builtins/customfield_value.html:30 +#: netbox/utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "" -#: utilities/templates/buttons/bookmark.html:9 +#: netbox/utilities/templates/buttons/bookmark.html:9 msgid "Unbookmark" msgstr "" -#: utilities/templates/buttons/bookmark.html:13 +#: netbox/utilities/templates/buttons/bookmark.html:13 msgid "Bookmark" msgstr "" -#: utilities/templates/buttons/clone.html:4 +#: netbox/utilities/templates/buttons/clone.html:4 msgid "Clone" msgstr "" -#: utilities/templates/buttons/export.html:7 +#: netbox/utilities/templates/buttons/export.html:7 msgid "Current View" msgstr "" -#: utilities/templates/buttons/export.html:8 +#: netbox/utilities/templates/buttons/export.html:8 msgid "All Data" msgstr "" -#: utilities/templates/buttons/export.html:28 +#: netbox/utilities/templates/buttons/export.html:28 msgid "Add export template" msgstr "" -#: utilities/templates/buttons/import.html:4 +#: netbox/utilities/templates/buttons/import.html:4 msgid "Import" msgstr "" -#: utilities/templates/buttons/subscribe.html:10 +#: netbox/utilities/templates/buttons/subscribe.html:10 msgid "Unsubscribe" msgstr "" -#: utilities/templates/buttons/subscribe.html:14 +#: netbox/utilities/templates/buttons/subscribe.html:14 msgid "Subscribe" msgstr "" -#: utilities/templates/form_helpers/render_field.html:41 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "" -#: utilities/templates/form_helpers/render_field.html:57 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "" -#: utilities/templates/form_helpers/render_field.html:70 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "" -#: utilities/templates/helpers/applied_filters.html:11 +#: netbox/utilities/templates/helpers/applied_filters.html:11 msgid "Clear all" msgstr "" -#: utilities/templates/helpers/table_config_form.html:8 +#: netbox/utilities/templates/helpers/table_config_form.html:8 msgid "Table Configuration" msgstr "" -#: utilities/templates/helpers/table_config_form.html:31 +#: netbox/utilities/templates/helpers/table_config_form.html:31 msgid "Move Up" msgstr "" -#: utilities/templates/helpers/table_config_form.html:34 +#: netbox/utilities/templates/helpers/table_config_form.html:34 msgid "Move Down" msgstr "" -#: utilities/templates/navigation/menu.html:14 +#: netbox/utilities/templates/navigation/menu.html:14 msgid "Search…" msgstr "" -#: utilities/templates/navigation/menu.html:14 +#: netbox/utilities/templates/navigation/menu.html:14 msgid "Search NetBox" msgstr "" -#: utilities/templates/widgets/apiselect.html:7 +#: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "" -#: utilities/templates/widgets/markdown_input.html:6 +#: netbox/utilities/templates/widgets/markdown_input.html:6 msgid "Write" msgstr "" -#: utilities/testing/views.py:632 +#: netbox/utilities/testing/views.py:632 msgid "The test must define csv_update_data." msgstr "" -#: utilities/validators.py:65 +#: netbox/utilities/validators.py:65 #, python-brace-format msgid "{value} is not a valid regular expression." msgstr "" -#: utilities/views.py:57 +#: netbox/utilities/views.py:57 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" -#: utilities/views.py:93 +#: netbox/utilities/views.py:93 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "" -#: utilities/views.py:117 +#: netbox/utilities/views.py:117 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only " "be used on views which define a base queryset" msgstr "" -#: virtualization/filtersets.py:79 +#: netbox/virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "" -#: virtualization/filtersets.py:85 +#: netbox/virtualization/filtersets.py:85 msgid "Parent group (slug)" msgstr "" -#: virtualization/filtersets.py:89 virtualization/filtersets.py:141 +#: netbox/virtualization/filtersets.py:89 +#: netbox/virtualization/filtersets.py:141 msgid "Cluster type (ID)" msgstr "" -#: virtualization/filtersets.py:151 virtualization/filtersets.py:271 +#: netbox/virtualization/filtersets.py:151 +#: netbox/virtualization/filtersets.py:271 msgid "Cluster (ID)" msgstr "" -#: virtualization/forms/bulk_edit.py:166 -#: virtualization/models/virtualmachines.py:115 +#: netbox/virtualization/forms/bulk_edit.py:166 +#: netbox/virtualization/models/virtualmachines.py:115 msgid "vCPUs" msgstr "" -#: virtualization/forms/bulk_edit.py:170 +#: netbox/virtualization/forms/bulk_edit.py:170 msgid "Memory (MB)" msgstr "" -#: virtualization/forms/bulk_edit.py:174 +#: netbox/virtualization/forms/bulk_edit.py:174 msgid "Disk (GB)" msgstr "" -#: virtualization/forms/bulk_edit.py:334 virtualization/forms/filtersets.py:251 +#: netbox/virtualization/forms/bulk_edit.py:334 +#: netbox/virtualization/forms/filtersets.py:251 msgid "Size (GB)" msgstr "" -#: virtualization/forms/bulk_import.py:44 +#: netbox/virtualization/forms/bulk_import.py:44 msgid "Type of cluster" msgstr "" -#: virtualization/forms/bulk_import.py:51 +#: netbox/virtualization/forms/bulk_import.py:51 msgid "Assigned cluster group" msgstr "" -#: virtualization/forms/bulk_import.py:96 +#: netbox/virtualization/forms/bulk_import.py:96 msgid "Assigned cluster" msgstr "" -#: virtualization/forms/bulk_import.py:103 +#: netbox/virtualization/forms/bulk_import.py:103 msgid "Assigned device within cluster" msgstr "" -#: virtualization/forms/filtersets.py:183 +#: netbox/virtualization/forms/filtersets.py:183 msgid "Serial number" msgstr "" -#: virtualization/forms/model_forms.py:153 +#: netbox/virtualization/forms/model_forms.py:153 #, python-brace-format msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -#: virtualization/forms/model_forms.py:192 +#: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" msgstr "" -#: virtualization/forms/model_forms.py:221 +#: netbox/virtualization/forms/model_forms.py:221 msgid "Site/Cluster" msgstr "" -#: virtualization/forms/model_forms.py:244 +#: netbox/virtualization/forms/model_forms.py:244 msgid "Disk size is managed via the attachment of virtual disks." msgstr "" -#: virtualization/forms/model_forms.py:372 -#: virtualization/tables/virtualmachines.py:111 +#: netbox/virtualization/forms/model_forms.py:372 +#: netbox/virtualization/tables/virtualmachines.py:111 msgid "Disk" msgstr "" -#: virtualization/models/clusters.py:25 +#: netbox/virtualization/models/clusters.py:25 msgid "cluster type" msgstr "" -#: virtualization/models/clusters.py:26 +#: netbox/virtualization/models/clusters.py:26 msgid "cluster types" msgstr "" -#: virtualization/models/clusters.py:45 +#: netbox/virtualization/models/clusters.py:45 msgid "cluster group" msgstr "" -#: virtualization/models/clusters.py:46 +#: netbox/virtualization/models/clusters.py:46 msgid "cluster groups" msgstr "" -#: virtualization/models/clusters.py:121 +#: netbox/virtualization/models/clusters.py:121 msgid "cluster" msgstr "" -#: virtualization/models/clusters.py:122 +#: netbox/virtualization/models/clusters.py:122 msgid "clusters" msgstr "" -#: virtualization/models/clusters.py:141 +#: netbox/virtualization/models/clusters.py:141 #, python-brace-format msgid "" "{count} devices are assigned as hosts for this cluster but are not in site " "{site}" msgstr "" -#: virtualization/models/virtualmachines.py:123 +#: netbox/virtualization/models/virtualmachines.py:123 msgid "memory (MB)" msgstr "" -#: virtualization/models/virtualmachines.py:128 +#: netbox/virtualization/models/virtualmachines.py:128 msgid "disk (MB)" msgstr "" -#: virtualization/models/virtualmachines.py:166 +#: netbox/virtualization/models/virtualmachines.py:166 msgid "Virtual machine name must be unique per cluster." msgstr "" -#: virtualization/models/virtualmachines.py:169 +#: netbox/virtualization/models/virtualmachines.py:169 msgid "virtual machine" msgstr "" -#: virtualization/models/virtualmachines.py:170 +#: netbox/virtualization/models/virtualmachines.py:170 msgid "virtual machines" msgstr "" -#: virtualization/models/virtualmachines.py:184 +#: netbox/virtualization/models/virtualmachines.py:184 msgid "A virtual machine must be assigned to a site and/or cluster." msgstr "" -#: virtualization/models/virtualmachines.py:191 +#: netbox/virtualization/models/virtualmachines.py:191 #, python-brace-format msgid "The selected cluster ({cluster}) is not assigned to this site ({site})." msgstr "" -#: virtualization/models/virtualmachines.py:198 +#: netbox/virtualization/models/virtualmachines.py:198 msgid "Must specify a cluster when assigning a host device." msgstr "" -#: virtualization/models/virtualmachines.py:203 +#: netbox/virtualization/models/virtualmachines.py:203 #, python-brace-format msgid "" "The selected device ({device}) is not assigned to this cluster ({cluster})." msgstr "" -#: virtualization/models/virtualmachines.py:215 +#: netbox/virtualization/models/virtualmachines.py:215 #, python-brace-format msgid "" "The specified disk size ({size}) must match the aggregate size of assigned " "virtual disks ({total_size})." msgstr "" -#: virtualization/models/virtualmachines.py:229 +#: netbox/virtualization/models/virtualmachines.py:229 #, python-brace-format msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)" msgstr "" -#: virtualization/models/virtualmachines.py:238 +#: netbox/virtualization/models/virtualmachines.py:238 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this VM." msgstr "" -#: virtualization/models/virtualmachines.py:396 +#: netbox/virtualization/models/virtualmachines.py:396 #, python-brace-format msgid "" "The selected parent interface ({parent}) belongs to a different virtual " "machine ({virtual_machine})." msgstr "" -#: virtualization/models/virtualmachines.py:411 +#: netbox/virtualization/models/virtualmachines.py:411 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different virtual " "machine ({virtual_machine})." msgstr "" -#: virtualization/models/virtualmachines.py:422 +#: netbox/virtualization/models/virtualmachines.py:422 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent virtual machine, or it must be global." msgstr "" -#: virtualization/models/virtualmachines.py:434 +#: netbox/virtualization/models/virtualmachines.py:434 msgid "size (MB)" msgstr "" -#: virtualization/models/virtualmachines.py:438 +#: netbox/virtualization/models/virtualmachines.py:438 msgid "virtual disk" msgstr "" -#: virtualization/models/virtualmachines.py:439 +#: netbox/virtualization/models/virtualmachines.py:439 msgid "virtual disks" msgstr "" -#: virtualization/views.py:275 +#: netbox/virtualization/views.py:275 #, python-brace-format msgid "Added {count} devices to cluster {cluster}" msgstr "" -#: virtualization/views.py:310 +#: netbox/virtualization/views.py:310 #, python-brace-format msgid "Removed {count} devices from cluster {cluster}" msgstr "" -#: vpn/choices.py:31 +#: netbox/vpn/choices.py:31 msgid "IPsec - Transport" msgstr "" -#: vpn/choices.py:32 +#: netbox/vpn/choices.py:32 msgid "IPsec - Tunnel" msgstr "" -#: vpn/choices.py:33 +#: netbox/vpn/choices.py:33 msgid "IP-in-IP" msgstr "" -#: vpn/choices.py:34 +#: netbox/vpn/choices.py:34 msgid "GRE" msgstr "" -#: vpn/choices.py:56 +#: netbox/vpn/choices.py:56 msgid "Hub" msgstr "" -#: vpn/choices.py:57 +#: netbox/vpn/choices.py:57 msgid "Spoke" msgstr "" -#: vpn/choices.py:80 +#: netbox/vpn/choices.py:80 msgid "Aggressive" msgstr "" -#: vpn/choices.py:81 +#: netbox/vpn/choices.py:81 msgid "Main" msgstr "" -#: vpn/choices.py:92 +#: netbox/vpn/choices.py:92 msgid "Pre-shared keys" msgstr "" -#: vpn/choices.py:93 +#: netbox/vpn/choices.py:93 msgid "Certificates" msgstr "" -#: vpn/choices.py:94 +#: netbox/vpn/choices.py:94 msgid "RSA signatures" msgstr "" -#: vpn/choices.py:95 +#: netbox/vpn/choices.py:95 msgid "DSA signatures" msgstr "" -#: vpn/choices.py:178 vpn/choices.py:179 vpn/choices.py:180 vpn/choices.py:181 -#: vpn/choices.py:182 vpn/choices.py:183 vpn/choices.py:184 vpn/choices.py:185 -#: vpn/choices.py:186 vpn/choices.py:187 vpn/choices.py:188 vpn/choices.py:189 -#: vpn/choices.py:190 vpn/choices.py:191 vpn/choices.py:192 vpn/choices.py:193 -#: vpn/choices.py:194 vpn/choices.py:195 vpn/choices.py:196 vpn/choices.py:197 -#: vpn/choices.py:198 vpn/choices.py:199 vpn/choices.py:200 vpn/choices.py:201 +#: netbox/vpn/choices.py:178 netbox/vpn/choices.py:179 +#: netbox/vpn/choices.py:180 netbox/vpn/choices.py:181 +#: netbox/vpn/choices.py:182 netbox/vpn/choices.py:183 +#: netbox/vpn/choices.py:184 netbox/vpn/choices.py:185 +#: netbox/vpn/choices.py:186 netbox/vpn/choices.py:187 +#: netbox/vpn/choices.py:188 netbox/vpn/choices.py:189 +#: netbox/vpn/choices.py:190 netbox/vpn/choices.py:191 +#: netbox/vpn/choices.py:192 netbox/vpn/choices.py:193 +#: netbox/vpn/choices.py:194 netbox/vpn/choices.py:195 +#: netbox/vpn/choices.py:196 netbox/vpn/choices.py:197 +#: netbox/vpn/choices.py:198 netbox/vpn/choices.py:199 +#: netbox/vpn/choices.py:200 netbox/vpn/choices.py:201 #, python-brace-format msgid "Group {n}" msgstr "" -#: vpn/choices.py:243 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "" -#: vpn/choices.py:244 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "" -#: vpn/choices.py:247 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "" -#: vpn/choices.py:248 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "" -#: vpn/filtersets.py:41 +#: netbox/vpn/filtersets.py:41 msgid "Tunnel group (ID)" msgstr "" -#: vpn/filtersets.py:47 +#: netbox/vpn/filtersets.py:47 msgid "Tunnel group (slug)" msgstr "" -#: vpn/filtersets.py:54 +#: netbox/vpn/filtersets.py:54 msgid "IPSec profile (ID)" msgstr "" -#: vpn/filtersets.py:60 +#: netbox/vpn/filtersets.py:60 msgid "IPSec profile (name)" msgstr "" -#: vpn/filtersets.py:81 +#: netbox/vpn/filtersets.py:81 msgid "Tunnel (ID)" msgstr "" -#: vpn/filtersets.py:87 +#: netbox/vpn/filtersets.py:87 msgid "Tunnel (name)" msgstr "" -#: vpn/filtersets.py:118 +#: netbox/vpn/filtersets.py:118 msgid "Outside IP (ID)" msgstr "" -#: vpn/filtersets.py:130 vpn/filtersets.py:263 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "" -#: vpn/filtersets.py:136 vpn/filtersets.py:269 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "" -#: vpn/filtersets.py:200 vpn/filtersets.py:273 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "" -#: vpn/filtersets.py:206 vpn/filtersets.py:279 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "" -#: vpn/filtersets.py:348 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "" -#: vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "" -#: vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "" -#: vpn/forms/bulk_edit.py:45 vpn/forms/bulk_import.py:42 -#: vpn/forms/filtersets.py:54 +#: netbox/vpn/forms/bulk_edit.py:45 netbox/vpn/forms/bulk_import.py:42 +#: netbox/vpn/forms/filtersets.py:54 msgid "Tunnel group" msgstr "" -#: vpn/forms/bulk_edit.py:117 vpn/models/crypto.py:47 +#: netbox/vpn/forms/bulk_edit.py:117 netbox/vpn/models/crypto.py:47 msgid "SA lifetime" msgstr "" -#: 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 +#: netbox/vpn/forms/bulk_edit.py:151 netbox/wireless/forms/bulk_edit.py:79 +#: netbox/wireless/forms/bulk_edit.py:126 +#: netbox/wireless/forms/filtersets.py:64 +#: netbox/wireless/forms/filtersets.py:98 msgid "Pre-shared key" msgstr "" -#: 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 +#: netbox/vpn/forms/bulk_edit.py:237 netbox/vpn/forms/bulk_import.py:239 +#: netbox/vpn/forms/filtersets.py:199 netbox/vpn/forms/model_forms.py:370 +#: netbox/vpn/models/crypto.py:104 msgid "IKE policy" msgstr "" -#: 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 +#: netbox/vpn/forms/bulk_edit.py:242 netbox/vpn/forms/bulk_import.py:244 +#: netbox/vpn/forms/filtersets.py:204 netbox/vpn/forms/model_forms.py:374 +#: netbox/vpn/models/crypto.py:209 msgid "IPSec policy" msgstr "" -#: vpn/forms/bulk_import.py:50 +#: netbox/vpn/forms/bulk_import.py:50 msgid "Tunnel encapsulation" msgstr "" -#: vpn/forms/bulk_import.py:83 +#: netbox/vpn/forms/bulk_import.py:83 msgid "Operational role" msgstr "" -#: vpn/forms/bulk_import.py:90 +#: netbox/vpn/forms/bulk_import.py:90 msgid "Parent device of assigned interface" msgstr "" -#: vpn/forms/bulk_import.py:97 +#: netbox/vpn/forms/bulk_import.py:97 msgid "Parent VM of assigned interface" msgstr "" -#: vpn/forms/bulk_import.py:104 +#: netbox/vpn/forms/bulk_import.py:104 msgid "Device or virtual machine interface" msgstr "" -#: vpn/forms/bulk_import.py:183 +#: netbox/vpn/forms/bulk_import.py:183 msgid "IKE proposal(s)" msgstr "" -#: vpn/forms/bulk_import.py:215 vpn/models/crypto.py:197 +#: netbox/vpn/forms/bulk_import.py:215 netbox/vpn/models/crypto.py:197 msgid "Diffie-Hellman group for Perfect Forward Secrecy" msgstr "" -#: vpn/forms/bulk_import.py:222 +#: netbox/vpn/forms/bulk_import.py:222 msgid "IPSec proposal(s)" msgstr "" -#: vpn/forms/bulk_import.py:236 +#: netbox/vpn/forms/bulk_import.py:236 msgid "IPSec protocol" msgstr "" -#: vpn/forms/bulk_import.py:266 +#: netbox/vpn/forms/bulk_import.py:266 msgid "L2VPN type" msgstr "" -#: vpn/forms/bulk_import.py:287 +#: netbox/vpn/forms/bulk_import.py:287 msgid "Parent device (for interface)" msgstr "" -#: vpn/forms/bulk_import.py:294 +#: netbox/vpn/forms/bulk_import.py:294 msgid "Parent virtual machine (for interface)" msgstr "" -#: vpn/forms/bulk_import.py:301 +#: netbox/vpn/forms/bulk_import.py:301 msgid "Assigned interface (device or VM)" msgstr "" -#: vpn/forms/bulk_import.py:334 +#: netbox/vpn/forms/bulk_import.py:334 msgid "Cannot import device and VM interface terminations simultaneously." msgstr "" -#: vpn/forms/bulk_import.py:336 +#: netbox/vpn/forms/bulk_import.py:336 msgid "Each termination must specify either an interface or a VLAN." msgstr "" -#: vpn/forms/bulk_import.py:338 +#: netbox/vpn/forms/bulk_import.py:338 msgid "Cannot assign both an interface and a VLAN." msgstr "" -#: vpn/forms/filtersets.py:130 +#: netbox/vpn/forms/filtersets.py:130 msgid "IKE version" msgstr "" -#: vpn/forms/filtersets.py:142 vpn/forms/filtersets.py:175 -#: vpn/forms/model_forms.py:298 vpn/forms/model_forms.py:334 +#: netbox/vpn/forms/filtersets.py:142 netbox/vpn/forms/filtersets.py:175 +#: netbox/vpn/forms/model_forms.py:298 netbox/vpn/forms/model_forms.py:334 msgid "Proposal" msgstr "" -#: vpn/forms/filtersets.py:251 +#: netbox/vpn/forms/filtersets.py:251 msgid "Assigned Object Type" msgstr "" -#: vpn/forms/model_forms.py:95 vpn/forms/model_forms.py:130 -#: vpn/forms/model_forms.py:240 vpn/tables/tunnels.py:91 +#: netbox/vpn/forms/model_forms.py:95 netbox/vpn/forms/model_forms.py:130 +#: netbox/vpn/forms/model_forms.py:240 netbox/vpn/tables/tunnels.py:91 msgid "Tunnel interface" msgstr "" -#: vpn/forms/model_forms.py:150 +#: netbox/vpn/forms/model_forms.py:150 msgid "First Termination" msgstr "" -#: vpn/forms/model_forms.py:153 +#: netbox/vpn/forms/model_forms.py:153 msgid "Second Termination" msgstr "" -#: vpn/forms/model_forms.py:197 +#: netbox/vpn/forms/model_forms.py:197 msgid "This parameter is required when defining a termination." msgstr "" -#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:356 +#: netbox/vpn/forms/model_forms.py:320 netbox/vpn/forms/model_forms.py:356 msgid "Policy" msgstr "" -#: vpn/forms/model_forms.py:487 +#: netbox/vpn/forms/model_forms.py:487 msgid "A termination must specify an interface or VLAN." msgstr "" -#: vpn/forms/model_forms.py:489 +#: netbox/vpn/forms/model_forms.py:489 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" -#: vpn/models/crypto.py:33 +#: netbox/vpn/models/crypto.py:33 msgid "encryption algorithm" msgstr "" -#: vpn/models/crypto.py:37 +#: netbox/vpn/models/crypto.py:37 msgid "authentication algorithm" msgstr "" -#: vpn/models/crypto.py:44 +#: netbox/vpn/models/crypto.py:44 msgid "Diffie-Hellman group ID" msgstr "" -#: vpn/models/crypto.py:50 +#: netbox/vpn/models/crypto.py:50 msgid "Security association lifetime (in seconds)" msgstr "" -#: vpn/models/crypto.py:59 +#: netbox/vpn/models/crypto.py:59 msgid "IKE proposal" msgstr "" -#: vpn/models/crypto.py:60 +#: netbox/vpn/models/crypto.py:60 msgid "IKE proposals" msgstr "" -#: vpn/models/crypto.py:76 +#: netbox/vpn/models/crypto.py:76 msgid "version" msgstr "" -#: vpn/models/crypto.py:88 vpn/models/crypto.py:190 +#: netbox/vpn/models/crypto.py:88 netbox/vpn/models/crypto.py:190 msgid "proposals" msgstr "" -#: vpn/models/crypto.py:91 wireless/models.py:39 +#: netbox/vpn/models/crypto.py:91 netbox/wireless/models.py:39 msgid "pre-shared key" msgstr "" -#: vpn/models/crypto.py:105 +#: netbox/vpn/models/crypto.py:105 msgid "IKE policies" msgstr "" -#: vpn/models/crypto.py:118 +#: netbox/vpn/models/crypto.py:118 msgid "Mode is required for selected IKE version" msgstr "" -#: vpn/models/crypto.py:122 +#: netbox/vpn/models/crypto.py:122 msgid "Mode cannot be used for selected IKE version" msgstr "" -#: vpn/models/crypto.py:136 +#: netbox/vpn/models/crypto.py:136 msgid "encryption" msgstr "" -#: vpn/models/crypto.py:141 +#: netbox/vpn/models/crypto.py:141 msgid "authentication" msgstr "" -#: vpn/models/crypto.py:149 +#: netbox/vpn/models/crypto.py:149 msgid "Security association lifetime (seconds)" msgstr "" -#: vpn/models/crypto.py:155 +#: netbox/vpn/models/crypto.py:155 msgid "Security association lifetime (in kilobytes)" msgstr "" -#: vpn/models/crypto.py:164 +#: netbox/vpn/models/crypto.py:164 msgid "IPSec proposal" msgstr "" -#: vpn/models/crypto.py:165 +#: netbox/vpn/models/crypto.py:165 msgid "IPSec proposals" msgstr "" -#: vpn/models/crypto.py:178 +#: netbox/vpn/models/crypto.py:178 msgid "Encryption and/or authentication algorithm must be defined" msgstr "" -#: vpn/models/crypto.py:210 +#: netbox/vpn/models/crypto.py:210 msgid "IPSec policies" msgstr "" -#: vpn/models/crypto.py:251 +#: netbox/vpn/models/crypto.py:251 msgid "IPSec profiles" msgstr "" -#: vpn/models/l2vpn.py:116 +#: netbox/vpn/models/l2vpn.py:116 msgid "L2VPN termination" msgstr "" -#: vpn/models/l2vpn.py:117 +#: netbox/vpn/models/l2vpn.py:117 msgid "L2VPN terminations" msgstr "" -#: vpn/models/l2vpn.py:135 +#: netbox/vpn/models/l2vpn.py:135 #, python-brace-format msgid "L2VPN Termination already assigned ({assigned_object})" msgstr "" -#: vpn/models/l2vpn.py:147 +#: netbox/vpn/models/l2vpn.py:147 #, python-brace-format msgid "" "{l2vpn_type} L2VPNs cannot have more than two terminations; found " "{terminations_count} already defined." msgstr "" -#: vpn/models/tunnels.py:26 +#: netbox/vpn/models/tunnels.py:26 msgid "tunnel group" msgstr "" -#: vpn/models/tunnels.py:27 +#: netbox/vpn/models/tunnels.py:27 msgid "tunnel groups" msgstr "" -#: vpn/models/tunnels.py:53 +#: netbox/vpn/models/tunnels.py:53 msgid "encapsulation" msgstr "" -#: vpn/models/tunnels.py:72 +#: netbox/vpn/models/tunnels.py:72 msgid "tunnel ID" msgstr "" -#: vpn/models/tunnels.py:94 +#: netbox/vpn/models/tunnels.py:94 msgid "tunnel" msgstr "" -#: vpn/models/tunnels.py:95 +#: netbox/vpn/models/tunnels.py:95 msgid "tunnels" msgstr "" -#: vpn/models/tunnels.py:153 +#: netbox/vpn/models/tunnels.py:153 msgid "An object may be terminated to only one tunnel at a time." msgstr "" -#: vpn/models/tunnels.py:156 +#: netbox/vpn/models/tunnels.py:156 msgid "tunnel termination" msgstr "" -#: vpn/models/tunnels.py:157 +#: netbox/vpn/models/tunnels.py:157 msgid "tunnel terminations" msgstr "" -#: vpn/models/tunnels.py:174 +#: netbox/vpn/models/tunnels.py:174 #, python-brace-format msgid "{name} is already attached to a tunnel ({tunnel})." msgstr "" -#: vpn/tables/crypto.py:22 +#: netbox/vpn/tables/crypto.py:22 msgid "Authentication Method" msgstr "" -#: vpn/tables/crypto.py:25 vpn/tables/crypto.py:97 +#: netbox/vpn/tables/crypto.py:25 netbox/vpn/tables/crypto.py:97 msgid "Encryption Algorithm" msgstr "" -#: vpn/tables/crypto.py:28 vpn/tables/crypto.py:100 +#: netbox/vpn/tables/crypto.py:28 netbox/vpn/tables/crypto.py:100 msgid "Authentication Algorithm" msgstr "" -#: vpn/tables/crypto.py:34 +#: netbox/vpn/tables/crypto.py:34 msgid "SA Lifetime" msgstr "" -#: vpn/tables/crypto.py:71 +#: netbox/vpn/tables/crypto.py:71 msgid "Pre-shared Key" msgstr "" -#: vpn/tables/crypto.py:103 +#: netbox/vpn/tables/crypto.py:103 msgid "SA Lifetime (Seconds)" msgstr "" -#: vpn/tables/crypto.py:106 +#: netbox/vpn/tables/crypto.py:106 msgid "SA Lifetime (KB)" msgstr "" -#: vpn/tables/l2vpn.py:69 +#: netbox/vpn/tables/l2vpn.py:69 msgid "Object Parent" msgstr "" -#: vpn/tables/l2vpn.py:74 +#: netbox/vpn/tables/l2vpn.py:74 msgid "Object Site" msgstr "" -#: wireless/choices.py:11 +#: netbox/wireless/choices.py:11 msgid "Access point" msgstr "" -#: wireless/choices.py:12 +#: netbox/wireless/choices.py:12 msgid "Station" msgstr "" -#: wireless/choices.py:467 +#: netbox/wireless/choices.py:467 msgid "Open" msgstr "" -#: wireless/choices.py:469 +#: netbox/wireless/choices.py:469 msgid "WPA Personal (PSK)" msgstr "" -#: wireless/choices.py:470 +#: netbox/wireless/choices.py:470 msgid "WPA Enterprise" msgstr "" -#: 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:59 wireless/forms/filtersets.py:93 +#: netbox/wireless/forms/bulk_edit.py:73 netbox/wireless/forms/bulk_edit.py:120 +#: netbox/wireless/forms/bulk_import.py:68 +#: netbox/wireless/forms/bulk_import.py:71 +#: netbox/wireless/forms/bulk_import.py:110 +#: netbox/wireless/forms/bulk_import.py:113 +#: netbox/wireless/forms/filtersets.py:59 +#: netbox/wireless/forms/filtersets.py:93 msgid "Authentication cipher" msgstr "" -#: wireless/forms/bulk_edit.py:134 wireless/forms/bulk_import.py:116 -#: wireless/forms/bulk_import.py:119 wireless/forms/filtersets.py:106 +#: netbox/wireless/forms/bulk_edit.py:134 +#: netbox/wireless/forms/bulk_import.py:116 +#: netbox/wireless/forms/bulk_import.py:119 +#: netbox/wireless/forms/filtersets.py:106 msgid "Distance unit" msgstr "" -#: wireless/forms/bulk_import.py:52 +#: netbox/wireless/forms/bulk_import.py:52 msgid "Bridged VLAN" msgstr "" -#: wireless/forms/bulk_import.py:89 wireless/tables/wirelesslink.py:28 +#: netbox/wireless/forms/bulk_import.py:89 +#: netbox/wireless/tables/wirelesslink.py:28 msgid "Interface A" msgstr "" -#: wireless/forms/bulk_import.py:93 wireless/tables/wirelesslink.py:37 +#: netbox/wireless/forms/bulk_import.py:93 +#: netbox/wireless/tables/wirelesslink.py:37 msgid "Interface B" msgstr "" -#: wireless/forms/model_forms.py:161 +#: netbox/wireless/forms/model_forms.py:161 msgid "Side B" msgstr "" -#: wireless/models.py:31 +#: netbox/wireless/models.py:31 msgid "authentication cipher" msgstr "" -#: wireless/models.py:69 +#: netbox/wireless/models.py:69 msgid "wireless LAN group" msgstr "" -#: wireless/models.py:70 +#: netbox/wireless/models.py:70 msgid "wireless LAN groups" msgstr "" -#: wireless/models.py:116 +#: netbox/wireless/models.py:116 msgid "wireless LAN" msgstr "" -#: wireless/models.py:144 +#: netbox/wireless/models.py:144 msgid "interface A" msgstr "" -#: wireless/models.py:151 +#: netbox/wireless/models.py:151 msgid "interface B" msgstr "" -#: wireless/models.py:165 +#: netbox/wireless/models.py:165 msgid "distance" msgstr "" -#: wireless/models.py:172 +#: netbox/wireless/models.py:172 msgid "distance unit" msgstr "" -#: wireless/models.py:219 +#: netbox/wireless/models.py:219 msgid "wireless link" msgstr "" -#: wireless/models.py:220 +#: netbox/wireless/models.py:220 msgid "wireless links" msgstr "" -#: wireless/models.py:236 +#: netbox/wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -#: wireless/models.py:242 wireless/models.py:248 +#: netbox/wireless/models.py:242 netbox/wireless/models.py:248 #, python-brace-format msgid "{type} is not a wireless interface." msgstr "" -#: wireless/utils.py:16 +#: netbox/wireless/utils.py:16 #, python-brace-format msgid "Invalid channel value: {channel}" msgstr "" -#: wireless/utils.py:26 +#: netbox/wireless/utils.py:26 #, python-brace-format msgid "Invalid channel attribute: {name}" msgstr "" From 7580aa078158cf82bb03aab5fc37d023f6045f7e Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 31 Oct 2024 09:24:38 -0400 Subject: [PATCH 02/26] Add professional support link --- .github/ISSUE_TEMPLATE/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 2ad52023e..efbf38932 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -7,6 +7,9 @@ contact_links: - name: ❓ Discussion url: https://github.com/netbox-community/netbox/discussions about: "If you're just looking for help, try starting a discussion instead." + - name: 👔 Professional Support + url: https://netboxlabs.com/netbox-enterprise/ + about: "Professional support is available for NetBox Enterprise or Cloud." - name: 🌎 Correct a Translation url: https://explore.transifex.com/netbox-community/netbox/ about: "Spot an incorrect translation? You can propose a fix on Transifex." From 74315080a3f4fd961cb2e8a88f2a3281e2c786e9 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 31 Oct 2024 13:31:11 -0400 Subject: [PATCH 03/26] Release v4.1.6 --- .github/ISSUE_TEMPLATE/01-feature_request.yaml | 2 +- .github/ISSUE_TEMPLATE/02-bug_report.yaml | 2 +- docs/release-notes/version-4.1.md | 8 ++++++++ netbox/project-static/package.json | 2 +- netbox/project-static/yarn.lock | 8 ++++---- netbox/release.yaml | 4 ++-- requirements.txt | 6 +++--- 7 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index 651c26942..300d7ce6a 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.1.5 + placeholder: v4.1.6 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index 2984e3d10..2b782a6cd 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -39,7 +39,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.1.5 + placeholder: v4.1.6 validations: required: true - type: dropdown diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 741425ac1..7b4e18919 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,5 +1,13 @@ # NetBox v4.1 +## v4.1.6 (2024-10-31) + +### Bug Fixes + +* [#17700](https://github.com/netbox-community/netbox/issues/17700) - Fix warning when no scripts are found within a script module +* [#17884](https://github.com/netbox-community/netbox/issues/17884) - Fix translation support for certain tab headings +* [#17885](https://github.com/netbox-community/netbox/issues/17885) - Fix regression preventing custom scripts from executing + ## v4.1.5 (2024-10-28) ### Enhancements diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index b4e3a04eb..0750f397b 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -30,7 +30,7 @@ "gridstack": "10.3.1", "htmx.org": "1.9.12", "query-string": "9.1.1", - "sass": "1.80.4", + "sass": "1.80.5", "tom-select": "2.3.1", "typeface-inter": "3.18.1", "typeface-roboto-mono": "1.1.13" diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index 9c57c5485..44c9d994d 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -2656,10 +2656,10 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -sass@1.80.4: - version "1.80.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.4.tgz#bc0418fd796cad2f1a1309d8b4d7fe44b7027de0" - integrity sha512-rhMQ2tSF5CsuuspvC94nPM9rToiAFw2h3JTrLlgmNw1MH79v8Cr3DH6KF6o6r+8oofY3iYVPUf66KzC8yuVN1w== +sass@1.80.5: + version "1.80.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.5.tgz#0ba965223d44df22497f2966b498cf5c453fae8f" + integrity sha512-TQd2aoQl/+zsxRMEDSxVdpPIqeq9UFc6pr7PzkugiTx3VYCFPUaa3P4RrBQsqok4PO200Vkz0vXQBNlg7W907g== dependencies: "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" diff --git a/netbox/release.yaml b/netbox/release.yaml index 63854ac33..b4811804f 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,3 +1,3 @@ -version: "4.1.5" +version: "4.1.6" edition: "Community" -published: "2024-10-28" +published: "2024-10-31" diff --git a/requirements.txt b/requirements.txt index f7ec953c1..cb2590f83 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ Django==5.0.9 -django-cors-headers==4.5.0 +django-cors-headers==4.6.0 django-debug-toolbar==4.4.6 django-filter==24.3 django-htmx==1.21.0 @@ -8,7 +8,7 @@ django-mptt==0.16.0 django-pglocks==1.0.4 django-prometheus==2.3.1 django-redis==5.4.0 -django-rich==1.12.0 +django-rich==1.13.0 django-rq==2.10.2 django-taggit==6.1.0 django-tables2==2.7.0 @@ -20,7 +20,7 @@ feedparser==6.0.11 gunicorn==23.0.0 Jinja2==3.1.4 Markdown==3.7 -mkdocs-material==9.5.42 +mkdocs-material==9.5.43 mkdocstrings[python-legacy]==0.26.2 netaddr==1.3.0 nh3==0.2.18 From 81f00fd03a5afbf037692d5027b6afd4fdbb63a3 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 30 Oct 2024 12:46:00 -0400 Subject: [PATCH 04/26] Fixes #17895: Ensure GraphiQL UI resources are served locally --- netbox/netbox/graphql/views.py | 1 - netbox/templates/{ => graphql}/graphiql.html | 14 ++------------ 2 files changed, 2 insertions(+), 13 deletions(-) rename netbox/templates/{ => graphql}/graphiql.html (87%) diff --git a/netbox/netbox/graphql/views.py b/netbox/netbox/graphql/views.py index 85a01f025..46a073c93 100644 --- a/netbox/netbox/graphql/views.py +++ b/netbox/netbox/graphql/views.py @@ -14,7 +14,6 @@ class NetBoxGraphQLView(GraphQLView): """ Extends strawberry's GraphQLView to support DRF's token-based authentication. """ - graphiql_template = 'graphiql.html' @csrf_exempt def dispatch(self, request, *args, **kwargs): diff --git a/netbox/templates/graphiql.html b/netbox/templates/graphql/graphiql.html similarity index 87% rename from netbox/templates/graphiql.html rename to netbox/templates/graphql/graphiql.html index 0281012dc..f50648f1f 100644 --- a/netbox/templates/graphiql.html +++ b/netbox/templates/graphql/graphiql.html @@ -1,15 +1,8 @@ +{% load static %} {% comment %} This template derives from the strawberry-graphql project: https://github.com/strawberry-graphql/strawberry/blob/main/strawberry/static/graphiql.html {% endcomment %} - -{% load static %} @@ -112,10 +105,7 @@ add "&raw" to the end of the URL within a browser. headers["x-csrftoken"] = csrfToken; } - const subscriptionsEnabled = JSON.parse("{{ SUBSCRIPTION_ENABLED }}"); - const subscriptionUrl = subscriptionsEnabled - ? httpUrlToWebSockeUrl(fetchURL) - : null; + const subscriptionUrl = httpUrlToWebSockeUrl(fetchURL); const fetcher = GraphiQL.createFetcher({ url: fetchURL, From 27d15615b3590000901984bddfa7a815cd1343d8 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 1 Nov 2024 12:14:11 -0700 Subject: [PATCH 05/26] 17898 upgrade to django-rq v3 (#17911) * 17898 upgrade to django-rq v3 * Unpin base requirements --------- Co-authored-by: Jeremy Stretch --- base_requirements.txt | 4 ++-- netbox/core/tests/test_views.py | 1 + requirements.txt | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/base_requirements.txt b/base_requirements.txt index 2147731e2..3e5bcb0db 100644 --- a/base_requirements.txt +++ b/base_requirements.txt @@ -42,7 +42,7 @@ django-rich # Django integration for RQ (Reqis queuing) # https://github.com/rq/django-rq/blob/master/CHANGELOG.md -django-rq<3.0 +django-rq # Abstraction models for rendering and paginating HTML tables # https://github.com/jieter/django-tables2/blob/master/CHANGELOG.md @@ -118,7 +118,7 @@ requests # rq # https://github.com/rq/rq/blob/master/CHANGES.md -rq<2.0 +rq # Social authentication framework # https://github.com/python-social-auth/social-core/blob/master/CHANGELOG.md diff --git a/netbox/core/tests/test_views.py b/netbox/core/tests/test_views.py index 3c847e4ef..01912b4d6 100644 --- a/netbox/core/tests/test_views.py +++ b/netbox/core/tests/test_views.py @@ -308,6 +308,7 @@ class BackgroundTaskTestCase(TestCase): worker = get_worker('default') job = queue.enqueue(self.dummy_job_default) worker.prepare_job_execution(job) + worker.prepare_execution(job) self.assertEqual(job.get_status(), JobStatus.STARTED) diff --git a/requirements.txt b/requirements.txt index cb2590f83..5688bb431 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ django-pglocks==1.0.4 django-prometheus==2.3.1 django-redis==5.4.0 django-rich==1.13.0 -django-rq==2.10.2 +django-rq==3.0 django-taggit==6.1.0 django-tables2==2.7.0 django-timezone-field==7.0 @@ -28,7 +28,7 @@ Pillow==11.0.0 psycopg[c,pool]==3.2.3 PyYAML==6.0.2 requests==2.32.3 -rq==1.16.2 +rq==2.0 social-auth-app-django==5.4.2 social-auth-core==4.5.4 strawberry-graphql==0.247.0 From 6035ad139a9f34c5273e470b97b1bad01c1df41a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 7 Nov 2024 08:57:02 -0500 Subject: [PATCH 06/26] Closes #16903: Update release process to use Transifex CLI client (#17916) * Closes #16903: Update release process to use Transifex CLI client * Add token environment variable to tx command --- .tx/config | 12 ++++++++++ docs/development/release-checklist.md | 15 ++++++++++++- docs/development/translations.md | 21 +++++++++++------- .../development/transifex_pull_request.png | Bin 110799 -> 0 bytes docs/media/development/transifex_sync.png | Bin 43392 -> 0 bytes 5 files changed, 39 insertions(+), 9 deletions(-) create mode 100755 .tx/config delete mode 100644 docs/media/development/transifex_pull_request.png delete mode 100644 docs/media/development/transifex_sync.png diff --git a/.tx/config b/.tx/config new file mode 100755 index 000000000..342331d4e --- /dev/null +++ b/.tx/config @@ -0,0 +1,12 @@ +[main] +host = https://app.transifex.com + +[o:netbox-community:p:netbox:r:9cbf4fcf95b3d92e4ebbf1a5e5d1caee] +file_filter = netbox/translations//LC_MESSAGES/django.po +source_file = netbox/translations/en/LC_MESSAGES/django.po +type = PO +minimum_perc = 0 +resource_name = django.po +replace_edited_strings = false +keep_translations = false + diff --git a/docs/development/release-checklist.md b/docs/development/release-checklist.md index 7c8c96f39..4e5fdeca8 100644 --- a/docs/development/release-checklist.md +++ b/docs/development/release-checklist.md @@ -90,7 +90,20 @@ This will automatically update the schema file at `contrib/generated_schema.json ### Update & Compile Translations -Updated language translations should be pulled from [Transifex](https://app.transifex.com/netbox-community/netbox/dashboard/) and re-compiled for each new release. Follow the documented process for [updating translated strings](./translations.md#updating-translated-strings) to do this. +Updated language translations should be pulled from [Transifex](https://app.transifex.com/netbox-community/netbox/dashboard/) and re-compiled for each new release. First, retrieve any updated translation files using the Transifex CLI client: + +```no-highlight +tx pull +``` + +Then, compile these portable (`.po`) files for use in the application: + +```no-highlight +./manage.py compilemessages +``` + +!!! tip + Consult the translation documentation for more detail on [updating translated strings](./translations.md#updating-translated-strings) if you've not set up the Transifex client already. ### Update Version and Changelog diff --git a/docs/development/translations.md b/docs/development/translations.md index eca9ce71f..43733c6d1 100644 --- a/docs/development/translations.md +++ b/docs/development/translations.md @@ -16,26 +16,31 @@ To update the English `.po` file from which all translations are derived, use th Then, commit the change and push to the `develop` branch on GitHub. Any new strings will appear for translation on Transifex automatically. +!!! note + It is typically not necessary to update source strings manually, as this is done nightly by a [GitHub action](https://github.com/netbox-community/netbox/blob/develop/.github/workflows/update-translation-strings.yml). + ## Updating Translated Strings Typically, translated strings need to be updated only as part of the NetBox [release process](./release-checklist.md). Check the Transifex dashboard for languages that are not marked _ready for use_, being sure to click _Show all languages_ if it appears at the bottom of the list. Use machine translation to round out any not-ready languages. It's not necessary to review the machine translation immediately as the translation teams will handle that aspect; the goal at this stage is to get translations included in the Transifex pull request. -To update translated strings, start by initiating a sync from Transifex. From the Transifex dashboard, navigate to Settings > Integrations > GitHub > Manage, and click the **Manual Sync** button at top right. +To download translated strings automatically, you'll need to: -![Transifex manual sync](../media/development/transifex_sync.png) +1. Install the [Transifex CLI client](https://github.com/transifex/cli) +2. Generate a [Transifex API token](https://app.transifex.com/user/settings/api/) -Enter a threshold percentage of 1 (to ensure all translations are captured) and select the `develop` branch, then click **Sync**. This will initiate a pull request to GitHub to update any newly modified translation (`.po`) files. +Once you have the client set up, run the following command: -!!! tip - The new PR should appear within a few minutes. If it does not, check that there are in fact new translations to be added. +```no-highlight +TX_TOKEN=$TOKEN tx pull +``` -![Transifex pull request](../media/development/transifex_pull_request.png) +This will download all portable (`.po`) translation files from Transifex, updating them locally as needed. -Once the PR has been merged, the updated strings need to be compiled into new `.mo` files so they can be used by the application. Update the `develop` branch locally to pull in the changes from the Transifex PR, then run Django's [`compilemessages`](https://docs.djangoproject.com/en/stable/ref/django-admin/#django-admin-compilemessages) management command: +Once retrieved, the updated strings need to be compiled into new `.mo` files so they can be used by the application. Run Django's [`compilemessages`](https://docs.djangoproject.com/en/stable/ref/django-admin/#django-admin-compilemessages) management command to compile them: -```nohighlight +```no-highlight ./manage.py compilemessages ``` diff --git a/docs/media/development/transifex_pull_request.png b/docs/media/development/transifex_pull_request.png deleted file mode 100644 index e3ae769917a11c6808461ba93b8f51bc5cab9625..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110799 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%0ALk0Oc_9eQ`L(2J~S-toZrHfLn4;xz5 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

H=B}5E1>r7@2{skYXAyS_mo$`^ysA zJL3&KeB&Y3Gs4_OZqNxinctktZ=2&4!tXj82WFYFYSqT)ac&MJ42~Q+Ucqj|PT-Bv zWT{h-1zrx`1c$@U5I|V;mj?5~N_UpY_T0eOTS=U*moey@3Q=o8j3WEgC~-R0XSAu3 zCb3mcdfr}9#!KXX6mWgF%$LyX%9|KHRBWXEqSdqEve9efGu?8(6TjskZf)Vu+Pv4& zMqfU?^w(%fzM#5pHO`ir99TwuCbyCu9!duux-goJuPLZXa4`&dDUKwhF*UdvTOy`B z|E>kqlOkuGP5*3yAw5J!RUr;%;KJ;eG`oX=s-oO7T@F!ZNe@FHRpPvYjG?hI6=JkV z^2huiWw%v4c&G`sf{2_;bU}z0vU;bVwYS-v;RTw#k0tiTzg}7Bb9}z1SF@gvF~S@U z4?Px{{-BkaF}o)AN$G1VCUzu<56eSxceM~2TsOZ-NoHc(wGeooHXR)m0j93KlkUGb z-RSeKg98bLvd<0IJCp^+4Qj2915qk&xa38H|N@ zDH=yxmkW9nVcv~;=eI;7i)d7p)%CRm_O)4$%KTKxHu%<(^mJr-tZYUStP8)qjksHf z3szkmpvI>N7!K}=-&#E=jJFv<0t(^pzpwKUJ83(7b7-eYWWFRq6g3M>xI%1-kb@p& zf9Tlfap32TPDl2qDgNd$z#309Xt3ao_IUaG&2uASQbC2G_;f0Q1;^amuZxA(2JJA) zk&_N+ijpn$AtpnNB;W%rXg&%nRdTxlv?iaSPm`{K-jOkTeLT_8TY?~$uHWlnXl8lF1!Bw6Dg?X$}=B?EMiEWQzgfc7}jNWRBaFnphxlMnW5#e zpv8(yN9?QPIVk$zw$eI`Ar=JbTKZ6I?{wYK`_c-u8c~^RN#%&?~tX*%B z+a0c|f@oeT{DS>SoZQqEv@a>G&xL&;tku7GYEHO z39h#d<-Q&_^D$Y#SHZf}$GSKOgOFSkGmQMqg?tlKbgM1L+1^TH-slR$7-ItNAxwC^|Z_mGLf< z5H1cWq$ZKy26>AH)C*F zW9i)|%Cp{5eq}{b1VWXP-+r5nc~esTw)jg4GH{r0Qy3@O& z?64!rQbYeA#r~2d@SF4pgr|Dg(KR?xq|7G%O+HUep?nJq9BkUx12+u0zr4Nw(G!23 zg^3LVc&&KAzzw0mCI8=~`fw_(gO%e2kFgFB=jyIO#uM~flxzlp*Inv z*U)?K?TP>Aczd7coNw>-Uf2Gx12eOyteN?(HETkiXsX;KzD0cF#*LegR3X|oZU7KB zZs1fB;$#0J9+7Q);|BP~BZ%U2ccYCoyiYG$$KT68R(wL#3P68SY;4pi*5`i$eBRjD zC@|zz*AT=!N=!=#Go7btRiHlnsLFBYv+8X??6pk5ItscWb-v-#CuiBRuKqM`15>v_YRnOD}WI3?$6Wc z3FHL*0{=~-0Mw>JB=Ei{!#$elCX-%K$gi`wYfAM`**Fxpae=<4hvHstC&5RZc>@(r zi{FyCLSHKu=#{=V99TD)c(p!maU&oU3}FA~0dWa=^~u!KY|mGiG&SFxE#LtKO!Zt> zA8Ah@ePv^)|6P0wkXs}DP37e2J3+RZ#DM2u5U%5>>vi2`Pakua5HXF$pVnZT1qSad zhz8g!uH&X&Pyb!v4qU*q9L>sn>iEM3>Y9$2EruppVC6^ z-}*a@9fAP30)H{PtL!<f90_Ugy3Pu%a3}fj+e#R z5{&+)-V1MJur%%=OYqmeHdB0yiN2OOM_2Ek#Q%Hj_W~3~O1+XNY7D@XBUA|MR8{Y- zM?~lgD`MU+e<1UYuz=&o7ZpLiD7;;JK8zH6C6MhA;At=9U*C#SfGcFLcoPVN5ULP4 zHx3fm)qUaw=${ne1|l%%lAr_^K6*98vfdMn23KF-^!aS;OQpT4{105g{e)%Pqf;bk zKZ71w&+pQYTCLId`}{}6`=j$vf58Rz``vw#%S_h|(ATq#aM$g+7`mOR8Tp=CtWQ)H`JBuJOJ=xPJo!_3@Hy~`0#Vz&X)ZtpKN+*k z7;B|7wyD`D31fC0HLZ`2^=(Y;>rZoD z6hIy8Y9wrz&{SGw$)c8z!8wi3694HjP97n*Ed$2AW|HC0W-1e&>)*|$ccv<5##aWi zzOOS_x?je3K4%B)7L@kw>9pYB;zNUoX^6W-{jR+2d)EfC+CBX;IstS?dV~+E_HuKpb;OK?z6;@BIi?WTf5t4 zbmO5iJ7(u_#Q6Bww&C*V>Z5uNB?Y3L#jD^~zHUE@=gMc4#pzzR;CIXZ^!Mi#PqQAb z8y^2u6ZAMB*l)w;5uV%+#maw4DR3;GwIr^AQk>>IhqMCJ0)`!1uW<|-p)B^h+ z{?a`<7}T1`eiXM+)Nob8t?_a6bU9-?gD$&;Tz;}oW?wzuu%@E!Y%Tx&x=;7r$}$oG zRO5KLb!C%FZkp@3=OT9Kd}P8ZY$whduCX~cV^mm>!e(vs{xx<})x%ZJmeOY{StMI( z3oze<0hOEeE$?qmG`{rQEFT#k`ufavXSONXCcyKoiw0GnEV z{7a(ITC4G3j)v`Yt;bOtqrE%MNf%#{yW2e?IJErDiwV1$O_`{*U-=Wyv}6~}L>*u6 zFV9M)C#Zr2^ecKazxxbZ%#zJY7r2gEHW5R95=dzTN2y)WMTww|i zb&0P%TKmuIz==)i_6ec->k>c#Yfor-Jy@&n!YVu-y#{llbZ^|wl`z5a>f@A z5VP*EkH7lSx^S2FUb>`Vy_96OQ88gx`hZLlJ#*BE zOFk;ST|58X8ZFp10q=G}rBJ-*G^k0jtw^S`40;4tKzkw-Fm<&VCmj-_eU_`iI` zE*W5d8l3(mCQ9~F%`_=j?9`#g&nTq%vp3vkhv%vGR7mhU!s(ZSZhLN3EqgPu6^;#R z$xmH}t5J2|qHV`64(CuQ$b`po+Ol614~W%!N0IUVo9A$a1s1WSo!aK?Vg*hz3OWG{ z5l+~T2k$7m>1hx)jcjd{rjJs=8C|P04GlM0U~(BDi6L_& zX*e3Uo+b`!)O-Pkb+t|PzG4U3@`t@LrC)pbXOD*;5Cxi%c|5L-;9G4lZIMyeTG>tS>Vm5(}GW^htnGa*_X3i4px(luyB)rRaoIEcvv#JD$M z*NRR%)ZBZ2n3HVt_St%omKvD-qL>i>4lgG~E8!FV_j8c3F<{&`g#{y58^7IFIyqko zYySQquUY(lbB>|Xe*y;>6~az+j#s8&j5efI0EE;u^f~-B{P_Wa;D_drv{vtDpmn;8 zNVd86Z68}_kd6UKtvi~S=XVj%15^|}#NdnK*r=2l|ruiK}R77(*Cm zhD(!0stuheEE??$a=Vbv7#p+7ihvPA_`@!ul2lx&si;n{o8gJqPe)-hBc;YWrbKCg&VknA%V>Pui_b9H3o z79ykg#@$J(x8?tgS2Yk6LWp*6Utz=U%pr0kiCZ;lK?)10ikh@@z^F90Y00UQwR$B= z@GB}cLA%`*hM^$uc!7UHz1zw_r8>v_ZOan7eQH{+(dN$3O)W+E0!m74B|weGvtDgVjyDVqqJ zhyS&NXTzTgW5az893r%LflGqkpJWO^N>H@I^Zmcv42J?5^_zqR{>_HK{vQ7qYd|P? z14_W(T>c50urD3{d1C*tsoyUo|4)`s-~vpOB3|Gx@qv4@f#FGl_rE)Z{!_R@C{PT9 z;K}ek8pjf#l<)WTOI^R;Tp1B>Raq7Jv&3K*M0kmU2{um2YfZP-FSoO0eDTekPp7b~ zsb5B$w(G0NziXDQicN{qs>vGB$$K)rW^X+6s_&x($NRciOxD}vf3;FU4_pjauoAgOz=@{z^(!Rpbj zS5ZQc(>Kz8Ac%drLpiDd7MroXF2DP-tT>d0cXSUMPqFpOe)wNYlsQ8Wj$kMJvy7@c zB<1=4YNWy~;KApOd!JTm|8~*sZY*)`cG~=A^Y@d{_}KCP|2bJKF*;wM0mYwaZ1H!f zaVQWV)cn@@cNvv+$LjQRl_~*Q&#DJU!om~ll|8CUzL;mZDNN#z)5)7?K1!1?}v(UaQ-`q2Eh-p)%m9Q z??zyM|F=e=d9X9^W$?e?{ktD<|Cahc`ypFZL15{BG>8&$sy)b?`?nx$GJvr1lWO(9 zYsg;EJ0PrnsI2SG-;wwaxGT0teKueEm7XtuEEjvLdQHvx?_N~^b^-p=8wrBTq1t_y z?U$u$QAU~!h3DJ1cxVU?*8i7z_rFz9k_|*BXk^neh%@W$04H%Y{mj0$i#(tL;zo|mobQP?X_#8_}Y=dD- ziAcc0Y{1#1Yl`7ee&UPoFYo79@x5WZ*eLC{ne)eU9U4$+?^*uMfl8ld6=12Mc{!6O ziqJfzF_ufsrh`Oq6dUQ-rPaJe-mMsApC~%$x2&z7Kbn}Y&p&n<(ZkZllJvxtNi6Ll zWyCV2icann=rN0Ifq`VIzp~cYt@Gx6lL6ZFHx?6EI({$?p`&(j(mY(8ixl3A)3TXs4szXa zZ2#hUjz7|yE;}K2dGJhnG5*{lCTXHSW0oziet}J}25E!{ntsY#cQHxN>x=oq+`QgkoS49_k`<|C`Y9M%4a>D2GYA|ZgVo_>cF z{ID1R;1U4o;T`(S;?!J(@?CWCs6v~>#;vmAzpaf~rX%Z)$J%e*vx@$CxGTWBwvf8k zO)@B~?ZNH8Q+Ite;+g8>%A2_Uk(v-P@w@^bs|iu_aWFn8)yJE}xX&McqleFdS+WkJ)9k$@nlim5vUh(N- ztOnqrIQ8Ajt^f80uVupJR* zwA-YkO3D&s^{wth{#w#m94+5qs<_rAzv~Yxm+=Y97b6J~BE!zOa>r4O(!(_o#CvYD z@V3xo9FX{S{GDeqGxFCLgVzkShu0NgEeG{!ziXfVY%F5y4Vyse#mzLh`B)w~JwsP; z5r9vTuOY0O?!DKUPT}$-U+1oL=VfwruQ^NBp)gizndtm=_^9u(cD=VpMr&uGtS?q6 zs<-`Bpf@;PVZA(oiwz)CC7pAMyb6ZYb0V06S$$8~a>A0mJXmFXnMB(f?4x9lcEXCl zTo{)8Evmzq*~$#xvrhSRCl<^aE{S@k>nWC}+x=L29b86m#=F^&ovzvRhWU-%2&#|nb(H^Fw?{Qyr{5NwgTun-DL3s=VsYiWJEE|1tu_451N#^IwpdUI zqAtE(UDn+ghjrie$}))jH!CmQwZ`8LYWTRTNC@kQwEcLv z+McE34|5+ zM%&1Z4)m&&PMxSnUDHl*m%6 zS%2!pb|=pzlR_TVs%^Vh!n$}nv)={2auDBqe@6_*%=LDwoOhuvt;*Nt5BWe zs^Z9QbzJz;i9kFUg2%qOK&Q)^Cgt+7Uzs)ku8_R;mA(Jb)*g`H%vE9_hw_lGE8}qr zd2rfXTW-S^mXFJkPxdpRp%cG)wJh!=pcH^hoIJ(T9?Q)3g}GT9TaBWh352OLs^52J zYg#I&I$nBdCe8Wh404u$Md(GWD(t4l-O`2aoU%oWF=1_15IjsH4zA5JaVw_Z+F{>} z&#|FCMkhSiZENHD;-V3*^XsPFg{GXtzQ}FcP1x;*3k-=dzSIC#&Vi90AX048_+--+ zNX7Z_y||rVkLZCE{s?A#J_tp>)p*(0jM^-|V+Y91F&xkN8Glo@iocV#wt6^UTRz|zc_^waryDO1(F?Rcpq8!bv-F_(gW_q0hYoDkz|oE`QwdJ*FeULTUE!;Trq{9T*NAaU95NKFH4om=yz^V zu(lTY(WbRZb+ri`kXxCin)$sgRB^!wLzSF5D`Gz_b6prfE;p*h8G;fuRbFS&3^^lg z5FYy>#<24>BdD-mQ(`VKdsAe5Y1Ql^>Zq3p44IUQ1$*{HngUbOP zIVS)k1&9z0@d!DBuhhgHB6lwNUt-F&#_#zMvT$;>sBL`3~I9nUEPA`Qm~lEUW|)-z0hWW^V-nYqvqKr zUz=A2ny>C-^ayXZxl$^gBdn=UWo7ZyUep)1}%$d3HiNs$P_gS zns$L2CltB@z^S&R4qT#w5Sw2UH2RAM~T2=JrexdbCyU&bOTg zdAPG&%m$Fxetst`{~=6noEDTX6THm6(cl6&!>(BsBm%V#xN3HpzRG^;!%JD`l$n5C zs$(OFm)S^R{`0Te9}Ye*1}cyuN+?Z#vMlqahh#ho*KB$hdVUXzbhzxcbFkV1;>EoZ zp%cxFrV$txL`fla6?$)sBRL( zgmS%W5>8eyhvle4aRX>5nj_w$Mu}tsZv>!AEV^q!YMh{uDHEEABx3C!uT4SS-y`3d ze^P$lN{MK~Pni`jZ2wl%P^zR|v7{M(&wil!I(6d`x&V@7mU88Hr=g|YA_1~f;V{dq z3f7%uRytL@^%qyYK40S#yjsaC$kAi2bfO~2lu{ic$h`3ikq=RvL;^8EbcWA&WOND% z`{N8Jc}PVQ+M$O{=+@>N)+`n?!y2#70}DJ!KR7S<9n$vgWbd}F42b-*=j5%bG<%b)Ff@3QC6 z`Q^91aDW(iiX~#TSNZ0SgU|0Bi;~5t>`@7}QX%GqqrKw#2<&RjDO8Bj6BdcaTkC1a z6$!em$lIjBhFp}0Aq)1ST7sfm!`cPwP$P;?Bqcyt=4e1`yJ1_dLDfRw@pCcSqKPUo zh9f25HsO+DTPo7du_cLm)4HjAph97$^$nBV_QCGMh+AV@cB!PfkW1b)G1hK>gyI+e zoK#8#jtM_&!HM3Z!2!GN!FKV$l|W4)JCYG3B@y~-pHEPdIlBrPJoFIttBXe0DESE( zBla*F*-Xr{7vvI*4&^$N_KW&O(0y}DM8{|W{%d8Rkb;W}f%w6b;ohv@UA%%vgslG3 zEng@sb!ew$NR7Y-DIC_ zqF42+uW;K=vX$%+f11Y0r&5B1;R^JHc4K7Te9moP!-tiNcZKJ28N%tWekz!r5r;SX ze3T#5-7&%KhDqn*6R^rMVnFi;QiS9y0ZCxr*F#f)7S>2#- zn(EF&f2+`uqR{cBI9uXylJfYAXevO=i@O4F2X;9`0s%WkK65^vK_ya~9gbN2NOnu- zM11D$v&XdPyhDx`B<#X;sGb%b!O04!U>p(JbW5%v&@`WXyKZw>|5CHc#N{F+tn_p+ zq{JLBP!ydieM472I#v(VLgg6m#t&cN@znK$;|a@1aC^z?$QmRTm;_)|#fPnQw1he} z=veN@gh~eYi%_F?X@T%Vgcme$_E!7PGW&4DSY;Z->Jr7eV_B^!9PuKsBv^Mr9p(&! zf*k4k-wLD`hZPh9D7rUB8}1@HyQpm$LkeCXB1|YrN7SBVga9c%Z06C==@G6pI%%XR zjk1G0XzhNv)BYaR3S<&38tB7s#2E2QPNhmJ>t?Y#k>HcK-Hs$YB%zsdJP9ptTlx-^ z_En569GX=OYO+s2VKaN~aJr#;kP;X1OBy*#EqZH{NEb2;CLd~a) zjjWE~=iA4H9x{3%OV#GIkfm3&F5#7dS0-E<+@Mq09K3-;M_54?R?3bVDT?jYI*^v3 zgFgA)DcolT&}O1<)E7_;fCB07K0eagGA9PPAsj-%r!0e)@^}U7U;wi_F#OE(JGt`m zBY#~S<~TamT5OUTRUM({!KPGP2%1nxZ7H=ojO+35a3+w5yKiR;BVDD2n)|v9*MRXI zKUqhoR9%z^2R({>sG53f+hbua_;LaLIO#$J?r6vk?=X2>ON3;eW1d>Ti<29EFquN!3IvU4D!*nNSCHlP56wH!i`zW|TIQ91WW7*S}1*d=TSzsG}> z91~=OG`;~ca$D0k3Z>)4;Kc4xIwLHS;Z(Z!b#x8fp<%ZfZQ<6AvQK8p@YdqodFa_~ zDD<%*ahZlPK_~Wv>Fs`!Iv6A1;n)G1p({>e4?GbSII|*U|L|&@4XHs$R*-|>*3P7d ztO2@jd=QXeg^*^JYIE^YeFh_G$#>5Pbw~<%+7eG57x;$bkyeytnENAUT5Qvu1_)j! z9^mkkp}t!s9!#~fdiAuw_(@*O0;_8KLXQS>cd5N)imI1JltzrSHy=~cQWp8dUW4tZ z!yHM((@npyam_c0>Om>uf?6X>2I*W+y{MEV$amKQ&k^m9vGl=d?y{_5)?*0Q@fXy5 zwGz8J&WqVbo-9C-hDaEwg%;g>KyzZQ2L8FNokre)ou@w=u*X#^pQDObICMml6|y6E zU{ShZ8v1B45ltb2`I})hQN5!o8R%ve`F6fWZ}l1WHtDBh{zQI84(*=3C^-!Q0nkG8T+VpT_efm#SZ%ap z6naX2e&HCrL2qI;N=WXy9;8c^WhnD?=(q{jq)Lt!D>fo-n&iz5ebONb&7GK4Ww zk#2-Zr`lW?ArnvwCPpg7bdbY@M_YTgfh`0zsT3?5*-Dcp9!*{CCLQJ-3+-FA5CDa^ z2x)VMn#rEc8n+w0FcGHk+bYD8YdNRsMSub)MZdD8Ii0v-&46J~e6nQ=Si3p{VlrT8Qd0A7@A?Yx`QzO)~dM-{j$GdkGg04wQ6M;L(V{a zo+f1ihaO9&3xEzi;5W4-cgAuVK9vzp7ybYXE2R((?gPib2eYz7U2*DQ+KM79s$!#_ zF9&@3jz8=|OAS2}viafqMk4Em8EqRJLJLW!it;HoA%+oFeQ>v+rLj!)Si=8o5bk5c zWVTPbX=XiA;V;9<$JoH}jlL+ae>R^ae0N~i|1{Py_(}9i5|b?nedvk`;RAZ%N>Sa1 zZoaW?|XiH@Y3R8k( z(>K~DS%b;bG-YJmz=2xf1;>$0i99c`2%-X$$K9aw44oubVq(oHA#rF2f+b`pu zF?0K5Qd(5cTtNN=~?Mt=IcS!8Jtg)M;Dx_#|sig28{jUt5F8 zXQYcczq0Op+^bCes~kt%h~q=P+(uw-dHgFl{VS3zbz(^0y);p;3g(4KM@$(L<5bARpc85tV)VOHq}6$8kax4O&YKnm3YQ5tyBMphASk6qFCmaKV$_ z(JWW77h7Glrb+11G&SnQrN%MHx$@~5o%}eM-qL^5v}@g2D7ZDFR;mzQ(wnWY(4!TJ zXY;e{wPM1LEC2c7(3*6S%X;9ad z$NKv5o<=MQ)9r;HMmr}-r+a=A&!he#kF`AgBo4j)m$_q$u3|Gp_G^p9iNS{_Wt#K{oeeabv&DeuBjdUCj%^K0gTm#)e#D zSh=aQ8;gh~$2Ru-_Uh9{D)O_db`~c_*Jz{iT!`pJ=X8 z@<*z$Mm7yv{2%$LxKYZnk`o%L~e_+E;mvJH+;3=sz-Qp-;5?apacz%InDc z%kfTE_mt8_<({3&ItYuqE_*mf9{;A2Ph<@4tJli*%lpZW5b+p5#?HJ0-PyP$a_>o` ze5`Gdwn=J;nsIgBWSdrL%y1@wm-jjKFjPY$T2^^<=|c8SBl#X=dWMY{!F+CibaUL1 zwTzFAs@N*9?3>}{TGLf*m>f!ryM^kM6ipND=rk^q->rpQ%5;fM(whBJE_)E;H)
6aoLG-N)GfeyboCf< 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%0DrakGN$!vtq59-%@LfQqLpL%@S$r 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 From f873735dd4ef400d52993fa3dcf704d0b825ea08 Mon Sep 17 00:00:00 2001 From: bctiemann Date: Thu, 7 Nov 2024 09:14:33 -0500 Subject: [PATCH 07/26] Closes: #15239 - Allow adding/removing tagged VLANs in bulk editing of Interfaces (#17524) * Allow adding/removing tagged VLANs in bulk editing of Interfaces * Move vlan/interface-specific field operations to an overrideable method * Ensure interfaces are MODE_TAGGED before adding/removing tagged vlans * Add docstring for generic extra_object_field_operations * Move tagging ops into post_save_operations and use a TabbedGroup in the form --- netbox/dcim/forms/bulk_edit.py | 62 ++++++++++++++++------- netbox/dcim/views.py | 12 ++++- netbox/netbox/views/generic/bulk_views.py | 17 +++++-- 3 files changed, 68 insertions(+), 23 deletions(-) diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 96036f4da..54cc4dd87 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -13,7 +13,7 @@ from tenancy.models import Tenant from users.models import User from utilities.forms import BulkEditForm, add_blank_choice, form_from_model from utilities.forms.fields import ColorField, CommentField, DynamicModelChoiceField, DynamicModelMultipleChoiceField -from utilities.forms.rendering import FieldSet, InlineFields +from utilities.forms.rendering import FieldSet, InlineFields, TabbedGroups from utilities.forms.widgets import BulkEditNullBooleanSelect, NumberWithOptions from wireless.models import WirelessLAN, WirelessLANGroup from wireless.choices import WirelessRoleChoices @@ -1404,18 +1404,25 @@ class InterfaceBulkEditForm( parent = DynamicModelChoiceField( label=_('Parent'), queryset=Interface.objects.all(), - required=False + required=False, + query_params={ + 'virtual_chassis_member_id': '$device', + } ) bridge = DynamicModelChoiceField( label=_('Bridge'), queryset=Interface.objects.all(), - required=False + required=False, + query_params={ + 'virtual_chassis_member_id': '$device', + } ) lag = DynamicModelChoiceField( queryset=Interface.objects.all(), required=False, query_params={ 'type': 'lag', + 'virtual_chassis_member_id': '$device', }, label=_('LAG') ) @@ -1472,6 +1479,7 @@ class InterfaceBulkEditForm( required=False, query_params={ 'group_id': '$vlan_group', + 'available_on_device': '$device', }, label=_('Untagged VLAN') ) @@ -1480,9 +1488,28 @@ class InterfaceBulkEditForm( required=False, query_params={ 'group_id': '$vlan_group', + 'available_on_device': '$device', }, label=_('Tagged VLANs') ) + add_tagged_vlans = DynamicModelMultipleChoiceField( + label=_('Add tagged VLANs'), + queryset=VLAN.objects.all(), + required=False, + query_params={ + 'group_id': '$vlan_group', + 'available_on_device': '$device', + }, + ) + remove_tagged_vlans = DynamicModelMultipleChoiceField( + label=_('Remove tagged VLANs'), + queryset=VLAN.objects.all(), + required=False, + query_params={ + 'group_id': '$vlan_group', + 'available_on_device': '$device', + } + ) vrf = DynamicModelChoiceField( queryset=VRF.objects.all(), required=False, @@ -1509,7 +1536,13 @@ class InterfaceBulkEditForm( FieldSet('vdcs', 'mtu', 'tx_power', 'enabled', 'mgmt_only', 'mark_connected', name=_('Operation')), FieldSet('poe_mode', 'poe_type', name=_('PoE')), FieldSet('parent', 'bridge', 'lag', name=_('Related Interfaces')), - FieldSet('mode', 'vlan_group', 'untagged_vlan', 'tagged_vlans', name=_('802.1Q Switching')), + FieldSet('mode', 'vlan_group', 'untagged_vlan', name=_('802.1Q Switching')), + FieldSet( + TabbedGroups( + FieldSet('tagged_vlans', name=_('Assignment')), + FieldSet('add_tagged_vlans', 'remove_tagged_vlans', name=_('Add/Remove')), + ), + ), FieldSet( 'rf_role', 'rf_channel', 'rf_channel_frequency', 'rf_channel_width', 'wireless_lan_group', 'wireless_lans', name=_('Wireless') @@ -1523,19 +1556,7 @@ class InterfaceBulkEditForm( def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - if self.device_id: - device = Device.objects.filter(pk=self.device_id).first() - - # Restrict parent/bridge/LAG interface assignment by device - self.fields['parent'].widget.add_query_param('virtual_chassis_member_id', device.pk) - self.fields['bridge'].widget.add_query_param('virtual_chassis_member_id', device.pk) - self.fields['lag'].widget.add_query_param('virtual_chassis_member_id', device.pk) - - # Limit VLAN choices by device - self.fields['untagged_vlan'].widget.add_query_param('available_on_device', device.pk) - self.fields['tagged_vlans'].widget.add_query_param('available_on_device', device.pk) - - else: + if not self.device_id: # See #4523 if 'pk' in self.initial: site = None @@ -1559,6 +1580,13 @@ class InterfaceBulkEditForm( 'site_id', [site.pk, settings.FILTERS_NULL_CHOICE_VALUE] ) + self.fields['add_tagged_vlans'].widget.add_query_param( + 'site_id', [site.pk, settings.FILTERS_NULL_CHOICE_VALUE] + ) + self.fields['remove_tagged_vlans'].widget.add_query_param( + 'site_id', [site.pk, settings.FILTERS_NULL_CHOICE_VALUE] + ) + self.fields['parent'].choices = () self.fields['parent'].widget.attrs['disabled'] = True self.fields['bridge'].choices = () diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 3cd423426..f390be89b 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -35,7 +35,7 @@ from virtualization.forms import VirtualMachineFilterForm from virtualization.models import VirtualMachine from virtualization.tables import VirtualMachineTable from . import filtersets, forms, tables -from .choices import DeviceFaceChoices +from .choices import DeviceFaceChoices, InterfaceModeChoices from .models import * CABLE_TERMINATION_TYPES = { @@ -2616,6 +2616,16 @@ class InterfaceBulkEditView(generic.BulkEditView): table = tables.InterfaceTable form = forms.InterfaceBulkEditForm + def post_save_operations(self, form, obj): + super().post_save_operations(form, obj) + + # Add/remove tagged VLANs + if obj.mode == InterfaceModeChoices.MODE_TAGGED: + if form.cleaned_data.get('add_tagged_vlans', None): + obj.tagged_vlans.add(*form.cleaned_data['add_tagged_vlans']) + if form.cleaned_data.get('remove_tagged_vlans', None): + obj.tagged_vlans.remove(*form.cleaned_data['remove_tagged_vlans']) + class InterfaceBulkRenameView(generic.BulkRenameView): queryset = Interface.objects.all() diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index d8115726c..4b2f1ae28 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -541,6 +541,17 @@ class BulkEditView(GetReturnURLMixin, BaseMultiObjectView): def get_required_permission(self): return get_permission_for_model(self.queryset.model, 'change') + def post_save_operations(self, form, obj): + """ + This method is called for each object in _update_objects. Override to perform additional object-level + operations that are specific to a particular ModelForm. + """ + # Add/remove tags + if form.cleaned_data.get('add_tags', None): + obj.tags.add(*form.cleaned_data['add_tags']) + if form.cleaned_data.get('remove_tags', None): + obj.tags.remove(*form.cleaned_data['remove_tags']) + def _update_objects(self, form, request): custom_fields = getattr(form, 'custom_fields', {}) standard_fields = [ @@ -612,11 +623,7 @@ class BulkEditView(GetReturnURLMixin, BaseMultiObjectView): elif form.cleaned_data[name]: getattr(obj, name).set(form.cleaned_data[name]) - # Add/remove tags - if form.cleaned_data.get('add_tags', None): - obj.tags.add(*form.cleaned_data['add_tags']) - if form.cleaned_data.get('remove_tags', None): - obj.tags.remove(*form.cleaned_data['remove_tags']) + self.post_save_operations(form, obj) # Rebuild the tree for MPTT models if issubclass(self.queryset.model, MPTTModel): From fe0ae39903f96e76f94d61ab7fb937980e861c4a Mon Sep 17 00:00:00 2001 From: Pl0xym0r <148605740+pl0xym0r@users.noreply.github.com> Date: Thu, 7 Nov 2024 15:26:14 +0100 Subject: [PATCH 08/26] Closes: #17871 - Add cluster on bulkedit device (#17920) * 17871 add cluster on bulkedit device * Make cluster assignment nullable; reorder imports --------- Co-authored-by: Jeremy Stretch --- netbox/dcim/forms/bulk_edit.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index 54cc4dd87..b2733b60c 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -15,8 +15,9 @@ from utilities.forms import BulkEditForm, add_blank_choice, form_from_model from utilities.forms.fields import ColorField, CommentField, DynamicModelChoiceField, DynamicModelMultipleChoiceField from utilities.forms.rendering import FieldSet, InlineFields, TabbedGroups from utilities.forms.widgets import BulkEditNullBooleanSelect, NumberWithOptions -from wireless.models import WirelessLAN, WirelessLANGroup +from virtualization.models import Cluster from wireless.choices import WirelessRoleChoices +from wireless.models import WirelessLAN, WirelessLANGroup __all__ = ( 'CableBulkEditForm', @@ -721,6 +722,14 @@ class DeviceBulkEditForm(NetBoxModelBulkEditForm): queryset=ConfigTemplate.objects.all(), required=False ) + cluster = DynamicModelChoiceField( + label=_('Cluster'), + queryset=Cluster.objects.all(), + required=False, + query_params={ + 'site_id': ['$site', 'null'] + }, + ) comments = CommentField() model = Device @@ -729,9 +738,10 @@ class DeviceBulkEditForm(NetBoxModelBulkEditForm): FieldSet('site', 'location', name=_('Location')), FieldSet('manufacturer', 'device_type', 'airflow', 'serial', name=_('Hardware')), FieldSet('config_template', name=_('Configuration')), + FieldSet('cluster', name=_('Virtualization')), ) nullable_fields = ( - 'location', 'tenant', 'platform', 'serial', 'airflow', 'description', 'comments', + 'location', 'tenant', 'platform', 'serial', 'airflow', 'description', 'cluster', 'comments', ) From 494d4108478abe0ba9b15c974644eb2db8615b30 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 8 Nov 2024 05:02:01 +0000 Subject: [PATCH 09/26] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 405 ++++++++++--------- 1 file changed, 209 insertions(+), 196 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 4afa28869..01e151c84 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-31 05:02+0000\n" +"POT-Creation-Date: 2024-11-08 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -194,9 +194,9 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:209 #: netbox/circuits/forms/model_forms.py:138 #: netbox/circuits/forms/model_forms.py:154 -#: netbox/circuits/tables/circuits.py:113 netbox/dcim/forms/bulk_edit.py:168 -#: netbox/dcim/forms/bulk_edit.py:329 netbox/dcim/forms/bulk_edit.py:677 -#: netbox/dcim/forms/bulk_edit.py:873 netbox/dcim/forms/bulk_import.py:131 +#: netbox/circuits/tables/circuits.py:113 netbox/dcim/forms/bulk_edit.py:169 +#: netbox/dcim/forms/bulk_edit.py:330 netbox/dcim/forms/bulk_edit.py:678 +#: netbox/dcim/forms/bulk_edit.py:883 netbox/dcim/forms/bulk_import.py:131 #: netbox/dcim/forms/bulk_import.py:230 netbox/dcim/forms/bulk_import.py:309 #: netbox/dcim/forms/bulk_import.py:540 netbox/dcim/forms/bulk_import.py:1311 #: netbox/dcim/forms/bulk_import.py:1339 netbox/dcim/forms/filtersets.py:87 @@ -380,7 +380,7 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:30 netbox/circuits/forms/filtersets.py:56 #: netbox/circuits/forms/model_forms.py:29 -#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:128 +#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:129 #: netbox/dcim/forms/filtersets.py:195 netbox/dcim/forms/model_forms.py:123 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 #: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 @@ -394,21 +394,21 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:164 #: netbox/circuits/forms/bulk_edit.py:183 #: netbox/circuits/forms/bulk_edit.py:228 netbox/core/forms/bulk_edit.py:28 -#: netbox/dcim/forms/bulk_create.py:35 netbox/dcim/forms/bulk_edit.py:73 -#: netbox/dcim/forms/bulk_edit.py:92 netbox/dcim/forms/bulk_edit.py:151 -#: netbox/dcim/forms/bulk_edit.py:192 netbox/dcim/forms/bulk_edit.py:210 -#: netbox/dcim/forms/bulk_edit.py:288 netbox/dcim/forms/bulk_edit.py:432 -#: netbox/dcim/forms/bulk_edit.py:466 netbox/dcim/forms/bulk_edit.py:481 -#: netbox/dcim/forms/bulk_edit.py:540 netbox/dcim/forms/bulk_edit.py:584 -#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_edit.py:642 -#: netbox/dcim/forms/bulk_edit.py:715 netbox/dcim/forms/bulk_edit.py:767 -#: netbox/dcim/forms/bulk_edit.py:819 netbox/dcim/forms/bulk_edit.py:842 -#: netbox/dcim/forms/bulk_edit.py:890 netbox/dcim/forms/bulk_edit.py:960 -#: netbox/dcim/forms/bulk_edit.py:1013 netbox/dcim/forms/bulk_edit.py:1048 -#: netbox/dcim/forms/bulk_edit.py:1088 netbox/dcim/forms/bulk_edit.py:1132 -#: netbox/dcim/forms/bulk_edit.py:1177 netbox/dcim/forms/bulk_edit.py:1204 -#: netbox/dcim/forms/bulk_edit.py:1222 netbox/dcim/forms/bulk_edit.py:1240 -#: netbox/dcim/forms/bulk_edit.py:1258 netbox/dcim/forms/bulk_edit.py:1682 +#: netbox/dcim/forms/bulk_create.py:35 netbox/dcim/forms/bulk_edit.py:74 +#: netbox/dcim/forms/bulk_edit.py:93 netbox/dcim/forms/bulk_edit.py:152 +#: netbox/dcim/forms/bulk_edit.py:193 netbox/dcim/forms/bulk_edit.py:211 +#: netbox/dcim/forms/bulk_edit.py:289 netbox/dcim/forms/bulk_edit.py:433 +#: netbox/dcim/forms/bulk_edit.py:467 netbox/dcim/forms/bulk_edit.py:482 +#: netbox/dcim/forms/bulk_edit.py:541 netbox/dcim/forms/bulk_edit.py:585 +#: netbox/dcim/forms/bulk_edit.py:619 netbox/dcim/forms/bulk_edit.py:643 +#: netbox/dcim/forms/bulk_edit.py:716 netbox/dcim/forms/bulk_edit.py:777 +#: netbox/dcim/forms/bulk_edit.py:829 netbox/dcim/forms/bulk_edit.py:852 +#: netbox/dcim/forms/bulk_edit.py:900 netbox/dcim/forms/bulk_edit.py:970 +#: netbox/dcim/forms/bulk_edit.py:1023 netbox/dcim/forms/bulk_edit.py:1058 +#: netbox/dcim/forms/bulk_edit.py:1098 netbox/dcim/forms/bulk_edit.py:1142 +#: netbox/dcim/forms/bulk_edit.py:1187 netbox/dcim/forms/bulk_edit.py:1214 +#: netbox/dcim/forms/bulk_edit.py:1232 netbox/dcim/forms/bulk_edit.py:1250 +#: netbox/dcim/forms/bulk_edit.py:1268 netbox/dcim/forms/bulk_edit.py:1720 #: netbox/extras/forms/bulk_edit.py:39 netbox/extras/forms/bulk_edit.py:149 #: netbox/extras/forms/bulk_edit.py:178 netbox/extras/forms/bulk_edit.py:208 #: netbox/extras/forms/bulk_edit.py:256 netbox/extras/forms/bulk_edit.py:274 @@ -553,10 +553,10 @@ msgid "Service ID" msgstr "" #: netbox/circuits/forms/bulk_edit.py:100 -#: netbox/circuits/forms/filtersets.py:107 netbox/dcim/forms/bulk_edit.py:206 -#: netbox/dcim/forms/bulk_edit.py:604 netbox/dcim/forms/bulk_edit.py:804 -#: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 -#: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 +#: netbox/circuits/forms/filtersets.py:107 netbox/dcim/forms/bulk_edit.py:207 +#: netbox/dcim/forms/bulk_edit.py:605 netbox/dcim/forms/bulk_edit.py:814 +#: netbox/dcim/forms/bulk_edit.py:1183 netbox/dcim/forms/bulk_edit.py:1210 +#: netbox/dcim/forms/bulk_edit.py:1716 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 #: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 #: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 @@ -576,11 +576,11 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 -#: netbox/dcim/forms/bulk_edit.py:782 netbox/dcim/forms/bulk_edit.py:921 -#: netbox/dcim/forms/bulk_edit.py:989 netbox/dcim/forms/bulk_edit.py:1008 -#: netbox/dcim/forms/bulk_edit.py:1031 netbox/dcim/forms/bulk_edit.py:1073 -#: netbox/dcim/forms/bulk_edit.py:1117 netbox/dcim/forms/bulk_edit.py:1168 -#: netbox/dcim/forms/bulk_edit.py:1195 netbox/dcim/forms/bulk_import.py:188 +#: netbox/dcim/forms/bulk_edit.py:792 netbox/dcim/forms/bulk_edit.py:931 +#: netbox/dcim/forms/bulk_edit.py:999 netbox/dcim/forms/bulk_edit.py:1018 +#: netbox/dcim/forms/bulk_edit.py:1041 netbox/dcim/forms/bulk_edit.py:1083 +#: netbox/dcim/forms/bulk_edit.py:1127 netbox/dcim/forms/bulk_edit.py:1178 +#: netbox/dcim/forms/bulk_edit.py:1205 netbox/dcim/forms/bulk_import.py:188 #: netbox/dcim/forms/bulk_import.py:260 netbox/dcim/forms/bulk_import.py:708 #: netbox/dcim/forms/bulk_import.py:734 netbox/dcim/forms/bulk_import.py:760 #: netbox/dcim/forms/bulk_import.py:780 netbox/dcim/forms/bulk_import.py:863 @@ -637,10 +637,10 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 -#: netbox/dcim/forms/bulk_edit.py:106 netbox/dcim/forms/bulk_edit.py:181 -#: netbox/dcim/forms/bulk_edit.py:351 netbox/dcim/forms/bulk_edit.py:700 -#: netbox/dcim/forms/bulk_edit.py:756 netbox/dcim/forms/bulk_edit.py:788 -#: netbox/dcim/forms/bulk_edit.py:915 netbox/dcim/forms/bulk_edit.py:1701 +#: netbox/dcim/forms/bulk_edit.py:107 netbox/dcim/forms/bulk_edit.py:182 +#: netbox/dcim/forms/bulk_edit.py:352 netbox/dcim/forms/bulk_edit.py:701 +#: netbox/dcim/forms/bulk_edit.py:766 netbox/dcim/forms/bulk_edit.py:798 +#: netbox/dcim/forms/bulk_edit.py:925 netbox/dcim/forms/bulk_edit.py:1739 #: netbox/dcim/forms/bulk_import.py:88 netbox/dcim/forms/bulk_import.py:147 #: netbox/dcim/forms/bulk_import.py:248 netbox/dcim/forms/bulk_import.py:505 #: netbox/dcim/forms/bulk_import.py:659 netbox/dcim/forms/bulk_import.py:1207 @@ -705,10 +705,10 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:98 #: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 -#: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 -#: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 -#: netbox/dcim/forms/bulk_edit.py:461 netbox/dcim/forms/bulk_edit.py:690 -#: netbox/dcim/forms/bulk_edit.py:794 netbox/dcim/forms/bulk_edit.py:1706 +#: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:123 +#: netbox/dcim/forms/bulk_edit.py:188 netbox/dcim/forms/bulk_edit.py:347 +#: netbox/dcim/forms/bulk_edit.py:462 netbox/dcim/forms/bulk_edit.py:691 +#: netbox/dcim/forms/bulk_edit.py:804 netbox/dcim/forms/bulk_edit.py:1744 #: netbox/dcim/forms/bulk_import.py:107 netbox/dcim/forms/bulk_import.py:152 #: netbox/dcim/forms/bulk_import.py:241 netbox/dcim/forms/bulk_import.py:334 #: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1219 @@ -833,11 +833,11 @@ msgstr "" msgid "Upstream speed (Kbps)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:206 netbox/dcim/forms/bulk_edit.py:951 -#: netbox/dcim/forms/bulk_edit.py:1315 netbox/dcim/forms/bulk_edit.py:1332 -#: netbox/dcim/forms/bulk_edit.py:1349 netbox/dcim/forms/bulk_edit.py:1367 -#: netbox/dcim/forms/bulk_edit.py:1455 netbox/dcim/forms/bulk_edit.py:1594 -#: netbox/dcim/forms/bulk_edit.py:1611 +#: netbox/circuits/forms/bulk_edit.py:206 netbox/dcim/forms/bulk_edit.py:961 +#: netbox/dcim/forms/bulk_edit.py:1325 netbox/dcim/forms/bulk_edit.py:1342 +#: netbox/dcim/forms/bulk_edit.py:1359 netbox/dcim/forms/bulk_edit.py:1377 +#: netbox/dcim/forms/bulk_edit.py:1472 netbox/dcim/forms/bulk_edit.py:1632 +#: netbox/dcim/forms/bulk_edit.py:1649 msgid "Mark connected" msgstr "" @@ -927,9 +927,9 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:30 #: netbox/circuits/forms/filtersets.py:118 -#: netbox/circuits/forms/filtersets.py:200 netbox/dcim/forms/bulk_edit.py:338 -#: netbox/dcim/forms/bulk_edit.py:441 netbox/dcim/forms/bulk_edit.py:682 -#: netbox/dcim/forms/bulk_edit.py:729 netbox/dcim/forms/bulk_edit.py:882 +#: netbox/circuits/forms/filtersets.py:200 netbox/dcim/forms/bulk_edit.py:339 +#: netbox/dcim/forms/bulk_edit.py:442 netbox/dcim/forms/bulk_edit.py:683 +#: netbox/dcim/forms/bulk_edit.py:738 netbox/dcim/forms/bulk_edit.py:892 #: netbox/dcim/forms/bulk_import.py:235 netbox/dcim/forms/bulk_import.py:315 #: netbox/dcim/forms/bulk_import.py:546 netbox/dcim/forms/bulk_import.py:1317 #: netbox/dcim/forms/bulk_import.py:1351 netbox/dcim/forms/filtersets.py:95 @@ -980,8 +980,8 @@ msgid "Contacts" msgstr "" #: netbox/circuits/forms/filtersets.py:37 -#: netbox/circuits/forms/filtersets.py:157 netbox/dcim/forms/bulk_edit.py:112 -#: netbox/dcim/forms/bulk_edit.py:313 netbox/dcim/forms/bulk_edit.py:857 +#: netbox/circuits/forms/filtersets.py:157 netbox/dcim/forms/bulk_edit.py:113 +#: netbox/dcim/forms/bulk_edit.py:314 netbox/dcim/forms/bulk_edit.py:867 #: netbox/dcim/forms/bulk_import.py:93 netbox/dcim/forms/filtersets.py:73 #: netbox/dcim/forms/filtersets.py:185 netbox/dcim/forms/filtersets.py:211 #: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:425 @@ -1007,8 +1007,8 @@ msgid "Region" msgstr "" #: netbox/circuits/forms/filtersets.py:42 -#: netbox/circuits/forms/filtersets.py:162 netbox/dcim/forms/bulk_edit.py:321 -#: netbox/dcim/forms/bulk_edit.py:865 netbox/dcim/forms/filtersets.py:78 +#: netbox/circuits/forms/filtersets.py:162 netbox/dcim/forms/bulk_edit.py:322 +#: netbox/dcim/forms/bulk_edit.py:875 netbox/dcim/forms/filtersets.py:78 #: netbox/dcim/forms/filtersets.py:190 netbox/dcim/forms/filtersets.py:216 #: netbox/dcim/forms/filtersets.py:347 netbox/dcim/forms/filtersets.py:430 #: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:988 @@ -1028,7 +1028,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:83 #: netbox/circuits/forms/filtersets.py:102 #: netbox/circuits/forms/filtersets.py:117 netbox/core/forms/filtersets.py:67 -#: netbox/core/forms/filtersets.py:135 netbox/dcim/forms/bulk_edit.py:828 +#: netbox/core/forms/filtersets.py:135 netbox/dcim/forms/bulk_edit.py:838 #: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:204 #: netbox/dcim/forms/filtersets.py:915 netbox/dcim/forms/filtersets.py:1007 #: netbox/dcim/forms/filtersets.py:1131 netbox/dcim/forms/filtersets.py:1239 @@ -1066,7 +1066,7 @@ msgstr "" msgid "Term Side" msgstr "" -#: netbox/circuits/forms/filtersets.py:250 +#: netbox/circuits/forms/filtersets.py:250 netbox/dcim/forms/bulk_edit.py:1552 #: netbox/extras/forms/model_forms.py:582 netbox/ipam/forms/filtersets.py:142 #: netbox/ipam/forms/filtersets.py:546 netbox/ipam/forms/model_forms.py:323 #: netbox/templates/extras/configcontext.html:60 @@ -1078,7 +1078,7 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:265 #: netbox/circuits/forms/model_forms.py:195 -#: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:117 +#: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:118 #: netbox/dcim/forms/bulk_import.py:100 netbox/dcim/forms/model_forms.py:117 #: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480 #: netbox/ipam/filtersets.py:999 netbox/ipam/forms/bulk_edit.py:493 @@ -1739,8 +1739,8 @@ msgid "User name" msgstr "" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 -#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 -#: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 +#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1132 +#: netbox/dcim/forms/bulk_edit.py:1410 netbox/dcim/forms/filtersets.py:1370 #: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 @@ -1844,7 +1844,7 @@ msgid "Completed before" msgstr "" #: netbox/core/forms/filtersets.py:126 netbox/core/forms/filtersets.py:155 -#: netbox/dcim/forms/bulk_edit.py:456 netbox/dcim/forms/filtersets.py:418 +#: netbox/dcim/forms/bulk_edit.py:457 netbox/dcim/forms/filtersets.py:418 #: netbox/dcim/forms/filtersets.py:462 netbox/dcim/forms/model_forms.py:316 #: netbox/extras/forms/filtersets.py:456 netbox/extras/forms/filtersets.py:475 #: netbox/extras/tables/tables.py:302 netbox/extras/tables/tables.py:342 @@ -1910,8 +1910,8 @@ msgid "Rack Elevations" msgstr "" #: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 -#: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 -#: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 +#: netbox/dcim/forms/bulk_edit.py:979 netbox/dcim/forms/bulk_edit.py:1367 +#: netbox/dcim/forms/bulk_edit.py:1385 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 msgid "Power" msgstr "" @@ -2553,9 +2553,9 @@ msgstr "" msgid "Rear to front" msgstr "" -#: netbox/dcim/choices.py:151 netbox/dcim/forms/bulk_edit.py:68 -#: netbox/dcim/forms/bulk_edit.py:87 netbox/dcim/forms/bulk_edit.py:173 -#: netbox/dcim/forms/bulk_edit.py:1405 netbox/dcim/forms/bulk_import.py:60 +#: netbox/dcim/choices.py:151 netbox/dcim/forms/bulk_edit.py:69 +#: netbox/dcim/forms/bulk_edit.py:88 netbox/dcim/forms/bulk_edit.py:174 +#: netbox/dcim/forms/bulk_edit.py:1415 netbox/dcim/forms/bulk_import.py:60 #: netbox/dcim/forms/bulk_import.py:74 netbox/dcim/forms/bulk_import.py:137 #: netbox/dcim/forms/bulk_import.py:566 netbox/dcim/forms/bulk_import.py:833 #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 @@ -2688,7 +2688,7 @@ msgid "Virtual" msgstr "" #: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 -#: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 +#: netbox/dcim/forms/bulk_edit.py:1558 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 #: netbox/templates/dcim/interface.html:210 @@ -2699,7 +2699,7 @@ msgstr "" msgid "Virtual interfaces" msgstr "" -#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1423 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 #: netbox/dcim/tables/devices.py:660 netbox/templates/dcim/interface.html:106 #: netbox/templates/virtualization/vminterface.html:43 @@ -3106,7 +3106,7 @@ msgstr "" msgid "Device model (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/bulk_edit.py:516 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/bulk_edit.py:517 msgid "Is full depth" msgstr "" @@ -3228,7 +3228,7 @@ msgstr "" msgid "Assigned VID" msgstr "" -#: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 +#: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1526 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 #: netbox/dcim/models/device_components.py:711 @@ -3397,27 +3397,27 @@ msgid "" "created.)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:132 +#: netbox/dcim/forms/bulk_edit.py:133 msgid "Contact name" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:137 +#: netbox/dcim/forms/bulk_edit.py:138 msgid "Contact phone" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:143 +#: netbox/dcim/forms/bulk_edit.py:144 msgid "Contact E-mail" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:146 netbox/dcim/forms/bulk_import.py:123 +#: netbox/dcim/forms/bulk_edit.py:147 netbox/dcim/forms/bulk_import.py:123 #: netbox/dcim/forms/model_forms.py:128 msgid "Time zone" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:224 netbox/dcim/forms/bulk_edit.py:495 -#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:632 -#: netbox/dcim/forms/bulk_edit.py:656 netbox/dcim/forms/bulk_edit.py:740 -#: netbox/dcim/forms/bulk_edit.py:1267 netbox/dcim/forms/bulk_edit.py:1660 +#: netbox/dcim/forms/bulk_edit.py:225 netbox/dcim/forms/bulk_edit.py:496 +#: netbox/dcim/forms/bulk_edit.py:560 netbox/dcim/forms/bulk_edit.py:633 +#: netbox/dcim/forms/bulk_edit.py:657 netbox/dcim/forms/bulk_edit.py:750 +#: netbox/dcim/forms/bulk_edit.py:1277 netbox/dcim/forms/bulk_edit.py:1698 #: netbox/dcim/forms/bulk_import.py:182 netbox/dcim/forms/bulk_import.py:371 #: netbox/dcim/forms/bulk_import.py:405 netbox/dcim/forms/bulk_import.py:450 #: netbox/dcim/forms/bulk_import.py:486 netbox/dcim/forms/bulk_import.py:1082 @@ -3443,51 +3443,51 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:229 netbox/dcim/forms/bulk_edit.py:372 +#: netbox/dcim/forms/bulk_edit.py:230 netbox/dcim/forms/bulk_edit.py:373 #: netbox/dcim/forms/bulk_import.py:191 netbox/dcim/forms/bulk_import.py:263 #: netbox/dcim/forms/filtersets.py:255 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:6 msgid "Form factor" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:234 netbox/dcim/forms/bulk_edit.py:377 +#: netbox/dcim/forms/bulk_edit.py:235 netbox/dcim/forms/bulk_edit.py:378 #: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:266 #: netbox/dcim/forms/filtersets.py:260 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:10 msgid "Width" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:240 netbox/dcim/forms/bulk_edit.py:383 +#: netbox/dcim/forms/bulk_edit.py:241 netbox/dcim/forms/bulk_edit.py:384 #: netbox/templates/dcim/devicetype.html:37 msgid "Height (U)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:249 netbox/dcim/forms/bulk_edit.py:388 +#: netbox/dcim/forms/bulk_edit.py:250 netbox/dcim/forms/bulk_edit.py:389 #: netbox/dcim/forms/filtersets.py:274 msgid "Descending units" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:252 netbox/dcim/forms/bulk_edit.py:391 +#: netbox/dcim/forms/bulk_edit.py:253 netbox/dcim/forms/bulk_edit.py:392 msgid "Outer width" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:257 netbox/dcim/forms/bulk_edit.py:396 +#: netbox/dcim/forms/bulk_edit.py:258 netbox/dcim/forms/bulk_edit.py:397 msgid "Outer depth" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:262 netbox/dcim/forms/bulk_edit.py:401 +#: netbox/dcim/forms/bulk_edit.py:263 netbox/dcim/forms/bulk_edit.py:402 #: netbox/dcim/forms/bulk_import.py:204 netbox/dcim/forms/bulk_import.py:271 msgid "Outer unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:406 +#: netbox/dcim/forms/bulk_edit.py:268 netbox/dcim/forms/bulk_edit.py:407 msgid "Mounting depth" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:272 netbox/dcim/forms/bulk_edit.py:299 -#: netbox/dcim/forms/bulk_edit.py:416 netbox/dcim/forms/bulk_edit.py:446 -#: netbox/dcim/forms/bulk_edit.py:529 netbox/dcim/forms/bulk_edit.py:552 -#: netbox/dcim/forms/bulk_edit.py:573 netbox/dcim/forms/bulk_edit.py:595 +#: netbox/dcim/forms/bulk_edit.py:273 netbox/dcim/forms/bulk_edit.py:300 +#: netbox/dcim/forms/bulk_edit.py:417 netbox/dcim/forms/bulk_edit.py:447 +#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:553 +#: netbox/dcim/forms/bulk_edit.py:574 netbox/dcim/forms/bulk_edit.py:596 #: netbox/dcim/forms/bulk_import.py:384 netbox/dcim/forms/bulk_import.py:416 #: netbox/dcim/forms/filtersets.py:285 netbox/dcim/forms/filtersets.py:307 #: netbox/dcim/forms/filtersets.py:327 netbox/dcim/forms/filtersets.py:401 @@ -3511,13 +3511,13 @@ msgstr "" msgid "Weight" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/bulk_edit.py:421 +#: netbox/dcim/forms/bulk_edit.py:278 netbox/dcim/forms/bulk_edit.py:422 #: netbox/dcim/forms/filtersets.py:290 msgid "Max weight" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:282 netbox/dcim/forms/bulk_edit.py:426 -#: netbox/dcim/forms/bulk_edit.py:534 netbox/dcim/forms/bulk_edit.py:578 +#: netbox/dcim/forms/bulk_edit.py:283 netbox/dcim/forms/bulk_edit.py:427 +#: netbox/dcim/forms/bulk_edit.py:535 netbox/dcim/forms/bulk_edit.py:579 #: netbox/dcim/forms/bulk_import.py:210 netbox/dcim/forms/bulk_import.py:283 #: netbox/dcim/forms/bulk_import.py:389 netbox/dcim/forms/bulk_import.py:421 #: netbox/dcim/forms/filtersets.py:295 netbox/dcim/forms/filtersets.py:598 @@ -3525,31 +3525,31 @@ msgstr "" msgid "Weight unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:296 netbox/dcim/forms/filtersets.py:305 +#: netbox/dcim/forms/bulk_edit.py:297 netbox/dcim/forms/filtersets.py:305 #: netbox/dcim/forms/model_forms.py:217 netbox/dcim/forms/model_forms.py:256 #: netbox/templates/dcim/rack.html:45 netbox/templates/dcim/racktype.html:13 msgid "Rack Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:298 netbox/dcim/forms/model_forms.py:220 +#: netbox/dcim/forms/bulk_edit.py:299 netbox/dcim/forms/model_forms.py:220 #: netbox/dcim/forms/model_forms.py:297 msgid "Outer Dimensions" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:301 netbox/dcim/forms/model_forms.py:222 +#: netbox/dcim/forms/bulk_edit.py:302 netbox/dcim/forms/model_forms.py:222 #: netbox/dcim/forms/model_forms.py:299 netbox/templates/dcim/device.html:315 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:3 msgid "Dimensions" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:303 netbox/dcim/forms/filtersets.py:306 +#: netbox/dcim/forms/bulk_edit.py:304 netbox/dcim/forms/filtersets.py:306 #: netbox/dcim/forms/filtersets.py:326 netbox/dcim/forms/model_forms.py:224 #: netbox/templates/dcim/inc/panels/racktype_numbering.html:3 msgid "Numbering" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:357 netbox/dcim/forms/bulk_edit.py:1262 -#: netbox/dcim/forms/bulk_edit.py:1655 netbox/dcim/forms/bulk_import.py:253 +#: netbox/dcim/forms/bulk_edit.py:358 netbox/dcim/forms/bulk_edit.py:1272 +#: netbox/dcim/forms/bulk_edit.py:1693 netbox/dcim/forms/bulk_import.py:253 #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: netbox/dcim/forms/filtersets.py:777 netbox/dcim/forms/filtersets.py:1534 #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 @@ -3591,22 +3591,22 @@ msgstr "" msgid "Role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:364 netbox/dcim/forms/bulk_edit.py:712 -#: netbox/dcim/forms/bulk_edit.py:764 netbox/templates/dcim/device.html:104 +#: netbox/dcim/forms/bulk_edit.py:365 netbox/dcim/forms/bulk_edit.py:713 +#: netbox/dcim/forms/bulk_edit.py:774 netbox/templates/dcim/device.html:104 #: netbox/templates/dcim/module.html:77 netbox/templates/dcim/modulebay.html:70 #: netbox/templates/dcim/rack.html:57 #: netbox/templates/virtualization/virtualmachine.html:35 msgid "Serial Number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:367 netbox/dcim/forms/filtersets.py:387 +#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/filtersets.py:387 #: netbox/dcim/forms/filtersets.py:813 netbox/dcim/forms/filtersets.py:967 #: netbox/dcim/forms/filtersets.py:1546 msgid "Asset tag" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:411 netbox/dcim/forms/bulk_edit.py:524 -#: netbox/dcim/forms/bulk_edit.py:568 netbox/dcim/forms/bulk_edit.py:705 +#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:525 +#: netbox/dcim/forms/bulk_edit.py:569 netbox/dcim/forms/bulk_edit.py:706 #: netbox/dcim/forms/bulk_import.py:277 netbox/dcim/forms/bulk_import.py:410 #: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/filtersets.py:280 #: netbox/dcim/forms/filtersets.py:511 netbox/dcim/forms/filtersets.py:669 @@ -3617,7 +3617,7 @@ msgstr "" msgid "Airflow" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:440 netbox/dcim/forms/bulk_edit.py:910 +#: netbox/dcim/forms/bulk_edit.py:441 netbox/dcim/forms/bulk_edit.py:920 #: netbox/dcim/forms/bulk_import.py:322 netbox/dcim/forms/bulk_import.py:325 #: netbox/dcim/forms/bulk_import.py:553 netbox/dcim/forms/bulk_import.py:1358 #: netbox/dcim/forms/bulk_import.py:1362 netbox/dcim/forms/filtersets.py:104 @@ -3639,7 +3639,7 @@ msgstr "" msgid "Rack" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:444 netbox/dcim/forms/bulk_edit.py:730 +#: netbox/dcim/forms/bulk_edit.py:445 netbox/dcim/forms/bulk_edit.py:739 #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 @@ -3648,50 +3648,50 @@ msgstr "" msgid "Hardware" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:500 netbox/dcim/forms/bulk_import.py:377 +#: netbox/dcim/forms/bulk_edit.py:501 netbox/dcim/forms/bulk_import.py:377 #: netbox/dcim/forms/filtersets.py:499 netbox/dcim/forms/model_forms.py:353 msgid "Default platform" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:505 netbox/dcim/forms/bulk_edit.py:564 +#: netbox/dcim/forms/bulk_edit.py:506 netbox/dcim/forms/bulk_edit.py:565 #: netbox/dcim/forms/filtersets.py:502 netbox/dcim/forms/filtersets.py:622 msgid "Part number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:509 +#: netbox/dcim/forms/bulk_edit.py:510 msgid "U height" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 +#: netbox/dcim/forms/bulk_edit.py:522 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 +#: netbox/dcim/forms/bulk_edit.py:551 netbox/dcim/forms/model_forms.py:368 #: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 netbox/templates/dcim/module.html:61 msgid "Device Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:592 netbox/dcim/forms/model_forms.py:401 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/model_forms.py:401 #: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65 #: netbox/templates/dcim/module.html:65 netbox/templates/dcim/modulebay.html:66 #: netbox/templates/dcim/moduletype.html:22 msgid "Module Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:596 netbox/dcim/forms/model_forms.py:371 +#: netbox/dcim/forms/bulk_edit.py:597 netbox/dcim/forms/model_forms.py:371 #: netbox/dcim/forms/model_forms.py:402 #: netbox/templates/dcim/devicetype.html:11 msgid "Chassis" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:610 netbox/dcim/models/devices.py:484 +#: netbox/dcim/forms/bulk_edit.py:611 netbox/dcim/models/devices.py:484 #: netbox/dcim/tables/devices.py:67 msgid "VM role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:613 netbox/dcim/forms/bulk_edit.py:637 -#: netbox/dcim/forms/bulk_edit.py:720 netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_edit.py:614 netbox/dcim/forms/bulk_edit.py:638 +#: netbox/dcim/forms/bulk_edit.py:721 netbox/dcim/forms/bulk_import.py:434 #: netbox/dcim/forms/bulk_import.py:438 netbox/dcim/forms/bulk_import.py:457 #: netbox/dcim/forms/bulk_import.py:461 netbox/dcim/forms/bulk_import.py:586 #: netbox/dcim/forms/bulk_import.py:590 netbox/dcim/forms/filtersets.py:689 @@ -3705,19 +3705,19 @@ msgstr "" msgid "Config template" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:661 netbox/dcim/forms/bulk_edit.py:1061 +#: netbox/dcim/forms/bulk_edit.py:662 netbox/dcim/forms/bulk_edit.py:1071 #: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/filtersets.py:114 #: netbox/dcim/forms/model_forms.py:501 netbox/dcim/forms/model_forms.py:872 #: netbox/dcim/forms/model_forms.py:889 netbox/extras/filtersets.py:547 msgid "Device type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:672 netbox/dcim/forms/bulk_import.py:473 +#: netbox/dcim/forms/bulk_edit.py:673 netbox/dcim/forms/bulk_import.py:473 #: netbox/dcim/forms/filtersets.py:119 netbox/dcim/forms/model_forms.py:509 msgid "Device role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:695 netbox/dcim/forms/bulk_import.py:498 +#: netbox/dcim/forms/bulk_edit.py:696 netbox/dcim/forms/bulk_import.py:498 #: netbox/dcim/forms/filtersets.py:796 netbox/dcim/forms/model_forms.py:451 #: netbox/dcim/forms/model_forms.py:513 netbox/dcim/tables/devices.py:182 #: netbox/extras/filtersets.py:563 netbox/templates/dcim/device.html:186 @@ -3731,8 +3731,30 @@ msgstr "" msgid "Platform" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:728 netbox/dcim/forms/bulk_edit.py:1281 -#: netbox/dcim/forms/bulk_edit.py:1650 netbox/dcim/forms/bulk_edit.py:1696 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/bulk_import.py:517 +#: netbox/dcim/forms/filtersets.py:728 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/model_forms.py:522 netbox/dcim/tables/devices.py:202 +#: netbox/extras/filtersets.py:596 netbox/extras/forms/filtersets.py:322 +#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:447 +#: netbox/templates/dcim/device.html:239 +#: netbox/templates/virtualization/cluster.html:10 +#: netbox/templates/virtualization/virtualmachine.html:92 +#: netbox/templates/virtualization/virtualmachine.html:101 +#: netbox/virtualization/filtersets.py:157 +#: netbox/virtualization/filtersets.py:277 +#: netbox/virtualization/forms/bulk_edit.py:129 +#: netbox/virtualization/forms/bulk_import.py:92 +#: netbox/virtualization/forms/filtersets.py:99 +#: netbox/virtualization/forms/filtersets.py:123 +#: netbox/virtualization/forms/filtersets.py:204 +#: netbox/virtualization/forms/model_forms.py:79 +#: netbox/virtualization/forms/model_forms.py:176 +#: netbox/virtualization/tables/virtualmachines.py:67 +msgid "Cluster" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:737 netbox/dcim/forms/bulk_edit.py:1291 +#: netbox/dcim/forms/bulk_edit.py:1688 netbox/dcim/forms/bulk_edit.py:1734 #: netbox/dcim/forms/bulk_import.py:641 netbox/dcim/forms/bulk_import.py:703 #: netbox/dcim/forms/bulk_import.py:729 netbox/dcim/forms/bulk_import.py:755 #: netbox/dcim/forms/bulk_import.py:775 netbox/dcim/forms/bulk_import.py:828 @@ -3797,23 +3819,28 @@ msgstr "" msgid "Device" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:731 +#: netbox/dcim/forms/bulk_edit.py:740 #: netbox/templates/extras/dashboard/widget_config.html:7 #: netbox/virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:745 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_edit.py:741 netbox/netbox/navigation/menu.py:243 +#: netbox/templates/dcim/device_edit.html:78 +msgid "Virtualization" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:755 netbox/dcim/forms/bulk_import.py:653 #: netbox/dcim/forms/model_forms.py:647 netbox/dcim/forms/model_forms.py:897 msgid "Module type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:799 netbox/dcim/forms/bulk_edit.py:984 -#: netbox/dcim/forms/bulk_edit.py:1003 netbox/dcim/forms/bulk_edit.py:1026 -#: netbox/dcim/forms/bulk_edit.py:1068 netbox/dcim/forms/bulk_edit.py:1112 -#: netbox/dcim/forms/bulk_edit.py:1163 netbox/dcim/forms/bulk_edit.py:1190 -#: netbox/dcim/forms/bulk_edit.py:1217 netbox/dcim/forms/bulk_edit.py:1235 -#: netbox/dcim/forms/bulk_edit.py:1253 netbox/dcim/forms/filtersets.py:67 +#: netbox/dcim/forms/bulk_edit.py:809 netbox/dcim/forms/bulk_edit.py:994 +#: netbox/dcim/forms/bulk_edit.py:1013 netbox/dcim/forms/bulk_edit.py:1036 +#: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_edit.py:1122 +#: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 +#: netbox/dcim/forms/bulk_edit.py:1227 netbox/dcim/forms/bulk_edit.py:1245 +#: netbox/dcim/forms/bulk_edit.py:1263 netbox/dcim/forms/filtersets.py:67 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -3831,85 +3858,85 @@ msgstr "" msgid "Label" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:808 netbox/dcim/forms/filtersets.py:1068 +#: netbox/dcim/forms/bulk_edit.py:818 netbox/dcim/forms/filtersets.py:1068 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_import.py:1226 +#: netbox/dcim/forms/bulk_edit.py:823 netbox/dcim/forms/bulk_import.py:1226 #: netbox/dcim/forms/bulk_import.py:1229 netbox/dcim/forms/filtersets.py:1072 msgid "Length unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:837 +#: netbox/dcim/forms/bulk_edit.py:847 #: netbox/templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:905 netbox/dcim/forms/bulk_import.py:1345 +#: netbox/dcim/forms/bulk_edit.py:915 netbox/dcim/forms/bulk_import.py:1345 #: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/model_forms.py:750 msgid "Power panel" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:927 netbox/dcim/forms/bulk_import.py:1381 +#: netbox/dcim/forms/bulk_edit.py:937 netbox/dcim/forms/bulk_import.py:1381 #: netbox/dcim/forms/filtersets.py:1180 netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:933 netbox/dcim/forms/bulk_import.py:1386 +#: netbox/dcim/forms/bulk_edit.py:943 netbox/dcim/forms/bulk_import.py:1386 #: netbox/dcim/forms/filtersets.py:1185 netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:939 netbox/dcim/forms/filtersets.py:1190 +#: netbox/dcim/forms/bulk_edit.py:949 netbox/dcim/forms/filtersets.py:1190 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:943 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/bulk_edit.py:953 netbox/dcim/forms/filtersets.py:1194 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:947 netbox/dcim/forms/filtersets.py:1198 +#: netbox/dcim/forms/bulk_edit.py:957 netbox/dcim/forms/filtersets.py:1198 msgid "Max utilization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1036 +#: netbox/dcim/forms/bulk_edit.py:1046 msgid "Maximum draw" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1039 +#: netbox/dcim/forms/bulk_edit.py:1049 #: netbox/dcim/models/device_component_templates.py:282 #: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1042 +#: netbox/dcim/forms/bulk_edit.py:1052 msgid "Allocated draw" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1045 +#: netbox/dcim/forms/bulk_edit.py:1055 #: netbox/dcim/models/device_component_templates.py:289 #: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 +#: netbox/dcim/forms/bulk_edit.py:1088 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 #: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1083 netbox/dcim/forms/bulk_import.py:793 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:793 msgid "Feed leg" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1129 netbox/dcim/forms/bulk_edit.py:1440 +#: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1457 msgid "Management only" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 +#: netbox/dcim/forms/bulk_edit.py:1149 netbox/dcim/forms/bulk_edit.py:1463 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:437 @@ -3917,7 +3944,7 @@ msgstr "" msgid "PoE mode" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 +#: netbox/dcim/forms/bulk_edit.py:1155 netbox/dcim/forms/bulk_edit.py:1469 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:443 @@ -3925,12 +3952,12 @@ msgstr "" msgid "PoE type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/bulk_edit.py:1161 netbox/dcim/forms/filtersets.py:1404 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1288 netbox/dcim/forms/model_forms.py:669 +#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/model_forms.py:669 #: netbox/dcim/forms/model_forms.py:1223 netbox/dcim/tables/devices.py:313 #: netbox/templates/dcim/consoleport.html:24 #: netbox/templates/dcim/consoleserverport.html:24 @@ -3944,16 +3971,16 @@ msgstr "" msgid "Module" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 +#: netbox/dcim/forms/bulk_edit.py:1437 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1425 netbox/dcim/forms/model_forms.py:1305 +#: netbox/dcim/forms/bulk_edit.py:1442 netbox/dcim/forms/model_forms.py:1305 msgid "Virtual device contexts" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 +#: netbox/dcim/forms/bulk_edit.py:1448 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 #: netbox/dcim/tables/devices.py:610 @@ -3963,7 +3990,7 @@ msgstr "" msgid "Speed" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1460 netbox/dcim/forms/bulk_import.py:885 +#: netbox/dcim/forms/bulk_edit.py:1477 netbox/dcim/forms/bulk_import.py:885 #: netbox/templates/vpn/ikepolicy.html:25 #: netbox/templates/vpn/ipsecprofile.html:21 #: netbox/templates/vpn/ipsecprofile.html:48 @@ -3977,39 +4004,47 @@ msgstr "" msgid "Mode" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1468 netbox/dcim/forms/model_forms.py:1354 +#: netbox/dcim/forms/bulk_edit.py:1485 netbox/dcim/forms/model_forms.py:1354 #: netbox/ipam/forms/bulk_import.py:178 netbox/ipam/forms/filtersets.py:498 #: netbox/ipam/models/vlans.py:84 netbox/virtualization/forms/bulk_edit.py:240 #: netbox/virtualization/forms/model_forms.py:321 msgid "VLAN group" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 +#: netbox/dcim/forms/bulk_edit.py:1494 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 +#: netbox/dcim/forms/bulk_edit.py:1503 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1494 netbox/dcim/forms/model_forms.py:1341 +#: netbox/dcim/forms/bulk_edit.py:1506 +msgid "Add tagged VLANs" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1515 +msgid "Remove tagged VLANs" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1531 netbox/dcim/forms/model_forms.py:1341 msgid "Wireless LAN group" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 +#: netbox/dcim/forms/bulk_edit.py:1536 netbox/dcim/forms/model_forms.py:1346 #: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 +#: netbox/dcim/forms/bulk_edit.py:1545 netbox/dcim/forms/filtersets.py:1328 #: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:286 #: netbox/ipam/forms/bulk_edit.py:378 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 @@ -4018,35 +4053,39 @@ msgstr "" msgid "Addressing" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 +#: netbox/dcim/forms/bulk_edit.py:1546 netbox/dcim/forms/filtersets.py:720 #: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 +#: netbox/dcim/forms/bulk_edit.py:1547 netbox/dcim/forms/filtersets.py:1329 #: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 +#: netbox/dcim/forms/bulk_edit.py:1549 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1574 netbox/dcim/forms/bulk_edit.py:1576 +#: netbox/dcim/forms/bulk_edit.py:1553 +msgid "Add/Remove" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1612 netbox/dcim/forms/bulk_edit.py:1614 msgid "Interface mode must be specified to assign VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1581 netbox/dcim/forms/common.py:50 +#: netbox/dcim/forms/bulk_edit.py:1619 netbox/dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." msgstr "" @@ -4191,27 +4230,6 @@ msgstr "" msgid "Virtual chassis" msgstr "" -#: netbox/dcim/forms/bulk_import.py:517 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:898 netbox/dcim/forms/model_forms.py:522 -#: netbox/dcim/tables/devices.py:202 netbox/extras/filtersets.py:596 -#: netbox/extras/forms/filtersets.py:322 netbox/ipam/forms/filtersets.py:415 -#: netbox/ipam/forms/filtersets.py:447 netbox/templates/dcim/device.html:239 -#: netbox/templates/virtualization/cluster.html:10 -#: netbox/templates/virtualization/virtualmachine.html:92 -#: netbox/templates/virtualization/virtualmachine.html:101 -#: netbox/virtualization/filtersets.py:157 -#: netbox/virtualization/filtersets.py:277 -#: netbox/virtualization/forms/bulk_edit.py:129 -#: netbox/virtualization/forms/bulk_import.py:92 -#: netbox/virtualization/forms/filtersets.py:99 -#: netbox/virtualization/forms/filtersets.py:123 -#: netbox/virtualization/forms/filtersets.py:204 -#: netbox/virtualization/forms/model_forms.py:79 -#: netbox/virtualization/forms/model_forms.py:176 -#: netbox/virtualization/tables/virtualmachines.py:67 -msgid "Cluster" -msgstr "" - #: netbox/dcim/forms/bulk_import.py:521 msgid "Virtualization cluster" msgstr "" @@ -6890,31 +6908,31 @@ msgstr "" msgid "Virtual Machines" msgstr "" -#: netbox/dcim/views.py:2897 +#: netbox/dcim/views.py:2907 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:2938 +#: netbox/dcim/views.py:2948 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:3044 netbox/ipam/tables/ip.py:234 +#: netbox/dcim/views.py:3054 netbox/ipam/tables/ip.py:234 msgid "Children" msgstr "" -#: netbox/dcim/views.py:3510 +#: netbox/dcim/views.py:3520 #, python-brace-format msgid "Added member {device}" msgstr "" -#: netbox/dcim/views.py:3557 +#: netbox/dcim/views.py:3567 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" -#: netbox/dcim/views.py:3570 +#: netbox/dcim/views.py:3580 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "" @@ -10673,11 +10691,6 @@ msgstr "" msgid "IPSec Profiles" msgstr "" -#: netbox/netbox/navigation/menu.py:243 -#: netbox/templates/dcim/device_edit.html:78 -msgid "Virtualization" -msgstr "" - #: netbox/netbox/navigation/menu.py:251 #: netbox/templates/virtualization/virtualmachine.html:174 #: netbox/templates/virtualization/virtualmachine/base.html:32 @@ -11084,19 +11097,19 @@ msgstr "" msgid "Row {i}: Object with ID {id} does not exist" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:702 -#: netbox/netbox/views/generic/bulk_views.py:900 -#: netbox/netbox/views/generic/bulk_views.py:948 +#: netbox/netbox/views/generic/bulk_views.py:709 +#: netbox/netbox/views/generic/bulk_views.py:907 +#: netbox/netbox/views/generic/bulk_views.py:955 #, python-brace-format msgid "No {object_type} were selected." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:782 +#: netbox/netbox/views/generic/bulk_views.py:789 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:878 +#: netbox/netbox/views/generic/bulk_views.py:885 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "" From 954e29aec3bfefeab1cebfffbe97a7520406ecd0 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 12 Nov 2024 12:19:37 -0500 Subject: [PATCH 10/26] Fixes #17972: Force evaluation of LOGIN_REQUIRED when requesting static media (#17990) --- netbox/netbox/tests/test_views.py | 20 +++++++++++++++++++- netbox/netbox/urls.py | 5 ++--- netbox/netbox/views/misc.py | 10 ++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/netbox/netbox/tests/test_views.py b/netbox/netbox/tests/test_views.py index ccba73baa..50cfa5755 100644 --- a/netbox/netbox/tests/test_views.py +++ b/netbox/netbox/tests/test_views.py @@ -1,7 +1,7 @@ import urllib.parse from django.urls import reverse -from django.test import override_settings +from django.test import Client, override_settings from dcim.models import Site from netbox.constants import EMPTY_TABLE_TEXT @@ -74,3 +74,21 @@ class SearchViewTestCase(TestCase): self.assertHttpStatus(response, 200) content = str(response.content) self.assertIn(EMPTY_TABLE_TEXT, content) + + +class MediaViewTestCase(TestCase): + + def test_media_login_required(self): + url = reverse('media', kwargs={'path': 'foo.txt'}) + response = Client().get(url) + + # Unauthenticated request should redirect to login page + self.assertHttpStatus(response, 302) + + @override_settings(LOGIN_REQUIRED=False) + def test_media_login_not_required(self): + url = reverse('media', kwargs={'path': 'foo.txt'}) + response = Client().get(url) + + # Unauthenticated request should return a 404 (not found) + self.assertHttpStatus(response, 404) diff --git a/netbox/netbox/urls.py b/netbox/netbox/urls.py index b0175ec04..b91ee295d 100644 --- a/netbox/netbox/urls.py +++ b/netbox/netbox/urls.py @@ -2,7 +2,6 @@ from django.conf import settings from django.conf.urls import include from django.urls import path from django.views.decorators.cache import cache_page -from django.views.static import serve from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView, SpectacularSwaggerView from account.views import LoginView, LogoutView @@ -10,7 +9,7 @@ from netbox.api.views import APIRootView, StatusView from netbox.graphql.schema import schema from netbox.graphql.views import NetBoxGraphQLView from netbox.plugins.urls import plugin_patterns, plugin_api_patterns -from netbox.views import HomeView, StaticMediaFailureView, SearchView, htmx +from netbox.views import HomeView, MediaView, StaticMediaFailureView, SearchView, htmx _patterns = [ @@ -69,7 +68,7 @@ _patterns = [ path('graphql/', NetBoxGraphQLView.as_view(schema=schema), name='graphql'), # Serving static media in Django to pipe it through LoginRequiredMiddleware - path('media/', serve, {'document_root': settings.MEDIA_ROOT}), + path('media/', MediaView.as_view(), name='media'), path('media-failure/', StaticMediaFailureView.as_view(), name='media_failure'), # Plugins diff --git a/netbox/netbox/views/misc.py b/netbox/netbox/views/misc.py index c584e99e4..f28b0f7b1 100644 --- a/netbox/netbox/views/misc.py +++ b/netbox/netbox/views/misc.py @@ -8,6 +8,7 @@ from django.core.cache import cache from django.shortcuts import redirect, render from django.utils.translation import gettext_lazy as _ from django.views.generic import View +from django.views.static import serve from django_tables2 import RequestConfig from packaging import version @@ -23,6 +24,7 @@ from utilities.views import ConditionalLoginRequiredMixin __all__ = ( 'HomeView', + 'MediaView', 'SearchView', ) @@ -115,3 +117,11 @@ class SearchView(ConditionalLoginRequiredMixin, View): 'form': form, 'table': table, }) + + +class MediaView(ConditionalLoginRequiredMixin, View): + """ + Wrap Django's serve() view to enforce LOGIN_REQUIRED for static media. + """ + def get(self, request, path): + return serve(request, path, document_root=settings.MEDIA_ROOT) From 2ed0534117af7247ca56ee43c6175f79a5ca6f41 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 12 Nov 2024 13:58:48 -0500 Subject: [PATCH 11/26] Fixes #17963: Fix selection of all listed objects during bulk edit --- netbox/netbox/views/generic/bulk_views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index 4b2f1ae28..7158f056a 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -698,7 +698,7 @@ class BulkEditView(GetReturnURLMixin, BaseMultiObjectView): logger.debug("Form validation failed") else: - form = self.form(request.POST, initial=initial_data) + form = self.form(initial=initial_data) restrict_form_fields(form, request.user) # Retrieve objects being edited From c34fea6c9bb89e543139b93ed75ff55567bdd553 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 12 Nov 2024 12:11:44 -0500 Subject: [PATCH 12/26] Fixes #17969: Fix system info export when a config revision exists --- netbox/core/tests/test_views.py | 29 +++++++++++++++++++++++++++++ netbox/core/views.py | 6 +----- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/netbox/core/tests/test_views.py b/netbox/core/tests/test_views.py index 01912b4d6..047b51ef6 100644 --- a/netbox/core/tests/test_views.py +++ b/netbox/core/tests/test_views.py @@ -346,3 +346,32 @@ class BackgroundTaskTestCase(TestCase): self.assertIn(str(worker1.name), str(response.content)) self.assertIn('Birth', str(response.content)) self.assertIn('Total working time', str(response.content)) + + +class SystemTestCase(TestCase): + + def setUp(self): + super().setUp() + + self.user.is_staff = True + self.user.save() + + def test_system_view_default(self): + # Test UI render + response = self.client.get(reverse('core:system')) + self.assertEqual(response.status_code, 200) + + # Test export + response = self.client.get(f"{reverse('core:system')}?export=true") + self.assertEqual(response.status_code, 200) + + def test_system_view_with_config_revision(self): + ConfigRevision.objects.create() + + # Test UI render + response = self.client.get(reverse('core:system')) + self.assertEqual(response.status_code, 200) + + # Test export + response = self.client.get(f"{reverse('core:system')}?export=true") + self.assertEqual(response.status_code, 200) diff --git a/netbox/core/views.py b/netbox/core/views.py index 3c5319626..ecbf11e32 100644 --- a/netbox/core/views.py +++ b/netbox/core/views.py @@ -626,11 +626,7 @@ class SystemView(UserPassesTestMixin, View): } # Configuration - try: - config = ConfigRevision.objects.get(pk=cache.get('config_version')) - except ConfigRevision.DoesNotExist: - # Fall back to using the active config data if no record is found - config = get_config() + config = get_config() # Raw data export if 'export' in request.GET: From 9c532c7d896e5c3ce248ffff74c9236025d00d86 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 12 Nov 2024 14:53:57 -0500 Subject: [PATCH 13/26] Fixes #17986: Correct label for disk size when bulk editing virtual machines (#17992) * Fixes #17986: Correct label for disk size when bulk editing virtual machines * Correct label for VirtualDisk.size --- netbox/virtualization/forms/bulk_edit.py | 4 ++-- netbox/virtualization/forms/filtersets.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/virtualization/forms/bulk_edit.py b/netbox/virtualization/forms/bulk_edit.py index 2bd3434ac..771edb09f 100644 --- a/netbox/virtualization/forms/bulk_edit.py +++ b/netbox/virtualization/forms/bulk_edit.py @@ -171,7 +171,7 @@ class VirtualMachineBulkEditForm(NetBoxModelBulkEditForm): ) disk = forms.IntegerField( required=False, - label=_('Disk (GB)') + label=_('Disk (MB)') ) description = forms.CharField( label=_('Description'), @@ -331,7 +331,7 @@ class VirtualDiskBulkEditForm(NetBoxModelBulkEditForm): ) size = forms.IntegerField( required=False, - label=_('Size (GB)') + label=_('Size (MB)') ) description = forms.CharField( label=_('Description'), diff --git a/netbox/virtualization/forms/filtersets.py b/netbox/virtualization/forms/filtersets.py index 7c040d948..9d5ca019a 100644 --- a/netbox/virtualization/forms/filtersets.py +++ b/netbox/virtualization/forms/filtersets.py @@ -248,7 +248,7 @@ class VirtualDiskFilterForm(NetBoxModelFilterSetForm): label=_('Virtual machine') ) size = forms.IntegerField( - label=_('Size (GB)'), + label=_('Size (MB)'), required=False, min_value=1 ) From 256d69d08bf97fc723d2798acbe22e199a7291a0 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 12 Nov 2024 15:56:29 -0500 Subject: [PATCH 14/26] Update changelog --- docs/release-notes/version-4.1.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 7b4e18919..b94374721 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,5 +1,22 @@ # NetBox v4.1 +## v4.1.7 (FUTURE) + +### Enhancements + +* [#15239](https://github.com/netbox-community/netbox/issues/15239) - Enable adding/removing individual VLANs while bulk editing device interfaces +* [#17871](https://github.com/netbox-community/netbox/issues/17871) - Enable the assignment/removal of virtualization cluster via device bulk edit + +### Bug Fixes + +* [#17901](https://github.com/netbox-community/netbox/issues/17901) - Ensure GraphiQL UI resources are served locally +* [#17963](https://github.com/netbox-community/netbox/issues/17963) - Fix selection of all listed objects during bulk edit +* [#17969](https://github.com/netbox-community/netbox/issues/17969) - Fix system info export when a config revision exists +* [#17972](https://github.com/netbox-community/netbox/issues/17972) - Force evaluation of `LOGIN_REQUIRED` when requesting static media +* [#17986](https://github.com/netbox-community/netbox/issues/17986) - Correct labels for virtual machine & virtual disk size properties + +--- + ## v4.1.6 (2024-10-31) ### Bug Fixes From 05daa16aedab1142b56d1bbfc6d524199868aa86 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2024 05:02:11 +0000 Subject: [PATCH 15/26] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 01e151c84..1d35fb8b2 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-08 05:01+0000\n" +"POT-Creation-Date: 2024-11-13 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2452,11 +2452,11 @@ msgstr "" msgid "Failed to stop job {id}" msgstr "" -#: netbox/core/views.py:678 +#: netbox/core/views.py:674 msgid "Plugins catalog could not be loaded" msgstr "" -#: netbox/core/views.py:712 +#: netbox/core/views.py:708 #, python-brace-format msgid "Plugin {name} not found" msgstr "" @@ -11141,7 +11141,7 @@ msgstr "" msgid "{class_name} must implement get_children()" msgstr "" -#: netbox/netbox/views/misc.py:44 +#: netbox/netbox/views/misc.py:46 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." @@ -14848,12 +14848,12 @@ msgid "Memory (MB)" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:174 -msgid "Disk (GB)" +msgid "Disk (MB)" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:334 #: netbox/virtualization/forms/filtersets.py:251 -msgid "Size (GB)" +msgid "Size (MB)" msgstr "" #: netbox/virtualization/forms/bulk_import.py:44 From 0ff0edd4772fdd835b9cc63e2339d6ef48869b7a Mon Sep 17 00:00:00 2001 From: "Joel L. McGuire" Date: Wed, 13 Nov 2024 14:39:37 -0600 Subject: [PATCH 16/26] fix typo in #17970 --- docs/models/vpn/ikepolicy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/models/vpn/ikepolicy.md b/docs/models/vpn/ikepolicy.md index d2da28d16..b78b0fe50 100644 --- a/docs/models/vpn/ikepolicy.md +++ b/docs/models/vpn/ikepolicy.md @@ -1,6 +1,6 @@ # IKE Policies -An [Internet Key Exhcnage (IKE)](https://en.wikipedia.org/wiki/Internet_Key_Exchange) policy defines an IKE version, mode, and set of [proposals](./ikeproposal.md) to be used in IKE negotiation. These policies are referenced by [IPSec profiles](./ipsecprofile.md). +An [Internet Key Exchange (IKE)](https://en.wikipedia.org/wiki/Internet_Key_Exchange) policy defines an IKE version, mode, and set of [proposals](./ikeproposal.md) to be used in IKE negotiation. These policies are referenced by [IPSec profiles](./ipsecprofile.md). ## Fields From 13bd2ed7670dd83bea5e3a1ac5a695a5ab7287ff Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Tue, 19 Nov 2024 13:38:11 -0600 Subject: [PATCH 17/26] Closes: #17795 - Add concurrency to CI (#18042) * Closes: #17795 - Add concurrency to CI * Add comment to demonstrate functionality --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c3b4876c3..622c8ad7d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,11 @@ on: permissions: contents: read +# Add concurrency group to control job running +concurrency: + group: ${{ github.event_name }}-${{ github.ref }}-${{ github.actor }} + cancel-in-progress: true + jobs: build: runs-on: ubuntu-latest From e36f23ed03623546f9c5bb4afb4c59bd36f942a9 Mon Sep 17 00:00:00 2001 From: bctiemann Date: Wed, 20 Nov 2024 14:33:50 -0500 Subject: [PATCH 18/26] Fixes: #18038 - Ensure DeviceType._abs_weight is stored as an integer (#18039) * Coerce _abs_weight to int to prevent disagreement with PositiveBigIntegerField deserialization * Perform coercion in to_grams --- netbox/utilities/conversion.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/netbox/utilities/conversion.py b/netbox/utilities/conversion.py index cd75c3c17..07e57d96e 100644 --- a/netbox/utilities/conversion.py +++ b/netbox/utilities/conversion.py @@ -10,9 +10,9 @@ __all__ = ( ) -def to_grams(weight, unit): +def to_grams(weight, unit) -> int: """ - Convert the given weight to kilograms. + Convert the given weight to integer grams. """ try: if weight < 0: @@ -21,13 +21,13 @@ def to_grams(weight, unit): raise TypeError(_("Invalid value '{weight}' for weight (must be a number)").format(weight=weight)) if unit == WeightUnitChoices.UNIT_KILOGRAM: - return weight * 1000 + return int(weight * 1000) if unit == WeightUnitChoices.UNIT_GRAM: - return weight + return int(weight) if unit == WeightUnitChoices.UNIT_POUND: - return weight * Decimal(453.592) + return int(weight * Decimal(453.592)) if unit == WeightUnitChoices.UNIT_OUNCE: - return weight * Decimal(28.3495) + return int(weight * Decimal(28.3495)) raise ValueError( _("Unknown unit {unit}. Must be one of the following: {valid_units}").format( unit=unit, From eb645ee900a4d5dfbfb4fd09a6e09424323d3b1c Mon Sep 17 00:00:00 2001 From: Matt Skalecki Date: Fri, 15 Nov 2024 12:24:22 -0500 Subject: [PATCH 19/26] Hide `sensitive_parameters` from datasource view even for high privilege users --- netbox/templates/core/datasource.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/templates/core/datasource.html b/netbox/templates/core/datasource.html index 1ce14451b..a5afedec6 100644 --- a/netbox/templates/core/datasource.html +++ b/netbox/templates/core/datasource.html @@ -87,7 +87,7 @@ {% for name, field in backend.parameters.items %} {{ field.label }} - {% if name in backend.sensitive_parameters and not perms.core.change_datasource %} + {% if name in backend.sensitive_parameters %} ******** {% else %} {{ object.parameters|get_key:name|placeholder }} From 9ccbb08e2930efe333771c5bf6430f5eb11d4e0e Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Wed, 20 Nov 2024 15:03:56 -0600 Subject: [PATCH 20/26] Fixes: #18037 - Bound VLANGroup VLAN ID max by `VLAN_VID_MAX` (#18041) * Fixes: #18037 - Bound VLANGroup VLAN ID max by `VLAN_VID_MAX` * Correct exception string * Validate min & max VID values * Fix min/max VID validation --------- Co-authored-by: Jeremy Stretch --- netbox/ipam/models/vlans.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/netbox/ipam/models/vlans.py b/netbox/ipam/models/vlans.py index 998bc9e2c..ea26bd3b5 100644 --- a/netbox/ipam/models/vlans.py +++ b/netbox/ipam/models/vlans.py @@ -97,16 +97,32 @@ class VLANGroup(OrganizationalModel): raise ValidationError(_("Cannot set scope_id without scope_type.")) # Validate VID ranges - if self.vid_ranges and check_ranges_overlap(self.vid_ranges): - raise ValidationError({'vid_ranges': _("Ranges cannot overlap.")}) for vid_range in self.vid_ranges: - if vid_range.lower > vid_range.upper: + lower_vid = vid_range.lower if vid_range.lower_inc else vid_range.lower + 1 + upper_vid = vid_range.upper if vid_range.upper_inc else vid_range.upper - 1 + if lower_vid < VLAN_VID_MIN: + raise ValidationError({ + 'vid_ranges': _("Starting VLAN ID in range ({value}) cannot be less than {minimum}").format( + value=lower_vid, minimum=VLAN_VID_MIN + ) + }) + if upper_vid > VLAN_VID_MAX: + raise ValidationError({ + 'vid_ranges': _("Ending VLAN ID in range ({value}) cannot exceed {maximum}").format( + value=upper_vid, maximum=VLAN_VID_MAX + ) + }) + if lower_vid > upper_vid: raise ValidationError({ 'vid_ranges': _( - "Maximum child VID must be greater than or equal to minimum child VID ({value})" - ).format(value=vid_range) + "Ending VLAN ID in range must be greater than or equal to the starting VLAN ID ({range})" + ).format(range=f'{lower_vid}-{upper_vid}') }) + # Check for overlapping VID ranges + if self.vid_ranges and check_ranges_overlap(self.vid_ranges): + raise ValidationError({'vid_ranges': _("Ranges cannot overlap.")}) + def save(self, *args, **kwargs): self._total_vlan_ids = 0 for vid_range in self.vid_ranges: From 09a0e579faa6d549dcf1f82ebbc9454ddc8e1c61 Mon Sep 17 00:00:00 2001 From: Alexander Haase Date: Thu, 21 Nov 2024 14:43:59 +0100 Subject: [PATCH 21/26] Fixes: #17923, #17921 - Fix non-null constraint for script execution (#17932) * Fix non-null constraint for script execution With c34a0e2, validation of job object fields is enabled, so ScriptJob must not set required fields to empty strings. This commit reverts b18f193 and (hopefully) fixes this issue not only for UI views, but for all interactions with scripts. Fixes: #17923 * Fix name of recurring jobs For recurring jobs, the name must be passed to the next job object when the job is rescheduled. --- netbox/extras/jobs.py | 4 +--- netbox/extras/views.py | 1 - netbox/netbox/jobs.py | 1 + 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/netbox/extras/jobs.py b/netbox/extras/jobs.py index a913fe456..190166b5b 100644 --- a/netbox/extras/jobs.py +++ b/netbox/extras/jobs.py @@ -22,9 +22,7 @@ class ScriptJob(JobRunner): """ class Meta: - # An explicit job name is not set because it doesn't make sense in this context. Currently, there's no scenario - # where jobs other than this one are used. Therefore, it is hidden, resulting in a cleaner job table overview. - name = '' + name = 'Run Script' def run_script(self, script, request, data, commit): """ diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 0d98b1324..a87758adc 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -1181,7 +1181,6 @@ class ScriptView(BaseScriptView): request=copy_safe_request(request), job_timeout=script.python_class.job_timeout, commit=form.cleaned_data.pop('_commit'), - name=script.name ) return redirect('extras:script_result', job_pk=job.pk) diff --git a/netbox/netbox/jobs.py b/netbox/netbox/jobs.py index ae8f2f109..8c3e23730 100644 --- a/netbox/netbox/jobs.py +++ b/netbox/netbox/jobs.py @@ -72,6 +72,7 @@ class JobRunner(ABC): kwargs["job_timeout"] = job.object.python_class.job_timeout cls.enqueue( instance=job.object, + name=job.name, user=job.user, schedule_at=new_scheduled_time, interval=job.interval, From 1e5d19927aa3b7547a647f0df524e0146cad9443 Mon Sep 17 00:00:00 2001 From: Joel McGuire Date: Thu, 21 Nov 2024 09:47:55 -0600 Subject: [PATCH 22/26] Interface type change fixing #17934 (#18025) * fix #17934 adding 1000base-LX * add extra space --------- Co-authored-by: Joel L. McGuire --- netbox/dcim/choices.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/dcim/choices.py b/netbox/dcim/choices.py index 11d192732..776846e44 100644 --- a/netbox/dcim/choices.py +++ b/netbox/dcim/choices.py @@ -871,6 +871,7 @@ class InterfaceTypeChoices(ChoiceSet): TYPE_100ME_T1 = '100base-t1' TYPE_100ME_SFP = '100base-x-sfp' TYPE_1GE_FIXED = '1000base-t' + TYPE_1GE_LX_FIXED = '1000base-lx' TYPE_1GE_TX_FIXED = '1000base-tx' TYPE_1GE_GBIC = '1000base-x-gbic' TYPE_1GE_SFP = '1000base-x-sfp' @@ -1033,6 +1034,7 @@ class InterfaceTypeChoices(ChoiceSet): (TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'), (TYPE_100ME_T1, '100BASE-T1 (10/100ME Single Pair)'), (TYPE_1GE_FIXED, '1000BASE-T (1GE)'), + (TYPE_1GE_LX_FIXED, '1000BASE-LX (1GE)'), (TYPE_1GE_TX_FIXED, '1000BASE-TX (1GE)'), (TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'), (TYPE_5GE_FIXED, '5GBASE-T (5GE)'), From b40ffcccb9ab4e988c5834bc13991afdf89fc372 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 21 Nov 2024 10:51:26 -0500 Subject: [PATCH 23/26] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 10853 ++++++++--------- 1 file changed, 5082 insertions(+), 5771 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 1d35fb8b2..7944e0a33 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-13 05:01+0000\n" +"POT-Creation-Date: 2024-11-21 15:50+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,8074 +18,7554 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: netbox/account/tables.py:27 netbox/templates/account/token.html:22 -#: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:112 +#: 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:112 msgid "Key" msgstr "" -#: netbox/account/tables.py:31 netbox/users/forms/filtersets.py:132 +#: account/tables.py:31 users/forms/filtersets.py:132 msgid "Write Enabled" msgstr "" -#: netbox/account/tables.py:35 netbox/core/choices.py:86 -#: netbox/core/tables/jobs.py:29 netbox/core/tables/tasks.py:79 -#: netbox/extras/tables/tables.py:335 netbox/extras/tables/tables.py:566 -#: netbox/templates/account/token.html:43 -#: netbox/templates/core/configrevision.html:26 -#: netbox/templates/core/configrevision_restore.html:12 -#: netbox/templates/core/job.html:69 netbox/templates/core/rq_task.html:16 -#: netbox/templates/core/rq_task.html:73 -#: netbox/templates/core/rq_worker.html:14 -#: netbox/templates/extras/htmx/script_result.html:12 -#: netbox/templates/extras/journalentry.html:22 -#: netbox/templates/generic/object.html:58 netbox/templates/users/token.html:35 +#: account/tables.py:35 core/choices.py:86 core/tables/jobs.py:29 +#: core/tables/tasks.py:79 extras/tables/tables.py:335 +#: extras/tables/tables.py:566 templates/account/token.html:43 +#: templates/core/configrevision.html:26 +#: templates/core/configrevision_restore.html:12 templates/core/job.html:69 +#: 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:22 templates/generic/object.html:58 +#: templates/users/token.html:35 msgid "Created" msgstr "" -#: netbox/account/tables.py:39 netbox/templates/account/token.html:47 -#: netbox/templates/users/token.html:39 netbox/users/forms/bulk_edit.py:117 -#: netbox/users/forms/filtersets.py:136 +#: account/tables.py:39 templates/account/token.html:47 +#: templates/users/token.html:39 users/forms/bulk_edit.py:117 +#: users/forms/filtersets.py:136 msgid "Expires" msgstr "" -#: netbox/account/tables.py:42 netbox/users/forms/filtersets.py:141 +#: account/tables.py:42 users/forms/filtersets.py:141 msgid "Last Used" msgstr "" -#: netbox/account/tables.py:45 netbox/templates/account/token.html:55 -#: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:124 +#: 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:124 msgid "Allowed IPs" msgstr "" -#: netbox/account/views.py:114 +#: account/views.py:114 #, python-brace-format msgid "Logged in as {user}." msgstr "" -#: netbox/account/views.py:164 +#: account/views.py:164 msgid "You have logged out." msgstr "" -#: netbox/account/views.py:216 +#: account/views.py:216 msgid "Your preferences have been updated." msgstr "" -#: netbox/account/views.py:239 +#: account/views.py:239 msgid "LDAP-authenticated user credentials cannot be changed within NetBox." msgstr "" -#: netbox/account/views.py:254 +#: account/views.py:254 msgid "Your password has been changed successfully." msgstr "" -#: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 -#: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 -#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 -#: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 -#: netbox/vpn/choices.py:18 +#: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 +#: dcim/choices.py:185 dcim/choices.py:237 dcim/choices.py:1532 +#: dcim/choices.py:1608 dcim/choices.py:1658 virtualization/choices.py:20 +#: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "" -#: netbox/circuits/choices.py:22 netbox/netbox/navigation/menu.py:305 +#: circuits/choices.py:22 netbox/navigation/menu.py:305 msgid "Provisioning" msgstr "" -#: netbox/circuits/choices.py:23 netbox/core/tables/tasks.py:22 -#: netbox/dcim/choices.py:22 netbox/dcim/choices.py:103 -#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 -#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 -#: netbox/extras/tables/tables.py:495 netbox/ipam/choices.py:31 -#: netbox/ipam/choices.py:49 netbox/ipam/choices.py:69 -#: netbox/ipam/choices.py:154 netbox/templates/extras/configcontext.html:25 -#: netbox/templates/users/user.html:37 netbox/users/forms/bulk_edit.py:38 -#: netbox/virtualization/choices.py:22 netbox/virtualization/choices.py:44 -#: netbox/vpn/choices.py:19 netbox/wireless/choices.py:25 +#: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22 +#: dcim/choices.py:103 dcim/choices.py:184 dcim/choices.py:236 +#: dcim/choices.py:1607 dcim/choices.py:1657 extras/tables/tables.py:495 +#: 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 "" -#: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 -#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 -#: netbox/virtualization/choices.py:43 +#: circuits/choices.py:24 dcim/choices.py:183 dcim/choices.py:235 +#: dcim/choices.py:1606 dcim/choices.py:1659 virtualization/choices.py:24 +#: virtualization/choices.py:43 msgid "Offline" msgstr "" -#: netbox/circuits/choices.py:25 +#: circuits/choices.py:25 msgid "Deprovisioning" msgstr "" -#: netbox/circuits/choices.py:26 +#: circuits/choices.py:26 msgid "Decommissioned" msgstr "" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 -#: netbox/tenancy/choices.py:17 +#: circuits/choices.py:90 dcim/choices.py:1619 tenancy/choices.py:17 msgid "Primary" msgstr "" -#: netbox/circuits/choices.py:91 netbox/ipam/choices.py:90 -#: netbox/tenancy/choices.py:18 +#: circuits/choices.py:91 ipam/choices.py:90 tenancy/choices.py:18 msgid "Secondary" msgstr "" -#: netbox/circuits/choices.py:92 netbox/tenancy/choices.py:19 +#: circuits/choices.py:92 tenancy/choices.py:19 msgid "Tertiary" msgstr "" -#: netbox/circuits/choices.py:93 netbox/tenancy/choices.py:20 +#: circuits/choices.py:93 tenancy/choices.py:20 msgid "Inactive" msgstr "" -#: netbox/circuits/filtersets.py:31 netbox/circuits/filtersets.py:198 -#: netbox/dcim/filtersets.py:98 netbox/dcim/filtersets.py:152 -#: netbox/dcim/filtersets.py:212 netbox/dcim/filtersets.py:333 -#: netbox/dcim/filtersets.py:464 netbox/dcim/filtersets.py:1021 -#: netbox/dcim/filtersets.py:1368 netbox/dcim/filtersets.py:1903 -#: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 -#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 -#: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 +#: circuits/filtersets.py:31 circuits/filtersets.py:198 dcim/filtersets.py:98 +#: dcim/filtersets.py:152 dcim/filtersets.py:212 dcim/filtersets.py:333 +#: dcim/filtersets.py:464 dcim/filtersets.py:1021 dcim/filtersets.py:1368 +#: dcim/filtersets.py:1903 dcim/filtersets.py:2146 dcim/filtersets.py:2204 +#: ipam/filtersets.py:339 ipam/filtersets.py:959 +#: virtualization/filtersets.py:45 virtualization/filtersets.py:173 +#: vpn/filtersets.py:358 msgid "Region (ID)" msgstr "" -#: netbox/circuits/filtersets.py:38 netbox/circuits/filtersets.py:205 -#: netbox/dcim/filtersets.py:105 netbox/dcim/filtersets.py:158 -#: netbox/dcim/filtersets.py:219 netbox/dcim/filtersets.py:340 -#: netbox/dcim/filtersets.py:471 netbox/dcim/filtersets.py:1028 -#: netbox/dcim/filtersets.py:1375 netbox/dcim/filtersets.py:1910 -#: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 -#: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 -#: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 +#: circuits/filtersets.py:38 circuits/filtersets.py:205 dcim/filtersets.py:105 +#: dcim/filtersets.py:158 dcim/filtersets.py:219 dcim/filtersets.py:340 +#: dcim/filtersets.py:471 dcim/filtersets.py:1028 dcim/filtersets.py:1375 +#: dcim/filtersets.py:1910 dcim/filtersets.py:2153 dcim/filtersets.py:2211 +#: extras/filtersets.py:509 ipam/filtersets.py:346 ipam/filtersets.py:966 +#: virtualization/filtersets.py:52 virtualization/filtersets.py:180 +#: vpn/filtersets.py:353 msgid "Region (slug)" msgstr "" -#: netbox/circuits/filtersets.py:44 netbox/circuits/filtersets.py:211 -#: netbox/dcim/filtersets.py:128 netbox/dcim/filtersets.py:225 -#: netbox/dcim/filtersets.py:346 netbox/dcim/filtersets.py:477 -#: netbox/dcim/filtersets.py:1034 netbox/dcim/filtersets.py:1381 -#: netbox/dcim/filtersets.py:1916 netbox/dcim/filtersets.py:2159 -#: netbox/dcim/filtersets.py:2217 netbox/ipam/filtersets.py:352 -#: netbox/ipam/filtersets.py:972 netbox/virtualization/filtersets.py:58 -#: netbox/virtualization/filtersets.py:186 +#: circuits/filtersets.py:44 circuits/filtersets.py:211 dcim/filtersets.py:128 +#: dcim/filtersets.py:225 dcim/filtersets.py:346 dcim/filtersets.py:477 +#: dcim/filtersets.py:1034 dcim/filtersets.py:1381 dcim/filtersets.py:1916 +#: dcim/filtersets.py:2159 dcim/filtersets.py:2217 ipam/filtersets.py:352 +#: ipam/filtersets.py:972 virtualization/filtersets.py:58 +#: virtualization/filtersets.py:186 msgid "Site group (ID)" msgstr "" -#: netbox/circuits/filtersets.py:51 netbox/circuits/filtersets.py:218 -#: netbox/dcim/filtersets.py:135 netbox/dcim/filtersets.py:232 -#: netbox/dcim/filtersets.py:353 netbox/dcim/filtersets.py:484 -#: netbox/dcim/filtersets.py:1041 netbox/dcim/filtersets.py:1388 -#: netbox/dcim/filtersets.py:1923 netbox/dcim/filtersets.py:2166 -#: netbox/dcim/filtersets.py:2224 netbox/extras/filtersets.py:515 -#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:979 -#: netbox/virtualization/filtersets.py:65 -#: netbox/virtualization/filtersets.py:193 +#: circuits/filtersets.py:51 circuits/filtersets.py:218 dcim/filtersets.py:135 +#: dcim/filtersets.py:232 dcim/filtersets.py:353 dcim/filtersets.py:484 +#: dcim/filtersets.py:1041 dcim/filtersets.py:1388 dcim/filtersets.py:1923 +#: dcim/filtersets.py:2166 dcim/filtersets.py:2224 extras/filtersets.py:515 +#: ipam/filtersets.py:359 ipam/filtersets.py:979 +#: virtualization/filtersets.py:65 virtualization/filtersets.py:193 msgid "Site group (slug)" msgstr "" -#: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 -#: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:124 -#: netbox/circuits/forms/filtersets.py:51 -#: netbox/circuits/forms/filtersets.py:171 -#: netbox/circuits/forms/filtersets.py:209 -#: netbox/circuits/forms/model_forms.py:138 -#: netbox/circuits/forms/model_forms.py:154 -#: netbox/circuits/tables/circuits.py:113 netbox/dcim/forms/bulk_edit.py:169 -#: netbox/dcim/forms/bulk_edit.py:330 netbox/dcim/forms/bulk_edit.py:678 -#: netbox/dcim/forms/bulk_edit.py:883 netbox/dcim/forms/bulk_import.py:131 -#: netbox/dcim/forms/bulk_import.py:230 netbox/dcim/forms/bulk_import.py:309 -#: netbox/dcim/forms/bulk_import.py:540 netbox/dcim/forms/bulk_import.py:1311 -#: netbox/dcim/forms/bulk_import.py:1339 netbox/dcim/forms/filtersets.py:87 -#: netbox/dcim/forms/filtersets.py:225 netbox/dcim/forms/filtersets.py:342 -#: netbox/dcim/forms/filtersets.py:439 netbox/dcim/forms/filtersets.py:753 -#: netbox/dcim/forms/filtersets.py:997 netbox/dcim/forms/filtersets.py:1021 -#: netbox/dcim/forms/filtersets.py:1111 netbox/dcim/forms/filtersets.py:1149 -#: netbox/dcim/forms/filtersets.py:1584 netbox/dcim/forms/filtersets.py:1608 -#: netbox/dcim/forms/filtersets.py:1632 netbox/dcim/forms/model_forms.py:137 -#: netbox/dcim/forms/model_forms.py:165 netbox/dcim/forms/model_forms.py:238 -#: netbox/dcim/forms/model_forms.py:463 netbox/dcim/forms/model_forms.py:723 -#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:153 -#: netbox/dcim/tables/power.py:26 netbox/dcim/tables/power.py:93 -#: netbox/dcim/tables/racks.py:122 netbox/dcim/tables/racks.py:207 -#: netbox/dcim/tables/sites.py:134 netbox/extras/filtersets.py:525 -#: netbox/ipam/forms/bulk_edit.py:218 netbox/ipam/forms/bulk_edit.py:285 -#: netbox/ipam/forms/bulk_edit.py:484 netbox/ipam/forms/bulk_import.py:171 -#: netbox/ipam/forms/bulk_import.py:429 netbox/ipam/forms/filtersets.py:153 -#: netbox/ipam/forms/filtersets.py:231 netbox/ipam/forms/filtersets.py:432 -#: netbox/ipam/forms/filtersets.py:489 netbox/ipam/forms/model_forms.py:205 -#: netbox/ipam/forms/model_forms.py:636 netbox/ipam/tables/ip.py:245 -#: netbox/ipam/tables/vlans.py:118 netbox/ipam/tables/vlans.py:221 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:6 -#: netbox/templates/dcim/device.html:22 -#: netbox/templates/dcim/inc/cable_termination.html:8 -#: netbox/templates/dcim/inc/cable_termination.html:33 -#: netbox/templates/dcim/location.html:37 -#: netbox/templates/dcim/powerpanel.html:22 netbox/templates/dcim/rack.html:20 -#: netbox/templates/dcim/rackreservation.html:28 -#: netbox/templates/dcim/site.html:28 netbox/templates/ipam/prefix.html:56 -#: netbox/templates/ipam/vlan.html:23 netbox/templates/ipam/vlan_edit.html:40 -#: netbox/templates/virtualization/cluster.html:42 -#: netbox/templates/virtualization/virtualmachine.html:95 -#: netbox/virtualization/forms/bulk_edit.py:91 -#: netbox/virtualization/forms/bulk_edit.py:109 -#: netbox/virtualization/forms/bulk_edit.py:124 -#: netbox/virtualization/forms/bulk_import.py:59 -#: netbox/virtualization/forms/bulk_import.py:85 -#: netbox/virtualization/forms/filtersets.py:79 -#: netbox/virtualization/forms/filtersets.py:148 -#: netbox/virtualization/forms/model_forms.py:71 -#: netbox/virtualization/forms/model_forms.py:104 -#: netbox/virtualization/forms/model_forms.py:171 -#: netbox/virtualization/tables/clusters.py:77 -#: netbox/virtualization/tables/virtualmachines.py:63 -#: netbox/vpn/forms/filtersets.py:266 netbox/wireless/forms/model_forms.py:76 -#: netbox/wireless/forms/model_forms.py:118 +#: circuits/filtersets.py:56 circuits/forms/bulk_edit.py:188 +#: circuits/forms/bulk_edit.py:216 circuits/forms/bulk_import.py:124 +#: circuits/forms/filtersets.py:51 circuits/forms/filtersets.py:171 +#: circuits/forms/filtersets.py:209 circuits/forms/model_forms.py:138 +#: circuits/forms/model_forms.py:154 circuits/tables/circuits.py:113 +#: dcim/forms/bulk_edit.py:169 dcim/forms/bulk_edit.py:330 +#: dcim/forms/bulk_edit.py:678 dcim/forms/bulk_edit.py:883 +#: dcim/forms/bulk_import.py:131 dcim/forms/bulk_import.py:230 +#: dcim/forms/bulk_import.py:309 dcim/forms/bulk_import.py:540 +#: dcim/forms/bulk_import.py:1311 dcim/forms/bulk_import.py:1339 +#: dcim/forms/filtersets.py:87 dcim/forms/filtersets.py:225 +#: dcim/forms/filtersets.py:342 dcim/forms/filtersets.py:439 +#: dcim/forms/filtersets.py:753 dcim/forms/filtersets.py:997 +#: dcim/forms/filtersets.py:1021 dcim/forms/filtersets.py:1111 +#: dcim/forms/filtersets.py:1149 dcim/forms/filtersets.py:1584 +#: dcim/forms/filtersets.py:1608 dcim/forms/filtersets.py:1632 +#: dcim/forms/model_forms.py:137 dcim/forms/model_forms.py:165 +#: dcim/forms/model_forms.py:238 dcim/forms/model_forms.py:463 +#: dcim/forms/model_forms.py:723 dcim/forms/object_create.py:391 +#: dcim/tables/devices.py:153 dcim/tables/power.py:26 dcim/tables/power.py:93 +#: dcim/tables/racks.py:122 dcim/tables/racks.py:207 dcim/tables/sites.py:134 +#: extras/filtersets.py:525 ipam/forms/bulk_edit.py:218 +#: ipam/forms/bulk_edit.py:285 ipam/forms/bulk_edit.py:484 +#: ipam/forms/bulk_import.py:171 ipam/forms/bulk_import.py:429 +#: ipam/forms/filtersets.py:153 ipam/forms/filtersets.py:231 +#: ipam/forms/filtersets.py:432 ipam/forms/filtersets.py:489 +#: ipam/forms/model_forms.py:205 ipam/forms/model_forms.py:636 +#: ipam/tables/ip.py:245 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 +#: templates/circuits/inc/circuit_termination_fields.html:6 +#: templates/dcim/device.html:22 templates/dcim/inc/cable_termination.html:8 +#: templates/dcim/inc/cable_termination.html:33 templates/dcim/location.html:37 +#: templates/dcim/powerpanel.html:22 templates/dcim/rack.html:20 +#: templates/dcim/rackreservation.html:28 templates/dcim/site.html:28 +#: 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:95 +#: 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: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:63 vpn/forms/filtersets.py:266 +#: wireless/forms/model_forms.py:76 wireless/forms/model_forms.py:118 msgid "Site" msgstr "" -#: netbox/circuits/filtersets.py:62 netbox/circuits/filtersets.py:229 -#: netbox/circuits/filtersets.py:274 netbox/dcim/filtersets.py:242 -#: netbox/dcim/filtersets.py:363 netbox/dcim/filtersets.py:458 -#: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 -#: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 -#: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 +#: circuits/filtersets.py:62 circuits/filtersets.py:229 +#: circuits/filtersets.py:274 dcim/filtersets.py:242 dcim/filtersets.py:363 +#: dcim/filtersets.py:458 extras/filtersets.py:531 ipam/filtersets.py:238 +#: ipam/filtersets.py:369 ipam/filtersets.py:989 +#: virtualization/filtersets.py:75 virtualization/filtersets.py:203 +#: vpn/filtersets.py:363 msgid "Site (slug)" msgstr "" -#: netbox/circuits/filtersets.py:67 +#: circuits/filtersets.py:67 msgid "ASN (ID)" msgstr "" -#: netbox/circuits/filtersets.py:73 netbox/circuits/forms/filtersets.py:31 -#: netbox/ipam/forms/model_forms.py:159 netbox/ipam/models/asns.py:108 -#: netbox/ipam/models/asns.py:125 netbox/ipam/tables/asn.py:41 -#: netbox/templates/ipam/asn.html:20 +#: circuits/filtersets.py:73 circuits/forms/filtersets.py:31 +#: ipam/forms/model_forms.py:159 ipam/models/asns.py:108 +#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 msgid "ASN" msgstr "" -#: netbox/circuits/filtersets.py:95 netbox/circuits/filtersets.py:122 -#: netbox/circuits/filtersets.py:156 netbox/circuits/filtersets.py:283 -#: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:243 +#: circuits/filtersets.py:95 circuits/filtersets.py:122 +#: circuits/filtersets.py:156 circuits/filtersets.py:283 +#: circuits/filtersets.py:325 ipam/filtersets.py:243 msgid "Provider (ID)" msgstr "" -#: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128 -#: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289 -#: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:249 +#: circuits/filtersets.py:101 circuits/filtersets.py:128 +#: circuits/filtersets.py:162 circuits/filtersets.py:289 +#: circuits/filtersets.py:331 ipam/filtersets.py:249 msgid "Provider (slug)" msgstr "" -#: netbox/circuits/filtersets.py:167 +#: circuits/filtersets.py:167 msgid "Provider account (ID)" msgstr "" -#: netbox/circuits/filtersets.py:173 +#: circuits/filtersets.py:173 msgid "Provider account (account)" msgstr "" -#: netbox/circuits/filtersets.py:178 +#: circuits/filtersets.py:178 msgid "Provider network (ID)" msgstr "" -#: netbox/circuits/filtersets.py:182 +#: circuits/filtersets.py:182 msgid "Circuit type (ID)" msgstr "" -#: netbox/circuits/filtersets.py:188 +#: circuits/filtersets.py:188 msgid "Circuit type (slug)" msgstr "" -#: netbox/circuits/filtersets.py:223 netbox/circuits/filtersets.py:268 -#: netbox/dcim/filtersets.py:236 netbox/dcim/filtersets.py:357 -#: netbox/dcim/filtersets.py:452 netbox/dcim/filtersets.py:1045 -#: netbox/dcim/filtersets.py:1393 netbox/dcim/filtersets.py:1928 -#: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 -#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 -#: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 +#: circuits/filtersets.py:223 circuits/filtersets.py:268 dcim/filtersets.py:236 +#: dcim/filtersets.py:357 dcim/filtersets.py:452 dcim/filtersets.py:1045 +#: dcim/filtersets.py:1393 dcim/filtersets.py:1928 dcim/filtersets.py:2170 +#: dcim/filtersets.py:2229 ipam/filtersets.py:232 ipam/filtersets.py:363 +#: ipam/filtersets.py:983 virtualization/filtersets.py:69 +#: virtualization/filtersets.py:197 vpn/filtersets.py:368 msgid "Site (ID)" msgstr "" -#: netbox/circuits/filtersets.py:233 netbox/circuits/filtersets.py:237 +#: circuits/filtersets.py:233 circuits/filtersets.py:237 msgid "Termination A (ID)" msgstr "" -#: netbox/circuits/filtersets.py:260 netbox/circuits/filtersets.py:320 -#: netbox/core/filtersets.py:77 netbox/core/filtersets.py:136 -#: netbox/core/filtersets.py:173 netbox/dcim/filtersets.py:751 -#: netbox/dcim/filtersets.py:1362 netbox/dcim/filtersets.py:2277 -#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 -#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:132 -#: netbox/extras/filtersets.py:181 netbox/extras/filtersets.py:209 -#: netbox/extras/filtersets.py:239 netbox/extras/filtersets.py:276 -#: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 -#: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 -#: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 -#: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 -#: netbox/templates/htmx/object_selector.html:28 -#: netbox/templates/inc/filter_list.html:46 -#: netbox/templates/ipam/ipaddress_assign.html:29 -#: netbox/templates/search.html:7 netbox/templates/search.html:26 -#: netbox/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 -#: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 -#: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 -#: netbox/utilities/templates/navigation/menu.html:16 +#: circuits/filtersets.py:260 circuits/filtersets.py:320 core/filtersets.py:77 +#: core/filtersets.py:136 core/filtersets.py:173 dcim/filtersets.py:751 +#: dcim/filtersets.py:1362 dcim/filtersets.py:2277 extras/filtersets.py:41 +#: extras/filtersets.py:63 extras/filtersets.py:92 extras/filtersets.py:132 +#: extras/filtersets.py:181 extras/filtersets.py:209 extras/filtersets.py:239 +#: extras/filtersets.py:276 extras/filtersets.py:348 extras/filtersets.py:391 +#: extras/filtersets.py:438 extras/filtersets.py:498 extras/filtersets.py:657 +#: extras/filtersets.py:703 ipam/forms/model_forms.py:449 +#: netbox/filtersets.py:282 netbox/forms/__init__.py:22 +#: netbox/forms/base.py:167 templates/htmx/object_selector.html:28 +#: templates/inc/filter_list.html:46 templates/ipam/ipaddress_assign.html:29 +#: templates/search.html:7 templates/search.html:26 tenancy/filtersets.py:99 +#: users/filtersets.py:23 users/filtersets.py:57 users/filtersets.py:102 +#: users/filtersets.py:150 utilities/forms/forms.py:104 +#: utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "" -#: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 -#: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:115 -#: netbox/circuits/forms/filtersets.py:198 -#: netbox/circuits/forms/filtersets.py:214 -#: netbox/circuits/forms/filtersets.py:260 -#: netbox/circuits/forms/model_forms.py:111 -#: netbox/circuits/forms/model_forms.py:133 -#: netbox/circuits/forms/model_forms.py:199 -#: netbox/circuits/tables/circuits.py:104 -#: netbox/circuits/tables/circuits.py:164 netbox/dcim/forms/connections.py:73 -#: netbox/templates/circuits/circuit.html:15 -#: netbox/templates/circuits/circuitgroupassignment.html:26 -#: netbox/templates/circuits/circuittermination.html:19 -#: netbox/templates/dcim/inc/cable_termination.html:55 -#: netbox/templates/dcim/trace/circuit.html:4 +#: circuits/filtersets.py:264 circuits/forms/bulk_edit.py:172 +#: circuits/forms/bulk_edit.py:246 circuits/forms/bulk_import.py:115 +#: circuits/forms/filtersets.py:198 circuits/forms/filtersets.py:214 +#: circuits/forms/filtersets.py:260 circuits/forms/model_forms.py:111 +#: circuits/forms/model_forms.py:133 circuits/forms/model_forms.py:199 +#: circuits/tables/circuits.py:104 circuits/tables/circuits.py:164 +#: dcim/forms/connections.py:73 templates/circuits/circuit.html:15 +#: templates/circuits/circuitgroupassignment.html:26 +#: templates/circuits/circuittermination.html:19 +#: templates/dcim/inc/cable_termination.html:55 +#: templates/dcim/trace/circuit.html:4 msgid "Circuit" msgstr "" -#: netbox/circuits/filtersets.py:278 +#: circuits/filtersets.py:278 msgid "ProviderNetwork (ID)" msgstr "" -#: netbox/circuits/filtersets.py:335 +#: circuits/filtersets.py:335 msgid "Circuit (ID)" msgstr "" -#: netbox/circuits/filtersets.py:341 +#: circuits/filtersets.py:341 msgid "Circuit (CID)" msgstr "" -#: netbox/circuits/filtersets.py:345 +#: circuits/filtersets.py:345 msgid "Circuit group (ID)" msgstr "" -#: netbox/circuits/filtersets.py:351 +#: circuits/filtersets.py:351 msgid "Circuit group (slug)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:30 netbox/circuits/forms/filtersets.py:56 -#: netbox/circuits/forms/model_forms.py:29 -#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:129 -#: netbox/dcim/forms/filtersets.py:195 netbox/dcim/forms/model_forms.py:123 -#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 -#: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:175 -#: netbox/templates/circuits/provider.html:23 +#: circuits/forms/bulk_edit.py:30 circuits/forms/filtersets.py:56 +#: circuits/forms/model_forms.py:29 circuits/tables/providers.py:33 +#: dcim/forms/bulk_edit.py:129 dcim/forms/filtersets.py:195 +#: dcim/forms/model_forms.py:123 dcim/tables/sites.py:94 +#: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:213 +#: netbox/navigation/menu.py:172 netbox/navigation/menu.py:175 +#: templates/circuits/provider.html:23 msgid "ASNs" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:34 netbox/circuits/forms/bulk_edit.py:56 -#: netbox/circuits/forms/bulk_edit.py:83 netbox/circuits/forms/bulk_edit.py:104 -#: netbox/circuits/forms/bulk_edit.py:164 -#: netbox/circuits/forms/bulk_edit.py:183 -#: netbox/circuits/forms/bulk_edit.py:228 netbox/core/forms/bulk_edit.py:28 -#: netbox/dcim/forms/bulk_create.py:35 netbox/dcim/forms/bulk_edit.py:74 -#: netbox/dcim/forms/bulk_edit.py:93 netbox/dcim/forms/bulk_edit.py:152 -#: netbox/dcim/forms/bulk_edit.py:193 netbox/dcim/forms/bulk_edit.py:211 -#: netbox/dcim/forms/bulk_edit.py:289 netbox/dcim/forms/bulk_edit.py:433 -#: netbox/dcim/forms/bulk_edit.py:467 netbox/dcim/forms/bulk_edit.py:482 -#: netbox/dcim/forms/bulk_edit.py:541 netbox/dcim/forms/bulk_edit.py:585 -#: netbox/dcim/forms/bulk_edit.py:619 netbox/dcim/forms/bulk_edit.py:643 -#: netbox/dcim/forms/bulk_edit.py:716 netbox/dcim/forms/bulk_edit.py:777 -#: netbox/dcim/forms/bulk_edit.py:829 netbox/dcim/forms/bulk_edit.py:852 -#: netbox/dcim/forms/bulk_edit.py:900 netbox/dcim/forms/bulk_edit.py:970 -#: netbox/dcim/forms/bulk_edit.py:1023 netbox/dcim/forms/bulk_edit.py:1058 -#: netbox/dcim/forms/bulk_edit.py:1098 netbox/dcim/forms/bulk_edit.py:1142 -#: netbox/dcim/forms/bulk_edit.py:1187 netbox/dcim/forms/bulk_edit.py:1214 -#: netbox/dcim/forms/bulk_edit.py:1232 netbox/dcim/forms/bulk_edit.py:1250 -#: netbox/dcim/forms/bulk_edit.py:1268 netbox/dcim/forms/bulk_edit.py:1720 -#: netbox/extras/forms/bulk_edit.py:39 netbox/extras/forms/bulk_edit.py:149 -#: netbox/extras/forms/bulk_edit.py:178 netbox/extras/forms/bulk_edit.py:208 -#: netbox/extras/forms/bulk_edit.py:256 netbox/extras/forms/bulk_edit.py:274 -#: netbox/extras/forms/bulk_edit.py:298 netbox/extras/forms/bulk_edit.py:312 -#: netbox/extras/forms/bulk_edit.py:339 netbox/extras/tables/tables.py:79 -#: netbox/ipam/forms/bulk_edit.py:53 netbox/ipam/forms/bulk_edit.py:73 -#: netbox/ipam/forms/bulk_edit.py:93 netbox/ipam/forms/bulk_edit.py:117 -#: netbox/ipam/forms/bulk_edit.py:146 netbox/ipam/forms/bulk_edit.py:175 -#: netbox/ipam/forms/bulk_edit.py:194 netbox/ipam/forms/bulk_edit.py:276 -#: netbox/ipam/forms/bulk_edit.py:321 netbox/ipam/forms/bulk_edit.py:369 -#: netbox/ipam/forms/bulk_edit.py:412 netbox/ipam/forms/bulk_edit.py:428 -#: netbox/ipam/forms/bulk_edit.py:516 netbox/ipam/forms/bulk_edit.py:547 -#: netbox/templates/account/token.html:35 -#: netbox/templates/circuits/circuit.html:59 -#: netbox/templates/circuits/circuitgroup.html:32 -#: netbox/templates/circuits/circuittype.html:26 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:88 -#: netbox/templates/circuits/provider.html:33 -#: netbox/templates/circuits/providernetwork.html:32 -#: netbox/templates/core/datasource.html:54 -#: netbox/templates/core/plugin.html:80 netbox/templates/dcim/cable.html:36 -#: netbox/templates/dcim/consoleport.html:44 -#: netbox/templates/dcim/consoleserverport.html:44 -#: netbox/templates/dcim/device.html:94 netbox/templates/dcim/devicebay.html:32 -#: netbox/templates/dcim/devicerole.html:30 -#: netbox/templates/dcim/devicetype.html:33 -#: netbox/templates/dcim/frontport.html:58 -#: netbox/templates/dcim/interface.html:69 -#: netbox/templates/dcim/inventoryitem.html:60 -#: netbox/templates/dcim/inventoryitemrole.html:22 -#: netbox/templates/dcim/location.html:33 -#: netbox/templates/dcim/manufacturer.html:40 -#: netbox/templates/dcim/module.html:73 netbox/templates/dcim/modulebay.html:42 -#: netbox/templates/dcim/moduletype.html:37 -#: netbox/templates/dcim/platform.html:33 -#: netbox/templates/dcim/powerfeed.html:40 -#: netbox/templates/dcim/poweroutlet.html:40 -#: netbox/templates/dcim/powerpanel.html:30 -#: netbox/templates/dcim/powerport.html:40 netbox/templates/dcim/rack.html:53 -#: netbox/templates/dcim/rackreservation.html:62 -#: netbox/templates/dcim/rackrole.html:26 -#: netbox/templates/dcim/racktype.html:24 -#: netbox/templates/dcim/rearport.html:54 netbox/templates/dcim/region.html:33 -#: netbox/templates/dcim/site.html:60 netbox/templates/dcim/sitegroup.html:33 -#: netbox/templates/dcim/virtualchassis.html:31 -#: netbox/templates/extras/configcontext.html:21 -#: netbox/templates/extras/configtemplate.html:17 -#: netbox/templates/extras/customfield.html:34 -#: netbox/templates/extras/dashboard/widget_add.html:14 -#: netbox/templates/extras/eventrule.html:21 -#: netbox/templates/extras/exporttemplate.html:19 -#: netbox/templates/extras/notificationgroup.html:20 -#: netbox/templates/extras/savedfilter.html:17 -#: netbox/templates/extras/script_list.html:46 -#: netbox/templates/extras/tag.html:20 netbox/templates/extras/webhook.html:17 -#: netbox/templates/generic/bulk_import.html:120 -#: netbox/templates/ipam/aggregate.html:43 netbox/templates/ipam/asn.html:42 -#: netbox/templates/ipam/asnrange.html:38 -#: netbox/templates/ipam/fhrpgroup.html:34 -#: netbox/templates/ipam/ipaddress.html:55 -#: netbox/templates/ipam/iprange.html:67 netbox/templates/ipam/prefix.html:81 -#: netbox/templates/ipam/rir.html:26 netbox/templates/ipam/role.html:26 -#: netbox/templates/ipam/routetarget.html:21 -#: netbox/templates/ipam/service.html:50 -#: netbox/templates/ipam/servicetemplate.html:27 -#: netbox/templates/ipam/vlan.html:62 netbox/templates/ipam/vlangroup.html:34 -#: netbox/templates/ipam/vrf.html:33 netbox/templates/tenancy/contact.html:67 -#: netbox/templates/tenancy/contactgroup.html:25 -#: netbox/templates/tenancy/contactrole.html:22 -#: netbox/templates/tenancy/tenant.html:24 -#: netbox/templates/tenancy/tenantgroup.html:33 -#: netbox/templates/users/group.html:21 -#: netbox/templates/users/objectpermission.html:21 -#: netbox/templates/users/token.html:27 -#: netbox/templates/virtualization/cluster.html:25 -#: netbox/templates/virtualization/clustergroup.html:26 -#: netbox/templates/virtualization/clustertype.html:26 -#: netbox/templates/virtualization/virtualdisk.html:39 -#: netbox/templates/virtualization/virtualmachine.html:31 -#: netbox/templates/virtualization/vminterface.html:51 -#: netbox/templates/vpn/ikepolicy.html:17 -#: netbox/templates/vpn/ikeproposal.html:17 -#: netbox/templates/vpn/ipsecpolicy.html:17 -#: netbox/templates/vpn/ipsecprofile.html:17 -#: netbox/templates/vpn/ipsecprofile.html:40 -#: netbox/templates/vpn/ipsecprofile.html:73 -#: netbox/templates/vpn/ipsecproposal.html:17 -#: netbox/templates/vpn/l2vpn.html:26 netbox/templates/vpn/tunnel.html:33 -#: netbox/templates/vpn/tunnelgroup.html:30 -#: netbox/templates/wireless/wirelesslan.html:26 -#: netbox/templates/wireless/wirelesslangroup.html:33 -#: netbox/templates/wireless/wirelesslink.html:34 -#: netbox/tenancy/forms/bulk_edit.py:32 netbox/tenancy/forms/bulk_edit.py:80 -#: netbox/tenancy/forms/bulk_edit.py:122 netbox/users/forms/bulk_edit.py:64 -#: netbox/users/forms/bulk_edit.py:82 netbox/users/forms/bulk_edit.py:112 -#: netbox/virtualization/forms/bulk_edit.py:32 -#: netbox/virtualization/forms/bulk_edit.py:46 -#: netbox/virtualization/forms/bulk_edit.py:100 -#: netbox/virtualization/forms/bulk_edit.py:177 -#: netbox/virtualization/forms/bulk_edit.py:228 -#: netbox/virtualization/forms/bulk_edit.py:337 -#: netbox/vpn/forms/bulk_edit.py:28 netbox/vpn/forms/bulk_edit.py:64 -#: netbox/vpn/forms/bulk_edit.py:121 netbox/vpn/forms/bulk_edit.py:155 -#: netbox/vpn/forms/bulk_edit.py:190 netbox/vpn/forms/bulk_edit.py:215 -#: netbox/vpn/forms/bulk_edit.py:247 netbox/vpn/forms/bulk_edit.py:274 -#: netbox/wireless/forms/bulk_edit.py:29 netbox/wireless/forms/bulk_edit.py:82 -#: netbox/wireless/forms/bulk_edit.py:140 +#: circuits/forms/bulk_edit.py:34 circuits/forms/bulk_edit.py:56 +#: circuits/forms/bulk_edit.py:83 circuits/forms/bulk_edit.py:104 +#: circuits/forms/bulk_edit.py:164 circuits/forms/bulk_edit.py:183 +#: circuits/forms/bulk_edit.py:228 core/forms/bulk_edit.py:28 +#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:74 +#: dcim/forms/bulk_edit.py:93 dcim/forms/bulk_edit.py:152 +#: dcim/forms/bulk_edit.py:193 dcim/forms/bulk_edit.py:211 +#: dcim/forms/bulk_edit.py:289 dcim/forms/bulk_edit.py:433 +#: dcim/forms/bulk_edit.py:467 dcim/forms/bulk_edit.py:482 +#: dcim/forms/bulk_edit.py:541 dcim/forms/bulk_edit.py:585 +#: dcim/forms/bulk_edit.py:619 dcim/forms/bulk_edit.py:643 +#: dcim/forms/bulk_edit.py:716 dcim/forms/bulk_edit.py:777 +#: dcim/forms/bulk_edit.py:829 dcim/forms/bulk_edit.py:852 +#: dcim/forms/bulk_edit.py:900 dcim/forms/bulk_edit.py:970 +#: dcim/forms/bulk_edit.py:1023 dcim/forms/bulk_edit.py:1058 +#: dcim/forms/bulk_edit.py:1098 dcim/forms/bulk_edit.py:1142 +#: dcim/forms/bulk_edit.py:1187 dcim/forms/bulk_edit.py:1214 +#: dcim/forms/bulk_edit.py:1232 dcim/forms/bulk_edit.py:1250 +#: dcim/forms/bulk_edit.py:1268 dcim/forms/bulk_edit.py:1720 +#: extras/forms/bulk_edit.py:39 extras/forms/bulk_edit.py:149 +#: extras/forms/bulk_edit.py:178 extras/forms/bulk_edit.py:208 +#: extras/forms/bulk_edit.py:256 extras/forms/bulk_edit.py:274 +#: extras/forms/bulk_edit.py:298 extras/forms/bulk_edit.py:312 +#: extras/forms/bulk_edit.py:339 extras/tables/tables.py:79 +#: ipam/forms/bulk_edit.py:53 ipam/forms/bulk_edit.py:73 +#: ipam/forms/bulk_edit.py:93 ipam/forms/bulk_edit.py:117 +#: ipam/forms/bulk_edit.py:146 ipam/forms/bulk_edit.py:175 +#: ipam/forms/bulk_edit.py:194 ipam/forms/bulk_edit.py:276 +#: ipam/forms/bulk_edit.py:321 ipam/forms/bulk_edit.py:369 +#: ipam/forms/bulk_edit.py:412 ipam/forms/bulk_edit.py:428 +#: ipam/forms/bulk_edit.py:516 ipam/forms/bulk_edit.py:547 +#: templates/account/token.html:35 templates/circuits/circuit.html:59 +#: templates/circuits/circuitgroup.html:32 +#: templates/circuits/circuittype.html:26 +#: templates/circuits/inc/circuit_termination_fields.html:88 +#: templates/circuits/provider.html:33 +#: templates/circuits/providernetwork.html:32 templates/core/datasource.html:54 +#: templates/core/plugin.html:80 templates/dcim/cable.html:36 +#: templates/dcim/consoleport.html:44 templates/dcim/consoleserverport.html:44 +#: templates/dcim/device.html:94 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:73 +#: templates/dcim/modulebay.html:42 templates/dcim/moduletype.html:37 +#: 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:53 +#: templates/dcim/rackreservation.html:62 templates/dcim/rackrole.html:26 +#: templates/dcim/racktype.html:24 templates/dcim/rearport.html:54 +#: templates/dcim/region.html:33 templates/dcim/site.html:60 +#: 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:21 templates/extras/exporttemplate.html:19 +#: templates/extras/notificationgroup.html:20 +#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:46 +#: 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:140 msgid "Description" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 -#: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:36 -#: netbox/circuits/forms/bulk_import.py:51 -#: netbox/circuits/forms/bulk_import.py:74 -#: netbox/circuits/forms/filtersets.py:70 -#: netbox/circuits/forms/filtersets.py:88 -#: netbox/circuits/forms/filtersets.py:116 -#: netbox/circuits/forms/filtersets.py:131 -#: netbox/circuits/forms/filtersets.py:199 -#: netbox/circuits/forms/filtersets.py:232 -#: netbox/circuits/forms/filtersets.py:255 -#: netbox/circuits/forms/model_forms.py:47 -#: netbox/circuits/forms/model_forms.py:61 -#: netbox/circuits/forms/model_forms.py:93 -#: netbox/circuits/tables/circuits.py:58 netbox/circuits/tables/circuits.py:108 -#: netbox/circuits/tables/circuits.py:160 -#: netbox/circuits/tables/providers.py:72 -#: netbox/circuits/tables/providers.py:103 -#: netbox/templates/circuits/circuit.html:18 -#: netbox/templates/circuits/circuittermination.html:25 -#: netbox/templates/circuits/provider.html:20 -#: netbox/templates/circuits/provideraccount.html:20 -#: netbox/templates/circuits/providernetwork.html:20 -#: netbox/templates/dcim/inc/cable_termination.html:51 +#: circuits/forms/bulk_edit.py:51 circuits/forms/bulk_edit.py:73 +#: circuits/forms/bulk_edit.py:123 circuits/forms/bulk_import.py:36 +#: circuits/forms/bulk_import.py:51 circuits/forms/bulk_import.py:74 +#: circuits/forms/filtersets.py:70 circuits/forms/filtersets.py:88 +#: circuits/forms/filtersets.py:116 circuits/forms/filtersets.py:131 +#: circuits/forms/filtersets.py:199 circuits/forms/filtersets.py:232 +#: circuits/forms/filtersets.py:255 circuits/forms/model_forms.py:47 +#: circuits/forms/model_forms.py:61 circuits/forms/model_forms.py:93 +#: circuits/tables/circuits.py:58 circuits/tables/circuits.py:108 +#: circuits/tables/circuits.py:160 circuits/tables/providers.py:72 +#: circuits/tables/providers.py:103 templates/circuits/circuit.html:18 +#: templates/circuits/circuittermination.html:25 +#: 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 "" -#: netbox/circuits/forms/bulk_edit.py:80 netbox/circuits/forms/filtersets.py:91 -#: netbox/templates/circuits/providernetwork.html:28 +#: circuits/forms/bulk_edit.py:80 circuits/forms/filtersets.py:91 +#: templates/circuits/providernetwork.html:28 msgid "Service ID" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:100 -#: netbox/circuits/forms/filtersets.py:107 netbox/dcim/forms/bulk_edit.py:207 -#: netbox/dcim/forms/bulk_edit.py:605 netbox/dcim/forms/bulk_edit.py:814 -#: netbox/dcim/forms/bulk_edit.py:1183 netbox/dcim/forms/bulk_edit.py:1210 -#: netbox/dcim/forms/bulk_edit.py:1716 netbox/dcim/forms/filtersets.py:1064 -#: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 -#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 -#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 -#: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 -#: netbox/templates/circuits/circuittype.html:30 -#: netbox/templates/dcim/cable.html:40 netbox/templates/dcim/devicerole.html:34 -#: netbox/templates/dcim/frontport.html:40 -#: netbox/templates/dcim/inventoryitemrole.html:26 -#: netbox/templates/dcim/rackrole.html:30 -#: netbox/templates/dcim/rearport.html:40 netbox/templates/extras/tag.html:26 +#: circuits/forms/bulk_edit.py:100 circuits/forms/filtersets.py:107 +#: dcim/forms/bulk_edit.py:207 dcim/forms/bulk_edit.py:605 +#: dcim/forms/bulk_edit.py:814 dcim/forms/bulk_edit.py:1183 +#: dcim/forms/bulk_edit.py:1210 dcim/forms/bulk_edit.py:1716 +#: dcim/forms/filtersets.py:1064 dcim/forms/filtersets.py:1455 +#: dcim/forms/filtersets.py:1479 dcim/tables/devices.py:704 +#: dcim/tables/devices.py:761 dcim/tables/devices.py:1003 +#: dcim/tables/devicetypes.py:249 dcim/tables/devicetypes.py:264 +#: dcim/tables/racks.py:33 extras/forms/bulk_edit.py:270 +#: extras/tables/tables.py:443 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 "" -#: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:87 -#: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 -#: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 -#: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 -#: netbox/dcim/forms/bulk_edit.py:792 netbox/dcim/forms/bulk_edit.py:931 -#: netbox/dcim/forms/bulk_edit.py:999 netbox/dcim/forms/bulk_edit.py:1018 -#: netbox/dcim/forms/bulk_edit.py:1041 netbox/dcim/forms/bulk_edit.py:1083 -#: netbox/dcim/forms/bulk_edit.py:1127 netbox/dcim/forms/bulk_edit.py:1178 -#: netbox/dcim/forms/bulk_edit.py:1205 netbox/dcim/forms/bulk_import.py:188 -#: netbox/dcim/forms/bulk_import.py:260 netbox/dcim/forms/bulk_import.py:708 -#: netbox/dcim/forms/bulk_import.py:734 netbox/dcim/forms/bulk_import.py:760 -#: netbox/dcim/forms/bulk_import.py:780 netbox/dcim/forms/bulk_import.py:863 -#: netbox/dcim/forms/bulk_import.py:957 netbox/dcim/forms/bulk_import.py:999 -#: netbox/dcim/forms/bulk_import.py:1213 netbox/dcim/forms/bulk_import.py:1376 -#: netbox/dcim/forms/filtersets.py:955 netbox/dcim/forms/filtersets.py:1054 -#: netbox/dcim/forms/filtersets.py:1175 netbox/dcim/forms/filtersets.py:1247 -#: netbox/dcim/forms/filtersets.py:1272 netbox/dcim/forms/filtersets.py:1296 -#: netbox/dcim/forms/filtersets.py:1316 netbox/dcim/forms/filtersets.py:1353 -#: netbox/dcim/forms/filtersets.py:1450 netbox/dcim/forms/filtersets.py:1474 -#: netbox/dcim/forms/model_forms.py:703 netbox/dcim/forms/model_forms.py:709 -#: netbox/dcim/forms/object_import.py:84 netbox/dcim/forms/object_import.py:113 -#: netbox/dcim/forms/object_import.py:145 netbox/dcim/tables/devices.py:178 -#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 -#: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 -#: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 -#: netbox/netbox/tables/tables.py:240 netbox/templates/circuits/circuit.html:30 -#: netbox/templates/core/datasource.html:38 netbox/templates/dcim/cable.html:15 -#: netbox/templates/dcim/consoleport.html:36 -#: netbox/templates/dcim/consoleserverport.html:36 -#: netbox/templates/dcim/frontport.html:36 -#: netbox/templates/dcim/interface.html:46 -#: netbox/templates/dcim/interface.html:169 -#: netbox/templates/dcim/interface.html:311 -#: netbox/templates/dcim/powerfeed.html:32 -#: netbox/templates/dcim/poweroutlet.html:36 -#: netbox/templates/dcim/powerport.html:36 -#: netbox/templates/dcim/rearport.html:36 -#: netbox/templates/extras/eventrule.html:74 -#: netbox/templates/virtualization/cluster.html:17 -#: netbox/templates/vpn/l2vpn.html:22 -#: netbox/templates/wireless/inc/authentication_attrs.html:8 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:14 -#: netbox/virtualization/forms/bulk_edit.py:60 -#: netbox/virtualization/forms/bulk_import.py:41 -#: netbox/virtualization/forms/filtersets.py:54 -#: netbox/virtualization/forms/model_forms.py:62 -#: netbox/virtualization/tables/clusters.py:66 -#: netbox/vpn/forms/bulk_edit.py:264 netbox/vpn/forms/bulk_import.py:264 -#: netbox/vpn/forms/filtersets.py:217 netbox/vpn/forms/model_forms.py:84 -#: netbox/vpn/forms/model_forms.py:119 netbox/vpn/forms/model_forms.py:231 +#: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:87 +#: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:18 +#: core/forms/filtersets.py:33 core/tables/change_logging.py:32 +#: core/tables/data.py:20 core/tables/jobs.py:18 dcim/forms/bulk_edit.py:792 +#: dcim/forms/bulk_edit.py:931 dcim/forms/bulk_edit.py:999 +#: dcim/forms/bulk_edit.py:1018 dcim/forms/bulk_edit.py:1041 +#: dcim/forms/bulk_edit.py:1083 dcim/forms/bulk_edit.py:1127 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/bulk_edit.py:1205 +#: dcim/forms/bulk_import.py:188 dcim/forms/bulk_import.py:260 +#: dcim/forms/bulk_import.py:708 dcim/forms/bulk_import.py:734 +#: dcim/forms/bulk_import.py:760 dcim/forms/bulk_import.py:780 +#: dcim/forms/bulk_import.py:863 dcim/forms/bulk_import.py:957 +#: dcim/forms/bulk_import.py:999 dcim/forms/bulk_import.py:1213 +#: dcim/forms/bulk_import.py:1376 dcim/forms/filtersets.py:955 +#: dcim/forms/filtersets.py:1054 dcim/forms/filtersets.py:1175 +#: dcim/forms/filtersets.py:1247 dcim/forms/filtersets.py:1272 +#: dcim/forms/filtersets.py:1296 dcim/forms/filtersets.py:1316 +#: dcim/forms/filtersets.py:1353 dcim/forms/filtersets.py:1450 +#: dcim/forms/filtersets.py:1474 dcim/forms/model_forms.py:703 +#: dcim/forms/model_forms.py:709 dcim/forms/object_import.py:84 +#: dcim/forms/object_import.py:113 dcim/forms/object_import.py:145 +#: dcim/tables/devices.py:178 dcim/tables/devices.py:814 +#: dcim/tables/power.py:77 dcim/tables/racks.py:138 +#: extras/forms/bulk_import.py:42 extras/tables/tables.py:405 +#: extras/tables/tables.py:465 netbox/tables/tables.py:240 +#: 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/rearport.html:36 templates/extras/eventrule.html:74 +#: 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: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 "" -#: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:80 -#: netbox/circuits/forms/filtersets.py:139 -#: netbox/circuits/forms/model_forms.py:98 +#: circuits/forms/bulk_edit.py:128 circuits/forms/bulk_import.py:80 +#: circuits/forms/filtersets.py:139 circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:93 -#: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 -#: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 -#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 -#: netbox/dcim/forms/bulk_edit.py:107 netbox/dcim/forms/bulk_edit.py:182 -#: netbox/dcim/forms/bulk_edit.py:352 netbox/dcim/forms/bulk_edit.py:701 -#: netbox/dcim/forms/bulk_edit.py:766 netbox/dcim/forms/bulk_edit.py:798 -#: netbox/dcim/forms/bulk_edit.py:925 netbox/dcim/forms/bulk_edit.py:1739 -#: netbox/dcim/forms/bulk_import.py:88 netbox/dcim/forms/bulk_import.py:147 -#: netbox/dcim/forms/bulk_import.py:248 netbox/dcim/forms/bulk_import.py:505 -#: netbox/dcim/forms/bulk_import.py:659 netbox/dcim/forms/bulk_import.py:1207 -#: netbox/dcim/forms/bulk_import.py:1371 netbox/dcim/forms/bulk_import.py:1435 -#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:237 -#: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 -#: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 -#: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 -#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 -#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 -#: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 -#: netbox/ipam/forms/bulk_edit.py:256 netbox/ipam/forms/bulk_edit.py:306 -#: netbox/ipam/forms/bulk_edit.py:354 netbox/ipam/forms/bulk_edit.py:506 -#: netbox/ipam/forms/bulk_import.py:192 netbox/ipam/forms/bulk_import.py:257 -#: netbox/ipam/forms/bulk_import.py:293 netbox/ipam/forms/bulk_import.py:450 -#: netbox/ipam/forms/filtersets.py:210 netbox/ipam/forms/filtersets.py:281 -#: netbox/ipam/forms/filtersets.py:355 netbox/ipam/forms/filtersets.py:501 -#: netbox/ipam/forms/model_forms.py:468 netbox/ipam/tables/ip.py:237 -#: netbox/ipam/tables/ip.py:312 netbox/ipam/tables/ip.py:363 -#: netbox/ipam/tables/ip.py:426 netbox/ipam/tables/ip.py:453 -#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:232 -#: netbox/templates/circuits/circuit.html:34 -#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:48 -#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 -#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:69 -#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:41 -#: netbox/templates/dcim/site.html:43 -#: netbox/templates/extras/script_list.html:48 -#: netbox/templates/ipam/ipaddress.html:37 -#: netbox/templates/ipam/iprange.html:54 netbox/templates/ipam/prefix.html:73 -#: netbox/templates/ipam/vlan.html:48 -#: netbox/templates/virtualization/cluster.html:21 -#: netbox/templates/virtualization/virtualmachine.html:19 -#: netbox/templates/vpn/tunnel.html:25 -#: netbox/templates/wireless/wirelesslan.html:22 -#: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 -#: netbox/virtualization/forms/bulk_edit.py:70 -#: netbox/virtualization/forms/bulk_edit.py:118 -#: netbox/virtualization/forms/bulk_import.py:54 -#: netbox/virtualization/forms/bulk_import.py:80 -#: netbox/virtualization/forms/filtersets.py:62 -#: netbox/virtualization/forms/filtersets.py:160 -#: netbox/virtualization/tables/clusters.py:74 -#: netbox/virtualization/tables/virtualmachines.py:60 -#: netbox/vpn/forms/bulk_edit.py:39 netbox/vpn/forms/bulk_import.py:37 -#: netbox/vpn/forms/filtersets.py:47 netbox/vpn/tables/tunnels.py:48 -#: netbox/wireless/forms/bulk_edit.py:43 netbox/wireless/forms/bulk_edit.py:105 -#: netbox/wireless/forms/bulk_import.py:43 -#: netbox/wireless/forms/bulk_import.py:84 -#: netbox/wireless/forms/filtersets.py:49 -#: netbox/wireless/forms/filtersets.py:83 -#: netbox/wireless/tables/wirelesslan.py:52 -#: netbox/wireless/tables/wirelesslink.py:20 +#: circuits/forms/bulk_edit.py:136 circuits/forms/bulk_import.py:93 +#: circuits/forms/filtersets.py:150 core/forms/filtersets.py:38 +#: core/forms/filtersets.py:79 core/tables/data.py:23 core/tables/jobs.py:26 +#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:107 +#: dcim/forms/bulk_edit.py:182 dcim/forms/bulk_edit.py:352 +#: dcim/forms/bulk_edit.py:701 dcim/forms/bulk_edit.py:766 +#: dcim/forms/bulk_edit.py:798 dcim/forms/bulk_edit.py:925 +#: dcim/forms/bulk_edit.py:1739 dcim/forms/bulk_import.py:88 +#: dcim/forms/bulk_import.py:147 dcim/forms/bulk_import.py:248 +#: dcim/forms/bulk_import.py:505 dcim/forms/bulk_import.py:659 +#: dcim/forms/bulk_import.py:1207 dcim/forms/bulk_import.py:1371 +#: dcim/forms/bulk_import.py:1435 dcim/forms/filtersets.py:178 +#: dcim/forms/filtersets.py:237 dcim/forms/filtersets.py:359 +#: dcim/forms/filtersets.py:799 dcim/forms/filtersets.py:924 +#: dcim/forms/filtersets.py:958 dcim/forms/filtersets.py:1059 +#: dcim/forms/filtersets.py:1170 dcim/tables/devices.py:140 +#: dcim/tables/devices.py:817 dcim/tables/devices.py:1063 +#: dcim/tables/modules.py:69 dcim/tables/power.py:74 dcim/tables/racks.py:126 +#: dcim/tables/sites.py:82 dcim/tables/sites.py:138 ipam/forms/bulk_edit.py:256 +#: ipam/forms/bulk_edit.py:306 ipam/forms/bulk_edit.py:354 +#: ipam/forms/bulk_edit.py:506 ipam/forms/bulk_import.py:192 +#: ipam/forms/bulk_import.py:257 ipam/forms/bulk_import.py:293 +#: ipam/forms/bulk_import.py:450 ipam/forms/filtersets.py:210 +#: ipam/forms/filtersets.py:281 ipam/forms/filtersets.py:355 +#: ipam/forms/filtersets.py:501 ipam/forms/model_forms.py:468 +#: ipam/tables/ip.py:237 ipam/tables/ip.py:312 ipam/tables/ip.py:363 +#: ipam/tables/ip.py:426 ipam/tables/ip.py:453 ipam/tables/vlans.py:126 +#: ipam/tables/vlans.py:232 templates/circuits/circuit.html:34 +#: templates/core/datasource.html:46 templates/core/job.html:48 +#: templates/core/rq_task.html:81 templates/core/system.html:18 +#: templates/dcim/cable.html:19 templates/dcim/device.html:178 +#: templates/dcim/location.html:45 templates/dcim/module.html:69 +#: templates/dcim/powerfeed.html:36 templates/dcim/rack.html:41 +#: templates/dcim/site.html:43 templates/extras/script_list.html:48 +#: 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:32 +#: users/forms/model_forms.py:194 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:62 +#: virtualization/forms/filtersets.py:160 virtualization/tables/clusters.py:74 +#: virtualization/tables/virtualmachines.py:60 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:20 msgid "Status" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:142 -#: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:98 -#: netbox/circuits/forms/bulk_import.py:158 -#: netbox/circuits/forms/filtersets.py:119 -#: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:123 -#: netbox/dcim/forms/bulk_edit.py:188 netbox/dcim/forms/bulk_edit.py:347 -#: netbox/dcim/forms/bulk_edit.py:462 netbox/dcim/forms/bulk_edit.py:691 -#: netbox/dcim/forms/bulk_edit.py:804 netbox/dcim/forms/bulk_edit.py:1744 -#: netbox/dcim/forms/bulk_import.py:107 netbox/dcim/forms/bulk_import.py:152 -#: netbox/dcim/forms/bulk_import.py:241 netbox/dcim/forms/bulk_import.py:334 -#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1219 -#: netbox/dcim/forms/bulk_import.py:1428 netbox/dcim/forms/filtersets.py:173 -#: netbox/dcim/forms/filtersets.py:205 netbox/dcim/forms/filtersets.py:323 -#: netbox/dcim/forms/filtersets.py:399 netbox/dcim/forms/filtersets.py:420 -#: netbox/dcim/forms/filtersets.py:722 netbox/dcim/forms/filtersets.py:916 -#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1008 -#: netbox/dcim/forms/filtersets.py:1130 netbox/dcim/tables/power.py:88 -#: netbox/extras/filtersets.py:612 netbox/extras/forms/filtersets.py:323 -#: netbox/extras/forms/filtersets.py:396 netbox/ipam/forms/bulk_edit.py:43 -#: netbox/ipam/forms/bulk_edit.py:68 netbox/ipam/forms/bulk_edit.py:112 -#: netbox/ipam/forms/bulk_edit.py:141 netbox/ipam/forms/bulk_edit.py:166 -#: netbox/ipam/forms/bulk_edit.py:251 netbox/ipam/forms/bulk_edit.py:301 -#: netbox/ipam/forms/bulk_edit.py:349 netbox/ipam/forms/bulk_edit.py:501 -#: netbox/ipam/forms/bulk_import.py:38 netbox/ipam/forms/bulk_import.py:67 -#: netbox/ipam/forms/bulk_import.py:95 netbox/ipam/forms/bulk_import.py:115 -#: netbox/ipam/forms/bulk_import.py:135 netbox/ipam/forms/bulk_import.py:164 -#: netbox/ipam/forms/bulk_import.py:250 netbox/ipam/forms/bulk_import.py:286 -#: netbox/ipam/forms/bulk_import.py:443 netbox/ipam/forms/filtersets.py:48 -#: netbox/ipam/forms/filtersets.py:68 netbox/ipam/forms/filtersets.py:100 -#: netbox/ipam/forms/filtersets.py:120 netbox/ipam/forms/filtersets.py:143 -#: netbox/ipam/forms/filtersets.py:174 netbox/ipam/forms/filtersets.py:267 -#: netbox/ipam/forms/filtersets.py:310 netbox/ipam/forms/filtersets.py:469 -#: netbox/ipam/tables/ip.py:456 netbox/ipam/tables/vlans.py:229 -#: netbox/templates/circuits/circuit.html:38 -#: netbox/templates/circuits/circuitgroup.html:36 -#: netbox/templates/dcim/cable.html:23 netbox/templates/dcim/device.html:79 -#: netbox/templates/dcim/location.html:49 -#: netbox/templates/dcim/powerfeed.html:44 netbox/templates/dcim/rack.html:32 -#: netbox/templates/dcim/rackreservation.html:49 -#: netbox/templates/dcim/site.html:47 -#: netbox/templates/dcim/virtualdevicecontext.html:52 -#: netbox/templates/ipam/aggregate.html:30 netbox/templates/ipam/asn.html:33 -#: netbox/templates/ipam/asnrange.html:29 -#: netbox/templates/ipam/ipaddress.html:28 -#: netbox/templates/ipam/iprange.html:58 netbox/templates/ipam/prefix.html:29 -#: netbox/templates/ipam/routetarget.html:17 netbox/templates/ipam/vlan.html:39 -#: netbox/templates/ipam/vrf.html:20 netbox/templates/tenancy/tenant.html:17 -#: netbox/templates/virtualization/cluster.html:33 -#: netbox/templates/virtualization/virtualmachine.html:39 -#: netbox/templates/vpn/l2vpn.html:30 netbox/templates/vpn/tunnel.html:49 -#: netbox/templates/wireless/wirelesslan.html:34 -#: netbox/templates/wireless/wirelesslink.html:25 -#: netbox/tenancy/forms/forms.py:25 netbox/tenancy/forms/forms.py:48 -#: netbox/tenancy/forms/model_forms.py:52 netbox/tenancy/tables/columns.py:64 -#: netbox/virtualization/forms/bulk_edit.py:76 -#: netbox/virtualization/forms/bulk_edit.py:155 -#: netbox/virtualization/forms/bulk_import.py:66 -#: netbox/virtualization/forms/bulk_import.py:115 -#: netbox/virtualization/forms/filtersets.py:47 -#: netbox/virtualization/forms/filtersets.py:105 -#: netbox/vpn/forms/bulk_edit.py:59 netbox/vpn/forms/bulk_edit.py:269 -#: netbox/vpn/forms/bulk_import.py:59 netbox/vpn/forms/bulk_import.py:258 -#: netbox/vpn/forms/filtersets.py:214 netbox/wireless/forms/bulk_edit.py:63 -#: netbox/wireless/forms/bulk_edit.py:110 -#: netbox/wireless/forms/bulk_import.py:55 -#: netbox/wireless/forms/bulk_import.py:97 -#: netbox/wireless/forms/filtersets.py:35 -#: netbox/wireless/forms/filtersets.py:75 +#: circuits/forms/bulk_edit.py:142 circuits/forms/bulk_edit.py:233 +#: circuits/forms/bulk_import.py:98 circuits/forms/bulk_import.py:158 +#: circuits/forms/filtersets.py:119 circuits/forms/filtersets.py:241 +#: dcim/forms/bulk_edit.py:123 dcim/forms/bulk_edit.py:188 +#: dcim/forms/bulk_edit.py:347 dcim/forms/bulk_edit.py:462 +#: dcim/forms/bulk_edit.py:691 dcim/forms/bulk_edit.py:804 +#: dcim/forms/bulk_edit.py:1744 dcim/forms/bulk_import.py:107 +#: dcim/forms/bulk_import.py:152 dcim/forms/bulk_import.py:241 +#: dcim/forms/bulk_import.py:334 dcim/forms/bulk_import.py:479 +#: dcim/forms/bulk_import.py:1219 dcim/forms/bulk_import.py:1428 +#: dcim/forms/filtersets.py:173 dcim/forms/filtersets.py:205 +#: dcim/forms/filtersets.py:323 dcim/forms/filtersets.py:399 +#: dcim/forms/filtersets.py:420 dcim/forms/filtersets.py:722 +#: dcim/forms/filtersets.py:916 dcim/forms/filtersets.py:978 +#: dcim/forms/filtersets.py:1008 dcim/forms/filtersets.py:1130 +#: dcim/tables/power.py:88 extras/filtersets.py:612 +#: extras/forms/filtersets.py:323 extras/forms/filtersets.py:396 +#: ipam/forms/bulk_edit.py:43 ipam/forms/bulk_edit.py:68 +#: ipam/forms/bulk_edit.py:112 ipam/forms/bulk_edit.py:141 +#: ipam/forms/bulk_edit.py:166 ipam/forms/bulk_edit.py:251 +#: ipam/forms/bulk_edit.py:301 ipam/forms/bulk_edit.py:349 +#: ipam/forms/bulk_edit.py:501 ipam/forms/bulk_import.py:38 +#: ipam/forms/bulk_import.py:67 ipam/forms/bulk_import.py:95 +#: ipam/forms/bulk_import.py:115 ipam/forms/bulk_import.py:135 +#: ipam/forms/bulk_import.py:164 ipam/forms/bulk_import.py:250 +#: ipam/forms/bulk_import.py:286 ipam/forms/bulk_import.py:443 +#: 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:174 +#: ipam/forms/filtersets.py:267 ipam/forms/filtersets.py:310 +#: ipam/forms/filtersets.py:469 ipam/tables/ip.py:456 ipam/tables/vlans.py:229 +#: templates/circuits/circuit.html:38 templates/circuits/circuitgroup.html:36 +#: templates/dcim/cable.html:23 templates/dcim/device.html:79 +#: templates/dcim/location.html:49 templates/dcim/powerfeed.html:44 +#: templates/dcim/rack.html:32 templates/dcim/rackreservation.html:49 +#: templates/dcim/site.html:47 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:39 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: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:35 +#: wireless/forms/filtersets.py:75 msgid "Tenant" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:147 -#: netbox/circuits/forms/filtersets.py:174 +#: circuits/forms/bulk_edit.py:147 circuits/forms/filtersets.py:174 msgid "Install date" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:152 -#: netbox/circuits/forms/filtersets.py:179 +#: circuits/forms/bulk_edit.py:152 circuits/forms/filtersets.py:179 msgid "Termination date" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:158 -#: netbox/circuits/forms/filtersets.py:186 +#: circuits/forms/bulk_edit.py:158 circuits/forms/filtersets.py:186 msgid "Commit rate (Kbps)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:173 -#: netbox/circuits/forms/model_forms.py:112 +#: circuits/forms/bulk_edit.py:173 circuits/forms/model_forms.py:112 msgid "Service Parameters" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:174 -#: netbox/circuits/forms/model_forms.py:113 -#: netbox/circuits/forms/model_forms.py:183 -#: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 -#: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 -#: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 -#: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 -#: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 -#: netbox/ipam/forms/model_forms.py:261 netbox/ipam/forms/model_forms.py:316 -#: netbox/netbox/navigation/menu.py:24 -#: netbox/templates/dcim/device_edit.html:85 -#: netbox/templates/dcim/htmx/cable_edit.html:72 -#: netbox/templates/ipam/ipaddress_bulk_add.html:27 -#: netbox/templates/ipam/vlan_edit.html:22 -#: netbox/virtualization/forms/model_forms.py:80 -#: netbox/virtualization/forms/model_forms.py:222 -#: netbox/vpn/forms/bulk_edit.py:78 netbox/vpn/forms/filtersets.py:44 -#: netbox/vpn/forms/model_forms.py:62 netbox/vpn/forms/model_forms.py:147 -#: netbox/vpn/forms/model_forms.py:411 netbox/wireless/forms/model_forms.py:54 -#: netbox/wireless/forms/model_forms.py:170 +#: circuits/forms/bulk_edit.py:174 circuits/forms/model_forms.py:113 +#: circuits/forms/model_forms.py:183 dcim/forms/model_forms.py:139 +#: dcim/forms/model_forms.py:181 dcim/forms/model_forms.py:266 +#: dcim/forms/model_forms.py:323 dcim/forms/model_forms.py:768 +#: dcim/forms/model_forms.py:1692 ipam/forms/model_forms.py:64 +#: ipam/forms/model_forms.py:81 ipam/forms/model_forms.py:115 +#: ipam/forms/model_forms.py:136 ipam/forms/model_forms.py:160 +#: ipam/forms/model_forms.py:232 ipam/forms/model_forms.py:261 +#: ipam/forms/model_forms.py:316 netbox/navigation/menu.py:24 +#: 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:170 msgid "Tenancy" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:193 -#: netbox/circuits/forms/bulk_edit.py:217 -#: netbox/circuits/forms/model_forms.py:155 -#: netbox/circuits/tables/circuits.py:117 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:62 -#: netbox/templates/circuits/providernetwork.html:17 +#: circuits/forms/bulk_edit.py:193 circuits/forms/bulk_edit.py:217 +#: circuits/forms/model_forms.py:155 circuits/tables/circuits.py:117 +#: templates/circuits/inc/circuit_termination_fields.html:62 +#: templates/circuits/providernetwork.html:17 msgid "Provider Network" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:199 +#: circuits/forms/bulk_edit.py:199 msgid "Port speed (Kbps)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:203 +#: circuits/forms/bulk_edit.py:203 msgid "Upstream speed (Kbps)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:206 netbox/dcim/forms/bulk_edit.py:961 -#: netbox/dcim/forms/bulk_edit.py:1325 netbox/dcim/forms/bulk_edit.py:1342 -#: netbox/dcim/forms/bulk_edit.py:1359 netbox/dcim/forms/bulk_edit.py:1377 -#: netbox/dcim/forms/bulk_edit.py:1472 netbox/dcim/forms/bulk_edit.py:1632 -#: netbox/dcim/forms/bulk_edit.py:1649 +#: circuits/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:961 +#: dcim/forms/bulk_edit.py:1325 dcim/forms/bulk_edit.py:1342 +#: dcim/forms/bulk_edit.py:1359 dcim/forms/bulk_edit.py:1377 +#: dcim/forms/bulk_edit.py:1472 dcim/forms/bulk_edit.py:1632 +#: dcim/forms/bulk_edit.py:1649 msgid "Mark connected" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:219 -#: netbox/circuits/forms/model_forms.py:157 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:54 -#: netbox/templates/dcim/frontport.html:121 -#: netbox/templates/dcim/interface.html:193 -#: netbox/templates/dcim/rearport.html:111 +#: circuits/forms/bulk_edit.py:219 circuits/forms/model_forms.py:157 +#: templates/circuits/inc/circuit_termination_fields.html:54 +#: templates/dcim/frontport.html:121 templates/dcim/interface.html:193 +#: templates/dcim/rearport.html:111 msgid "Circuit Termination" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:221 -#: netbox/circuits/forms/model_forms.py:159 +#: circuits/forms/bulk_edit.py:221 circuits/forms/model_forms.py:159 msgid "Termination Details" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:251 -#: netbox/circuits/forms/filtersets.py:268 -#: netbox/circuits/tables/circuits.py:168 netbox/dcim/forms/model_forms.py:551 -#: netbox/templates/circuits/circuitgroupassignment.html:30 -#: netbox/templates/dcim/device.html:133 -#: netbox/templates/dcim/virtualchassis.html:68 -#: netbox/templates/dcim/virtualchassis_edit.html:56 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 -#: netbox/tenancy/forms/bulk_edit.py:147 netbox/tenancy/forms/filtersets.py:110 +#: circuits/forms/bulk_edit.py:251 circuits/forms/filtersets.py:268 +#: circuits/tables/circuits.py:168 dcim/forms/model_forms.py:551 +#: templates/circuits/circuitgroupassignment.html:30 +#: templates/dcim/device.html:133 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 "" -#: netbox/circuits/forms/bulk_import.py:39 -#: netbox/circuits/forms/bulk_import.py:54 -#: netbox/circuits/forms/bulk_import.py:77 +#: circuits/forms/bulk_import.py:39 circuits/forms/bulk_import.py:54 +#: circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "" -#: netbox/circuits/forms/bulk_import.py:83 +#: circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "" -#: netbox/circuits/forms/bulk_import.py:90 +#: circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "" -#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 -#: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 -#: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 -#: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 -#: netbox/ipam/forms/bulk_import.py:259 netbox/ipam/forms/bulk_import.py:295 -#: netbox/ipam/forms/bulk_import.py:452 -#: netbox/virtualization/forms/bulk_import.py:56 -#: netbox/virtualization/forms/bulk_import.py:82 -#: netbox/vpn/forms/bulk_import.py:39 netbox/wireless/forms/bulk_import.py:45 +#: circuits/forms/bulk_import.py:95 dcim/forms/bulk_import.py:90 +#: dcim/forms/bulk_import.py:149 dcim/forms/bulk_import.py:250 +#: dcim/forms/bulk_import.py:507 dcim/forms/bulk_import.py:661 +#: dcim/forms/bulk_import.py:1373 ipam/forms/bulk_import.py:194 +#: ipam/forms/bulk_import.py:259 ipam/forms/bulk_import.py:295 +#: ipam/forms/bulk_import.py:452 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 "" -#: netbox/circuits/forms/bulk_import.py:102 -#: netbox/circuits/forms/bulk_import.py:162 -#: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 -#: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 -#: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 -#: netbox/dcim/forms/bulk_import.py:1432 netbox/ipam/forms/bulk_import.py:42 -#: netbox/ipam/forms/bulk_import.py:71 netbox/ipam/forms/bulk_import.py:99 -#: netbox/ipam/forms/bulk_import.py:119 netbox/ipam/forms/bulk_import.py:139 -#: netbox/ipam/forms/bulk_import.py:168 netbox/ipam/forms/bulk_import.py:254 -#: netbox/ipam/forms/bulk_import.py:290 netbox/ipam/forms/bulk_import.py:447 -#: netbox/virtualization/forms/bulk_import.py:70 -#: netbox/virtualization/forms/bulk_import.py:119 -#: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:59 -#: netbox/wireless/forms/bulk_import.py:101 +#: circuits/forms/bulk_import.py:102 circuits/forms/bulk_import.py:162 +#: dcim/forms/bulk_import.py:111 dcim/forms/bulk_import.py:156 +#: dcim/forms/bulk_import.py:338 dcim/forms/bulk_import.py:483 +#: dcim/forms/bulk_import.py:1223 dcim/forms/bulk_import.py:1368 +#: dcim/forms/bulk_import.py:1432 ipam/forms/bulk_import.py:42 +#: ipam/forms/bulk_import.py:71 ipam/forms/bulk_import.py:99 +#: ipam/forms/bulk_import.py:119 ipam/forms/bulk_import.py:139 +#: ipam/forms/bulk_import.py:168 ipam/forms/bulk_import.py:254 +#: ipam/forms/bulk_import.py:290 ipam/forms/bulk_import.py:447 +#: 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 "" -#: netbox/circuits/forms/bulk_import.py:120 -#: netbox/templates/circuits/inc/circuit_termination.html:6 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:15 -#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 -#: netbox/vpn/forms/bulk_import.py:100 netbox/vpn/forms/filtersets.py:77 +#: circuits/forms/bulk_import.py:120 +#: templates/circuits/inc/circuit_termination.html:6 +#: templates/circuits/inc/circuit_termination_fields.html:15 +#: templates/dcim/cable.html:68 templates/dcim/cable.html:72 +#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:77 msgid "Termination" msgstr "" -#: netbox/circuits/forms/bulk_import.py:130 -#: netbox/circuits/forms/filtersets.py:147 -#: netbox/circuits/forms/filtersets.py:227 -#: netbox/circuits/forms/model_forms.py:144 +#: circuits/forms/bulk_import.py:130 circuits/forms/filtersets.py:147 +#: circuits/forms/filtersets.py:227 circuits/forms/model_forms.py:144 msgid "Provider network" msgstr "" -#: netbox/circuits/forms/filtersets.py:30 -#: netbox/circuits/forms/filtersets.py:118 -#: netbox/circuits/forms/filtersets.py:200 netbox/dcim/forms/bulk_edit.py:339 -#: netbox/dcim/forms/bulk_edit.py:442 netbox/dcim/forms/bulk_edit.py:683 -#: netbox/dcim/forms/bulk_edit.py:738 netbox/dcim/forms/bulk_edit.py:892 -#: netbox/dcim/forms/bulk_import.py:235 netbox/dcim/forms/bulk_import.py:315 -#: netbox/dcim/forms/bulk_import.py:546 netbox/dcim/forms/bulk_import.py:1317 -#: netbox/dcim/forms/bulk_import.py:1351 netbox/dcim/forms/filtersets.py:95 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:356 -#: netbox/dcim/forms/filtersets.py:396 netbox/dcim/forms/filtersets.py:447 -#: netbox/dcim/forms/filtersets.py:719 netbox/dcim/forms/filtersets.py:762 -#: netbox/dcim/forms/filtersets.py:977 netbox/dcim/forms/filtersets.py:1006 -#: netbox/dcim/forms/filtersets.py:1026 netbox/dcim/forms/filtersets.py:1090 -#: netbox/dcim/forms/filtersets.py:1120 netbox/dcim/forms/filtersets.py:1129 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1264 -#: netbox/dcim/forms/filtersets.py:1289 netbox/dcim/forms/filtersets.py:1308 -#: netbox/dcim/forms/filtersets.py:1331 netbox/dcim/forms/filtersets.py:1442 -#: netbox/dcim/forms/filtersets.py:1466 netbox/dcim/forms/filtersets.py:1490 -#: netbox/dcim/forms/filtersets.py:1508 netbox/dcim/forms/filtersets.py:1525 -#: netbox/dcim/forms/model_forms.py:180 netbox/dcim/forms/model_forms.py:243 -#: netbox/dcim/forms/model_forms.py:468 netbox/dcim/forms/model_forms.py:728 -#: netbox/dcim/tables/devices.py:157 netbox/dcim/tables/power.py:30 -#: netbox/dcim/tables/racks.py:118 netbox/dcim/tables/racks.py:212 -#: netbox/extras/filtersets.py:536 netbox/extras/forms/filtersets.py:320 -#: netbox/ipam/forms/filtersets.py:173 netbox/ipam/forms/filtersets.py:414 -#: netbox/ipam/forms/filtersets.py:437 netbox/ipam/forms/filtersets.py:467 -#: netbox/templates/dcim/device.html:26 -#: netbox/templates/dcim/device_edit.html:30 -#: netbox/templates/dcim/inc/cable_termination.html:12 -#: netbox/templates/dcim/location.html:26 -#: netbox/templates/dcim/powerpanel.html:26 netbox/templates/dcim/rack.html:24 -#: netbox/templates/dcim/rackreservation.html:32 -#: netbox/virtualization/forms/filtersets.py:46 -#: netbox/virtualization/forms/filtersets.py:100 -#: netbox/wireless/forms/model_forms.py:87 -#: netbox/wireless/forms/model_forms.py:129 +#: circuits/forms/filtersets.py:30 circuits/forms/filtersets.py:118 +#: circuits/forms/filtersets.py:200 dcim/forms/bulk_edit.py:339 +#: dcim/forms/bulk_edit.py:442 dcim/forms/bulk_edit.py:683 +#: dcim/forms/bulk_edit.py:738 dcim/forms/bulk_edit.py:892 +#: dcim/forms/bulk_import.py:235 dcim/forms/bulk_import.py:315 +#: dcim/forms/bulk_import.py:546 dcim/forms/bulk_import.py:1317 +#: dcim/forms/bulk_import.py:1351 dcim/forms/filtersets.py:95 +#: dcim/forms/filtersets.py:322 dcim/forms/filtersets.py:356 +#: dcim/forms/filtersets.py:396 dcim/forms/filtersets.py:447 +#: dcim/forms/filtersets.py:719 dcim/forms/filtersets.py:762 +#: dcim/forms/filtersets.py:977 dcim/forms/filtersets.py:1006 +#: dcim/forms/filtersets.py:1026 dcim/forms/filtersets.py:1090 +#: dcim/forms/filtersets.py:1120 dcim/forms/filtersets.py:1129 +#: dcim/forms/filtersets.py:1240 dcim/forms/filtersets.py:1264 +#: dcim/forms/filtersets.py:1289 dcim/forms/filtersets.py:1308 +#: dcim/forms/filtersets.py:1331 dcim/forms/filtersets.py:1442 +#: dcim/forms/filtersets.py:1466 dcim/forms/filtersets.py:1490 +#: dcim/forms/filtersets.py:1508 dcim/forms/filtersets.py:1525 +#: dcim/forms/model_forms.py:180 dcim/forms/model_forms.py:243 +#: dcim/forms/model_forms.py:468 dcim/forms/model_forms.py:728 +#: dcim/tables/devices.py:157 dcim/tables/power.py:30 dcim/tables/racks.py:118 +#: dcim/tables/racks.py:212 extras/filtersets.py:536 +#: extras/forms/filtersets.py:320 ipam/forms/filtersets.py:173 +#: ipam/forms/filtersets.py:414 ipam/forms/filtersets.py:437 +#: ipam/forms/filtersets.py:467 templates/dcim/device.html:26 +#: templates/dcim/device_edit.html:30 +#: templates/dcim/inc/cable_termination.html:12 templates/dcim/location.html:26 +#: templates/dcim/powerpanel.html:26 templates/dcim/rack.html:24 +#: 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 "" -#: netbox/circuits/forms/filtersets.py:32 -#: netbox/circuits/forms/filtersets.py:120 netbox/dcim/forms/filtersets.py:144 -#: netbox/dcim/forms/filtersets.py:158 netbox/dcim/forms/filtersets.py:174 -#: netbox/dcim/forms/filtersets.py:206 netbox/dcim/forms/filtersets.py:328 -#: netbox/dcim/forms/filtersets.py:400 netbox/dcim/forms/filtersets.py:471 -#: netbox/dcim/forms/filtersets.py:723 netbox/dcim/forms/filtersets.py:1091 -#: netbox/netbox/navigation/menu.py:31 netbox/netbox/navigation/menu.py:33 -#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 -#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 -#: netbox/virtualization/forms/filtersets.py:37 -#: netbox/virtualization/forms/filtersets.py:48 -#: netbox/virtualization/forms/filtersets.py:106 +#: circuits/forms/filtersets.py:32 circuits/forms/filtersets.py:120 +#: dcim/forms/filtersets.py:144 dcim/forms/filtersets.py:158 +#: dcim/forms/filtersets.py:174 dcim/forms/filtersets.py:206 +#: dcim/forms/filtersets.py:328 dcim/forms/filtersets.py:400 +#: dcim/forms/filtersets.py:471 dcim/forms/filtersets.py:723 +#: dcim/forms/filtersets.py:1091 netbox/navigation/menu.py:31 +#: netbox/navigation/menu.py:33 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 "" -#: netbox/circuits/forms/filtersets.py:37 -#: netbox/circuits/forms/filtersets.py:157 netbox/dcim/forms/bulk_edit.py:113 -#: netbox/dcim/forms/bulk_edit.py:314 netbox/dcim/forms/bulk_edit.py:867 -#: netbox/dcim/forms/bulk_import.py:93 netbox/dcim/forms/filtersets.py:73 -#: netbox/dcim/forms/filtersets.py:185 netbox/dcim/forms/filtersets.py:211 -#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:425 -#: netbox/dcim/forms/filtersets.py:739 netbox/dcim/forms/filtersets.py:983 -#: netbox/dcim/forms/filtersets.py:1013 netbox/dcim/forms/filtersets.py:1097 -#: netbox/dcim/forms/filtersets.py:1136 netbox/dcim/forms/filtersets.py:1576 -#: netbox/dcim/forms/filtersets.py:1600 netbox/dcim/forms/filtersets.py:1624 -#: netbox/dcim/forms/model_forms.py:112 netbox/dcim/forms/object_create.py:375 -#: netbox/dcim/tables/devices.py:143 netbox/dcim/tables/sites.py:85 -#: netbox/extras/filtersets.py:503 netbox/ipam/forms/bulk_edit.py:208 -#: netbox/ipam/forms/bulk_edit.py:474 netbox/ipam/forms/filtersets.py:217 -#: netbox/ipam/forms/filtersets.py:422 netbox/ipam/forms/filtersets.py:475 -#: netbox/templates/dcim/device.html:18 netbox/templates/dcim/rack.html:16 -#: netbox/templates/dcim/rackreservation.html:22 -#: netbox/templates/dcim/region.html:26 netbox/templates/dcim/site.html:31 -#: netbox/templates/ipam/prefix.html:49 netbox/templates/ipam/vlan.html:16 -#: netbox/virtualization/forms/bulk_edit.py:81 -#: netbox/virtualization/forms/filtersets.py:59 -#: netbox/virtualization/forms/filtersets.py:133 -#: netbox/virtualization/forms/model_forms.py:92 -#: netbox/vpn/forms/filtersets.py:257 +#: circuits/forms/filtersets.py:37 circuits/forms/filtersets.py:157 +#: dcim/forms/bulk_edit.py:113 dcim/forms/bulk_edit.py:314 +#: dcim/forms/bulk_edit.py:867 dcim/forms/bulk_import.py:93 +#: dcim/forms/filtersets.py:73 dcim/forms/filtersets.py:185 +#: dcim/forms/filtersets.py:211 dcim/forms/filtersets.py:334 +#: dcim/forms/filtersets.py:425 dcim/forms/filtersets.py:739 +#: dcim/forms/filtersets.py:983 dcim/forms/filtersets.py:1013 +#: dcim/forms/filtersets.py:1097 dcim/forms/filtersets.py:1136 +#: dcim/forms/filtersets.py:1576 dcim/forms/filtersets.py:1600 +#: dcim/forms/filtersets.py:1624 dcim/forms/model_forms.py:112 +#: dcim/forms/object_create.py:375 dcim/tables/devices.py:143 +#: dcim/tables/sites.py:85 extras/filtersets.py:503 ipam/forms/bulk_edit.py:208 +#: ipam/forms/bulk_edit.py:474 ipam/forms/filtersets.py:217 +#: ipam/forms/filtersets.py:422 ipam/forms/filtersets.py:475 +#: templates/dcim/device.html:18 templates/dcim/rack.html:16 +#: templates/dcim/rackreservation.html:22 templates/dcim/region.html:26 +#: templates/dcim/site.html:31 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 "" -#: netbox/circuits/forms/filtersets.py:42 -#: netbox/circuits/forms/filtersets.py:162 netbox/dcim/forms/bulk_edit.py:322 -#: netbox/dcim/forms/bulk_edit.py:875 netbox/dcim/forms/filtersets.py:78 -#: netbox/dcim/forms/filtersets.py:190 netbox/dcim/forms/filtersets.py:216 -#: netbox/dcim/forms/filtersets.py:347 netbox/dcim/forms/filtersets.py:430 -#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:988 -#: netbox/dcim/forms/filtersets.py:1102 netbox/dcim/forms/filtersets.py:1141 -#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:520 -#: netbox/ipam/forms/bulk_edit.py:213 netbox/ipam/forms/bulk_edit.py:479 -#: netbox/ipam/forms/filtersets.py:222 netbox/ipam/forms/filtersets.py:427 -#: netbox/ipam/forms/filtersets.py:480 -#: netbox/virtualization/forms/bulk_edit.py:86 -#: netbox/virtualization/forms/filtersets.py:69 -#: netbox/virtualization/forms/filtersets.py:138 -#: netbox/virtualization/forms/model_forms.py:98 +#: circuits/forms/filtersets.py:42 circuits/forms/filtersets.py:162 +#: dcim/forms/bulk_edit.py:322 dcim/forms/bulk_edit.py:875 +#: dcim/forms/filtersets.py:78 dcim/forms/filtersets.py:190 +#: dcim/forms/filtersets.py:216 dcim/forms/filtersets.py:347 +#: dcim/forms/filtersets.py:430 dcim/forms/filtersets.py:744 +#: dcim/forms/filtersets.py:988 dcim/forms/filtersets.py:1102 +#: dcim/forms/filtersets.py:1141 dcim/forms/object_create.py:383 +#: extras/filtersets.py:520 ipam/forms/bulk_edit.py:213 +#: ipam/forms/bulk_edit.py:479 ipam/forms/filtersets.py:222 +#: ipam/forms/filtersets.py:427 ipam/forms/filtersets.py:480 +#: 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 "" -#: netbox/circuits/forms/filtersets.py:65 -#: netbox/circuits/forms/filtersets.py:83 -#: netbox/circuits/forms/filtersets.py:102 -#: netbox/circuits/forms/filtersets.py:117 netbox/core/forms/filtersets.py:67 -#: netbox/core/forms/filtersets.py:135 netbox/dcim/forms/bulk_edit.py:838 -#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:204 -#: netbox/dcim/forms/filtersets.py:915 netbox/dcim/forms/filtersets.py:1007 -#: netbox/dcim/forms/filtersets.py:1131 netbox/dcim/forms/filtersets.py:1239 -#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/filtersets.py:1288 -#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/filtersets.py:1327 -#: netbox/dcim/forms/filtersets.py:1441 netbox/dcim/forms/filtersets.py:1465 -#: netbox/dcim/forms/filtersets.py:1489 netbox/dcim/forms/filtersets.py:1507 -#: netbox/dcim/forms/filtersets.py:1523 netbox/extras/forms/bulk_edit.py:90 -#: netbox/extras/forms/filtersets.py:44 netbox/extras/forms/filtersets.py:134 -#: netbox/extras/forms/filtersets.py:165 netbox/extras/forms/filtersets.py:205 -#: netbox/extras/forms/filtersets.py:221 netbox/extras/forms/filtersets.py:252 -#: netbox/extras/forms/filtersets.py:276 netbox/extras/forms/filtersets.py:441 -#: netbox/ipam/forms/filtersets.py:99 netbox/ipam/forms/filtersets.py:266 -#: netbox/ipam/forms/filtersets.py:307 netbox/ipam/forms/filtersets.py:382 -#: netbox/ipam/forms/filtersets.py:468 netbox/ipam/forms/filtersets.py:527 -#: netbox/ipam/forms/filtersets.py:545 netbox/netbox/tables/tables.py:256 -#: netbox/virtualization/forms/filtersets.py:45 -#: netbox/virtualization/forms/filtersets.py:103 -#: netbox/virtualization/forms/filtersets.py:198 -#: netbox/virtualization/forms/filtersets.py:243 -#: netbox/vpn/forms/filtersets.py:213 netbox/wireless/forms/bulk_edit.py:150 -#: netbox/wireless/forms/filtersets.py:34 -#: netbox/wireless/forms/filtersets.py:74 +#: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 +#: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 +#: core/forms/filtersets.py:67 core/forms/filtersets.py:135 +#: dcim/forms/bulk_edit.py:838 dcim/forms/filtersets.py:172 +#: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:915 +#: dcim/forms/filtersets.py:1007 dcim/forms/filtersets.py:1131 +#: dcim/forms/filtersets.py:1239 dcim/forms/filtersets.py:1263 +#: dcim/forms/filtersets.py:1288 dcim/forms/filtersets.py:1307 +#: dcim/forms/filtersets.py:1327 dcim/forms/filtersets.py:1441 +#: dcim/forms/filtersets.py:1465 dcim/forms/filtersets.py:1489 +#: dcim/forms/filtersets.py:1507 dcim/forms/filtersets.py:1523 +#: extras/forms/bulk_edit.py:90 extras/forms/filtersets.py:44 +#: extras/forms/filtersets.py:134 extras/forms/filtersets.py:165 +#: extras/forms/filtersets.py:205 extras/forms/filtersets.py:221 +#: extras/forms/filtersets.py:252 extras/forms/filtersets.py:276 +#: extras/forms/filtersets.py:441 ipam/forms/filtersets.py:99 +#: ipam/forms/filtersets.py:266 ipam/forms/filtersets.py:307 +#: ipam/forms/filtersets.py:382 ipam/forms/filtersets.py:468 +#: ipam/forms/filtersets.py:527 ipam/forms/filtersets.py:545 +#: netbox/tables/tables.py:256 virtualization/forms/filtersets.py:45 +#: virtualization/forms/filtersets.py:103 +#: virtualization/forms/filtersets.py:198 +#: virtualization/forms/filtersets.py:243 vpn/forms/filtersets.py:213 +#: wireless/forms/bulk_edit.py:150 wireless/forms/filtersets.py:34 +#: wireless/forms/filtersets.py:74 msgid "Attributes" msgstr "" -#: netbox/circuits/forms/filtersets.py:73 netbox/circuits/tables/circuits.py:63 -#: netbox/circuits/tables/providers.py:66 -#: netbox/templates/circuits/circuit.html:22 -#: netbox/templates/circuits/provideraccount.html:24 +#: circuits/forms/filtersets.py:73 circuits/tables/circuits.py:63 +#: circuits/tables/providers.py:66 templates/circuits/circuit.html:22 +#: templates/circuits/provideraccount.html:24 msgid "Account" msgstr "" -#: netbox/circuits/forms/filtersets.py:217 +#: circuits/forms/filtersets.py:217 msgid "Term Side" msgstr "" -#: netbox/circuits/forms/filtersets.py:250 netbox/dcim/forms/bulk_edit.py:1552 -#: netbox/extras/forms/model_forms.py:582 netbox/ipam/forms/filtersets.py:142 -#: netbox/ipam/forms/filtersets.py:546 netbox/ipam/forms/model_forms.py:323 -#: netbox/templates/extras/configcontext.html:60 -#: netbox/templates/ipam/ipaddress.html:59 -#: netbox/templates/ipam/vlan_edit.html:30 -#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 +#: circuits/forms/filtersets.py:250 dcim/forms/bulk_edit.py:1552 +#: extras/forms/model_forms.py:582 ipam/forms/filtersets.py:142 +#: ipam/forms/filtersets.py:546 ipam/forms/model_forms.py:323 +#: 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 "" -#: netbox/circuits/forms/filtersets.py:265 -#: netbox/circuits/forms/model_forms.py:195 -#: netbox/circuits/tables/circuits.py:155 netbox/dcim/forms/bulk_edit.py:118 -#: netbox/dcim/forms/bulk_import.py:100 netbox/dcim/forms/model_forms.py:117 -#: netbox/dcim/tables/sites.py:89 netbox/extras/forms/filtersets.py:480 -#: netbox/ipam/filtersets.py:999 netbox/ipam/forms/bulk_edit.py:493 -#: netbox/ipam/forms/bulk_import.py:436 netbox/ipam/forms/model_forms.py:528 -#: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:122 -#: netbox/ipam/tables/vlans.py:226 -#: netbox/templates/circuits/circuitgroupassignment.html:22 -#: netbox/templates/dcim/interface.html:284 netbox/templates/dcim/site.html:37 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:23 -#: netbox/templates/ipam/vlan.html:27 netbox/templates/tenancy/contact.html:21 -#: netbox/templates/tenancy/tenant.html:20 netbox/templates/users/group.html:6 -#: netbox/templates/users/group.html:14 -#: netbox/templates/virtualization/cluster.html:29 -#: netbox/templates/vpn/tunnel.html:29 -#: netbox/templates/wireless/wirelesslan.html:18 -#: netbox/tenancy/forms/bulk_edit.py:43 netbox/tenancy/forms/bulk_edit.py:94 -#: netbox/tenancy/forms/bulk_import.py:40 -#: netbox/tenancy/forms/bulk_import.py:81 netbox/tenancy/forms/filtersets.py:48 -#: netbox/tenancy/forms/filtersets.py:78 netbox/tenancy/forms/filtersets.py:97 -#: netbox/tenancy/forms/model_forms.py:45 -#: netbox/tenancy/forms/model_forms.py:97 -#: netbox/tenancy/forms/model_forms.py:122 netbox/tenancy/tables/contacts.py:60 -#: netbox/tenancy/tables/contacts.py:107 netbox/tenancy/tables/tenants.py:42 -#: netbox/users/filtersets.py:62 netbox/users/filtersets.py:185 -#: netbox/users/forms/filtersets.py:31 netbox/users/forms/filtersets.py:37 -#: netbox/users/forms/filtersets.py:79 -#: netbox/virtualization/forms/bulk_edit.py:65 -#: netbox/virtualization/forms/bulk_import.py:47 -#: netbox/virtualization/forms/filtersets.py:85 -#: netbox/virtualization/forms/model_forms.py:66 -#: netbox/virtualization/tables/clusters.py:70 -#: netbox/vpn/forms/bulk_edit.py:112 netbox/vpn/forms/bulk_import.py:158 -#: netbox/vpn/forms/filtersets.py:116 netbox/vpn/tables/crypto.py:31 -#: netbox/vpn/tables/tunnels.py:44 netbox/wireless/forms/bulk_edit.py:48 -#: netbox/wireless/forms/bulk_import.py:36 -#: netbox/wireless/forms/filtersets.py:46 -#: netbox/wireless/forms/model_forms.py:40 -#: netbox/wireless/tables/wirelesslan.py:48 +#: circuits/forms/filtersets.py:265 circuits/forms/model_forms.py:195 +#: circuits/tables/circuits.py:155 dcim/forms/bulk_edit.py:118 +#: dcim/forms/bulk_import.py:100 dcim/forms/model_forms.py:117 +#: dcim/tables/sites.py:89 extras/forms/filtersets.py:480 +#: ipam/filtersets.py:999 ipam/forms/bulk_edit.py:493 +#: ipam/forms/bulk_import.py:436 ipam/forms/model_forms.py:528 +#: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:122 ipam/tables/vlans.py:226 +#: templates/circuits/circuitgroupassignment.html:22 +#: templates/dcim/interface.html:284 templates/dcim/site.html:37 +#: 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: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:62 users/filtersets.py:185 users/forms/filtersets.py:31 +#: users/forms/filtersets.py:37 users/forms/filtersets.py:79 +#: 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 "" -#: netbox/circuits/forms/model_forms.py:182 -#: netbox/templates/circuits/circuitgroup.html:25 +#: circuits/forms/model_forms.py:182 templates/circuits/circuitgroup.html:25 msgid "Circuit Group" msgstr "" -#: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:517 -#: netbox/dcim/models/device_component_templates.py:617 -#: netbox/dcim/models/device_components.py:975 -#: netbox/dcim/models/device_components.py:1049 -#: netbox/dcim/models/device_components.py:1204 -#: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 -#: netbox/extras/models/tags.py:28 +#: circuits/models/circuits.py:27 dcim/models/cables.py:67 +#: dcim/models/device_component_templates.py:517 +#: dcim/models/device_component_templates.py:617 +#: dcim/models/device_components.py:975 dcim/models/device_components.py:1049 +#: dcim/models/device_components.py:1204 dcim/models/devices.py:479 +#: dcim/models/racks.py:224 extras/models/tags.py:28 msgid "color" msgstr "" -#: netbox/circuits/models/circuits.py:36 +#: circuits/models/circuits.py:36 msgid "circuit type" msgstr "" -#: netbox/circuits/models/circuits.py:37 +#: circuits/models/circuits.py:37 msgid "circuit types" msgstr "" -#: netbox/circuits/models/circuits.py:48 +#: circuits/models/circuits.py:48 msgid "circuit ID" msgstr "" -#: netbox/circuits/models/circuits.py:49 +#: circuits/models/circuits.py:49 msgid "Unique circuit ID" msgstr "" -#: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 -#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 -#: netbox/dcim/models/racks.py:297 netbox/dcim/models/sites.py:154 -#: netbox/dcim/models/sites.py:266 netbox/ipam/models/ip.py:253 -#: netbox/ipam/models/ip.py:522 netbox/ipam/models/ip.py:730 -#: netbox/ipam/models/vlans.py:195 netbox/virtualization/models/clusters.py:74 -#: netbox/virtualization/models/virtualmachines.py:84 -#: netbox/vpn/models/tunnels.py:40 netbox/wireless/models.py:95 -#: netbox/wireless/models.py:159 +#: circuits/models/circuits.py:69 core/models/data.py:52 core/models/jobs.py:84 +#: dcim/models/cables.py:49 dcim/models/devices.py:653 +#: dcim/models/devices.py:1173 dcim/models/devices.py:1399 +#: dcim/models/power.py:96 dcim/models/racks.py:297 dcim/models/sites.py:154 +#: dcim/models/sites.py:266 ipam/models/ip.py:253 ipam/models/ip.py:522 +#: ipam/models/ip.py:730 ipam/models/vlans.py:211 +#: virtualization/models/clusters.py:74 +#: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40 +#: wireless/models.py:95 wireless/models.py:159 msgid "status" msgstr "" -#: netbox/circuits/models/circuits.py:84 netbox/templates/core/plugin.html:20 +#: circuits/models/circuits.py:84 templates/core/plugin.html:20 msgid "installed" msgstr "" -#: netbox/circuits/models/circuits.py:89 +#: circuits/models/circuits.py:89 msgid "terminates" msgstr "" -#: netbox/circuits/models/circuits.py:94 +#: circuits/models/circuits.py:94 msgid "commit rate (Kbps)" msgstr "" -#: netbox/circuits/models/circuits.py:95 +#: circuits/models/circuits.py:95 msgid "Committed rate" msgstr "" -#: netbox/circuits/models/circuits.py:137 +#: circuits/models/circuits.py:137 msgid "circuit" msgstr "" -#: netbox/circuits/models/circuits.py:138 +#: circuits/models/circuits.py:138 msgid "circuits" msgstr "" -#: netbox/circuits/models/circuits.py:170 +#: circuits/models/circuits.py:170 msgid "circuit group" msgstr "" -#: netbox/circuits/models/circuits.py:171 +#: circuits/models/circuits.py:171 msgid "circuit groups" msgstr "" -#: netbox/circuits/models/circuits.py:195 netbox/ipam/models/fhrp.py:93 -#: netbox/tenancy/models/contacts.py:134 +#: circuits/models/circuits.py:195 ipam/models/fhrp.py:93 +#: tenancy/models/contacts.py:134 msgid "priority" msgstr "" -#: netbox/circuits/models/circuits.py:213 +#: circuits/models/circuits.py:213 msgid "Circuit group assignment" msgstr "" -#: netbox/circuits/models/circuits.py:214 +#: circuits/models/circuits.py:214 msgid "Circuit group assignments" msgstr "" -#: netbox/circuits/models/circuits.py:240 +#: circuits/models/circuits.py:240 msgid "termination" msgstr "" -#: netbox/circuits/models/circuits.py:257 +#: circuits/models/circuits.py:257 msgid "port speed (Kbps)" msgstr "" -#: netbox/circuits/models/circuits.py:260 +#: circuits/models/circuits.py:260 msgid "Physical circuit speed" msgstr "" -#: netbox/circuits/models/circuits.py:265 +#: circuits/models/circuits.py:265 msgid "upstream speed (Kbps)" msgstr "" -#: netbox/circuits/models/circuits.py:266 +#: circuits/models/circuits.py:266 msgid "Upstream speed, if different from port speed" msgstr "" -#: netbox/circuits/models/circuits.py:271 +#: circuits/models/circuits.py:271 msgid "cross-connect ID" msgstr "" -#: netbox/circuits/models/circuits.py:272 +#: circuits/models/circuits.py:272 msgid "ID of the local cross-connect" msgstr "" -#: netbox/circuits/models/circuits.py:277 +#: circuits/models/circuits.py:277 msgid "patch panel/port(s)" msgstr "" -#: netbox/circuits/models/circuits.py:278 +#: circuits/models/circuits.py:278 msgid "Patch panel ID and port number(s)" msgstr "" -#: netbox/circuits/models/circuits.py:281 -#: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 -#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 -#: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 -#: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 -#: netbox/extras/models/models.py:511 netbox/extras/models/notifications.py:131 -#: netbox/extras/models/staging.py:31 netbox/extras/models/tags.py:32 -#: netbox/netbox/models/__init__.py:110 netbox/netbox/models/__init__.py:145 -#: netbox/netbox/models/__init__.py:191 netbox/users/models/permissions.py:24 -#: netbox/users/models/tokens.py:57 netbox/users/models/users.py:33 -#: netbox/virtualization/models/virtualmachines.py:289 +#: circuits/models/circuits.py:281 dcim/models/device_component_templates.py:61 +#: dcim/models/device_components.py:68 dcim/models/racks.py:685 +#: extras/models/configs.py:45 extras/models/configs.py:219 +#: extras/models/customfields.py:125 extras/models/models.py:61 +#: extras/models/models.py:158 extras/models/models.py:396 +#: extras/models/models.py:511 extras/models/notifications.py:131 +#: extras/models/staging.py:31 extras/models/tags.py:32 +#: netbox/models/__init__.py:110 netbox/models/__init__.py:145 +#: netbox/models/__init__.py:191 users/models/permissions.py:24 +#: users/models/tokens.py:57 users/models/users.py:33 +#: virtualization/models/virtualmachines.py:289 msgid "description" msgstr "" -#: netbox/circuits/models/circuits.py:294 +#: circuits/models/circuits.py:294 msgid "circuit termination" msgstr "" -#: netbox/circuits/models/circuits.py:295 +#: circuits/models/circuits.py:295 msgid "circuit terminations" msgstr "" -#: netbox/circuits/models/circuits.py:308 +#: circuits/models/circuits.py:308 msgid "" "A circuit termination must attach to either a site or a provider network." msgstr "" -#: netbox/circuits/models/circuits.py:310 +#: circuits/models/circuits.py:310 msgid "" "A circuit termination cannot attach to both a site and a provider network." msgstr "" -#: netbox/circuits/models/providers.py:22 -#: netbox/circuits/models/providers.py:66 -#: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:45 -#: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:53 netbox/dcim/models/devices.py:593 -#: netbox/dcim/models/devices.py:1330 netbox/dcim/models/devices.py:1395 -#: netbox/dcim/models/power.py:39 netbox/dcim/models/power.py:92 -#: netbox/dcim/models/racks.py:262 netbox/dcim/models/sites.py:138 -#: netbox/extras/models/configs.py:36 netbox/extras/models/configs.py:215 -#: netbox/extras/models/customfields.py:92 netbox/extras/models/models.py:56 -#: netbox/extras/models/models.py:153 netbox/extras/models/models.py:296 -#: netbox/extras/models/models.py:392 netbox/extras/models/models.py:501 -#: netbox/extras/models/models.py:596 netbox/extras/models/notifications.py:126 -#: netbox/extras/models/scripts.py:30 netbox/extras/models/staging.py:26 -#: netbox/ipam/models/asns.py:18 netbox/ipam/models/fhrp.py:25 -#: netbox/ipam/models/services.py:52 netbox/ipam/models/services.py:88 -#: netbox/ipam/models/vlans.py:36 netbox/ipam/models/vlans.py:184 -#: netbox/ipam/models/vrfs.py:22 netbox/ipam/models/vrfs.py:79 -#: netbox/netbox/models/__init__.py:137 netbox/netbox/models/__init__.py:181 -#: netbox/tenancy/models/contacts.py:64 netbox/tenancy/models/tenants.py:20 -#: netbox/tenancy/models/tenants.py:45 netbox/users/models/permissions.py:20 -#: netbox/users/models/users.py:28 netbox/virtualization/models/clusters.py:57 -#: netbox/virtualization/models/virtualmachines.py:72 -#: netbox/virtualization/models/virtualmachines.py:279 -#: netbox/vpn/models/crypto.py:24 netbox/vpn/models/crypto.py:71 -#: netbox/vpn/models/crypto.py:131 netbox/vpn/models/crypto.py:183 -#: netbox/vpn/models/crypto.py:221 netbox/vpn/models/l2vpn.py:22 -#: netbox/vpn/models/tunnels.py:35 netbox/wireless/models.py:51 +#: circuits/models/providers.py:22 circuits/models/providers.py:66 +#: circuits/models/providers.py:104 core/models/data.py:39 +#: core/models/jobs.py:45 dcim/models/device_component_templates.py:43 +#: dcim/models/device_components.py:53 dcim/models/devices.py:593 +#: dcim/models/devices.py:1330 dcim/models/devices.py:1395 +#: dcim/models/power.py:39 dcim/models/power.py:92 dcim/models/racks.py:262 +#: dcim/models/sites.py:138 extras/models/configs.py:36 +#: extras/models/configs.py:215 extras/models/customfields.py:92 +#: extras/models/models.py:56 extras/models/models.py:153 +#: extras/models/models.py:296 extras/models/models.py:392 +#: extras/models/models.py:501 extras/models/models.py:596 +#: extras/models/notifications.py:126 extras/models/scripts.py:30 +#: 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:36 ipam/models/vlans.py:200 ipam/models/vrfs.py:22 +#: ipam/models/vrfs.py:79 netbox/models/__init__.py:137 +#: netbox/models/__init__.py:181 tenancy/models/contacts.py:64 +#: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 +#: users/models/permissions.py:20 users/models/users.py:28 +#: virtualization/models/clusters.py:57 +#: virtualization/models/virtualmachines.py:72 +#: virtualization/models/virtualmachines.py:279 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:51 msgid "name" msgstr "" -#: netbox/circuits/models/providers.py:25 +#: circuits/models/providers.py:25 msgid "Full name of the provider" msgstr "" -#: netbox/circuits/models/providers.py:28 netbox/dcim/models/devices.py:86 -#: netbox/dcim/models/racks.py:137 netbox/dcim/models/sites.py:149 -#: netbox/extras/models/models.py:506 netbox/ipam/models/asns.py:23 -#: netbox/ipam/models/vlans.py:40 netbox/netbox/models/__init__.py:141 -#: netbox/netbox/models/__init__.py:186 netbox/tenancy/models/tenants.py:25 -#: netbox/tenancy/models/tenants.py:49 netbox/vpn/models/l2vpn.py:27 -#: netbox/wireless/models.py:56 +#: circuits/models/providers.py:28 dcim/models/devices.py:86 +#: dcim/models/racks.py:137 dcim/models/sites.py:149 +#: extras/models/models.py:506 ipam/models/asns.py:23 ipam/models/vlans.py:40 +#: netbox/models/__init__.py:141 netbox/models/__init__.py:186 +#: tenancy/models/tenants.py:25 tenancy/models/tenants.py:49 +#: vpn/models/l2vpn.py:27 wireless/models.py:56 msgid "slug" msgstr "" -#: netbox/circuits/models/providers.py:42 +#: circuits/models/providers.py:42 msgid "provider" msgstr "" -#: netbox/circuits/models/providers.py:43 +#: circuits/models/providers.py:43 msgid "providers" msgstr "" -#: netbox/circuits/models/providers.py:63 +#: circuits/models/providers.py:63 msgid "account ID" msgstr "" -#: netbox/circuits/models/providers.py:86 +#: circuits/models/providers.py:86 msgid "provider account" msgstr "" -#: netbox/circuits/models/providers.py:87 +#: circuits/models/providers.py:87 msgid "provider accounts" msgstr "" -#: netbox/circuits/models/providers.py:115 +#: circuits/models/providers.py:115 msgid "service ID" msgstr "" -#: netbox/circuits/models/providers.py:126 +#: circuits/models/providers.py:126 msgid "provider network" msgstr "" -#: netbox/circuits/models/providers.py:127 +#: circuits/models/providers.py:127 msgid "provider networks" msgstr "" -#: netbox/circuits/tables/circuits.py:32 netbox/circuits/tables/circuits.py:132 -#: netbox/circuits/tables/providers.py:18 -#: netbox/circuits/tables/providers.py:69 -#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 -#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:44 -#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 -#: netbox/dcim/forms/filtersets.py:63 netbox/dcim/forms/object_create.py:43 -#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:92 -#: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 -#: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 -#: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 -#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 -#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 -#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 -#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 -#: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 -#: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 -#: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 -#: netbox/dcim/tables/sites.py:78 netbox/dcim/tables/sites.py:130 -#: netbox/extras/forms/filtersets.py:213 netbox/extras/tables/tables.py:58 -#: netbox/extras/tables/tables.py:122 netbox/extras/tables/tables.py:155 -#: netbox/extras/tables/tables.py:180 netbox/extras/tables/tables.py:246 -#: netbox/extras/tables/tables.py:361 netbox/extras/tables/tables.py:378 -#: netbox/extras/tables/tables.py:401 netbox/extras/tables/tables.py:439 -#: netbox/extras/tables/tables.py:491 netbox/extras/tables/tables.py:514 -#: netbox/ipam/forms/bulk_edit.py:407 netbox/ipam/forms/filtersets.py:386 -#: netbox/ipam/tables/asn.py:16 netbox/ipam/tables/ip.py:85 -#: netbox/ipam/tables/ip.py:160 netbox/ipam/tables/services.py:15 -#: netbox/ipam/tables/services.py:40 netbox/ipam/tables/vlans.py:64 -#: netbox/ipam/tables/vlans.py:114 netbox/ipam/tables/vrfs.py:26 -#: netbox/ipam/tables/vrfs.py:68 netbox/templates/circuits/circuitgroup.html:28 -#: netbox/templates/circuits/circuittype.html:22 -#: netbox/templates/circuits/provideraccount.html:28 -#: netbox/templates/circuits/providernetwork.html:24 -#: netbox/templates/core/datasource.html:34 netbox/templates/core/job.html:44 -#: netbox/templates/core/plugin.html:54 netbox/templates/core/rq_worker.html:43 -#: netbox/templates/dcim/consoleport.html:28 -#: netbox/templates/dcim/consoleserverport.html:28 -#: netbox/templates/dcim/devicebay.html:24 -#: netbox/templates/dcim/devicerole.html:26 -#: netbox/templates/dcim/frontport.html:28 -#: netbox/templates/dcim/inc/interface_vlans_table.html:5 -#: netbox/templates/dcim/inc/panels/inventory_items.html:18 -#: netbox/templates/dcim/interface.html:38 -#: netbox/templates/dcim/interface.html:165 -#: netbox/templates/dcim/inventoryitem.html:28 -#: netbox/templates/dcim/inventoryitemrole.html:18 -#: netbox/templates/dcim/location.html:29 -#: netbox/templates/dcim/manufacturer.html:36 -#: netbox/templates/dcim/modulebay.html:30 -#: netbox/templates/dcim/platform.html:29 -#: netbox/templates/dcim/poweroutlet.html:28 -#: netbox/templates/dcim/powerport.html:28 -#: netbox/templates/dcim/rackrole.html:22 -#: netbox/templates/dcim/rearport.html:28 netbox/templates/dcim/region.html:29 -#: netbox/templates/dcim/sitegroup.html:29 -#: netbox/templates/dcim/virtualdevicecontext.html:18 -#: netbox/templates/extras/configcontext.html:13 -#: netbox/templates/extras/configtemplate.html:13 -#: netbox/templates/extras/customfield.html:13 -#: netbox/templates/extras/customlink.html:13 -#: netbox/templates/extras/eventrule.html:13 -#: netbox/templates/extras/exporttemplate.html:15 -#: netbox/templates/extras/notificationgroup.html:14 -#: netbox/templates/extras/savedfilter.html:13 -#: netbox/templates/extras/script_list.html:45 -#: netbox/templates/extras/tag.html:14 netbox/templates/extras/webhook.html:13 -#: netbox/templates/ipam/asnrange.html:15 -#: netbox/templates/ipam/fhrpgroup.html:30 netbox/templates/ipam/rir.html:22 -#: netbox/templates/ipam/role.html:22 netbox/templates/ipam/routetarget.html:13 -#: netbox/templates/ipam/service.html:24 -#: netbox/templates/ipam/servicetemplate.html:15 -#: netbox/templates/ipam/vlan.html:35 netbox/templates/ipam/vlangroup.html:30 -#: netbox/templates/tenancy/contact.html:25 -#: netbox/templates/tenancy/contactgroup.html:21 -#: netbox/templates/tenancy/contactrole.html:18 -#: netbox/templates/tenancy/tenantgroup.html:29 -#: netbox/templates/users/group.html:17 -#: netbox/templates/users/objectpermission.html:17 -#: netbox/templates/virtualization/cluster.html:13 -#: netbox/templates/virtualization/clustergroup.html:22 -#: netbox/templates/virtualization/clustertype.html:22 -#: netbox/templates/virtualization/virtualdisk.html:25 -#: netbox/templates/virtualization/virtualmachine.html:15 -#: netbox/templates/virtualization/vminterface.html:25 -#: netbox/templates/vpn/ikepolicy.html:13 -#: netbox/templates/vpn/ikeproposal.html:13 -#: netbox/templates/vpn/ipsecpolicy.html:13 -#: netbox/templates/vpn/ipsecprofile.html:13 -#: netbox/templates/vpn/ipsecprofile.html:36 -#: netbox/templates/vpn/ipsecprofile.html:69 -#: netbox/templates/vpn/ipsecproposal.html:13 -#: netbox/templates/vpn/l2vpn.html:14 netbox/templates/vpn/tunnel.html:21 -#: netbox/templates/vpn/tunnelgroup.html:26 -#: netbox/templates/wireless/wirelesslangroup.html:29 -#: netbox/tenancy/tables/contacts.py:19 netbox/tenancy/tables/contacts.py:41 -#: netbox/tenancy/tables/contacts.py:56 netbox/tenancy/tables/tenants.py:16 -#: netbox/tenancy/tables/tenants.py:38 netbox/users/tables.py:62 -#: netbox/users/tables.py:76 netbox/virtualization/forms/bulk_create.py:20 -#: netbox/virtualization/forms/object_create.py:13 -#: netbox/virtualization/forms/object_create.py:23 -#: netbox/virtualization/tables/clusters.py:17 -#: netbox/virtualization/tables/clusters.py:39 -#: netbox/virtualization/tables/clusters.py:62 -#: netbox/virtualization/tables/virtualmachines.py:55 -#: netbox/virtualization/tables/virtualmachines.py:139 -#: netbox/virtualization/tables/virtualmachines.py:194 -#: netbox/vpn/tables/crypto.py:18 netbox/vpn/tables/crypto.py:57 -#: netbox/vpn/tables/crypto.py:93 netbox/vpn/tables/crypto.py:129 -#: netbox/vpn/tables/crypto.py:158 netbox/vpn/tables/l2vpn.py:23 -#: netbox/vpn/tables/tunnels.py:18 netbox/vpn/tables/tunnels.py:40 -#: netbox/wireless/tables/wirelesslan.py:18 -#: netbox/wireless/tables/wirelesslan.py:79 +#: circuits/tables/circuits.py:32 circuits/tables/circuits.py:132 +#: 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 core/tables/plugins.py:44 core/tables/tasks.py:11 +#: core/tables/tasks.py:115 dcim/forms/filtersets.py:63 +#: dcim/forms/object_create.py:43 dcim/tables/devices.py:52 +#: dcim/tables/devices.py:92 dcim/tables/devices.py:134 +#: dcim/tables/devices.py:289 dcim/tables/devices.py:392 +#: dcim/tables/devices.py:433 dcim/tables/devices.py:482 +#: dcim/tables/devices.py:531 dcim/tables/devices.py:648 +#: dcim/tables/devices.py:731 dcim/tables/devices.py:778 +#: dcim/tables/devices.py:841 dcim/tables/devices.py:911 +#: dcim/tables/devices.py:974 dcim/tables/devices.py:994 +#: dcim/tables/devices.py:1023 dcim/tables/devices.py:1053 +#: dcim/tables/devicetypes.py:31 dcim/tables/power.py:22 +#: dcim/tables/power.py:62 dcim/tables/racks.py:24 dcim/tables/racks.py:113 +#: dcim/tables/sites.py:24 dcim/tables/sites.py:51 dcim/tables/sites.py:78 +#: dcim/tables/sites.py:130 extras/forms/filtersets.py:213 +#: extras/tables/tables.py:58 extras/tables/tables.py:122 +#: extras/tables/tables.py:155 extras/tables/tables.py:180 +#: extras/tables/tables.py:246 extras/tables/tables.py:361 +#: extras/tables/tables.py:378 extras/tables/tables.py:401 +#: extras/tables/tables.py:439 extras/tables/tables.py:491 +#: extras/tables/tables.py:514 ipam/forms/bulk_edit.py:407 +#: ipam/forms/filtersets.py:386 ipam/tables/asn.py:16 ipam/tables/ip.py:85 +#: ipam/tables/ip.py:160 ipam/tables/services.py:15 ipam/tables/services.py:40 +#: ipam/tables/vlans.py:64 ipam/tables/vlans.py:114 ipam/tables/vrfs.py:26 +#: ipam/tables/vrfs.py:68 templates/circuits/circuitgroup.html:28 +#: templates/circuits/circuittype.html:22 +#: templates/circuits/provideraccount.html:28 +#: templates/circuits/providernetwork.html:24 templates/core/datasource.html:34 +#: templates/core/job.html:44 templates/core/plugin.html:54 +#: 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: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:30 +#: 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/notificationgroup.html:14 +#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:45 +#: 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:76 virtualization/forms/bulk_create.py:20 +#: virtualization/forms/object_create.py:13 +#: virtualization/forms/object_create.py:23 +#: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 +#: virtualization/tables/clusters.py:62 +#: virtualization/tables/virtualmachines.py:55 +#: virtualization/tables/virtualmachines.py:139 +#: virtualization/tables/virtualmachines.py:194 vpn/tables/crypto.py:18 +#: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 +#: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 +#: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 +#: wireless/tables/wirelesslan.py:79 msgid "Name" msgstr "" -#: netbox/circuits/tables/circuits.py:41 netbox/circuits/tables/circuits.py:138 -#: netbox/circuits/tables/providers.py:45 -#: netbox/circuits/tables/providers.py:79 netbox/netbox/navigation/menu.py:266 -#: netbox/netbox/navigation/menu.py:270 netbox/netbox/navigation/menu.py:272 -#: netbox/templates/circuits/provider.html:57 -#: netbox/templates/circuits/provideraccount.html:44 -#: netbox/templates/circuits/providernetwork.html:50 +#: circuits/tables/circuits.py:41 circuits/tables/circuits.py:138 +#: circuits/tables/providers.py:45 circuits/tables/providers.py:79 +#: netbox/navigation/menu.py:266 netbox/navigation/menu.py:270 +#: netbox/navigation/menu.py:272 templates/circuits/provider.html:57 +#: templates/circuits/provideraccount.html:44 +#: templates/circuits/providernetwork.html:50 msgid "Circuits" msgstr "" -#: netbox/circuits/tables/circuits.py:55 -#: netbox/templates/circuits/circuit.html:26 +#: circuits/tables/circuits.py:55 templates/circuits/circuit.html:26 msgid "Circuit ID" msgstr "" -#: netbox/circuits/tables/circuits.py:69 -#: netbox/wireless/forms/model_forms.py:160 +#: circuits/tables/circuits.py:69 wireless/forms/model_forms.py:160 msgid "Side A" msgstr "" -#: netbox/circuits/tables/circuits.py:74 +#: circuits/tables/circuits.py:74 msgid "Side Z" msgstr "" -#: netbox/circuits/tables/circuits.py:77 -#: netbox/templates/circuits/circuit.html:55 +#: circuits/tables/circuits.py:77 templates/circuits/circuit.html:55 msgid "Commit Rate" msgstr "" -#: netbox/circuits/tables/circuits.py:80 netbox/circuits/tables/providers.py:48 -#: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 -#: netbox/dcim/tables/devicetypes.py:92 netbox/dcim/tables/modules.py:29 -#: netbox/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 -#: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 -#: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 -#: netbox/dcim/tables/sites.py:108 netbox/extras/tables/tables.py:582 -#: netbox/ipam/tables/asn.py:69 netbox/ipam/tables/fhrp.py:34 -#: netbox/ipam/tables/ip.py:136 netbox/ipam/tables/ip.py:275 -#: netbox/ipam/tables/ip.py:329 netbox/ipam/tables/ip.py:397 -#: netbox/ipam/tables/services.py:24 netbox/ipam/tables/services.py:54 -#: netbox/ipam/tables/vlans.py:145 netbox/ipam/tables/vrfs.py:47 -#: netbox/ipam/tables/vrfs.py:72 netbox/templates/dcim/htmx/cable_edit.html:89 -#: netbox/templates/generic/bulk_edit.html:86 -#: netbox/templates/inc/panels/comments.html:5 -#: netbox/tenancy/tables/contacts.py:68 netbox/tenancy/tables/tenants.py:46 -#: netbox/utilities/forms/fields/fields.py:29 -#: netbox/virtualization/tables/clusters.py:91 -#: netbox/virtualization/tables/virtualmachines.py:82 -#: netbox/vpn/tables/crypto.py:37 netbox/vpn/tables/crypto.py:74 -#: netbox/vpn/tables/crypto.py:109 netbox/vpn/tables/crypto.py:140 -#: netbox/vpn/tables/crypto.py:173 netbox/vpn/tables/l2vpn.py:37 -#: netbox/vpn/tables/tunnels.py:61 netbox/wireless/tables/wirelesslan.py:27 -#: netbox/wireless/tables/wirelesslan.py:58 +#: circuits/tables/circuits.py:80 circuits/tables/providers.py:48 +#: circuits/tables/providers.py:82 circuits/tables/providers.py:107 +#: dcim/tables/devices.py:1036 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:84 dcim/tables/racks.py:145 +#: dcim/tables/racks.py:225 dcim/tables/sites.py:108 +#: extras/tables/tables.py:582 ipam/tables/asn.py:69 ipam/tables/fhrp.py:34 +#: ipam/tables/ip.py:136 ipam/tables/ip.py:275 ipam/tables/ip.py:329 +#: ipam/tables/ip.py:397 ipam/tables/services.py:24 ipam/tables/services.py:54 +#: ipam/tables/vlans.py:145 ipam/tables/vrfs.py:47 ipam/tables/vrfs.py:72 +#: templates/dcim/htmx/cable_edit.html:89 templates/generic/bulk_edit.html:86 +#: templates/inc/panels/comments.html:5 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:82 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 +#: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 msgid "Comments" msgstr "" -#: netbox/circuits/tables/circuits.py:86 -#: netbox/templates/tenancy/contact.html:84 -#: netbox/tenancy/tables/contacts.py:73 +#: circuits/tables/circuits.py:86 templates/tenancy/contact.html:84 +#: tenancy/tables/contacts.py:73 msgid "Assignments" msgstr "" -#: netbox/circuits/tables/providers.py:23 +#: circuits/tables/providers.py:23 msgid "Accounts" msgstr "" -#: netbox/circuits/tables/providers.py:29 +#: circuits/tables/providers.py:29 msgid "Account Count" msgstr "" -#: netbox/circuits/tables/providers.py:39 netbox/dcim/tables/sites.py:100 +#: circuits/tables/providers.py:39 dcim/tables/sites.py:100 msgid "ASN Count" msgstr "" -#: netbox/circuits/views.py:331 +#: circuits/views.py:331 #, python-brace-format msgid "No terminations have been defined for circuit {circuit}." msgstr "" -#: netbox/circuits/views.py:380 +#: circuits/views.py:380 #, python-brace-format msgid "Swapped terminations for circuit {circuit}." msgstr "" -#: netbox/core/api/views.py:39 +#: core/api/views.py:39 msgid "This user does not have permission to synchronize this data source." msgstr "" -#: netbox/core/choices.py:18 +#: core/choices.py:18 msgid "New" msgstr "" -#: netbox/core/choices.py:19 netbox/core/constants.py:18 -#: netbox/core/tables/tasks.py:15 netbox/templates/core/rq_task.html:77 +#: core/choices.py:19 core/constants.py:18 core/tables/tasks.py:15 +#: templates/core/rq_task.html:77 msgid "Queued" msgstr "" -#: netbox/core/choices.py:20 +#: core/choices.py:20 msgid "Syncing" msgstr "" -#: netbox/core/choices.py:21 netbox/core/choices.py:57 -#: netbox/core/tables/jobs.py:41 netbox/templates/core/job.html:86 +#: core/choices.py:21 core/choices.py:57 core/tables/jobs.py:41 +#: templates/core/job.html:86 msgid "Completed" msgstr "" -#: netbox/core/choices.py:22 netbox/core/choices.py:59 -#: netbox/core/constants.py:20 netbox/core/tables/tasks.py:34 -#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 -#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 +#: core/choices.py:22 core/choices.py:59 core/constants.py:20 +#: core/tables/tasks.py:34 dcim/choices.py:187 dcim/choices.py:239 +#: dcim/choices.py:1609 virtualization/choices.py:47 msgid "Failed" msgstr "" -#: netbox/core/choices.py:35 netbox/netbox/navigation/menu.py:335 -#: netbox/netbox/navigation/menu.py:339 -#: netbox/templates/extras/script/base.html:14 -#: netbox/templates/extras/script_list.html:7 -#: netbox/templates/extras/script_list.html:12 -#: netbox/templates/extras/script_result.html:17 +#: core/choices.py:35 netbox/navigation/menu.py:335 +#: netbox/navigation/menu.py:339 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 "" -#: netbox/core/choices.py:36 netbox/templates/extras/report/base.html:13 +#: core/choices.py:36 templates/extras/report/base.html:13 msgid "Reports" msgstr "" -#: netbox/core/choices.py:54 +#: core/choices.py:54 msgid "Pending" msgstr "" -#: netbox/core/choices.py:55 netbox/core/constants.py:23 -#: netbox/core/tables/jobs.py:32 netbox/core/tables/tasks.py:38 -#: netbox/templates/core/job.html:73 +#: core/choices.py:55 core/constants.py:23 core/tables/jobs.py:32 +#: core/tables/tasks.py:38 templates/core/job.html:73 msgid "Scheduled" msgstr "" -#: netbox/core/choices.py:56 +#: core/choices.py:56 msgid "Running" msgstr "" -#: netbox/core/choices.py:58 +#: core/choices.py:58 msgid "Errored" msgstr "" -#: netbox/core/choices.py:87 netbox/core/tables/plugins.py:63 -#: netbox/templates/generic/object.html:61 +#: core/choices.py:87 core/tables/plugins.py:63 +#: templates/generic/object.html:61 msgid "Updated" msgstr "" -#: netbox/core/choices.py:88 +#: core/choices.py:88 msgid "Deleted" msgstr "" -#: netbox/core/constants.py:19 netbox/core/tables/tasks.py:30 +#: core/constants.py:19 core/tables/tasks.py:30 msgid "Finished" msgstr "" -#: netbox/core/constants.py:21 netbox/core/tables/jobs.py:38 -#: netbox/templates/core/job.html:82 -#: netbox/templates/extras/htmx/script_result.html:8 +#: core/constants.py:21 core/tables/jobs.py:38 templates/core/job.html:82 +#: templates/extras/htmx/script_result.html:8 msgid "Started" msgstr "" -#: netbox/core/constants.py:22 netbox/core/tables/tasks.py:26 +#: core/constants.py:22 core/tables/tasks.py:26 msgid "Deferred" msgstr "" -#: netbox/core/constants.py:24 +#: core/constants.py:24 msgid "Stopped" msgstr "" -#: netbox/core/constants.py:25 +#: core/constants.py:25 msgid "Cancelled" msgstr "" -#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 -#: netbox/templates/core/plugin.html:88 -#: netbox/templates/dcim/interface.html:216 +#: core/data_backends.py:32 core/tables/plugins.py:51 +#: templates/core/plugin.html:88 templates/dcim/interface.html:216 msgid "Local" msgstr "" -#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 -#: netbox/templates/account/profile.html:15 netbox/templates/users/user.html:17 -#: netbox/users/tables.py:31 +#: core/data_backends.py:50 core/tables/change_logging.py:20 +#: templates/account/profile.html:15 templates/users/user.html:17 +#: users/tables.py:31 msgid "Username" msgstr "" -#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 +#: core/data_backends.py:52 core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "" -#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 -#: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:170 +#: core/data_backends.py:56 templates/account/base.html:23 +#: templates/account/password.html:12 users/forms/model_forms.py:170 msgid "Password" msgstr "" -#: netbox/core/data_backends.py:62 +#: core/data_backends.py:62 msgid "Branch" msgstr "" -#: netbox/core/data_backends.py:120 +#: core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "" -#: netbox/core/data_backends.py:133 +#: core/data_backends.py:133 msgid "AWS access key ID" msgstr "" -#: netbox/core/data_backends.py:137 +#: core/data_backends.py:137 msgid "AWS secret access key" msgstr "" -#: netbox/core/events.py:27 +#: core/events.py:27 msgid "Object created" msgstr "" -#: netbox/core/events.py:28 +#: core/events.py:28 msgid "Object updated" msgstr "" -#: netbox/core/events.py:29 +#: core/events.py:29 msgid "Object deleted" msgstr "" -#: netbox/core/events.py:30 +#: core/events.py:30 msgid "Job started" msgstr "" -#: netbox/core/events.py:31 +#: core/events.py:31 msgid "Job completed" msgstr "" -#: netbox/core/events.py:32 +#: core/events.py:32 msgid "Job failed" msgstr "" -#: netbox/core/events.py:33 +#: core/events.py:33 msgid "Job errored" msgstr "" -#: netbox/core/filtersets.py:53 netbox/extras/filtersets.py:250 -#: netbox/extras/filtersets.py:633 netbox/extras/filtersets.py:661 +#: core/filtersets.py:53 extras/filtersets.py:250 extras/filtersets.py:633 +#: extras/filtersets.py:661 msgid "Data source (ID)" msgstr "" -#: netbox/core/filtersets.py:59 +#: core/filtersets.py:59 msgid "Data source (name)" msgstr "" -#: netbox/core/filtersets.py:145 netbox/dcim/filtersets.py:501 -#: netbox/extras/filtersets.py:287 netbox/extras/filtersets.py:331 -#: netbox/extras/filtersets.py:353 netbox/extras/filtersets.py:413 -#: netbox/users/filtersets.py:28 +#: core/filtersets.py:145 dcim/filtersets.py:501 extras/filtersets.py:287 +#: extras/filtersets.py:331 extras/filtersets.py:353 extras/filtersets.py:413 +#: users/filtersets.py:28 msgid "User (ID)" msgstr "" -#: netbox/core/filtersets.py:151 +#: core/filtersets.py:151 msgid "User name" msgstr "" -#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 -#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1132 -#: netbox/dcim/forms/bulk_edit.py:1410 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 -#: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 -#: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 -#: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 -#: netbox/extras/tables/tables.py:162 netbox/extras/tables/tables.py:253 -#: netbox/extras/tables/tables.py:415 netbox/netbox/preferences.py:22 -#: netbox/templates/core/datasource.html:42 -#: netbox/templates/dcim/interface.html:61 -#: netbox/templates/extras/customlink.html:17 -#: netbox/templates/extras/eventrule.html:17 -#: netbox/templates/extras/savedfilter.html:25 -#: netbox/templates/users/objectpermission.html:25 -#: netbox/templates/virtualization/vminterface.html:29 -#: netbox/users/forms/bulk_edit.py:89 netbox/users/forms/filtersets.py:70 -#: netbox/users/tables.py:83 netbox/virtualization/forms/bulk_edit.py:217 -#: netbox/virtualization/forms/filtersets.py:215 +#: core/forms/bulk_edit.py:25 core/forms/filtersets.py:43 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1132 +#: dcim/forms/bulk_edit.py:1410 dcim/forms/filtersets.py:1370 +#: dcim/tables/devices.py:553 dcim/tables/devicetypes.py:224 +#: extras/forms/bulk_edit.py:123 extras/forms/bulk_edit.py:187 +#: extras/forms/bulk_edit.py:246 extras/forms/filtersets.py:142 +#: extras/forms/filtersets.py:229 extras/forms/filtersets.py:294 +#: extras/tables/tables.py:162 extras/tables/tables.py:253 +#: extras/tables/tables.py:415 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:70 users/tables.py:83 +#: virtualization/forms/bulk_edit.py:217 virtualization/forms/filtersets.py:215 msgid "Enabled" msgstr "" -#: netbox/core/forms/bulk_edit.py:34 netbox/extras/forms/model_forms.py:285 -#: netbox/templates/extras/savedfilter.html:52 -#: netbox/vpn/forms/filtersets.py:97 netbox/vpn/forms/filtersets.py:127 -#: netbox/vpn/forms/filtersets.py:151 netbox/vpn/forms/filtersets.py:170 -#: netbox/vpn/forms/model_forms.py:301 netbox/vpn/forms/model_forms.py:321 -#: netbox/vpn/forms/model_forms.py:337 netbox/vpn/forms/model_forms.py:357 -#: netbox/vpn/forms/model_forms.py:380 +#: core/forms/bulk_edit.py:34 extras/forms/model_forms.py:285 +#: templates/extras/savedfilter.html:52 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 "" -#: netbox/core/forms/bulk_edit.py:38 netbox/templates/core/datasource.html:68 +#: core/forms/bulk_edit.py:38 templates/core/datasource.html:68 msgid "Ignore rules" msgstr "" -#: netbox/core/forms/filtersets.py:30 netbox/core/forms/model_forms.py:97 -#: netbox/extras/forms/model_forms.py:248 -#: netbox/extras/forms/model_forms.py:578 -#: netbox/extras/forms/model_forms.py:632 netbox/extras/tables/tables.py:191 -#: netbox/extras/tables/tables.py:483 netbox/extras/tables/tables.py:518 -#: netbox/templates/core/datasource.html:31 -#: netbox/templates/dcim/device/render_config.html:18 -#: netbox/templates/extras/configcontext.html:29 -#: netbox/templates/extras/configtemplate.html:21 -#: netbox/templates/extras/exporttemplate.html:35 -#: netbox/templates/virtualization/virtualmachine/render_config.html:18 +#: core/forms/filtersets.py:30 core/forms/model_forms.py:97 +#: extras/forms/model_forms.py:248 extras/forms/model_forms.py:578 +#: extras/forms/model_forms.py:632 extras/tables/tables.py:191 +#: extras/tables/tables.py:483 extras/tables/tables.py:518 +#: templates/core/datasource.html:31 +#: 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 "" -#: netbox/core/forms/filtersets.py:55 netbox/core/forms/mixins.py:21 +#: core/forms/filtersets.py:55 core/forms/mixins.py:21 msgid "File" msgstr "" -#: netbox/core/forms/filtersets.py:60 netbox/core/forms/mixins.py:16 -#: netbox/extras/forms/filtersets.py:170 netbox/extras/forms/filtersets.py:328 -#: netbox/extras/forms/filtersets.py:413 +#: core/forms/filtersets.py:60 core/forms/mixins.py:16 +#: extras/forms/filtersets.py:170 extras/forms/filtersets.py:328 +#: extras/forms/filtersets.py:413 msgid "Data source" msgstr "" -#: netbox/core/forms/filtersets.py:70 netbox/extras/forms/filtersets.py:440 +#: core/forms/filtersets.py:70 extras/forms/filtersets.py:440 msgid "Creation" msgstr "" -#: netbox/core/forms/filtersets.py:74 netbox/core/forms/filtersets.py:160 -#: netbox/extras/forms/filtersets.py:461 netbox/extras/tables/tables.py:220 -#: netbox/extras/tables/tables.py:294 netbox/extras/tables/tables.py:326 -#: netbox/extras/tables/tables.py:571 netbox/templates/core/job.html:38 -#: netbox/templates/core/objectchange.html:52 -#: netbox/tenancy/tables/contacts.py:90 netbox/vpn/tables/l2vpn.py:59 +#: core/forms/filtersets.py:74 core/forms/filtersets.py:160 +#: extras/forms/filtersets.py:461 extras/tables/tables.py:220 +#: extras/tables/tables.py:294 extras/tables/tables.py:326 +#: extras/tables/tables.py:571 templates/core/job.html:38 +#: templates/core/objectchange.html:52 tenancy/tables/contacts.py:90 +#: vpn/tables/l2vpn.py:59 msgid "Object Type" msgstr "" -#: netbox/core/forms/filtersets.py:84 +#: core/forms/filtersets.py:84 msgid "Created after" msgstr "" -#: netbox/core/forms/filtersets.py:89 +#: core/forms/filtersets.py:89 msgid "Created before" msgstr "" -#: netbox/core/forms/filtersets.py:94 +#: core/forms/filtersets.py:94 msgid "Scheduled after" msgstr "" -#: netbox/core/forms/filtersets.py:99 +#: core/forms/filtersets.py:99 msgid "Scheduled before" msgstr "" -#: netbox/core/forms/filtersets.py:104 +#: core/forms/filtersets.py:104 msgid "Started after" msgstr "" -#: netbox/core/forms/filtersets.py:109 +#: core/forms/filtersets.py:109 msgid "Started before" msgstr "" -#: netbox/core/forms/filtersets.py:114 +#: core/forms/filtersets.py:114 msgid "Completed after" msgstr "" -#: netbox/core/forms/filtersets.py:119 +#: core/forms/filtersets.py:119 msgid "Completed before" msgstr "" -#: netbox/core/forms/filtersets.py:126 netbox/core/forms/filtersets.py:155 -#: netbox/dcim/forms/bulk_edit.py:457 netbox/dcim/forms/filtersets.py:418 -#: netbox/dcim/forms/filtersets.py:462 netbox/dcim/forms/model_forms.py:316 -#: netbox/extras/forms/filtersets.py:456 netbox/extras/forms/filtersets.py:475 -#: netbox/extras/tables/tables.py:302 netbox/extras/tables/tables.py:342 -#: netbox/templates/core/objectchange.html:36 -#: netbox/templates/dcim/rackreservation.html:58 -#: netbox/templates/extras/savedfilter.html:21 -#: netbox/templates/inc/user_menu.html:33 netbox/templates/users/token.html:21 -#: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 -#: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 -#: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 -#: netbox/users/tables.py:19 +#: core/forms/filtersets.py:126 core/forms/filtersets.py:155 +#: dcim/forms/bulk_edit.py:457 dcim/forms/filtersets.py:418 +#: dcim/forms/filtersets.py:462 dcim/forms/model_forms.py:316 +#: extras/forms/filtersets.py:456 extras/forms/filtersets.py:475 +#: extras/tables/tables.py:302 extras/tables/tables.py:342 +#: templates/core/objectchange.html:36 templates/dcim/rackreservation.html:58 +#: templates/extras/savedfilter.html:21 templates/inc/user_menu.html:33 +#: templates/users/token.html:21 templates/users/user.html:6 +#: templates/users/user.html:14 users/filtersets.py:107 users/filtersets.py:174 +#: users/forms/filtersets.py:84 users/forms/filtersets.py:125 +#: users/forms/model_forms.py:155 users/forms/model_forms.py:192 +#: users/tables.py:19 msgid "User" msgstr "" -#: netbox/core/forms/filtersets.py:134 netbox/core/tables/change_logging.py:15 -#: netbox/extras/tables/tables.py:609 netbox/extras/tables/tables.py:646 -#: netbox/templates/core/objectchange.html:32 +#: core/forms/filtersets.py:134 core/tables/change_logging.py:15 +#: extras/tables/tables.py:609 extras/tables/tables.py:646 +#: templates/core/objectchange.html:32 msgid "Time" msgstr "" -#: netbox/core/forms/filtersets.py:139 netbox/extras/forms/filtersets.py:445 +#: core/forms/filtersets.py:139 extras/forms/filtersets.py:445 msgid "After" msgstr "" -#: netbox/core/forms/filtersets.py:144 netbox/extras/forms/filtersets.py:450 +#: core/forms/filtersets.py:144 extras/forms/filtersets.py:450 msgid "Before" msgstr "" -#: netbox/core/forms/filtersets.py:148 netbox/core/tables/change_logging.py:29 -#: netbox/extras/forms/model_forms.py:396 -#: netbox/templates/core/objectchange.html:46 -#: netbox/templates/extras/eventrule.html:71 +#: core/forms/filtersets.py:148 core/tables/change_logging.py:29 +#: extras/forms/model_forms.py:396 templates/core/objectchange.html:46 +#: templates/extras/eventrule.html:71 msgid "Action" msgstr "" -#: netbox/core/forms/model_forms.py:54 netbox/core/tables/data.py:46 -#: netbox/templates/core/datafile.html:27 -#: netbox/templates/extras/report/base.html:33 -#: netbox/templates/extras/script/base.html:32 +#: 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 "" -#: netbox/core/forms/model_forms.py:58 +#: core/forms/model_forms.py:58 msgid "Backend Parameters" msgstr "" -#: netbox/core/forms/model_forms.py:96 +#: core/forms/model_forms.py:96 msgid "File Upload" msgstr "" -#: netbox/core/forms/model_forms.py:108 +#: core/forms/model_forms.py:108 msgid "Cannot upload a file and sync from an existing file" msgstr "" -#: netbox/core/forms/model_forms.py:110 +#: core/forms/model_forms.py:110 msgid "Must upload a file or select a data file to sync" msgstr "" -#: netbox/core/forms/model_forms.py:153 -#: netbox/templates/dcim/rack_elevation_list.html:6 +#: core/forms/model_forms.py:153 templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" msgstr "" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 -#: netbox/dcim/forms/bulk_edit.py:979 netbox/dcim/forms/bulk_edit.py:1367 -#: netbox/dcim/forms/bulk_edit.py:1385 netbox/dcim/tables/racks.py:158 -#: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 +#: core/forms/model_forms.py:157 dcim/choices.py:1520 +#: dcim/forms/bulk_edit.py:979 dcim/forms/bulk_edit.py:1367 +#: dcim/forms/bulk_edit.py:1385 dcim/tables/racks.py:158 +#: netbox/navigation/menu.py:291 netbox/navigation/menu.py:295 msgid "Power" msgstr "" -#: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:154 -#: netbox/templates/core/inc/config_data.html:37 +#: core/forms/model_forms.py:159 netbox/navigation/menu.py:154 +#: templates/core/inc/config_data.html:37 msgid "IPAM" msgstr "" -#: netbox/core/forms/model_forms.py:160 netbox/netbox/navigation/menu.py:230 -#: netbox/templates/core/inc/config_data.html:50 -#: netbox/vpn/forms/bulk_edit.py:77 netbox/vpn/forms/filtersets.py:43 -#: netbox/vpn/forms/model_forms.py:61 netbox/vpn/forms/model_forms.py:146 +#: core/forms/model_forms.py:160 netbox/navigation/menu.py:230 +#: 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 "" -#: netbox/core/forms/model_forms.py:161 -#: netbox/templates/core/inc/config_data.html:59 +#: core/forms/model_forms.py:161 templates/core/inc/config_data.html:59 msgid "Banners" msgstr "" -#: netbox/core/forms/model_forms.py:162 -#: netbox/templates/core/inc/config_data.html:80 +#: core/forms/model_forms.py:162 templates/core/inc/config_data.html:80 msgid "Pagination" msgstr "" -#: netbox/core/forms/model_forms.py:163 netbox/extras/forms/bulk_edit.py:92 -#: netbox/extras/forms/filtersets.py:47 netbox/extras/forms/model_forms.py:116 -#: netbox/extras/forms/model_forms.py:129 -#: netbox/templates/core/inc/config_data.html:93 +#: core/forms/model_forms.py:163 extras/forms/bulk_edit.py:92 +#: extras/forms/filtersets.py:47 extras/forms/model_forms.py:116 +#: extras/forms/model_forms.py:129 templates/core/inc/config_data.html:93 msgid "Validation" msgstr "" -#: netbox/core/forms/model_forms.py:164 -#: netbox/templates/account/preferences.html:6 +#: core/forms/model_forms.py:164 templates/account/preferences.html:6 msgid "User Preferences" msgstr "" -#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 -#: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:64 +#: core/forms/model_forms.py:167 dcim/forms/filtersets.py:732 +#: templates/core/inc/config_data.html:127 users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "" -#: netbox/core/forms/model_forms.py:169 +#: core/forms/model_forms.py:169 msgid "Config Revision" msgstr "" -#: netbox/core/forms/model_forms.py:208 +#: core/forms/model_forms.py:208 msgid "This parameter has been defined statically and cannot be modified." msgstr "" -#: netbox/core/forms/model_forms.py:216 +#: core/forms/model_forms.py:216 #, python-brace-format msgid "Current value: {value}" msgstr "" -#: netbox/core/forms/model_forms.py:218 +#: core/forms/model_forms.py:218 msgid " (default)" msgstr "" -#: netbox/core/models/change_logging.py:29 +#: core/models/change_logging.py:29 msgid "time" msgstr "" -#: netbox/core/models/change_logging.py:42 +#: core/models/change_logging.py:42 msgid "user name" msgstr "" -#: netbox/core/models/change_logging.py:47 +#: core/models/change_logging.py:47 msgid "request ID" msgstr "" -#: netbox/core/models/change_logging.py:52 netbox/extras/models/staging.py:69 +#: core/models/change_logging.py:52 extras/models/staging.py:69 msgid "action" msgstr "" -#: netbox/core/models/change_logging.py:86 +#: core/models/change_logging.py:86 msgid "pre-change data" msgstr "" -#: netbox/core/models/change_logging.py:92 +#: core/models/change_logging.py:92 msgid "post-change data" msgstr "" -#: netbox/core/models/change_logging.py:106 +#: core/models/change_logging.py:106 msgid "object change" msgstr "" -#: netbox/core/models/change_logging.py:107 +#: core/models/change_logging.py:107 msgid "object changes" msgstr "" -#: netbox/core/models/change_logging.py:123 +#: core/models/change_logging.py:123 #, python-brace-format msgid "Change logging is not supported for this object type ({type})." msgstr "" -#: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 -#: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 -#: netbox/extras/models/notifications.py:186 -#: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 +#: core/models/config.py:18 core/models/data.py:266 core/models/files.py:27 +#: core/models/jobs.py:49 extras/models/models.py:730 +#: extras/models/notifications.py:39 extras/models/notifications.py:186 +#: netbox/models/features.py:53 users/models/tokens.py:32 msgid "created" msgstr "" -#: netbox/core/models/config.py:22 +#: core/models/config.py:22 msgid "comment" msgstr "" -#: netbox/core/models/config.py:29 +#: core/models/config.py:29 msgid "configuration data" msgstr "" -#: netbox/core/models/config.py:36 +#: core/models/config.py:36 msgid "config revision" msgstr "" -#: netbox/core/models/config.py:37 +#: core/models/config.py:37 msgid "config revisions" msgstr "" -#: netbox/core/models/config.py:41 +#: core/models/config.py:41 msgid "Default configuration" msgstr "" -#: netbox/core/models/config.py:43 +#: core/models/config.py:43 msgid "Current configuration" msgstr "" -#: netbox/core/models/config.py:44 +#: core/models/config.py:44 #, python-brace-format msgid "Config revision #{id}" msgstr "" -#: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:203 -#: netbox/dcim/models/device_component_templates.py:237 -#: netbox/dcim/models/device_component_templates.py:272 -#: netbox/dcim/models/device_component_templates.py:334 -#: netbox/dcim/models/device_component_templates.py:413 -#: netbox/dcim/models/device_component_templates.py:512 -#: netbox/dcim/models/device_component_templates.py:612 -#: netbox/dcim/models/device_components.py:283 -#: netbox/dcim/models/device_components.py:312 -#: netbox/dcim/models/device_components.py:345 -#: netbox/dcim/models/device_components.py:463 -#: netbox/dcim/models/device_components.py:605 -#: netbox/dcim/models/device_components.py:970 -#: netbox/dcim/models/device_components.py:1044 netbox/dcim/models/power.py:102 -#: netbox/extras/models/customfields.py:78 netbox/extras/models/search.py:41 -#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 +#: core/models/data.py:44 dcim/models/cables.py:43 +#: dcim/models/device_component_templates.py:203 +#: dcim/models/device_component_templates.py:237 +#: dcim/models/device_component_templates.py:272 +#: dcim/models/device_component_templates.py:334 +#: dcim/models/device_component_templates.py:413 +#: dcim/models/device_component_templates.py:512 +#: dcim/models/device_component_templates.py:612 +#: dcim/models/device_components.py:283 dcim/models/device_components.py:312 +#: dcim/models/device_components.py:345 dcim/models/device_components.py:463 +#: dcim/models/device_components.py:605 dcim/models/device_components.py:970 +#: dcim/models/device_components.py:1044 dcim/models/power.py:102 +#: extras/models/customfields.py:78 extras/models/search.py:41 +#: virtualization/models/clusters.py:61 vpn/models/l2vpn.py:32 msgid "type" msgstr "" -#: netbox/core/models/data.py:49 netbox/extras/choices.py:37 -#: netbox/extras/models/models.py:164 netbox/extras/tables/tables.py:656 -#: netbox/templates/core/datasource.html:58 -#: netbox/templates/core/plugin.html:66 +#: core/models/data.py:49 extras/choices.py:37 extras/models/models.py:164 +#: extras/tables/tables.py:656 templates/core/datasource.html:58 +#: templates/core/plugin.html:66 msgid "URL" msgstr "" -#: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:418 -#: netbox/dcim/models/device_components.py:512 -#: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 -#: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 +#: core/models/data.py:59 dcim/models/device_component_templates.py:418 +#: dcim/models/device_components.py:512 extras/models/models.py:70 +#: extras/models/models.py:301 extras/models/models.py:526 +#: users/models/permissions.py:29 msgid "enabled" msgstr "" -#: netbox/core/models/data.py:63 +#: core/models/data.py:63 msgid "ignore rules" msgstr "" -#: netbox/core/models/data.py:65 +#: core/models/data.py:65 msgid "Patterns (one per line) matching files to ignore when syncing" msgstr "" -#: netbox/core/models/data.py:68 netbox/extras/models/models.py:534 +#: core/models/data.py:68 extras/models/models.py:534 msgid "parameters" msgstr "" -#: netbox/core/models/data.py:73 +#: core/models/data.py:73 msgid "last synced" msgstr "" -#: netbox/core/models/data.py:81 +#: core/models/data.py:81 msgid "data source" msgstr "" -#: netbox/core/models/data.py:82 +#: core/models/data.py:82 msgid "data sources" msgstr "" -#: netbox/core/models/data.py:122 +#: core/models/data.py:122 #, python-brace-format msgid "Unknown backend type: {type}" msgstr "" -#: netbox/core/models/data.py:164 +#: core/models/data.py:164 msgid "Cannot initiate sync; syncing already in progress." msgstr "" -#: netbox/core/models/data.py:177 +#: core/models/data.py:177 msgid "" "There was an error initializing the backend. A dependency needs to be " "installed: " msgstr "" -#: netbox/core/models/data.py:270 netbox/core/models/files.py:31 -#: netbox/netbox/models/features.py:59 +#: core/models/data.py:270 core/models/files.py:31 netbox/models/features.py:59 msgid "last updated" msgstr "" -#: netbox/core/models/data.py:280 netbox/dcim/models/cables.py:444 +#: core/models/data.py:280 dcim/models/cables.py:444 msgid "path" msgstr "" -#: netbox/core/models/data.py:283 +#: core/models/data.py:283 msgid "File path relative to the data source's root" msgstr "" -#: netbox/core/models/data.py:287 netbox/ipam/models/ip.py:503 +#: core/models/data.py:287 ipam/models/ip.py:503 msgid "size" msgstr "" -#: netbox/core/models/data.py:290 +#: core/models/data.py:290 msgid "hash" msgstr "" -#: netbox/core/models/data.py:294 +#: core/models/data.py:294 msgid "Length must be 64 hexadecimal characters." msgstr "" -#: netbox/core/models/data.py:296 +#: core/models/data.py:296 msgid "SHA256 hash of the file data" msgstr "" -#: netbox/core/models/data.py:313 +#: core/models/data.py:313 msgid "data file" msgstr "" -#: netbox/core/models/data.py:314 +#: core/models/data.py:314 msgid "data files" msgstr "" -#: netbox/core/models/data.py:401 +#: core/models/data.py:401 msgid "auto sync record" msgstr "" -#: netbox/core/models/data.py:402 +#: core/models/data.py:402 msgid "auto sync records" msgstr "" -#: netbox/core/models/files.py:37 +#: core/models/files.py:37 msgid "file root" msgstr "" -#: netbox/core/models/files.py:42 +#: core/models/files.py:42 msgid "file path" msgstr "" -#: netbox/core/models/files.py:44 +#: core/models/files.py:44 msgid "File path relative to the designated root path" msgstr "" -#: netbox/core/models/files.py:61 +#: core/models/files.py:61 msgid "managed file" msgstr "" -#: netbox/core/models/files.py:62 +#: core/models/files.py:62 msgid "managed files" msgstr "" -#: netbox/core/models/jobs.py:53 +#: core/models/jobs.py:53 msgid "scheduled" msgstr "" -#: netbox/core/models/jobs.py:58 +#: core/models/jobs.py:58 msgid "interval" msgstr "" -#: netbox/core/models/jobs.py:64 +#: core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "" -#: netbox/core/models/jobs.py:67 +#: core/models/jobs.py:67 msgid "started" msgstr "" -#: netbox/core/models/jobs.py:72 +#: core/models/jobs.py:72 msgid "completed" msgstr "" -#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 -#: netbox/extras/models/staging.py:87 +#: core/models/jobs.py:90 extras/models/models.py:101 +#: extras/models/staging.py:87 msgid "data" msgstr "" -#: netbox/core/models/jobs.py:95 +#: core/models/jobs.py:95 msgid "error" msgstr "" -#: netbox/core/models/jobs.py:100 +#: core/models/jobs.py:100 msgid "job ID" msgstr "" -#: netbox/core/models/jobs.py:111 +#: core/models/jobs.py:111 msgid "job" msgstr "" -#: netbox/core/models/jobs.py:112 +#: core/models/jobs.py:112 msgid "jobs" msgstr "" -#: netbox/core/models/jobs.py:135 +#: core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "" -#: netbox/core/models/jobs.py:185 +#: core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" -#: netbox/core/models/jobs.py:216 +#: core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" -#: netbox/core/signals.py:126 +#: core/signals.py:126 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" msgstr "" -#: netbox/core/tables/change_logging.py:25 -#: netbox/templates/account/profile.html:19 netbox/templates/users/user.html:21 +#: core/tables/change_logging.py:25 templates/account/profile.html:19 +#: templates/users/user.html:21 msgid "Full Name" msgstr "" -#: netbox/core/tables/change_logging.py:37 netbox/core/tables/jobs.py:21 -#: netbox/extras/choices.py:41 netbox/extras/tables/tables.py:279 -#: netbox/extras/tables/tables.py:297 netbox/extras/tables/tables.py:329 -#: netbox/extras/tables/tables.py:409 netbox/extras/tables/tables.py:470 -#: netbox/extras/tables/tables.py:576 netbox/extras/tables/tables.py:616 -#: netbox/extras/tables/tables.py:653 netbox/netbox/tables/tables.py:244 -#: netbox/templates/core/objectchange.html:58 -#: netbox/templates/extras/eventrule.html:78 -#: netbox/templates/extras/journalentry.html:18 -#: netbox/tenancy/tables/contacts.py:93 netbox/vpn/tables/l2vpn.py:64 +#: core/tables/change_logging.py:37 core/tables/jobs.py:21 extras/choices.py:41 +#: extras/tables/tables.py:279 extras/tables/tables.py:297 +#: extras/tables/tables.py:329 extras/tables/tables.py:409 +#: extras/tables/tables.py:470 extras/tables/tables.py:576 +#: extras/tables/tables.py:616 extras/tables/tables.py:653 +#: netbox/tables/tables.py:244 templates/core/objectchange.html:58 +#: templates/extras/eventrule.html:78 templates/extras/journalentry.html:18 +#: tenancy/tables/contacts.py:93 vpn/tables/l2vpn.py:64 msgid "Object" msgstr "" -#: netbox/core/tables/change_logging.py:42 -#: netbox/templates/core/objectchange.html:68 +#: core/tables/change_logging.py:42 templates/core/objectchange.html:68 msgid "Request ID" msgstr "" -#: netbox/core/tables/config.py:21 netbox/users/forms/filtersets.py:44 -#: netbox/users/tables.py:39 +#: core/tables/config.py:21 users/forms/filtersets.py:44 users/tables.py:39 msgid "Is Active" msgstr "" -#: netbox/core/tables/data.py:50 netbox/templates/core/datafile.html:31 +#: core/tables/data.py:50 templates/core/datafile.html:31 msgid "Path" msgstr "" -#: netbox/core/tables/data.py:54 -#: netbox/templates/extras/inc/result_pending.html:7 +#: core/tables/data.py:54 templates/extras/inc/result_pending.html:7 msgid "Last updated" msgstr "" -#: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 -#: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 -#: netbox/templates/dcim/virtualchassis_edit.html:52 -#: netbox/utilities/forms/forms.py:73 netbox/wireless/tables/wirelesslink.py:17 +#: core/tables/jobs.py:10 core/tables/tasks.py:76 +#: dcim/tables/devicetypes.py:164 extras/tables/tables.py:216 +#: extras/tables/tables.py:460 netbox/tables/tables.py:189 +#: templates/dcim/virtualchassis_edit.html:52 utilities/forms/forms.py:73 +#: wireless/tables/wirelesslink.py:17 msgid "ID" msgstr "" -#: netbox/core/tables/jobs.py:35 +#: core/tables/jobs.py:35 msgid "Interval" msgstr "" -#: netbox/core/tables/plugins.py:14 netbox/templates/vpn/ipsecprofile.html:44 -#: netbox/vpn/forms/bulk_edit.py:141 netbox/vpn/forms/bulk_import.py:172 -#: netbox/vpn/tables/crypto.py:61 +#: core/tables/plugins.py:14 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 "" -#: netbox/core/tables/plugins.py:19 netbox/templates/core/datafile.html:38 +#: core/tables/plugins.py:19 templates/core/datafile.html:38 msgid "Last Updated" msgstr "" -#: netbox/core/tables/plugins.py:23 +#: core/tables/plugins.py:23 msgid "Minimum NetBox Version" msgstr "" -#: netbox/core/tables/plugins.py:27 +#: core/tables/plugins.py:27 msgid "Maximum NetBox Version" msgstr "" -#: netbox/core/tables/plugins.py:31 netbox/core/tables/plugins.py:74 +#: core/tables/plugins.py:31 core/tables/plugins.py:74 msgid "No plugin data found" msgstr "" -#: netbox/core/tables/plugins.py:48 netbox/templates/core/plugin.html:62 +#: core/tables/plugins.py:48 templates/core/plugin.html:62 msgid "Author" msgstr "" -#: netbox/core/tables/plugins.py:54 +#: core/tables/plugins.py:54 msgid "Installed" msgstr "" -#: netbox/core/tables/plugins.py:57 netbox/templates/core/plugin.html:84 +#: core/tables/plugins.py:57 templates/core/plugin.html:84 msgid "Certified" msgstr "" -#: netbox/core/tables/plugins.py:60 +#: core/tables/plugins.py:60 msgid "Published" msgstr "" -#: netbox/core/tables/plugins.py:66 +#: core/tables/plugins.py:66 msgid "Installed Version" msgstr "" -#: netbox/core/tables/plugins.py:70 +#: core/tables/plugins.py:70 msgid "Latest Version" msgstr "" -#: netbox/core/tables/tasks.py:18 +#: core/tables/tasks.py:18 msgid "Oldest Task" msgstr "" -#: netbox/core/tables/tasks.py:42 netbox/templates/core/rq_worker_list.html:39 +#: core/tables/tasks.py:42 templates/core/rq_worker_list.html:39 msgid "Workers" msgstr "" -#: netbox/core/tables/tasks.py:46 netbox/vpn/tables/tunnels.py:88 +#: core/tables/tasks.py:46 vpn/tables/tunnels.py:88 msgid "Host" msgstr "" -#: netbox/core/tables/tasks.py:50 netbox/ipam/forms/filtersets.py:535 +#: core/tables/tasks.py:50 ipam/forms/filtersets.py:535 msgid "Port" msgstr "" -#: netbox/core/tables/tasks.py:54 +#: core/tables/tasks.py:54 msgid "DB" msgstr "" -#: netbox/core/tables/tasks.py:58 +#: core/tables/tasks.py:58 msgid "Scheduler PID" msgstr "" -#: netbox/core/tables/tasks.py:62 +#: core/tables/tasks.py:62 msgid "No queues found" msgstr "" -#: netbox/core/tables/tasks.py:82 +#: core/tables/tasks.py:82 msgid "Enqueued" msgstr "" -#: netbox/core/tables/tasks.py:85 +#: core/tables/tasks.py:85 msgid "Ended" msgstr "" -#: netbox/core/tables/tasks.py:93 netbox/templates/core/rq_task.html:85 +#: core/tables/tasks.py:93 templates/core/rq_task.html:85 msgid "Callable" msgstr "" -#: netbox/core/tables/tasks.py:97 +#: core/tables/tasks.py:97 msgid "No tasks found" msgstr "" -#: netbox/core/tables/tasks.py:118 netbox/templates/core/rq_worker.html:47 +#: core/tables/tasks.py:118 templates/core/rq_worker.html:47 msgid "State" msgstr "" -#: netbox/core/tables/tasks.py:121 netbox/templates/core/rq_worker.html:51 +#: core/tables/tasks.py:121 templates/core/rq_worker.html:51 msgid "Birth" msgstr "" -#: netbox/core/tables/tasks.py:124 netbox/templates/core/rq_worker.html:59 +#: core/tables/tasks.py:124 templates/core/rq_worker.html:59 msgid "PID" msgstr "" -#: netbox/core/tables/tasks.py:128 +#: core/tables/tasks.py:128 msgid "No workers found" msgstr "" -#: netbox/core/views.py:90 +#: core/views.py:90 #, python-brace-format msgid "Queued job #{id} to sync {datasource}" msgstr "" -#: netbox/core/views.py:319 +#: core/views.py:319 #, python-brace-format msgid "Restored configuration revision #{id}" msgstr "" -#: netbox/core/views.py:412 netbox/core/views.py:455 netbox/core/views.py:531 +#: core/views.py:412 core/views.py:455 core/views.py:531 #, python-brace-format msgid "Job {job_id} not found" msgstr "" -#: netbox/core/views.py:463 +#: core/views.py:463 #, python-brace-format msgid "Job {id} has been deleted." msgstr "" -#: netbox/core/views.py:465 +#: core/views.py:465 #, python-brace-format msgid "Error deleting job {id}: {error}" msgstr "" -#: netbox/core/views.py:478 netbox/core/views.py:496 +#: core/views.py:478 core/views.py:496 #, python-brace-format msgid "Job {id} not found." msgstr "" -#: netbox/core/views.py:484 +#: core/views.py:484 #, python-brace-format msgid "Job {id} has been re-enqueued." msgstr "" -#: netbox/core/views.py:519 +#: core/views.py:519 #, python-brace-format msgid "Job {id} has been enqueued." msgstr "" -#: netbox/core/views.py:538 +#: core/views.py:538 #, python-brace-format msgid "Job {id} has been stopped." msgstr "" -#: netbox/core/views.py:540 +#: core/views.py:540 #, python-brace-format msgid "Failed to stop job {id}" msgstr "" -#: netbox/core/views.py:674 +#: core/views.py:674 msgid "Plugins catalog could not be loaded" msgstr "" -#: netbox/core/views.py:708 +#: core/views.py:708 #, python-brace-format msgid "Plugin {name} not found" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:49 -#: netbox/dcim/api/serializers_/devicetypes.py:25 +#: dcim/api/serializers_/devices.py:49 dcim/api/serializers_/devicetypes.py:25 msgid "Position (U)" msgstr "" -#: netbox/dcim/api/serializers_/racks.py:112 netbox/templates/dcim/rack.html:28 +#: dcim/api/serializers_/racks.py:112 templates/dcim/rack.html:28 msgid "Facility ID" msgstr "" -#: netbox/dcim/choices.py:21 netbox/virtualization/choices.py:21 +#: dcim/choices.py:21 virtualization/choices.py:21 msgid "Staging" msgstr "" -#: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 -#: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 +#: dcim/choices.py:23 dcim/choices.py:189 dcim/choices.py:240 +#: dcim/choices.py:1533 virtualization/choices.py:23 +#: virtualization/choices.py:48 msgid "Decommissioning" msgstr "" -#: netbox/dcim/choices.py:24 +#: dcim/choices.py:24 msgid "Retired" msgstr "" -#: netbox/dcim/choices.py:65 +#: dcim/choices.py:65 msgid "2-post frame" msgstr "" -#: netbox/dcim/choices.py:66 +#: dcim/choices.py:66 msgid "4-post frame" msgstr "" -#: netbox/dcim/choices.py:67 +#: dcim/choices.py:67 msgid "4-post cabinet" msgstr "" -#: netbox/dcim/choices.py:68 +#: dcim/choices.py:68 msgid "Wall-mounted frame" msgstr "" -#: netbox/dcim/choices.py:69 +#: dcim/choices.py:69 msgid "Wall-mounted frame (vertical)" msgstr "" -#: netbox/dcim/choices.py:70 +#: dcim/choices.py:70 msgid "Wall-mounted cabinet" msgstr "" -#: netbox/dcim/choices.py:71 +#: dcim/choices.py:71 msgid "Wall-mounted cabinet (vertical)" msgstr "" -#: netbox/dcim/choices.py:83 netbox/dcim/choices.py:84 -#: netbox/dcim/choices.py:85 netbox/dcim/choices.py:86 +#: dcim/choices.py:83 dcim/choices.py:84 dcim/choices.py:85 dcim/choices.py:86 #, python-brace-format msgid "{n} inches" msgstr "" -#: netbox/dcim/choices.py:100 netbox/ipam/choices.py:32 -#: netbox/ipam/choices.py:50 netbox/ipam/choices.py:70 -#: netbox/ipam/choices.py:155 netbox/wireless/choices.py:26 +#: dcim/choices.py:100 ipam/choices.py:32 ipam/choices.py:50 ipam/choices.py:70 +#: ipam/choices.py:155 wireless/choices.py:26 msgid "Reserved" msgstr "" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 +#: dcim/choices.py:101 templates/dcim/device.html:259 msgid "Available" msgstr "" -#: netbox/dcim/choices.py:104 netbox/ipam/choices.py:33 -#: netbox/ipam/choices.py:51 netbox/ipam/choices.py:71 -#: netbox/ipam/choices.py:156 netbox/wireless/choices.py:28 +#: dcim/choices.py:104 ipam/choices.py:33 ipam/choices.py:51 ipam/choices.py:71 +#: ipam/choices.py:156 wireless/choices.py:28 msgid "Deprecated" msgstr "" -#: netbox/dcim/choices.py:114 -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:41 +#: dcim/choices.py:114 templates/dcim/inc/panels/racktype_dimensions.html:41 msgid "Millimeters" msgstr "" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 +#: dcim/choices.py:115 dcim/choices.py:1555 msgid "Inches" msgstr "" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 -#: netbox/dcim/choices.py:254 +#: dcim/choices.py:136 dcim/choices.py:207 dcim/choices.py:254 msgid "Front to rear" msgstr "" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 -#: netbox/dcim/choices.py:255 +#: dcim/choices.py:137 dcim/choices.py:208 dcim/choices.py:255 msgid "Rear to front" msgstr "" -#: netbox/dcim/choices.py:151 netbox/dcim/forms/bulk_edit.py:69 -#: netbox/dcim/forms/bulk_edit.py:88 netbox/dcim/forms/bulk_edit.py:174 -#: netbox/dcim/forms/bulk_edit.py:1415 netbox/dcim/forms/bulk_import.py:60 -#: netbox/dcim/forms/bulk_import.py:74 netbox/dcim/forms/bulk_import.py:137 -#: netbox/dcim/forms/bulk_import.py:566 netbox/dcim/forms/bulk_import.py:833 -#: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 -#: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 -#: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 -#: netbox/dcim/forms/model_forms.py:1502 netbox/dcim/forms/object_import.py:176 -#: netbox/dcim/tables/devices.py:656 netbox/dcim/tables/devices.py:869 -#: netbox/dcim/tables/devices.py:954 netbox/extras/tables/tables.py:223 -#: netbox/ipam/tables/fhrp.py:59 netbox/ipam/tables/ip.py:378 -#: netbox/ipam/tables/services.py:44 netbox/templates/dcim/interface.html:102 -#: netbox/templates/dcim/interface.html:309 -#: netbox/templates/dcim/location.html:41 netbox/templates/dcim/region.html:37 -#: netbox/templates/dcim/sitegroup.html:37 -#: netbox/templates/ipam/service.html:28 -#: netbox/templates/tenancy/contactgroup.html:29 -#: netbox/templates/tenancy/tenantgroup.html:37 -#: netbox/templates/virtualization/vminterface.html:39 -#: netbox/templates/wireless/wirelesslangroup.html:37 -#: netbox/tenancy/forms/bulk_edit.py:27 netbox/tenancy/forms/bulk_edit.py:61 -#: netbox/tenancy/forms/bulk_import.py:24 -#: netbox/tenancy/forms/bulk_import.py:58 -#: netbox/tenancy/forms/model_forms.py:25 -#: netbox/tenancy/forms/model_forms.py:68 -#: netbox/virtualization/forms/bulk_edit.py:207 -#: netbox/virtualization/forms/bulk_import.py:151 -#: netbox/virtualization/tables/virtualmachines.py:162 -#: netbox/wireless/forms/bulk_edit.py:24 -#: netbox/wireless/forms/bulk_import.py:21 -#: netbox/wireless/forms/model_forms.py:21 +#: dcim/choices.py:151 dcim/forms/bulk_edit.py:69 dcim/forms/bulk_edit.py:88 +#: dcim/forms/bulk_edit.py:174 dcim/forms/bulk_edit.py:1415 +#: dcim/forms/bulk_import.py:60 dcim/forms/bulk_import.py:74 +#: dcim/forms/bulk_import.py:137 dcim/forms/bulk_import.py:566 +#: dcim/forms/bulk_import.py:833 dcim/forms/bulk_import.py:1088 +#: dcim/forms/filtersets.py:234 dcim/forms/model_forms.py:74 +#: dcim/forms/model_forms.py:93 dcim/forms/model_forms.py:170 +#: dcim/forms/model_forms.py:1062 dcim/forms/model_forms.py:1502 +#: dcim/forms/object_import.py:176 dcim/tables/devices.py:656 +#: dcim/tables/devices.py:869 dcim/tables/devices.py:954 +#: extras/tables/tables.py:223 ipam/tables/fhrp.py:59 ipam/tables/ip.py:378 +#: ipam/tables/services.py:44 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:162 wireless/forms/bulk_edit.py:24 +#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:21 msgid "Parent" msgstr "" -#: netbox/dcim/choices.py:152 +#: dcim/choices.py:152 msgid "Child" msgstr "" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 -#: netbox/templates/dcim/rack.html:133 -#: netbox/templates/dcim/rack_elevation_list.html:20 -#: netbox/templates/dcim/rackreservation.html:76 +#: dcim/choices.py:166 templates/dcim/device.html:340 +#: templates/dcim/rack.html:133 templates/dcim/rack_elevation_list.html:20 +#: templates/dcim/rackreservation.html:76 msgid "Front" msgstr "" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 -#: netbox/templates/dcim/rack.html:139 -#: netbox/templates/dcim/rack_elevation_list.html:21 -#: netbox/templates/dcim/rackreservation.html:82 +#: dcim/choices.py:167 templates/dcim/device.html:346 +#: templates/dcim/rack.html:139 templates/dcim/rack_elevation_list.html:21 +#: templates/dcim/rackreservation.html:82 msgid "Rear" msgstr "" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 -#: netbox/virtualization/choices.py:46 +#: dcim/choices.py:186 dcim/choices.py:238 virtualization/choices.py:46 msgid "Staged" msgstr "" -#: netbox/dcim/choices.py:188 +#: dcim/choices.py:188 msgid "Inventory" msgstr "" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 +#: dcim/choices.py:209 dcim/choices.py:256 msgid "Left to right" msgstr "" -#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 +#: dcim/choices.py:210 dcim/choices.py:257 msgid "Right to left" msgstr "" -#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 +#: dcim/choices.py:211 dcim/choices.py:258 msgid "Side to rear" msgstr "" -#: netbox/dcim/choices.py:212 +#: dcim/choices.py:212 msgid "Rear to side" msgstr "" -#: netbox/dcim/choices.py:213 +#: dcim/choices.py:213 msgid "Bottom to top" msgstr "" -#: netbox/dcim/choices.py:214 +#: dcim/choices.py:214 msgid "Top to bottom" msgstr "" -#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 -#: netbox/dcim/choices.py:1303 +#: dcim/choices.py:215 dcim/choices.py:259 dcim/choices.py:1305 msgid "Passive" msgstr "" -#: netbox/dcim/choices.py:216 +#: dcim/choices.py:216 msgid "Mixed" msgstr "" -#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 +#: dcim/choices.py:484 dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "" -#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 +#: dcim/choices.py:506 dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "" -#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 +#: dcim/choices.py:530 dcim/choices.py:779 msgid "California Style" msgstr "" -#: netbox/dcim/choices.py:538 +#: dcim/choices.py:538 msgid "International/ITA" msgstr "" -#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 +#: dcim/choices.py:573 dcim/choices.py:814 msgid "Proprietary" msgstr "" -#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 -#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 -#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 -#: netbox/netbox/navigation/menu.py:200 +#: dcim/choices.py:581 dcim/choices.py:824 dcim/choices.py:1221 +#: dcim/choices.py:1223 dcim/choices.py:1449 dcim/choices.py:1451 +#: netbox/navigation/menu.py:200 msgid "Other" msgstr "" -#: netbox/dcim/choices.py:787 +#: dcim/choices.py:787 msgid "ITA/International" msgstr "" -#: netbox/dcim/choices.py:854 +#: dcim/choices.py:854 msgid "Physical" msgstr "" -#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 +#: dcim/choices.py:855 dcim/choices.py:1024 msgid "Virtual" msgstr "" -#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 -#: netbox/dcim/forms/bulk_edit.py:1558 netbox/dcim/forms/filtersets.py:1330 -#: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 -#: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 -#: netbox/templates/dcim/interface.html:210 +#: dcim/choices.py:856 dcim/choices.py:1099 dcim/forms/bulk_edit.py:1558 +#: dcim/forms/filtersets.py:1330 dcim/forms/model_forms.py:988 +#: dcim/forms/model_forms.py:1397 netbox/navigation/menu.py:140 +#: netbox/navigation/menu.py:144 templates/dcim/interface.html:210 msgid "Wireless" msgstr "" -#: netbox/dcim/choices.py:1021 +#: dcim/choices.py:1022 msgid "Virtual interfaces" msgstr "" -#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1423 -#: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:660 netbox/templates/dcim/interface.html:106 -#: netbox/templates/virtualization/vminterface.html:43 -#: netbox/virtualization/forms/bulk_edit.py:212 -#: netbox/virtualization/forms/bulk_import.py:158 -#: netbox/virtualization/tables/virtualmachines.py:166 +#: dcim/choices.py:1025 dcim/forms/bulk_edit.py:1423 +#: dcim/forms/bulk_import.py:840 dcim/forms/model_forms.py:974 +#: dcim/tables/devices.py:660 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:166 msgid "Bridge" msgstr "" -#: netbox/dcim/choices.py:1025 +#: dcim/choices.py:1026 msgid "Link Aggregation Group (LAG)" msgstr "" -#: netbox/dcim/choices.py:1029 +#: dcim/choices.py:1030 msgid "Ethernet (fixed)" msgstr "" -#: netbox/dcim/choices.py:1044 +#: dcim/choices.py:1046 msgid "Ethernet (modular)" msgstr "" -#: netbox/dcim/choices.py:1081 +#: dcim/choices.py:1083 msgid "Ethernet (backplane)" msgstr "" -#: netbox/dcim/choices.py:1113 +#: dcim/choices.py:1115 msgid "Cellular" msgstr "" -#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 -#: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 -#: netbox/dcim/forms/filtersets.py:1542 -#: netbox/templates/dcim/inventoryitem.html:52 -#: netbox/templates/dcim/virtualchassis_edit.html:54 +#: dcim/choices.py:1167 dcim/forms/filtersets.py:383 +#: dcim/forms/filtersets.py:809 dcim/forms/filtersets.py:963 +#: dcim/forms/filtersets.py:1542 templates/dcim/inventoryitem.html:52 +#: templates/dcim/virtualchassis_edit.html:54 msgid "Serial" msgstr "" -#: netbox/dcim/choices.py:1180 +#: dcim/choices.py:1182 msgid "Coaxial" msgstr "" -#: netbox/dcim/choices.py:1200 +#: dcim/choices.py:1202 msgid "Stacking" msgstr "" -#: netbox/dcim/choices.py:1250 +#: dcim/choices.py:1252 msgid "Half" msgstr "" -#: netbox/dcim/choices.py:1251 +#: dcim/choices.py:1253 msgid "Full" msgstr "" -#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 -#: netbox/wireless/choices.py:480 +#: dcim/choices.py:1254 netbox/preferences.py:31 wireless/choices.py:480 msgid "Auto" msgstr "" -#: netbox/dcim/choices.py:1263 +#: dcim/choices.py:1265 msgid "Access" msgstr "" -#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 -#: netbox/ipam/tables/vlans.py:217 -#: netbox/templates/dcim/inc/interface_vlans_table.html:7 +#: dcim/choices.py:1266 ipam/tables/vlans.py:172 ipam/tables/vlans.py:217 +#: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "" -#: netbox/dcim/choices.py:1265 +#: dcim/choices.py:1267 msgid "Tagged (All)" msgstr "" -#: netbox/dcim/choices.py:1294 +#: dcim/choices.py:1296 msgid "IEEE Standard" msgstr "" -#: netbox/dcim/choices.py:1305 +#: dcim/choices.py:1307 msgid "Passive 24V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1306 +#: dcim/choices.py:1308 msgid "Passive 24V (4-pair)" msgstr "" -#: netbox/dcim/choices.py:1307 +#: dcim/choices.py:1309 msgid "Passive 48V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1308 +#: dcim/choices.py:1310 msgid "Passive 48V (4-pair)" msgstr "" -#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 +#: dcim/choices.py:1380 dcim/choices.py:1490 msgid "Copper" msgstr "" -#: netbox/dcim/choices.py:1401 +#: dcim/choices.py:1403 msgid "Fiber Optic" msgstr "" -#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 +#: dcim/choices.py:1436 dcim/choices.py:1519 msgid "USB" msgstr "" -#: netbox/dcim/choices.py:1504 +#: dcim/choices.py:1506 msgid "Fiber" msgstr "" -#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 +#: dcim/choices.py:1531 dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "" -#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 +#: dcim/choices.py:1550 wireless/choices.py:497 msgid "Kilometers" msgstr "" -#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 -#: netbox/wireless/choices.py:498 +#: dcim/choices.py:1551 templates/dcim/cable_trace.html:65 +#: wireless/choices.py:498 msgid "Meters" msgstr "" -#: netbox/dcim/choices.py:1550 +#: dcim/choices.py:1552 msgid "Centimeters" msgstr "" -#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 +#: dcim/choices.py:1553 wireless/choices.py:499 msgid "Miles" msgstr "" -#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 -#: netbox/wireless/choices.py:500 +#: dcim/choices.py:1554 templates/dcim/cable_trace.html:66 +#: wireless/choices.py:500 msgid "Feet" msgstr "" -#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:107 +#: dcim/choices.py:1570 templates/dcim/device.html:327 +#: templates/dcim/rack.html:107 msgid "Kilograms" msgstr "" -#: netbox/dcim/choices.py:1569 +#: dcim/choices.py:1571 msgid "Grams" msgstr "" -#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 -#: netbox/templates/dcim/rack.html:108 +#: dcim/choices.py:1572 templates/dcim/device.html:328 +#: templates/dcim/rack.html:108 msgid "Pounds" msgstr "" -#: netbox/dcim/choices.py:1571 +#: dcim/choices.py:1573 msgid "Ounces" msgstr "" -#: netbox/dcim/choices.py:1618 +#: dcim/choices.py:1620 msgid "Redundant" msgstr "" -#: netbox/dcim/choices.py:1639 +#: dcim/choices.py:1641 msgid "Single phase" msgstr "" -#: netbox/dcim/choices.py:1640 +#: dcim/choices.py:1642 msgid "Three-phase" msgstr "" -#: netbox/dcim/fields.py:45 +#: dcim/fields.py:45 #, python-brace-format msgid "Invalid MAC address format: {value}" msgstr "" -#: netbox/dcim/fields.py:71 +#: dcim/fields.py:71 #, python-brace-format msgid "Invalid WWN format: {value}" msgstr "" -#: netbox/dcim/filtersets.py:86 +#: dcim/filtersets.py:86 msgid "Parent region (ID)" msgstr "" -#: netbox/dcim/filtersets.py:92 +#: dcim/filtersets.py:92 msgid "Parent region (slug)" msgstr "" -#: netbox/dcim/filtersets.py:116 +#: dcim/filtersets.py:116 msgid "Parent site group (ID)" msgstr "" -#: netbox/dcim/filtersets.py:122 +#: dcim/filtersets.py:122 msgid "Parent site group (slug)" msgstr "" -#: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364 -#: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:993 +#: dcim/filtersets.py:164 extras/filtersets.py:364 ipam/filtersets.py:841 +#: ipam/filtersets.py:993 msgid "Group (ID)" msgstr "" -#: netbox/dcim/filtersets.py:170 +#: dcim/filtersets.py:170 msgid "Group (slug)" msgstr "" -#: netbox/dcim/filtersets.py:176 netbox/dcim/filtersets.py:181 +#: dcim/filtersets.py:176 dcim/filtersets.py:181 msgid "AS (ID)" msgstr "" -#: netbox/dcim/filtersets.py:246 +#: dcim/filtersets.py:246 msgid "Parent location (ID)" msgstr "" -#: netbox/dcim/filtersets.py:252 +#: dcim/filtersets.py:252 msgid "Parent location (slug)" msgstr "" -#: netbox/dcim/filtersets.py:258 netbox/dcim/filtersets.py:369 -#: netbox/dcim/filtersets.py:490 netbox/dcim/filtersets.py:1057 -#: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:2182 +#: dcim/filtersets.py:258 dcim/filtersets.py:369 dcim/filtersets.py:490 +#: dcim/filtersets.py:1057 dcim/filtersets.py:1404 dcim/filtersets.py:2182 msgid "Location (ID)" msgstr "" -#: netbox/dcim/filtersets.py:265 netbox/dcim/filtersets.py:376 -#: netbox/dcim/filtersets.py:497 netbox/dcim/filtersets.py:1410 -#: netbox/extras/filtersets.py:542 +#: dcim/filtersets.py:265 dcim/filtersets.py:376 dcim/filtersets.py:497 +#: dcim/filtersets.py:1410 extras/filtersets.py:542 msgid "Location (slug)" msgstr "" -#: netbox/dcim/filtersets.py:296 netbox/dcim/filtersets.py:381 -#: netbox/dcim/filtersets.py:539 netbox/dcim/filtersets.py:678 -#: netbox/dcim/filtersets.py:882 netbox/dcim/filtersets.py:933 -#: netbox/dcim/filtersets.py:973 netbox/dcim/filtersets.py:1306 -#: netbox/dcim/filtersets.py:1840 +#: dcim/filtersets.py:296 dcim/filtersets.py:381 dcim/filtersets.py:539 +#: dcim/filtersets.py:678 dcim/filtersets.py:882 dcim/filtersets.py:933 +#: dcim/filtersets.py:973 dcim/filtersets.py:1306 dcim/filtersets.py:1840 msgid "Manufacturer (ID)" msgstr "" -#: netbox/dcim/filtersets.py:302 netbox/dcim/filtersets.py:387 -#: netbox/dcim/filtersets.py:545 netbox/dcim/filtersets.py:684 -#: netbox/dcim/filtersets.py:888 netbox/dcim/filtersets.py:939 -#: netbox/dcim/filtersets.py:979 netbox/dcim/filtersets.py:1312 -#: netbox/dcim/filtersets.py:1846 +#: dcim/filtersets.py:302 dcim/filtersets.py:387 dcim/filtersets.py:545 +#: dcim/filtersets.py:684 dcim/filtersets.py:888 dcim/filtersets.py:939 +#: dcim/filtersets.py:979 dcim/filtersets.py:1312 dcim/filtersets.py:1846 msgid "Manufacturer (slug)" msgstr "" -#: netbox/dcim/filtersets.py:393 +#: dcim/filtersets.py:393 msgid "Rack type (slug)" msgstr "" -#: netbox/dcim/filtersets.py:397 +#: dcim/filtersets.py:397 msgid "Rack type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892 -#: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850 -#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 -#: netbox/ipam/filtersets.py:1003 netbox/virtualization/filtersets.py:210 +#: dcim/filtersets.py:411 dcim/filtersets.py:892 dcim/filtersets.py:994 +#: dcim/filtersets.py:1850 ipam/filtersets.py:381 ipam/filtersets.py:493 +#: ipam/filtersets.py:1003 virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "" -#: netbox/dcim/filtersets.py:417 netbox/dcim/filtersets.py:898 -#: netbox/dcim/filtersets.py:1000 netbox/dcim/filtersets.py:1856 -#: netbox/extras/filtersets.py:558 netbox/ipam/filtersets.py:387 -#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:1009 -#: netbox/virtualization/filtersets.py:216 +#: dcim/filtersets.py:417 dcim/filtersets.py:898 dcim/filtersets.py:1000 +#: dcim/filtersets.py:1856 extras/filtersets.py:558 ipam/filtersets.py:387 +#: ipam/filtersets.py:499 ipam/filtersets.py:1009 +#: virtualization/filtersets.py:216 msgid "Role (slug)" msgstr "" -#: netbox/dcim/filtersets.py:447 netbox/dcim/filtersets.py:1062 -#: netbox/dcim/filtersets.py:1415 netbox/dcim/filtersets.py:2244 +#: dcim/filtersets.py:447 dcim/filtersets.py:1062 dcim/filtersets.py:1415 +#: dcim/filtersets.py:2244 msgid "Rack (ID)" msgstr "" -#: netbox/dcim/filtersets.py:507 netbox/extras/filtersets.py:293 -#: netbox/extras/filtersets.py:337 netbox/extras/filtersets.py:359 -#: netbox/extras/filtersets.py:419 netbox/users/filtersets.py:113 -#: netbox/users/filtersets.py:180 +#: dcim/filtersets.py:507 extras/filtersets.py:293 extras/filtersets.py:337 +#: extras/filtersets.py:359 extras/filtersets.py:419 users/filtersets.py:113 +#: users/filtersets.py:180 msgid "User (name)" msgstr "" -#: netbox/dcim/filtersets.py:549 +#: dcim/filtersets.py:549 msgid "Default platform (ID)" msgstr "" -#: netbox/dcim/filtersets.py:555 +#: dcim/filtersets.py:555 msgid "Default platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:558 netbox/dcim/forms/filtersets.py:517 +#: dcim/filtersets.py:558 dcim/forms/filtersets.py:517 msgid "Has a front image" msgstr "" -#: netbox/dcim/filtersets.py:562 netbox/dcim/forms/filtersets.py:524 +#: dcim/filtersets.py:562 dcim/forms/filtersets.py:524 msgid "Has a rear image" msgstr "" -#: netbox/dcim/filtersets.py:567 netbox/dcim/filtersets.py:688 -#: netbox/dcim/filtersets.py:1131 netbox/dcim/forms/filtersets.py:531 -#: netbox/dcim/forms/filtersets.py:627 netbox/dcim/forms/filtersets.py:848 +#: dcim/filtersets.py:567 dcim/filtersets.py:688 dcim/filtersets.py:1131 +#: dcim/forms/filtersets.py:531 dcim/forms/filtersets.py:627 +#: dcim/forms/filtersets.py:848 msgid "Has console ports" msgstr "" -#: netbox/dcim/filtersets.py:571 netbox/dcim/filtersets.py:692 -#: netbox/dcim/filtersets.py:1135 netbox/dcim/forms/filtersets.py:538 -#: netbox/dcim/forms/filtersets.py:634 netbox/dcim/forms/filtersets.py:855 +#: dcim/filtersets.py:571 dcim/filtersets.py:692 dcim/filtersets.py:1135 +#: dcim/forms/filtersets.py:538 dcim/forms/filtersets.py:634 +#: dcim/forms/filtersets.py:855 msgid "Has console server ports" msgstr "" -#: netbox/dcim/filtersets.py:575 netbox/dcim/filtersets.py:696 -#: netbox/dcim/filtersets.py:1139 netbox/dcim/forms/filtersets.py:545 -#: netbox/dcim/forms/filtersets.py:641 netbox/dcim/forms/filtersets.py:862 +#: dcim/filtersets.py:575 dcim/filtersets.py:696 dcim/filtersets.py:1139 +#: dcim/forms/filtersets.py:545 dcim/forms/filtersets.py:641 +#: dcim/forms/filtersets.py:862 msgid "Has power ports" msgstr "" -#: netbox/dcim/filtersets.py:579 netbox/dcim/filtersets.py:700 -#: netbox/dcim/filtersets.py:1143 netbox/dcim/forms/filtersets.py:552 -#: netbox/dcim/forms/filtersets.py:648 netbox/dcim/forms/filtersets.py:869 +#: dcim/filtersets.py:579 dcim/filtersets.py:700 dcim/filtersets.py:1143 +#: dcim/forms/filtersets.py:552 dcim/forms/filtersets.py:648 +#: dcim/forms/filtersets.py:869 msgid "Has power outlets" msgstr "" -#: netbox/dcim/filtersets.py:583 netbox/dcim/filtersets.py:704 -#: netbox/dcim/filtersets.py:1147 netbox/dcim/forms/filtersets.py:559 -#: netbox/dcim/forms/filtersets.py:655 netbox/dcim/forms/filtersets.py:876 +#: dcim/filtersets.py:583 dcim/filtersets.py:704 dcim/filtersets.py:1147 +#: dcim/forms/filtersets.py:559 dcim/forms/filtersets.py:655 +#: dcim/forms/filtersets.py:876 msgid "Has interfaces" msgstr "" -#: netbox/dcim/filtersets.py:587 netbox/dcim/filtersets.py:708 -#: netbox/dcim/filtersets.py:1151 netbox/dcim/forms/filtersets.py:566 -#: netbox/dcim/forms/filtersets.py:662 netbox/dcim/forms/filtersets.py:883 +#: dcim/filtersets.py:587 dcim/filtersets.py:708 dcim/filtersets.py:1151 +#: dcim/forms/filtersets.py:566 dcim/forms/filtersets.py:662 +#: dcim/forms/filtersets.py:883 msgid "Has pass-through ports" msgstr "" -#: netbox/dcim/filtersets.py:591 netbox/dcim/filtersets.py:1155 -#: netbox/dcim/forms/filtersets.py:580 +#: dcim/filtersets.py:591 dcim/filtersets.py:1155 dcim/forms/filtersets.py:580 msgid "Has module bays" msgstr "" -#: netbox/dcim/filtersets.py:595 netbox/dcim/filtersets.py:1159 -#: netbox/dcim/forms/filtersets.py:573 +#: dcim/filtersets.py:595 dcim/filtersets.py:1159 dcim/forms/filtersets.py:573 msgid "Has device bays" msgstr "" -#: netbox/dcim/filtersets.py:599 netbox/dcim/forms/filtersets.py:587 +#: dcim/filtersets.py:599 dcim/forms/filtersets.py:587 msgid "Has inventory items" msgstr "" -#: netbox/dcim/filtersets.py:756 netbox/dcim/filtersets.py:989 -#: netbox/dcim/filtersets.py:1436 +#: dcim/filtersets.py:756 dcim/filtersets.py:989 dcim/filtersets.py:1436 msgid "Device type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:772 netbox/dcim/filtersets.py:1317 +#: dcim/filtersets.py:772 dcim/filtersets.py:1317 msgid "Module type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:804 netbox/dcim/filtersets.py:1591 +#: dcim/filtersets.py:804 dcim/filtersets.py:1591 msgid "Power port (ID)" msgstr "" -#: netbox/dcim/filtersets.py:878 netbox/dcim/filtersets.py:1836 +#: dcim/filtersets.py:878 dcim/filtersets.py:1836 msgid "Parent inventory item (ID)" msgstr "" -#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:947 -#: netbox/dcim/filtersets.py:1127 netbox/virtualization/filtersets.py:238 +#: dcim/filtersets.py:921 dcim/filtersets.py:947 dcim/filtersets.py:1127 +#: virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "" -#: netbox/dcim/filtersets.py:985 +#: dcim/filtersets.py:985 msgid "Device type (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1005 +#: dcim/filtersets.py:1005 msgid "Parent Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1009 netbox/virtualization/filtersets.py:220 +#: dcim/filtersets.py:1009 virtualization/filtersets.py:220 msgid "Platform (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1015 netbox/extras/filtersets.py:569 -#: netbox/virtualization/filtersets.py:226 +#: dcim/filtersets.py:1015 extras/filtersets.py:569 +#: virtualization/filtersets.py:226 msgid "Platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1051 netbox/dcim/filtersets.py:1399 -#: netbox/dcim/filtersets.py:1934 netbox/dcim/filtersets.py:2176 -#: netbox/dcim/filtersets.py:2235 +#: dcim/filtersets.py:1051 dcim/filtersets.py:1399 dcim/filtersets.py:1934 +#: dcim/filtersets.py:2176 dcim/filtersets.py:2235 msgid "Site name (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1067 +#: dcim/filtersets.py:1067 msgid "Parent bay (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1071 +#: dcim/filtersets.py:1071 msgid "VM cluster (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1077 netbox/extras/filtersets.py:591 -#: netbox/virtualization/filtersets.py:136 +#: dcim/filtersets.py:1077 extras/filtersets.py:591 +#: virtualization/filtersets.py:136 msgid "Cluster group (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1082 netbox/virtualization/filtersets.py:130 +#: dcim/filtersets.py:1082 virtualization/filtersets.py:130 msgid "Cluster group (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1088 +#: dcim/filtersets.py:1088 msgid "Device model (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/bulk_edit.py:517 +#: dcim/filtersets.py:1099 dcim/forms/bulk_edit.py:517 msgid "Is full depth" msgstr "" -#: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 -#: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:518 -#: netbox/virtualization/filtersets.py:230 -#: netbox/virtualization/filtersets.py:301 -#: netbox/virtualization/forms/filtersets.py:172 -#: netbox/virtualization/forms/filtersets.py:223 +#: dcim/filtersets.py:1103 dcim/forms/common.py:18 dcim/forms/filtersets.py:818 +#: dcim/forms/filtersets.py:1385 dcim/models/device_components.py:518 +#: virtualization/filtersets.py:230 virtualization/filtersets.py:301 +#: virtualization/forms/filtersets.py:172 +#: virtualization/forms/filtersets.py:223 msgid "MAC address" msgstr "" -#: netbox/dcim/filtersets.py:1110 netbox/dcim/filtersets.py:1274 -#: netbox/dcim/forms/filtersets.py:827 netbox/dcim/forms/filtersets.py:930 -#: netbox/virtualization/filtersets.py:234 -#: netbox/virtualization/forms/filtersets.py:176 +#: dcim/filtersets.py:1110 dcim/filtersets.py:1274 dcim/forms/filtersets.py:827 +#: dcim/forms/filtersets.py:930 virtualization/filtersets.py:234 +#: virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "" -#: netbox/dcim/filtersets.py:1114 +#: dcim/filtersets.py:1114 msgid "Has an out-of-band IP" msgstr "" -#: netbox/dcim/filtersets.py:1119 +#: dcim/filtersets.py:1119 msgid "Virtual chassis (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1123 +#: dcim/filtersets.py:1123 msgid "Is a virtual chassis member" msgstr "" -#: netbox/dcim/filtersets.py:1164 +#: dcim/filtersets.py:1164 msgid "OOB IP (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1168 +#: dcim/filtersets.py:1168 msgid "Has virtual device context" msgstr "" -#: netbox/dcim/filtersets.py:1257 +#: dcim/filtersets.py:1257 msgid "VDC (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1262 +#: dcim/filtersets.py:1262 msgid "Device model" msgstr "" -#: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 +#: dcim/filtersets.py:1267 ipam/filtersets.py:632 vpn/filtersets.py:102 +#: vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1323 +#: dcim/filtersets.py:1323 msgid "Module type (model)" msgstr "" -#: netbox/dcim/filtersets.py:1329 +#: dcim/filtersets.py:1329 msgid "Module bay (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 -#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:379 +#: dcim/filtersets.py:1333 dcim/filtersets.py:1425 ipam/filtersets.py:611 +#: ipam/filtersets.py:851 ipam/filtersets.py:1115 +#: virtualization/filtersets.py:161 vpn/filtersets.py:379 msgid "Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1421 +#: dcim/filtersets.py:1421 msgid "Rack (name)" msgstr "" -#: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 -#: netbox/vpn/filtersets.py:374 +#: dcim/filtersets.py:1431 ipam/filtersets.py:606 ipam/filtersets.py:846 +#: ipam/filtersets.py:1121 vpn/filtersets.py:374 msgid "Device (name)" msgstr "" -#: netbox/dcim/filtersets.py:1442 +#: dcim/filtersets.py:1442 msgid "Device type (model)" msgstr "" -#: netbox/dcim/filtersets.py:1447 +#: dcim/filtersets.py:1447 msgid "Device role (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1453 +#: dcim/filtersets.py:1453 msgid "Device role (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1458 +#: dcim/filtersets.py:1458 msgid "Virtual Chassis (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1464 netbox/dcim/forms/filtersets.py:109 -#: netbox/dcim/tables/devices.py:206 netbox/netbox/navigation/menu.py:79 -#: netbox/templates/dcim/device.html:120 -#: netbox/templates/dcim/device_edit.html:93 -#: netbox/templates/dcim/virtualchassis.html:20 -#: netbox/templates/dcim/virtualchassis_add.html:8 -#: netbox/templates/dcim/virtualchassis_edit.html:24 +#: dcim/filtersets.py:1464 dcim/forms/filtersets.py:109 +#: dcim/tables/devices.py:206 netbox/navigation/menu.py:79 +#: templates/dcim/device.html:120 templates/dcim/device_edit.html:93 +#: templates/dcim/virtualchassis.html:20 +#: templates/dcim/virtualchassis_add.html:8 +#: templates/dcim/virtualchassis_edit.html:24 msgid "Virtual Chassis" msgstr "" -#: netbox/dcim/filtersets.py:1488 +#: dcim/filtersets.py:1488 msgid "Module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1495 +#: dcim/filtersets.py:1495 msgid "Cable (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1604 netbox/ipam/forms/bulk_import.py:189 -#: netbox/vpn/forms/bulk_import.py:308 +#: dcim/filtersets.py:1604 ipam/forms/bulk_import.py:189 +#: vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "" -#: netbox/dcim/filtersets.py:1608 +#: dcim/filtersets.py:1608 msgid "Assigned VID" msgstr "" -#: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1526 -#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 -#: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:711 -#: netbox/dcim/tables/devices.py:626 netbox/ipam/filtersets.py:316 -#: netbox/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 -#: netbox/ipam/filtersets.py:584 netbox/ipam/filtersets.py:595 -#: netbox/ipam/forms/bulk_edit.py:242 netbox/ipam/forms/bulk_edit.py:298 -#: netbox/ipam/forms/bulk_edit.py:340 netbox/ipam/forms/bulk_import.py:157 -#: netbox/ipam/forms/bulk_import.py:243 netbox/ipam/forms/bulk_import.py:279 -#: netbox/ipam/forms/filtersets.py:67 netbox/ipam/forms/filtersets.py:172 -#: netbox/ipam/forms/filtersets.py:309 netbox/ipam/forms/model_forms.py:62 -#: netbox/ipam/forms/model_forms.py:202 netbox/ipam/forms/model_forms.py:247 -#: netbox/ipam/forms/model_forms.py:300 netbox/ipam/forms/model_forms.py:431 -#: netbox/ipam/forms/model_forms.py:445 netbox/ipam/forms/model_forms.py:459 -#: netbox/ipam/models/ip.py:233 netbox/ipam/models/ip.py:512 -#: netbox/ipam/models/ip.py:720 netbox/ipam/models/vrfs.py:62 -#: netbox/ipam/tables/ip.py:242 netbox/ipam/tables/ip.py:309 -#: netbox/ipam/tables/ip.py:360 netbox/ipam/tables/ip.py:450 -#: netbox/templates/dcim/interface.html:133 -#: netbox/templates/ipam/ipaddress.html:18 -#: netbox/templates/ipam/iprange.html:40 netbox/templates/ipam/prefix.html:19 -#: netbox/templates/ipam/vrf.html:7 netbox/templates/ipam/vrf.html:13 -#: netbox/templates/virtualization/vminterface.html:47 -#: netbox/virtualization/forms/bulk_edit.py:261 -#: netbox/virtualization/forms/bulk_import.py:171 -#: netbox/virtualization/forms/filtersets.py:228 -#: netbox/virtualization/forms/model_forms.py:344 -#: netbox/virtualization/models/virtualmachines.py:355 -#: netbox/virtualization/tables/virtualmachines.py:143 +#: dcim/filtersets.py:1613 dcim/forms/bulk_edit.py:1526 +#: dcim/forms/bulk_import.py:891 dcim/forms/filtersets.py:1428 +#: dcim/forms/model_forms.py:1378 dcim/models/device_components.py:711 +#: dcim/tables/devices.py:626 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:242 ipam/forms/bulk_edit.py:298 +#: ipam/forms/bulk_edit.py:340 ipam/forms/bulk_import.py:157 +#: ipam/forms/bulk_import.py:243 ipam/forms/bulk_import.py:279 +#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:172 +#: ipam/forms/filtersets.py:309 ipam/forms/model_forms.py:62 +#: ipam/forms/model_forms.py:202 ipam/forms/model_forms.py:247 +#: ipam/forms/model_forms.py:300 ipam/forms/model_forms.py:431 +#: ipam/forms/model_forms.py:445 ipam/forms/model_forms.py:459 +#: ipam/models/ip.py:233 ipam/models/ip.py:512 ipam/models/ip.py:720 +#: ipam/models/vrfs.py:62 ipam/tables/ip.py:242 ipam/tables/ip.py:309 +#: ipam/tables/ip.py:360 ipam/tables/ip.py:450 +#: 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:228 +#: virtualization/forms/model_forms.py:344 +#: virtualization/models/virtualmachines.py:355 +#: virtualization/tables/virtualmachines.py:143 msgid "VRF" msgstr "" -#: netbox/dcim/filtersets.py:1619 netbox/ipam/filtersets.py:322 -#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 -#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 +#: dcim/filtersets.py:1619 ipam/filtersets.py:322 ipam/filtersets.py:333 +#: ipam/filtersets.py:489 ipam/filtersets.py:590 ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "" -#: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:342 +#: dcim/filtersets.py:1624 ipam/filtersets.py:1030 vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433 -#: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1036 -#: netbox/ipam/forms/filtersets.py:518 netbox/ipam/tables/vlans.py:137 -#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 -#: netbox/templates/vpn/l2vpntermination.html:12 -#: netbox/virtualization/forms/filtersets.py:233 -#: netbox/vpn/forms/bulk_import.py:280 netbox/vpn/forms/filtersets.py:246 -#: netbox/vpn/forms/model_forms.py:409 netbox/vpn/forms/model_forms.py:427 -#: netbox/vpn/models/l2vpn.py:63 netbox/vpn/tables/l2vpn.py:55 +#: dcim/filtersets.py:1630 dcim/forms/filtersets.py:1433 +#: dcim/tables/devices.py:570 ipam/filtersets.py:1036 +#: ipam/forms/filtersets.py:518 ipam/tables/vlans.py:137 +#: templates/dcim/interface.html:93 templates/ipam/vlan.html:66 +#: templates/vpn/l2vpntermination.html:12 +#: virtualization/forms/filtersets.py:233 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 "" -#: netbox/dcim/filtersets.py:1662 +#: dcim/filtersets.py:1662 msgid "Virtual Chassis Interfaces for Device" msgstr "" -#: netbox/dcim/filtersets.py:1667 +#: dcim/filtersets.py:1667 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1671 +#: dcim/filtersets.py:1671 msgid "Kind of interface" msgstr "" -#: netbox/dcim/filtersets.py:1676 netbox/virtualization/filtersets.py:293 +#: dcim/filtersets.py:1676 virtualization/filtersets.py:293 msgid "Parent interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1681 netbox/virtualization/filtersets.py:298 +#: dcim/filtersets.py:1681 virtualization/filtersets.py:298 msgid "Bridged interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1686 +#: dcim/filtersets.py:1686 msgid "LAG interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 -#: netbox/templates/dcim/virtualdevicecontext.html:15 +#: dcim/filtersets.py:1713 dcim/filtersets.py:1725 +#: dcim/forms/filtersets.py:1345 dcim/forms/model_forms.py:1690 +#: templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "" -#: netbox/dcim/filtersets.py:1719 +#: dcim/filtersets.py:1719 msgid "Virtual Device Context (Identifier)" msgstr "" -#: netbox/dcim/filtersets.py:1730 netbox/templates/wireless/wirelesslan.html:11 -#: netbox/wireless/forms/model_forms.py:53 +#: dcim/filtersets.py:1730 templates/wireless/wirelesslan.html:11 +#: wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 +#: dcim/filtersets.py:1734 dcim/tables/devices.py:613 msgid "Wireless link" msgstr "" -#: netbox/dcim/filtersets.py:1803 +#: dcim/filtersets.py:1803 msgid "Parent module bay (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1808 +#: dcim/filtersets.py:1808 msgid "Installed module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1819 +#: dcim/filtersets.py:1819 msgid "Installed device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1825 +#: dcim/filtersets.py:1825 msgid "Installed device (name)" msgstr "" -#: netbox/dcim/filtersets.py:1891 +#: dcim/filtersets.py:1891 msgid "Master (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1897 +#: dcim/filtersets.py:1897 msgid "Master (name)" msgstr "" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 +#: dcim/filtersets.py:1939 tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:251 +#: dcim/filtersets.py:1945 extras/filtersets.py:618 tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1981 netbox/dcim/forms/filtersets.py:1077 +#: dcim/filtersets.py:1981 dcim/forms/filtersets.py:1077 msgid "Unterminated" msgstr "" -#: netbox/dcim/filtersets.py:2239 +#: dcim/filtersets.py:2239 msgid "Power panel (ID)" msgstr "" -#: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:401 -#: netbox/extras/forms/model_forms.py:567 -#: netbox/extras/forms/model_forms.py:619 netbox/netbox/forms/base.py:86 -#: netbox/netbox/forms/mixins.py:81 netbox/netbox/tables/columns.py:478 -#: netbox/templates/circuits/inc/circuit_termination.html:32 -#: netbox/templates/generic/bulk_edit.html:65 -#: netbox/templates/inc/panels/tags.html:5 -#: netbox/utilities/forms/fields/fields.py:81 +#: dcim/forms/bulk_create.py:40 extras/forms/filtersets.py:401 +#: extras/forms/model_forms.py:567 extras/forms/model_forms.py:619 +#: netbox/forms/base.py:86 netbox/forms/mixins.py:81 +#: netbox/tables/columns.py:478 +#: templates/circuits/inc/circuit_termination.html:32 +#: templates/generic/bulk_edit.html:65 templates/inc/panels/tags.html:5 +#: utilities/forms/fields/fields.py:81 msgid "Tags" msgstr "" -#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1498 -#: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 -#: netbox/dcim/forms/object_create.py:197 -#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 -#: netbox/templates/dcim/modulebay.html:38 -#: netbox/templates/dcim/virtualchassis.html:66 -#: netbox/templates/dcim/virtualchassis_edit.html:55 +#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1498 +#: dcim/forms/model_forms.py:488 dcim/forms/model_forms.py:546 +#: dcim/forms/object_create.py:197 dcim/forms/object_create.py:353 +#: dcim/tables/devices.py:165 dcim/tables/devices.py:707 +#: dcim/tables/devicetypes.py:246 templates/dcim/device.html:43 +#: templates/dcim/device.html:131 templates/dcim/modulebay.html:38 +#: templates/dcim/virtualchassis.html:66 +#: templates/dcim/virtualchassis_edit.html:55 msgid "Position" msgstr "" -#: netbox/dcim/forms/bulk_create.py:114 +#: dcim/forms/bulk_create.py:114 msgid "" "Alphanumeric ranges are supported. (Must match the number of names being " "created.)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:133 +#: dcim/forms/bulk_edit.py:133 msgid "Contact name" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:138 +#: dcim/forms/bulk_edit.py:138 msgid "Contact phone" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:144 +#: dcim/forms/bulk_edit.py:144 msgid "Contact E-mail" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:147 netbox/dcim/forms/bulk_import.py:123 -#: netbox/dcim/forms/model_forms.py:128 +#: dcim/forms/bulk_edit.py:147 dcim/forms/bulk_import.py:123 +#: dcim/forms/model_forms.py:128 msgid "Time zone" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:225 netbox/dcim/forms/bulk_edit.py:496 -#: netbox/dcim/forms/bulk_edit.py:560 netbox/dcim/forms/bulk_edit.py:633 -#: netbox/dcim/forms/bulk_edit.py:657 netbox/dcim/forms/bulk_edit.py:750 -#: netbox/dcim/forms/bulk_edit.py:1277 netbox/dcim/forms/bulk_edit.py:1698 -#: netbox/dcim/forms/bulk_import.py:182 netbox/dcim/forms/bulk_import.py:371 -#: netbox/dcim/forms/bulk_import.py:405 netbox/dcim/forms/bulk_import.py:450 -#: netbox/dcim/forms/bulk_import.py:486 netbox/dcim/forms/bulk_import.py:1082 -#: netbox/dcim/forms/filtersets.py:313 netbox/dcim/forms/filtersets.py:372 -#: netbox/dcim/forms/filtersets.py:494 netbox/dcim/forms/filtersets.py:619 -#: netbox/dcim/forms/filtersets.py:700 netbox/dcim/forms/filtersets.py:782 -#: netbox/dcim/forms/filtersets.py:947 netbox/dcim/forms/filtersets.py:1539 -#: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 -#: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 -#: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1515 netbox/dcim/forms/object_import.py:187 -#: netbox/dcim/tables/devices.py:96 netbox/dcim/tables/devices.py:172 -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:80 -#: netbox/dcim/tables/devicetypes.py:308 netbox/dcim/tables/modules.py:20 -#: netbox/dcim/tables/modules.py:60 netbox/dcim/tables/racks.py:58 -#: netbox/dcim/tables/racks.py:132 netbox/templates/dcim/devicetype.html:14 -#: netbox/templates/dcim/inventoryitem.html:44 -#: netbox/templates/dcim/manufacturer.html:33 -#: netbox/templates/dcim/modulebay.html:62 -#: netbox/templates/dcim/moduletype.html:25 -#: netbox/templates/dcim/platform.html:37 -#: netbox/templates/dcim/racktype.html:16 +#: dcim/forms/bulk_edit.py:225 dcim/forms/bulk_edit.py:496 +#: dcim/forms/bulk_edit.py:560 dcim/forms/bulk_edit.py:633 +#: dcim/forms/bulk_edit.py:657 dcim/forms/bulk_edit.py:750 +#: dcim/forms/bulk_edit.py:1277 dcim/forms/bulk_edit.py:1698 +#: dcim/forms/bulk_import.py:182 dcim/forms/bulk_import.py:371 +#: dcim/forms/bulk_import.py:405 dcim/forms/bulk_import.py:450 +#: dcim/forms/bulk_import.py:486 dcim/forms/bulk_import.py:1082 +#: dcim/forms/filtersets.py:313 dcim/forms/filtersets.py:372 +#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:619 +#: dcim/forms/filtersets.py:700 dcim/forms/filtersets.py:782 +#: dcim/forms/filtersets.py:947 dcim/forms/filtersets.py:1539 +#: dcim/forms/model_forms.py:207 dcim/forms/model_forms.py:337 +#: dcim/forms/model_forms.py:349 dcim/forms/model_forms.py:395 +#: dcim/forms/model_forms.py:436 dcim/forms/model_forms.py:1075 +#: dcim/forms/model_forms.py:1515 dcim/forms/object_import.py:187 +#: dcim/tables/devices.py:96 dcim/tables/devices.py:172 +#: dcim/tables/devices.py:940 dcim/tables/devicetypes.py:80 +#: dcim/tables/devicetypes.py:308 dcim/tables/modules.py:20 +#: dcim/tables/modules.py:60 dcim/tables/racks.py:58 dcim/tables/racks.py:132 +#: templates/dcim/devicetype.html:14 templates/dcim/inventoryitem.html:44 +#: templates/dcim/manufacturer.html:33 templates/dcim/modulebay.html:62 +#: templates/dcim/moduletype.html:25 templates/dcim/platform.html:37 +#: templates/dcim/racktype.html:16 msgid "Manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:230 netbox/dcim/forms/bulk_edit.py:373 -#: netbox/dcim/forms/bulk_import.py:191 netbox/dcim/forms/bulk_import.py:263 -#: netbox/dcim/forms/filtersets.py:255 -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:6 +#: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:373 +#: dcim/forms/bulk_import.py:191 dcim/forms/bulk_import.py:263 +#: dcim/forms/filtersets.py:255 +#: templates/dcim/inc/panels/racktype_dimensions.html:6 msgid "Form factor" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:235 netbox/dcim/forms/bulk_edit.py:378 -#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:266 -#: netbox/dcim/forms/filtersets.py:260 -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:10 +#: dcim/forms/bulk_edit.py:235 dcim/forms/bulk_edit.py:378 +#: dcim/forms/bulk_import.py:199 dcim/forms/bulk_import.py:266 +#: dcim/forms/filtersets.py:260 +#: templates/dcim/inc/panels/racktype_dimensions.html:10 msgid "Width" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:241 netbox/dcim/forms/bulk_edit.py:384 -#: netbox/templates/dcim/devicetype.html:37 +#: dcim/forms/bulk_edit.py:241 dcim/forms/bulk_edit.py:384 +#: templates/dcim/devicetype.html:37 msgid "Height (U)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:250 netbox/dcim/forms/bulk_edit.py:389 -#: netbox/dcim/forms/filtersets.py:274 +#: dcim/forms/bulk_edit.py:250 dcim/forms/bulk_edit.py:389 +#: dcim/forms/filtersets.py:274 msgid "Descending units" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:253 netbox/dcim/forms/bulk_edit.py:392 +#: dcim/forms/bulk_edit.py:253 dcim/forms/bulk_edit.py:392 msgid "Outer width" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:258 netbox/dcim/forms/bulk_edit.py:397 +#: dcim/forms/bulk_edit.py:258 dcim/forms/bulk_edit.py:397 msgid "Outer depth" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:263 netbox/dcim/forms/bulk_edit.py:402 -#: netbox/dcim/forms/bulk_import.py:204 netbox/dcim/forms/bulk_import.py:271 +#: dcim/forms/bulk_edit.py:263 dcim/forms/bulk_edit.py:402 +#: dcim/forms/bulk_import.py:204 dcim/forms/bulk_import.py:271 msgid "Outer unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:268 netbox/dcim/forms/bulk_edit.py:407 +#: dcim/forms/bulk_edit.py:268 dcim/forms/bulk_edit.py:407 msgid "Mounting depth" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:273 netbox/dcim/forms/bulk_edit.py:300 -#: netbox/dcim/forms/bulk_edit.py:417 netbox/dcim/forms/bulk_edit.py:447 -#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:553 -#: netbox/dcim/forms/bulk_edit.py:574 netbox/dcim/forms/bulk_edit.py:596 -#: netbox/dcim/forms/bulk_import.py:384 netbox/dcim/forms/bulk_import.py:416 -#: netbox/dcim/forms/filtersets.py:285 netbox/dcim/forms/filtersets.py:307 -#: netbox/dcim/forms/filtersets.py:327 netbox/dcim/forms/filtersets.py:401 -#: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 -#: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 -#: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 -#: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 -#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 -#: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 -#: netbox/extras/forms/filtersets.py:64 netbox/extras/forms/filtersets.py:156 -#: netbox/extras/forms/filtersets.py:243 netbox/ipam/forms/bulk_edit.py:190 -#: netbox/templates/dcim/device.html:324 -#: netbox/templates/dcim/devicetype.html:49 -#: netbox/templates/dcim/moduletype.html:45 netbox/templates/dcim/rack.html:81 -#: netbox/templates/dcim/racktype.html:41 -#: netbox/templates/extras/configcontext.html:17 -#: netbox/templates/extras/customlink.html:25 -#: netbox/templates/extras/savedfilter.html:33 -#: netbox/templates/ipam/role.html:30 +#: dcim/forms/bulk_edit.py:273 dcim/forms/bulk_edit.py:300 +#: dcim/forms/bulk_edit.py:417 dcim/forms/bulk_edit.py:447 +#: dcim/forms/bulk_edit.py:530 dcim/forms/bulk_edit.py:553 +#: dcim/forms/bulk_edit.py:574 dcim/forms/bulk_edit.py:596 +#: dcim/forms/bulk_import.py:384 dcim/forms/bulk_import.py:416 +#: dcim/forms/filtersets.py:285 dcim/forms/filtersets.py:307 +#: dcim/forms/filtersets.py:327 dcim/forms/filtersets.py:401 +#: dcim/forms/filtersets.py:488 dcim/forms/filtersets.py:594 +#: dcim/forms/filtersets.py:613 dcim/forms/filtersets.py:674 +#: dcim/forms/model_forms.py:221 dcim/forms/model_forms.py:298 +#: dcim/tables/devicetypes.py:106 dcim/tables/modules.py:35 +#: dcim/tables/racks.py:74 dcim/tables/racks.py:172 +#: extras/forms/bulk_edit.py:53 extras/forms/bulk_edit.py:133 +#: extras/forms/bulk_edit.py:183 extras/forms/bulk_edit.py:288 +#: extras/forms/filtersets.py:64 extras/forms/filtersets.py:156 +#: extras/forms/filtersets.py:243 ipam/forms/bulk_edit.py:190 +#: templates/dcim/device.html:324 templates/dcim/devicetype.html:49 +#: templates/dcim/moduletype.html:45 templates/dcim/rack.html:81 +#: templates/dcim/racktype.html:41 templates/extras/configcontext.html:17 +#: templates/extras/customlink.html:25 templates/extras/savedfilter.html:33 +#: templates/ipam/role.html:30 msgid "Weight" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:278 netbox/dcim/forms/bulk_edit.py:422 -#: netbox/dcim/forms/filtersets.py:290 +#: dcim/forms/bulk_edit.py:278 dcim/forms/bulk_edit.py:422 +#: dcim/forms/filtersets.py:290 msgid "Max weight" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:283 netbox/dcim/forms/bulk_edit.py:427 -#: netbox/dcim/forms/bulk_edit.py:535 netbox/dcim/forms/bulk_edit.py:579 -#: netbox/dcim/forms/bulk_import.py:210 netbox/dcim/forms/bulk_import.py:283 -#: netbox/dcim/forms/bulk_import.py:389 netbox/dcim/forms/bulk_import.py:421 -#: netbox/dcim/forms/filtersets.py:295 netbox/dcim/forms/filtersets.py:598 -#: netbox/dcim/forms/filtersets.py:678 +#: dcim/forms/bulk_edit.py:283 dcim/forms/bulk_edit.py:427 +#: dcim/forms/bulk_edit.py:535 dcim/forms/bulk_edit.py:579 +#: dcim/forms/bulk_import.py:210 dcim/forms/bulk_import.py:283 +#: dcim/forms/bulk_import.py:389 dcim/forms/bulk_import.py:421 +#: dcim/forms/filtersets.py:295 dcim/forms/filtersets.py:598 +#: dcim/forms/filtersets.py:678 msgid "Weight unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:297 netbox/dcim/forms/filtersets.py:305 -#: netbox/dcim/forms/model_forms.py:217 netbox/dcim/forms/model_forms.py:256 -#: netbox/templates/dcim/rack.html:45 netbox/templates/dcim/racktype.html:13 +#: dcim/forms/bulk_edit.py:297 dcim/forms/filtersets.py:305 +#: dcim/forms/model_forms.py:217 dcim/forms/model_forms.py:256 +#: templates/dcim/rack.html:45 templates/dcim/racktype.html:13 msgid "Rack Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:299 netbox/dcim/forms/model_forms.py:220 -#: netbox/dcim/forms/model_forms.py:297 +#: dcim/forms/bulk_edit.py:299 dcim/forms/model_forms.py:220 +#: dcim/forms/model_forms.py:297 msgid "Outer Dimensions" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:302 netbox/dcim/forms/model_forms.py:222 -#: netbox/dcim/forms/model_forms.py:299 netbox/templates/dcim/device.html:315 -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:3 +#: dcim/forms/bulk_edit.py:302 dcim/forms/model_forms.py:222 +#: dcim/forms/model_forms.py:299 templates/dcim/device.html:315 +#: templates/dcim/inc/panels/racktype_dimensions.html:3 msgid "Dimensions" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:304 netbox/dcim/forms/filtersets.py:306 -#: netbox/dcim/forms/filtersets.py:326 netbox/dcim/forms/model_forms.py:224 -#: netbox/templates/dcim/inc/panels/racktype_numbering.html:3 +#: dcim/forms/bulk_edit.py:304 dcim/forms/filtersets.py:306 +#: dcim/forms/filtersets.py:326 dcim/forms/model_forms.py:224 +#: templates/dcim/inc/panels/racktype_numbering.html:3 msgid "Numbering" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:358 netbox/dcim/forms/bulk_edit.py:1272 -#: netbox/dcim/forms/bulk_edit.py:1693 netbox/dcim/forms/bulk_import.py:253 -#: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 -#: netbox/dcim/forms/filtersets.py:777 netbox/dcim/forms/filtersets.py:1534 -#: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 -#: netbox/dcim/forms/model_forms.py:1510 netbox/dcim/forms/object_import.py:181 -#: netbox/dcim/tables/devices.py:169 netbox/dcim/tables/devices.py:809 -#: netbox/dcim/tables/devices.py:937 netbox/dcim/tables/devicetypes.py:304 -#: netbox/dcim/tables/racks.py:129 netbox/extras/filtersets.py:552 -#: netbox/ipam/forms/bulk_edit.py:261 netbox/ipam/forms/bulk_edit.py:311 -#: netbox/ipam/forms/bulk_edit.py:359 netbox/ipam/forms/bulk_edit.py:511 -#: netbox/ipam/forms/bulk_import.py:197 netbox/ipam/forms/bulk_import.py:262 -#: netbox/ipam/forms/bulk_import.py:298 netbox/ipam/forms/bulk_import.py:455 -#: netbox/ipam/forms/filtersets.py:237 netbox/ipam/forms/filtersets.py:289 -#: netbox/ipam/forms/filtersets.py:360 netbox/ipam/forms/filtersets.py:509 -#: netbox/ipam/forms/model_forms.py:188 netbox/ipam/forms/model_forms.py:221 -#: netbox/ipam/forms/model_forms.py:250 netbox/ipam/forms/model_forms.py:643 -#: netbox/ipam/tables/ip.py:258 netbox/ipam/tables/ip.py:316 -#: netbox/ipam/tables/ip.py:367 netbox/ipam/tables/vlans.py:130 -#: netbox/ipam/tables/vlans.py:235 netbox/templates/dcim/device.html:182 -#: netbox/templates/dcim/inc/panels/inventory_items.html:20 -#: netbox/templates/dcim/interface.html:223 -#: netbox/templates/dcim/inventoryitem.html:36 -#: netbox/templates/dcim/rack.html:49 netbox/templates/ipam/ipaddress.html:41 -#: netbox/templates/ipam/iprange.html:50 netbox/templates/ipam/prefix.html:77 -#: netbox/templates/ipam/role.html:19 netbox/templates/ipam/vlan.html:52 -#: netbox/templates/virtualization/virtualmachine.html:23 -#: netbox/templates/vpn/tunneltermination.html:17 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:20 -#: netbox/tenancy/forms/bulk_edit.py:142 netbox/tenancy/forms/filtersets.py:107 -#: netbox/tenancy/forms/model_forms.py:137 -#: netbox/tenancy/tables/contacts.py:102 -#: netbox/virtualization/forms/bulk_edit.py:145 -#: netbox/virtualization/forms/bulk_import.py:106 -#: netbox/virtualization/forms/filtersets.py:157 -#: netbox/virtualization/forms/model_forms.py:195 -#: netbox/virtualization/tables/virtualmachines.py:75 -#: netbox/vpn/forms/bulk_edit.py:87 netbox/vpn/forms/bulk_import.py:81 -#: netbox/vpn/forms/filtersets.py:85 netbox/vpn/forms/model_forms.py:78 -#: netbox/vpn/forms/model_forms.py:113 netbox/vpn/tables/tunnels.py:82 +#: dcim/forms/bulk_edit.py:358 dcim/forms/bulk_edit.py:1272 +#: dcim/forms/bulk_edit.py:1693 dcim/forms/bulk_import.py:253 +#: dcim/forms/bulk_import.py:1076 dcim/forms/filtersets.py:367 +#: dcim/forms/filtersets.py:777 dcim/forms/filtersets.py:1534 +#: dcim/forms/model_forms.py:251 dcim/forms/model_forms.py:1070 +#: dcim/forms/model_forms.py:1510 dcim/forms/object_import.py:181 +#: dcim/tables/devices.py:169 dcim/tables/devices.py:809 +#: dcim/tables/devices.py:937 dcim/tables/devicetypes.py:304 +#: dcim/tables/racks.py:129 extras/filtersets.py:552 +#: ipam/forms/bulk_edit.py:261 ipam/forms/bulk_edit.py:311 +#: ipam/forms/bulk_edit.py:359 ipam/forms/bulk_edit.py:511 +#: ipam/forms/bulk_import.py:197 ipam/forms/bulk_import.py:262 +#: ipam/forms/bulk_import.py:298 ipam/forms/bulk_import.py:455 +#: ipam/forms/filtersets.py:237 ipam/forms/filtersets.py:289 +#: ipam/forms/filtersets.py:360 ipam/forms/filtersets.py:509 +#: ipam/forms/model_forms.py:188 ipam/forms/model_forms.py:221 +#: ipam/forms/model_forms.py:250 ipam/forms/model_forms.py:643 +#: ipam/tables/ip.py:258 ipam/tables/ip.py:316 ipam/tables/ip.py:367 +#: ipam/tables/vlans.py:130 ipam/tables/vlans.py:235 +#: templates/dcim/device.html:182 +#: templates/dcim/inc/panels/inventory_items.html:20 +#: templates/dcim/interface.html:223 templates/dcim/inventoryitem.html:36 +#: templates/dcim/rack.html:49 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: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:157 +#: virtualization/forms/model_forms.py:195 +#: virtualization/tables/virtualmachines.py:75 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 "" -#: netbox/dcim/forms/bulk_edit.py:365 netbox/dcim/forms/bulk_edit.py:713 -#: netbox/dcim/forms/bulk_edit.py:774 netbox/templates/dcim/device.html:104 -#: netbox/templates/dcim/module.html:77 netbox/templates/dcim/modulebay.html:70 -#: netbox/templates/dcim/rack.html:57 -#: netbox/templates/virtualization/virtualmachine.html:35 +#: dcim/forms/bulk_edit.py:365 dcim/forms/bulk_edit.py:713 +#: dcim/forms/bulk_edit.py:774 templates/dcim/device.html:104 +#: templates/dcim/module.html:77 templates/dcim/modulebay.html:70 +#: templates/dcim/rack.html:57 templates/virtualization/virtualmachine.html:35 msgid "Serial Number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/filtersets.py:387 -#: netbox/dcim/forms/filtersets.py:813 netbox/dcim/forms/filtersets.py:967 -#: netbox/dcim/forms/filtersets.py:1546 +#: dcim/forms/bulk_edit.py:368 dcim/forms/filtersets.py:387 +#: dcim/forms/filtersets.py:813 dcim/forms/filtersets.py:967 +#: dcim/forms/filtersets.py:1546 msgid "Asset tag" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:525 -#: netbox/dcim/forms/bulk_edit.py:569 netbox/dcim/forms/bulk_edit.py:706 -#: netbox/dcim/forms/bulk_import.py:277 netbox/dcim/forms/bulk_import.py:410 -#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/filtersets.py:280 -#: netbox/dcim/forms/filtersets.py:511 netbox/dcim/forms/filtersets.py:669 -#: netbox/dcim/forms/filtersets.py:804 netbox/templates/dcim/device.html:98 -#: netbox/templates/dcim/devicetype.html:65 -#: netbox/templates/dcim/moduletype.html:41 netbox/templates/dcim/rack.html:65 -#: netbox/templates/dcim/racktype.html:28 +#: dcim/forms/bulk_edit.py:412 dcim/forms/bulk_edit.py:525 +#: dcim/forms/bulk_edit.py:569 dcim/forms/bulk_edit.py:706 +#: dcim/forms/bulk_import.py:277 dcim/forms/bulk_import.py:410 +#: dcim/forms/bulk_import.py:580 dcim/forms/filtersets.py:280 +#: dcim/forms/filtersets.py:511 dcim/forms/filtersets.py:669 +#: dcim/forms/filtersets.py:804 templates/dcim/device.html:98 +#: templates/dcim/devicetype.html:65 templates/dcim/moduletype.html:41 +#: templates/dcim/rack.html:65 templates/dcim/racktype.html:28 msgid "Airflow" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:441 netbox/dcim/forms/bulk_edit.py:920 -#: netbox/dcim/forms/bulk_import.py:322 netbox/dcim/forms/bulk_import.py:325 -#: netbox/dcim/forms/bulk_import.py:553 netbox/dcim/forms/bulk_import.py:1358 -#: netbox/dcim/forms/bulk_import.py:1362 netbox/dcim/forms/filtersets.py:104 -#: netbox/dcim/forms/filtersets.py:324 netbox/dcim/forms/filtersets.py:405 -#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/filtersets.py:457 -#: netbox/dcim/forms/filtersets.py:772 netbox/dcim/forms/filtersets.py:1035 -#: netbox/dcim/forms/filtersets.py:1167 netbox/dcim/forms/model_forms.py:264 -#: netbox/dcim/forms/model_forms.py:306 netbox/dcim/forms/model_forms.py:479 -#: netbox/dcim/forms/model_forms.py:755 netbox/dcim/forms/object_create.py:400 -#: netbox/dcim/tables/devices.py:161 netbox/dcim/tables/power.py:70 -#: netbox/dcim/tables/racks.py:217 netbox/ipam/forms/filtersets.py:442 -#: netbox/templates/dcim/device.html:30 -#: netbox/templates/dcim/inc/cable_termination.html:16 -#: netbox/templates/dcim/powerfeed.html:28 netbox/templates/dcim/rack.html:13 -#: netbox/templates/dcim/rack/base.html:4 -#: netbox/templates/dcim/rackreservation.html:19 -#: netbox/templates/dcim/rackreservation.html:36 -#: netbox/virtualization/forms/model_forms.py:113 +#: dcim/forms/bulk_edit.py:441 dcim/forms/bulk_edit.py:920 +#: dcim/forms/bulk_import.py:322 dcim/forms/bulk_import.py:325 +#: dcim/forms/bulk_import.py:553 dcim/forms/bulk_import.py:1358 +#: dcim/forms/bulk_import.py:1362 dcim/forms/filtersets.py:104 +#: dcim/forms/filtersets.py:324 dcim/forms/filtersets.py:405 +#: dcim/forms/filtersets.py:419 dcim/forms/filtersets.py:457 +#: dcim/forms/filtersets.py:772 dcim/forms/filtersets.py:1035 +#: dcim/forms/filtersets.py:1167 dcim/forms/model_forms.py:264 +#: dcim/forms/model_forms.py:306 dcim/forms/model_forms.py:479 +#: dcim/forms/model_forms.py:755 dcim/forms/object_create.py:400 +#: dcim/tables/devices.py:161 dcim/tables/power.py:70 dcim/tables/racks.py:217 +#: ipam/forms/filtersets.py:442 templates/dcim/device.html:30 +#: templates/dcim/inc/cable_termination.html:16 +#: 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 "" -#: netbox/dcim/forms/bulk_edit.py:445 netbox/dcim/forms/bulk_edit.py:739 -#: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 -#: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 -#: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 -#: netbox/templates/dcim/device_edit.html:20 +#: dcim/forms/bulk_edit.py:445 dcim/forms/bulk_edit.py:739 +#: dcim/forms/filtersets.py:325 dcim/forms/filtersets.py:398 +#: dcim/forms/filtersets.py:481 dcim/forms/filtersets.py:608 +#: dcim/forms/filtersets.py:721 dcim/forms/filtersets.py:942 +#: dcim/forms/model_forms.py:670 dcim/forms/model_forms.py:1580 +#: templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:501 netbox/dcim/forms/bulk_import.py:377 -#: netbox/dcim/forms/filtersets.py:499 netbox/dcim/forms/model_forms.py:353 +#: dcim/forms/bulk_edit.py:501 dcim/forms/bulk_import.py:377 +#: dcim/forms/filtersets.py:499 dcim/forms/model_forms.py:353 msgid "Default platform" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:506 netbox/dcim/forms/bulk_edit.py:565 -#: netbox/dcim/forms/filtersets.py:502 netbox/dcim/forms/filtersets.py:622 +#: dcim/forms/bulk_edit.py:506 dcim/forms/bulk_edit.py:565 +#: dcim/forms/filtersets.py:502 dcim/forms/filtersets.py:622 msgid "Part number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:510 +#: dcim/forms/bulk_edit.py:510 msgid "U height" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:522 netbox/dcim/tables/devicetypes.py:102 +#: dcim/forms/bulk_edit.py:522 dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:551 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 -#: netbox/templates/dcim/devicebay.html:52 netbox/templates/dcim/module.html:61 +#: dcim/forms/bulk_edit.py:551 dcim/forms/model_forms.py:368 +#: dcim/tables/devicetypes.py:77 templates/dcim/device.html:88 +#: templates/dcim/devicebay.html:52 templates/dcim/module.html:61 msgid "Device Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/model_forms.py:401 -#: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65 -#: netbox/templates/dcim/module.html:65 netbox/templates/dcim/modulebay.html:66 -#: netbox/templates/dcim/moduletype.html:22 +#: dcim/forms/bulk_edit.py:593 dcim/forms/model_forms.py:401 +#: dcim/tables/modules.py:17 dcim/tables/modules.py:65 +#: templates/dcim/module.html:65 templates/dcim/modulebay.html:66 +#: templates/dcim/moduletype.html:22 msgid "Module Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:597 netbox/dcim/forms/model_forms.py:371 -#: netbox/dcim/forms/model_forms.py:402 -#: netbox/templates/dcim/devicetype.html:11 +#: dcim/forms/bulk_edit.py:597 dcim/forms/model_forms.py:371 +#: dcim/forms/model_forms.py:402 templates/dcim/devicetype.html:11 msgid "Chassis" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:611 netbox/dcim/models/devices.py:484 -#: netbox/dcim/tables/devices.py:67 +#: dcim/forms/bulk_edit.py:611 dcim/models/devices.py:484 +#: dcim/tables/devices.py:67 msgid "VM role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:614 netbox/dcim/forms/bulk_edit.py:638 -#: netbox/dcim/forms/bulk_edit.py:721 netbox/dcim/forms/bulk_import.py:434 -#: netbox/dcim/forms/bulk_import.py:438 netbox/dcim/forms/bulk_import.py:457 -#: netbox/dcim/forms/bulk_import.py:461 netbox/dcim/forms/bulk_import.py:586 -#: netbox/dcim/forms/bulk_import.py:590 netbox/dcim/forms/filtersets.py:689 -#: netbox/dcim/forms/filtersets.py:705 netbox/dcim/forms/filtersets.py:823 -#: netbox/dcim/forms/model_forms.py:415 netbox/dcim/forms/model_forms.py:441 -#: netbox/dcim/forms/model_forms.py:555 -#: netbox/virtualization/forms/bulk_import.py:132 -#: netbox/virtualization/forms/bulk_import.py:133 -#: netbox/virtualization/forms/filtersets.py:188 -#: netbox/virtualization/forms/model_forms.py:215 +#: dcim/forms/bulk_edit.py:614 dcim/forms/bulk_edit.py:638 +#: dcim/forms/bulk_edit.py:721 dcim/forms/bulk_import.py:434 +#: dcim/forms/bulk_import.py:438 dcim/forms/bulk_import.py:457 +#: dcim/forms/bulk_import.py:461 dcim/forms/bulk_import.py:586 +#: dcim/forms/bulk_import.py:590 dcim/forms/filtersets.py:689 +#: dcim/forms/filtersets.py:705 dcim/forms/filtersets.py:823 +#: dcim/forms/model_forms.py:415 dcim/forms/model_forms.py:441 +#: dcim/forms/model_forms.py:555 virtualization/forms/bulk_import.py:132 +#: virtualization/forms/bulk_import.py:133 +#: virtualization/forms/filtersets.py:188 +#: virtualization/forms/model_forms.py:215 msgid "Config template" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:662 netbox/dcim/forms/bulk_edit.py:1071 -#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/filtersets.py:114 -#: netbox/dcim/forms/model_forms.py:501 netbox/dcim/forms/model_forms.py:872 -#: netbox/dcim/forms/model_forms.py:889 netbox/extras/filtersets.py:547 +#: dcim/forms/bulk_edit.py:662 dcim/forms/bulk_edit.py:1071 +#: dcim/forms/bulk_import.py:492 dcim/forms/filtersets.py:114 +#: dcim/forms/model_forms.py:501 dcim/forms/model_forms.py:872 +#: dcim/forms/model_forms.py:889 extras/filtersets.py:547 msgid "Device type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:673 netbox/dcim/forms/bulk_import.py:473 -#: netbox/dcim/forms/filtersets.py:119 netbox/dcim/forms/model_forms.py:509 +#: dcim/forms/bulk_edit.py:673 dcim/forms/bulk_import.py:473 +#: dcim/forms/filtersets.py:119 dcim/forms/model_forms.py:509 msgid "Device role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:696 netbox/dcim/forms/bulk_import.py:498 -#: netbox/dcim/forms/filtersets.py:796 netbox/dcim/forms/model_forms.py:451 -#: netbox/dcim/forms/model_forms.py:513 netbox/dcim/tables/devices.py:182 -#: netbox/extras/filtersets.py:563 netbox/templates/dcim/device.html:186 -#: netbox/templates/dcim/platform.html:26 -#: netbox/templates/virtualization/virtualmachine.html:27 -#: netbox/virtualization/forms/bulk_edit.py:160 -#: netbox/virtualization/forms/bulk_import.py:122 -#: netbox/virtualization/forms/filtersets.py:168 -#: netbox/virtualization/forms/model_forms.py:203 -#: netbox/virtualization/tables/virtualmachines.py:79 +#: dcim/forms/bulk_edit.py:696 dcim/forms/bulk_import.py:498 +#: dcim/forms/filtersets.py:796 dcim/forms/model_forms.py:451 +#: dcim/forms/model_forms.py:513 dcim/tables/devices.py:182 +#: extras/filtersets.py:563 templates/dcim/device.html:186 +#: 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:168 +#: virtualization/forms/model_forms.py:203 +#: virtualization/tables/virtualmachines.py:79 msgid "Platform" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/bulk_import.py:517 -#: netbox/dcim/forms/filtersets.py:728 netbox/dcim/forms/filtersets.py:898 -#: netbox/dcim/forms/model_forms.py:522 netbox/dcim/tables/devices.py:202 -#: netbox/extras/filtersets.py:596 netbox/extras/forms/filtersets.py:322 -#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:447 -#: netbox/templates/dcim/device.html:239 -#: netbox/templates/virtualization/cluster.html:10 -#: netbox/templates/virtualization/virtualmachine.html:92 -#: netbox/templates/virtualization/virtualmachine.html:101 -#: netbox/virtualization/filtersets.py:157 -#: netbox/virtualization/filtersets.py:277 -#: netbox/virtualization/forms/bulk_edit.py:129 -#: netbox/virtualization/forms/bulk_import.py:92 -#: netbox/virtualization/forms/filtersets.py:99 -#: netbox/virtualization/forms/filtersets.py:123 -#: netbox/virtualization/forms/filtersets.py:204 -#: netbox/virtualization/forms/model_forms.py:79 -#: netbox/virtualization/forms/model_forms.py:176 -#: netbox/virtualization/tables/virtualmachines.py:67 +#: dcim/forms/bulk_edit.py:726 dcim/forms/bulk_import.py:517 +#: dcim/forms/filtersets.py:728 dcim/forms/filtersets.py:898 +#: dcim/forms/model_forms.py:522 dcim/tables/devices.py:202 +#: extras/filtersets.py:596 extras/forms/filtersets.py:322 +#: ipam/forms/filtersets.py:415 ipam/forms/filtersets.py:447 +#: templates/dcim/device.html:239 templates/virtualization/cluster.html:10 +#: templates/virtualization/virtualmachine.html:92 +#: templates/virtualization/virtualmachine.html:101 +#: virtualization/filtersets.py:157 virtualization/filtersets.py:277 +#: virtualization/forms/bulk_edit.py:129 virtualization/forms/bulk_import.py:92 +#: virtualization/forms/filtersets.py:99 virtualization/forms/filtersets.py:123 +#: virtualization/forms/filtersets.py:204 +#: virtualization/forms/model_forms.py:79 +#: virtualization/forms/model_forms.py:176 +#: virtualization/tables/virtualmachines.py:67 msgid "Cluster" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:737 netbox/dcim/forms/bulk_edit.py:1291 -#: netbox/dcim/forms/bulk_edit.py:1688 netbox/dcim/forms/bulk_edit.py:1734 -#: netbox/dcim/forms/bulk_import.py:641 netbox/dcim/forms/bulk_import.py:703 -#: netbox/dcim/forms/bulk_import.py:729 netbox/dcim/forms/bulk_import.py:755 -#: netbox/dcim/forms/bulk_import.py:775 netbox/dcim/forms/bulk_import.py:828 -#: netbox/dcim/forms/bulk_import.py:946 netbox/dcim/forms/bulk_import.py:994 -#: netbox/dcim/forms/bulk_import.py:1011 netbox/dcim/forms/bulk_import.py:1023 -#: netbox/dcim/forms/bulk_import.py:1071 netbox/dcim/forms/bulk_import.py:1422 -#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:131 -#: netbox/dcim/forms/filtersets.py:921 netbox/dcim/forms/filtersets.py:1051 -#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/forms/filtersets.py:1267 -#: netbox/dcim/forms/filtersets.py:1291 netbox/dcim/forms/filtersets.py:1311 -#: netbox/dcim/forms/filtersets.py:1334 netbox/dcim/forms/filtersets.py:1444 -#: netbox/dcim/forms/filtersets.py:1469 netbox/dcim/forms/filtersets.py:1493 -#: netbox/dcim/forms/filtersets.py:1511 netbox/dcim/forms/filtersets.py:1528 -#: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 -#: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 -#: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1664 netbox/dcim/forms/object_create.py:257 -#: netbox/dcim/tables/connections.py:22 netbox/dcim/tables/connections.py:41 -#: netbox/dcim/tables/connections.py:60 netbox/dcim/tables/devices.py:285 -#: netbox/dcim/tables/devices.py:371 netbox/dcim/tables/devices.py:412 -#: netbox/dcim/tables/devices.py:454 netbox/dcim/tables/devices.py:505 -#: netbox/dcim/tables/devices.py:597 netbox/dcim/tables/devices.py:697 -#: netbox/dcim/tables/devices.py:754 netbox/dcim/tables/devices.py:801 -#: netbox/dcim/tables/devices.py:861 netbox/dcim/tables/devices.py:930 -#: netbox/dcim/tables/devices.py:1057 netbox/dcim/tables/modules.py:52 -#: netbox/extras/forms/filtersets.py:321 netbox/ipam/forms/bulk_import.py:304 -#: netbox/ipam/forms/bulk_import.py:481 netbox/ipam/forms/filtersets.py:551 -#: netbox/ipam/forms/model_forms.py:319 netbox/ipam/forms/model_forms.py:679 -#: netbox/ipam/forms/model_forms.py:712 netbox/ipam/forms/model_forms.py:738 -#: netbox/ipam/tables/vlans.py:180 netbox/templates/dcim/consoleport.html:20 -#: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 -#: netbox/templates/dcim/device_edit.html:10 -#: netbox/templates/dcim/devicebay.html:20 -#: netbox/templates/dcim/devicebay.html:48 -#: netbox/templates/dcim/frontport.html:20 -#: netbox/templates/dcim/interface.html:30 -#: netbox/templates/dcim/interface.html:161 -#: netbox/templates/dcim/inventoryitem.html:20 -#: netbox/templates/dcim/module.html:57 netbox/templates/dcim/modulebay.html:20 -#: netbox/templates/dcim/poweroutlet.html:20 -#: netbox/templates/dcim/powerport.html:20 -#: netbox/templates/dcim/rearport.html:20 -#: netbox/templates/dcim/virtualchassis.html:65 -#: netbox/templates/dcim/virtualchassis_edit.html:51 -#: netbox/templates/dcim/virtualdevicecontext.html:22 -#: netbox/templates/virtualization/virtualmachine.html:114 -#: netbox/templates/vpn/tunneltermination.html:23 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:6 -#: netbox/virtualization/filtersets.py:167 -#: netbox/virtualization/forms/bulk_edit.py:137 -#: netbox/virtualization/forms/bulk_import.py:99 -#: netbox/virtualization/forms/filtersets.py:128 -#: netbox/virtualization/forms/model_forms.py:185 -#: netbox/virtualization/tables/virtualmachines.py:71 netbox/vpn/choices.py:44 -#: netbox/vpn/forms/bulk_import.py:86 netbox/vpn/forms/bulk_import.py:283 -#: netbox/vpn/forms/filtersets.py:275 netbox/vpn/forms/model_forms.py:90 -#: netbox/vpn/forms/model_forms.py:125 netbox/vpn/forms/model_forms.py:236 -#: netbox/vpn/forms/model_forms.py:453 netbox/wireless/forms/model_forms.py:99 -#: netbox/wireless/forms/model_forms.py:141 -#: netbox/wireless/tables/wirelesslan.py:75 +#: dcim/forms/bulk_edit.py:737 dcim/forms/bulk_edit.py:1291 +#: dcim/forms/bulk_edit.py:1688 dcim/forms/bulk_edit.py:1734 +#: dcim/forms/bulk_import.py:641 dcim/forms/bulk_import.py:703 +#: dcim/forms/bulk_import.py:729 dcim/forms/bulk_import.py:755 +#: dcim/forms/bulk_import.py:775 dcim/forms/bulk_import.py:828 +#: dcim/forms/bulk_import.py:946 dcim/forms/bulk_import.py:994 +#: dcim/forms/bulk_import.py:1011 dcim/forms/bulk_import.py:1023 +#: dcim/forms/bulk_import.py:1071 dcim/forms/bulk_import.py:1422 +#: dcim/forms/connections.py:24 dcim/forms/filtersets.py:131 +#: dcim/forms/filtersets.py:921 dcim/forms/filtersets.py:1051 +#: dcim/forms/filtersets.py:1242 dcim/forms/filtersets.py:1267 +#: dcim/forms/filtersets.py:1291 dcim/forms/filtersets.py:1311 +#: dcim/forms/filtersets.py:1334 dcim/forms/filtersets.py:1444 +#: dcim/forms/filtersets.py:1469 dcim/forms/filtersets.py:1493 +#: dcim/forms/filtersets.py:1511 dcim/forms/filtersets.py:1528 +#: dcim/forms/filtersets.py:1592 dcim/forms/filtersets.py:1616 +#: dcim/forms/filtersets.py:1640 dcim/forms/model_forms.py:633 +#: dcim/forms/model_forms.py:849 dcim/forms/model_forms.py:1208 +#: dcim/forms/model_forms.py:1664 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:285 +#: dcim/tables/devices.py:371 dcim/tables/devices.py:412 +#: dcim/tables/devices.py:454 dcim/tables/devices.py:505 +#: dcim/tables/devices.py:597 dcim/tables/devices.py:697 +#: dcim/tables/devices.py:754 dcim/tables/devices.py:801 +#: dcim/tables/devices.py:861 dcim/tables/devices.py:930 +#: dcim/tables/devices.py:1057 dcim/tables/modules.py:52 +#: extras/forms/filtersets.py:321 ipam/forms/bulk_import.py:304 +#: ipam/forms/bulk_import.py:481 ipam/forms/filtersets.py:551 +#: ipam/forms/model_forms.py:319 ipam/forms/model_forms.py:679 +#: ipam/forms/model_forms.py:712 ipam/forms/model_forms.py:738 +#: ipam/tables/vlans.py:180 templates/dcim/consoleport.html:20 +#: templates/dcim/consoleserverport.html:20 templates/dcim/device.html:15 +#: templates/dcim/device.html:130 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:57 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:114 +#: templates/vpn/tunneltermination.html:23 +#: templates/wireless/inc/wirelesslink_interface.html:6 +#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:137 +#: virtualization/forms/bulk_import.py:99 +#: virtualization/forms/filtersets.py:128 +#: virtualization/forms/model_forms.py:185 +#: virtualization/tables/virtualmachines.py:71 vpn/choices.py:44 +#: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 +#: 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 "" -#: netbox/dcim/forms/bulk_edit.py:740 -#: netbox/templates/extras/dashboard/widget_config.html:7 -#: netbox/virtualization/forms/bulk_edit.py:191 +#: dcim/forms/bulk_edit.py:740 templates/extras/dashboard/widget_config.html:7 +#: virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:741 netbox/netbox/navigation/menu.py:243 -#: netbox/templates/dcim/device_edit.html:78 +#: dcim/forms/bulk_edit.py:741 netbox/navigation/menu.py:243 +#: templates/dcim/device_edit.html:78 msgid "Virtualization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:755 netbox/dcim/forms/bulk_import.py:653 -#: netbox/dcim/forms/model_forms.py:647 netbox/dcim/forms/model_forms.py:897 +#: dcim/forms/bulk_edit.py:755 dcim/forms/bulk_import.py:653 +#: dcim/forms/model_forms.py:647 dcim/forms/model_forms.py:897 msgid "Module type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:809 netbox/dcim/forms/bulk_edit.py:994 -#: netbox/dcim/forms/bulk_edit.py:1013 netbox/dcim/forms/bulk_edit.py:1036 -#: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_edit.py:1122 -#: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 -#: netbox/dcim/forms/bulk_edit.py:1227 netbox/dcim/forms/bulk_edit.py:1245 -#: netbox/dcim/forms/bulk_edit.py:1263 netbox/dcim/forms/filtersets.py:67 -#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 -#: netbox/templates/dcim/consoleport.html:32 -#: netbox/templates/dcim/consoleserverport.html:32 -#: netbox/templates/dcim/devicebay.html:28 -#: netbox/templates/dcim/frontport.html:32 -#: netbox/templates/dcim/inc/panels/inventory_items.html:19 -#: netbox/templates/dcim/interface.html:42 -#: netbox/templates/dcim/inventoryitem.html:32 -#: netbox/templates/dcim/modulebay.html:34 -#: netbox/templates/dcim/poweroutlet.html:32 -#: netbox/templates/dcim/powerport.html:32 -#: netbox/templates/dcim/rearport.html:32 -#: netbox/templates/extras/customfield.html:26 -#: netbox/templates/generic/bulk_import.html:162 +#: dcim/forms/bulk_edit.py:809 dcim/forms/bulk_edit.py:994 +#: dcim/forms/bulk_edit.py:1013 dcim/forms/bulk_edit.py:1036 +#: dcim/forms/bulk_edit.py:1078 dcim/forms/bulk_edit.py:1122 +#: dcim/forms/bulk_edit.py:1173 dcim/forms/bulk_edit.py:1200 +#: dcim/forms/bulk_edit.py:1227 dcim/forms/bulk_edit.py:1245 +#: dcim/forms/bulk_edit.py:1263 dcim/forms/filtersets.py:67 +#: 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:34 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 "" -#: netbox/dcim/forms/bulk_edit.py:818 netbox/dcim/forms/filtersets.py:1068 -#: netbox/templates/dcim/cable.html:50 +#: dcim/forms/bulk_edit.py:818 dcim/forms/filtersets.py:1068 +#: templates/dcim/cable.html:50 msgid "Length" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:823 netbox/dcim/forms/bulk_import.py:1226 -#: netbox/dcim/forms/bulk_import.py:1229 netbox/dcim/forms/filtersets.py:1072 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1226 +#: dcim/forms/bulk_import.py:1229 dcim/forms/filtersets.py:1072 msgid "Length unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:847 -#: netbox/templates/dcim/virtualchassis.html:23 +#: dcim/forms/bulk_edit.py:847 templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:915 netbox/dcim/forms/bulk_import.py:1345 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/model_forms.py:750 +#: dcim/forms/bulk_edit.py:915 dcim/forms/bulk_import.py:1345 +#: dcim/forms/filtersets.py:1158 dcim/forms/model_forms.py:750 msgid "Power panel" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:937 netbox/dcim/forms/bulk_import.py:1381 -#: netbox/dcim/forms/filtersets.py:1180 netbox/templates/dcim/powerfeed.html:83 +#: dcim/forms/bulk_edit.py:937 dcim/forms/bulk_import.py:1381 +#: dcim/forms/filtersets.py:1180 templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:943 netbox/dcim/forms/bulk_import.py:1386 -#: netbox/dcim/forms/filtersets.py:1185 netbox/templates/dcim/powerfeed.html:95 +#: dcim/forms/bulk_edit.py:943 dcim/forms/bulk_import.py:1386 +#: dcim/forms/filtersets.py:1185 templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:949 netbox/dcim/forms/filtersets.py:1190 -#: netbox/templates/dcim/powerfeed.html:87 +#: dcim/forms/bulk_edit.py:949 dcim/forms/filtersets.py:1190 +#: templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:953 netbox/dcim/forms/filtersets.py:1194 -#: netbox/templates/dcim/powerfeed.html:91 +#: dcim/forms/bulk_edit.py:953 dcim/forms/filtersets.py:1194 +#: templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:957 netbox/dcim/forms/filtersets.py:1198 +#: dcim/forms/bulk_edit.py:957 dcim/forms/filtersets.py:1198 msgid "Max utilization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1046 +#: dcim/forms/bulk_edit.py:1046 msgid "Maximum draw" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1049 -#: netbox/dcim/models/device_component_templates.py:282 -#: netbox/dcim/models/device_components.py:356 +#: dcim/forms/bulk_edit.py:1049 dcim/models/device_component_templates.py:282 +#: dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1052 +#: dcim/forms/bulk_edit.py:1052 msgid "Allocated draw" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1055 -#: netbox/dcim/models/device_component_templates.py:289 -#: netbox/dcim/models/device_components.py:363 +#: dcim/forms/bulk_edit.py:1055 dcim/models/device_component_templates.py:289 +#: dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1088 netbox/dcim/forms/bulk_import.py:786 -#: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 +#: dcim/forms/bulk_edit.py:1088 dcim/forms/bulk_import.py:786 +#: dcim/forms/model_forms.py:953 dcim/forms/model_forms.py:1278 +#: dcim/forms/model_forms.py:1567 dcim/forms/object_import.py:55 msgid "Power port" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:793 +#: dcim/forms/bulk_edit.py:1093 dcim/forms/bulk_import.py:793 msgid "Feed leg" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1457 +#: dcim/forms/bulk_edit.py:1139 dcim/forms/bulk_edit.py:1457 msgid "Management only" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1149 netbox/dcim/forms/bulk_edit.py:1463 -#: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 -#: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:437 -#: netbox/dcim/models/device_components.py:670 +#: dcim/forms/bulk_edit.py:1149 dcim/forms/bulk_edit.py:1463 +#: dcim/forms/bulk_import.py:876 dcim/forms/filtersets.py:1394 +#: dcim/forms/object_import.py:90 dcim/models/device_component_templates.py:437 +#: dcim/models/device_components.py:670 msgid "PoE mode" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1155 netbox/dcim/forms/bulk_edit.py:1469 -#: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 -#: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:443 -#: netbox/dcim/models/device_components.py:676 +#: dcim/forms/bulk_edit.py:1155 dcim/forms/bulk_edit.py:1469 +#: dcim/forms/bulk_import.py:882 dcim/forms/filtersets.py:1399 +#: dcim/forms/object_import.py:95 dcim/models/device_component_templates.py:443 +#: dcim/models/device_components.py:676 msgid "PoE type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1161 netbox/dcim/forms/filtersets.py:1404 -#: netbox/dcim/forms/object_import.py:100 +#: dcim/forms/bulk_edit.py:1161 dcim/forms/filtersets.py:1404 +#: dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/model_forms.py:669 -#: netbox/dcim/forms/model_forms.py:1223 netbox/dcim/tables/devices.py:313 -#: netbox/templates/dcim/consoleport.html:24 -#: netbox/templates/dcim/consoleserverport.html:24 -#: netbox/templates/dcim/frontport.html:24 -#: netbox/templates/dcim/interface.html:34 netbox/templates/dcim/module.html:54 -#: netbox/templates/dcim/modulebay.html:26 -#: netbox/templates/dcim/modulebay.html:58 -#: netbox/templates/dcim/poweroutlet.html:24 -#: netbox/templates/dcim/powerport.html:24 -#: netbox/templates/dcim/rearport.html:24 +#: dcim/forms/bulk_edit.py:1298 dcim/forms/model_forms.py:669 +#: dcim/forms/model_forms.py:1223 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:54 templates/dcim/modulebay.html:26 +#: templates/dcim/modulebay.html:58 templates/dcim/poweroutlet.html:24 +#: templates/dcim/powerport.html:24 templates/dcim/rearport.html:24 msgid "Module" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1437 netbox/dcim/tables/devices.py:665 -#: netbox/templates/dcim/interface.html:110 +#: dcim/forms/bulk_edit.py:1437 dcim/tables/devices.py:665 +#: templates/dcim/interface.html:110 msgid "LAG" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1442 netbox/dcim/forms/model_forms.py:1305 +#: dcim/forms/bulk_edit.py:1442 dcim/forms/model_forms.py:1305 msgid "Virtual device contexts" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1448 netbox/dcim/forms/bulk_import.py:714 -#: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 -#: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:610 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:67 -#: netbox/templates/dcim/consoleport.html:40 -#: netbox/templates/dcim/consoleserverport.html:40 +#: dcim/forms/bulk_edit.py:1448 dcim/forms/bulk_import.py:714 +#: dcim/forms/bulk_import.py:740 dcim/forms/filtersets.py:1252 +#: dcim/forms/filtersets.py:1277 dcim/forms/filtersets.py:1358 +#: dcim/tables/devices.py:610 +#: templates/circuits/inc/circuit_termination_fields.html:67 +#: templates/dcim/consoleport.html:40 templates/dcim/consoleserverport.html:40 msgid "Speed" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1477 netbox/dcim/forms/bulk_import.py:885 -#: netbox/templates/vpn/ikepolicy.html:25 -#: netbox/templates/vpn/ipsecprofile.html:21 -#: netbox/templates/vpn/ipsecprofile.html:48 -#: netbox/virtualization/forms/bulk_edit.py:233 -#: netbox/virtualization/forms/bulk_import.py:165 -#: netbox/vpn/forms/bulk_edit.py:146 netbox/vpn/forms/bulk_edit.py:232 -#: netbox/vpn/forms/bulk_import.py:176 netbox/vpn/forms/bulk_import.py:234 -#: netbox/vpn/forms/filtersets.py:135 netbox/vpn/forms/filtersets.py:178 -#: netbox/vpn/forms/filtersets.py:192 netbox/vpn/tables/crypto.py:64 -#: netbox/vpn/tables/crypto.py:162 +#: dcim/forms/bulk_edit.py:1477 dcim/forms/bulk_import.py:885 +#: 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 "" -#: netbox/dcim/forms/bulk_edit.py:1485 netbox/dcim/forms/model_forms.py:1354 -#: netbox/ipam/forms/bulk_import.py:178 netbox/ipam/forms/filtersets.py:498 -#: netbox/ipam/models/vlans.py:84 netbox/virtualization/forms/bulk_edit.py:240 -#: netbox/virtualization/forms/model_forms.py:321 +#: dcim/forms/bulk_edit.py:1485 dcim/forms/model_forms.py:1354 +#: ipam/forms/bulk_import.py:178 ipam/forms/filtersets.py:498 +#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:240 +#: virtualization/forms/model_forms.py:321 msgid "VLAN group" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1494 netbox/dcim/forms/model_forms.py:1360 -#: netbox/dcim/tables/devices.py:579 -#: netbox/virtualization/forms/bulk_edit.py:248 -#: netbox/virtualization/forms/model_forms.py:326 +#: dcim/forms/bulk_edit.py:1494 dcim/forms/model_forms.py:1360 +#: dcim/tables/devices.py:579 virtualization/forms/bulk_edit.py:248 +#: virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1503 netbox/dcim/forms/model_forms.py:1369 -#: netbox/dcim/tables/devices.py:585 -#: netbox/virtualization/forms/bulk_edit.py:256 -#: netbox/virtualization/forms/model_forms.py:335 +#: dcim/forms/bulk_edit.py:1503 dcim/forms/model_forms.py:1369 +#: dcim/tables/devices.py:585 virtualization/forms/bulk_edit.py:256 +#: virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1506 +#: dcim/forms/bulk_edit.py:1506 msgid "Add tagged VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1515 +#: dcim/forms/bulk_edit.py:1515 msgid "Remove tagged VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1531 netbox/dcim/forms/model_forms.py:1341 +#: dcim/forms/bulk_edit.py:1531 dcim/forms/model_forms.py:1341 msgid "Wireless LAN group" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1536 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 -#: netbox/templates/dcim/interface.html:280 -#: netbox/wireless/tables/wirelesslan.py:24 +#: dcim/forms/bulk_edit.py:1536 dcim/forms/model_forms.py:1346 +#: dcim/tables/devices.py:619 netbox/navigation/menu.py:146 +#: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1545 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:286 -#: netbox/ipam/forms/bulk_edit.py:378 netbox/ipam/forms/filtersets.py:169 -#: netbox/templates/dcim/interface.html:122 -#: netbox/templates/ipam/prefix.html:95 -#: netbox/virtualization/forms/model_forms.py:349 +#: dcim/forms/bulk_edit.py:1545 dcim/forms/filtersets.py:1328 +#: dcim/forms/model_forms.py:1390 ipam/forms/bulk_edit.py:286 +#: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:169 +#: templates/dcim/interface.html:122 templates/ipam/prefix.html:95 +#: virtualization/forms/model_forms.py:349 msgid "Addressing" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1546 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1391 -#: netbox/virtualization/forms/model_forms.py:350 +#: dcim/forms/bulk_edit.py:1546 dcim/forms/filtersets.py:720 +#: dcim/forms/model_forms.py:1391 virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1547 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 +#: dcim/forms/bulk_edit.py:1547 dcim/forms/filtersets.py:1329 +#: dcim/forms/model_forms.py:987 dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/model_forms.py:1392 -#: netbox/templates/dcim/interface.html:99 -#: netbox/virtualization/forms/bulk_edit.py:267 -#: netbox/virtualization/forms/model_forms.py:351 +#: dcim/forms/bulk_edit.py:1548 dcim/forms/model_forms.py:1392 +#: templates/dcim/interface.html:99 virtualization/forms/bulk_edit.py:267 +#: virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1549 netbox/dcim/forms/model_forms.py:1394 -#: netbox/virtualization/forms/bulk_edit.py:268 -#: netbox/virtualization/forms/model_forms.py:352 +#: dcim/forms/bulk_edit.py:1549 dcim/forms/model_forms.py:1394 +#: virtualization/forms/bulk_edit.py:268 +#: virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1553 +#: dcim/forms/bulk_edit.py:1553 msgid "Add/Remove" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1612 netbox/dcim/forms/bulk_edit.py:1614 +#: dcim/forms/bulk_edit.py:1612 dcim/forms/bulk_edit.py:1614 msgid "Interface mode must be specified to assign VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1619 netbox/dcim/forms/common.py:50 +#: dcim/forms/bulk_edit.py:1619 dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." msgstr "" -#: netbox/dcim/forms/bulk_import.py:64 +#: dcim/forms/bulk_import.py:64 msgid "Name of parent region" msgstr "" -#: netbox/dcim/forms/bulk_import.py:78 +#: dcim/forms/bulk_import.py:78 msgid "Name of parent site group" msgstr "" -#: netbox/dcim/forms/bulk_import.py:97 +#: dcim/forms/bulk_import.py:97 msgid "Assigned region" msgstr "" -#: netbox/dcim/forms/bulk_import.py:104 netbox/tenancy/forms/bulk_import.py:44 -#: netbox/tenancy/forms/bulk_import.py:85 -#: netbox/wireless/forms/bulk_import.py:40 +#: dcim/forms/bulk_import.py:104 tenancy/forms/bulk_import.py:44 +#: tenancy/forms/bulk_import.py:85 wireless/forms/bulk_import.py:40 msgid "Assigned group" msgstr "" -#: netbox/dcim/forms/bulk_import.py:123 +#: dcim/forms/bulk_import.py:123 msgid "available options" msgstr "" -#: netbox/dcim/forms/bulk_import.py:134 netbox/dcim/forms/bulk_import.py:543 -#: netbox/dcim/forms/bulk_import.py:1342 netbox/ipam/forms/bulk_import.py:175 -#: netbox/ipam/forms/bulk_import.py:433 -#: netbox/virtualization/forms/bulk_import.py:63 -#: netbox/virtualization/forms/bulk_import.py:89 +#: dcim/forms/bulk_import.py:134 dcim/forms/bulk_import.py:543 +#: dcim/forms/bulk_import.py:1342 ipam/forms/bulk_import.py:175 +#: ipam/forms/bulk_import.py:433 virtualization/forms/bulk_import.py:63 +#: virtualization/forms/bulk_import.py:89 msgid "Assigned site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:141 +#: dcim/forms/bulk_import.py:141 msgid "Parent location" msgstr "" -#: netbox/dcim/forms/bulk_import.py:143 +#: dcim/forms/bulk_import.py:143 msgid "Location not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:185 +#: dcim/forms/bulk_import.py:185 msgid "The manufacturer of this rack type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:196 +#: dcim/forms/bulk_import.py:196 msgid "The lowest-numbered position in the rack" msgstr "" -#: netbox/dcim/forms/bulk_import.py:201 netbox/dcim/forms/bulk_import.py:268 +#: dcim/forms/bulk_import.py:201 dcim/forms/bulk_import.py:268 msgid "Rail-to-rail width (in inches)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:207 netbox/dcim/forms/bulk_import.py:274 +#: dcim/forms/bulk_import.py:207 dcim/forms/bulk_import.py:274 msgid "Unit for outer dimensions" msgstr "" -#: netbox/dcim/forms/bulk_import.py:213 netbox/dcim/forms/bulk_import.py:286 +#: dcim/forms/bulk_import.py:213 dcim/forms/bulk_import.py:286 msgid "Unit for rack weights" msgstr "" -#: netbox/dcim/forms/bulk_import.py:245 +#: dcim/forms/bulk_import.py:245 msgid "Name of assigned tenant" msgstr "" -#: netbox/dcim/forms/bulk_import.py:257 +#: dcim/forms/bulk_import.py:257 msgid "Name of assigned role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:280 netbox/dcim/forms/bulk_import.py:413 -#: netbox/dcim/forms/bulk_import.py:583 +#: dcim/forms/bulk_import.py:280 dcim/forms/bulk_import.py:413 +#: dcim/forms/bulk_import.py:583 msgid "Airflow direction" msgstr "" -#: netbox/dcim/forms/bulk_import.py:312 +#: dcim/forms/bulk_import.py:312 msgid "Parent site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:319 netbox/dcim/forms/bulk_import.py:1355 +#: dcim/forms/bulk_import.py:319 dcim/forms/bulk_import.py:1355 msgid "Rack's location (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:328 netbox/dcim/forms/model_forms.py:311 -#: netbox/dcim/tables/racks.py:222 -#: netbox/templates/dcim/rackreservation.html:12 -#: netbox/templates/dcim/rackreservation.html:45 +#: dcim/forms/bulk_import.py:328 dcim/forms/model_forms.py:311 +#: dcim/tables/racks.py:222 templates/dcim/rackreservation.html:12 +#: templates/dcim/rackreservation.html:45 msgid "Units" msgstr "" -#: netbox/dcim/forms/bulk_import.py:331 +#: dcim/forms/bulk_import.py:331 msgid "Comma-separated list of individual unit numbers" msgstr "" -#: netbox/dcim/forms/bulk_import.py:374 +#: dcim/forms/bulk_import.py:374 msgid "The manufacturer which produces this device type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:381 +#: dcim/forms/bulk_import.py:381 msgid "The default platform for devices of this type (optional)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:386 +#: dcim/forms/bulk_import.py:386 msgid "Device weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:392 +#: dcim/forms/bulk_import.py:392 msgid "Unit for device weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:418 +#: dcim/forms/bulk_import.py:418 msgid "Module weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:424 +#: dcim/forms/bulk_import.py:424 msgid "Unit for module weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:454 +#: dcim/forms/bulk_import.py:454 msgid "Limit platform assignments to this manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_import.py:476 netbox/dcim/forms/bulk_import.py:1425 -#: netbox/tenancy/forms/bulk_import.py:106 +#: dcim/forms/bulk_import.py:476 dcim/forms/bulk_import.py:1425 +#: tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:489 +#: dcim/forms/bulk_import.py:489 msgid "Device type manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_import.py:495 +#: dcim/forms/bulk_import.py:495 msgid "Device type model" msgstr "" -#: netbox/dcim/forms/bulk_import.py:502 -#: netbox/virtualization/forms/bulk_import.py:126 +#: dcim/forms/bulk_import.py:502 virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "" -#: netbox/dcim/forms/bulk_import.py:510 netbox/dcim/forms/bulk_import.py:514 -#: netbox/dcim/forms/model_forms.py:536 +#: dcim/forms/bulk_import.py:510 dcim/forms/bulk_import.py:514 +#: dcim/forms/model_forms.py:536 msgid "Virtual chassis" msgstr "" -#: netbox/dcim/forms/bulk_import.py:521 +#: dcim/forms/bulk_import.py:521 msgid "Virtualization cluster" msgstr "" -#: netbox/dcim/forms/bulk_import.py:550 +#: dcim/forms/bulk_import.py:550 msgid "Assigned location (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:557 +#: dcim/forms/bulk_import.py:557 msgid "Assigned rack (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:560 +#: dcim/forms/bulk_import.py:560 msgid "Face" msgstr "" -#: netbox/dcim/forms/bulk_import.py:563 +#: dcim/forms/bulk_import.py:563 msgid "Mounted rack face" msgstr "" -#: netbox/dcim/forms/bulk_import.py:570 +#: dcim/forms/bulk_import.py:570 msgid "Parent device (for child devices)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:573 +#: dcim/forms/bulk_import.py:573 msgid "Device bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:577 +#: dcim/forms/bulk_import.py:577 msgid "Device bay in which this device is installed (for child devices)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:644 +#: dcim/forms/bulk_import.py:644 msgid "The device in which this module is installed" msgstr "" -#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/model_forms.py:640 +#: dcim/forms/bulk_import.py:647 dcim/forms/model_forms.py:640 msgid "Module bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:650 +#: dcim/forms/bulk_import.py:650 msgid "The module bay in which this module is installed" msgstr "" -#: netbox/dcim/forms/bulk_import.py:656 +#: dcim/forms/bulk_import.py:656 msgid "The type of module" msgstr "" -#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/model_forms.py:656 +#: dcim/forms/bulk_import.py:664 dcim/forms/model_forms.py:656 msgid "Replicate components" msgstr "" -#: netbox/dcim/forms/bulk_import.py:666 +#: dcim/forms/bulk_import.py:666 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:669 netbox/dcim/forms/model_forms.py:662 +#: dcim/forms/bulk_import.py:669 dcim/forms/model_forms.py:662 msgid "Adopt components" msgstr "" -#: netbox/dcim/forms/bulk_import.py:671 netbox/dcim/forms/model_forms.py:665 +#: dcim/forms/bulk_import.py:671 dcim/forms/model_forms.py:665 msgid "Adopt already existing components" msgstr "" -#: netbox/dcim/forms/bulk_import.py:711 netbox/dcim/forms/bulk_import.py:737 -#: netbox/dcim/forms/bulk_import.py:763 +#: dcim/forms/bulk_import.py:711 dcim/forms/bulk_import.py:737 +#: dcim/forms/bulk_import.py:763 msgid "Port type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:719 netbox/dcim/forms/bulk_import.py:745 +#: dcim/forms/bulk_import.py:719 dcim/forms/bulk_import.py:745 msgid "Port speed in bps" msgstr "" -#: netbox/dcim/forms/bulk_import.py:783 +#: dcim/forms/bulk_import.py:783 msgid "Outlet type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:790 +#: dcim/forms/bulk_import.py:790 msgid "Local power port which feeds this outlet" msgstr "" -#: netbox/dcim/forms/bulk_import.py:796 +#: dcim/forms/bulk_import.py:796 msgid "Electrical phase (for three-phase circuits)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:837 netbox/dcim/forms/model_forms.py:1316 -#: netbox/virtualization/forms/bulk_import.py:155 -#: netbox/virtualization/forms/model_forms.py:305 +#: dcim/forms/bulk_import.py:837 dcim/forms/model_forms.py:1316 +#: virtualization/forms/bulk_import.py:155 +#: virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:844 netbox/dcim/forms/model_forms.py:1324 -#: netbox/virtualization/forms/bulk_import.py:162 -#: netbox/virtualization/forms/model_forms.py:313 +#: dcim/forms/bulk_import.py:844 dcim/forms/model_forms.py:1324 +#: virtualization/forms/bulk_import.py:162 +#: virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:847 +#: dcim/forms/bulk_import.py:847 msgid "Lag" msgstr "" -#: netbox/dcim/forms/bulk_import.py:851 +#: dcim/forms/bulk_import.py:851 msgid "Parent LAG interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:854 +#: dcim/forms/bulk_import.py:854 msgid "Vdcs" msgstr "" -#: netbox/dcim/forms/bulk_import.py:859 +#: dcim/forms/bulk_import.py:859 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" -#: netbox/dcim/forms/bulk_import.py:865 +#: dcim/forms/bulk_import.py:865 msgid "Physical medium" msgstr "" -#: netbox/dcim/forms/bulk_import.py:868 netbox/dcim/forms/filtersets.py:1365 +#: dcim/forms/bulk_import.py:868 dcim/forms/filtersets.py:1365 msgid "Duplex" msgstr "" -#: netbox/dcim/forms/bulk_import.py:873 +#: dcim/forms/bulk_import.py:873 msgid "Poe mode" msgstr "" -#: netbox/dcim/forms/bulk_import.py:879 +#: dcim/forms/bulk_import.py:879 msgid "Poe type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:888 -#: netbox/virtualization/forms/bulk_import.py:168 +#: dcim/forms/bulk_import.py:888 virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:895 netbox/ipam/forms/bulk_import.py:161 -#: netbox/ipam/forms/bulk_import.py:247 netbox/ipam/forms/bulk_import.py:283 -#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 -#: netbox/ipam/forms/filtersets.py:336 -#: netbox/virtualization/forms/bulk_import.py:175 +#: dcim/forms/bulk_import.py:895 ipam/forms/bulk_import.py:161 +#: ipam/forms/bulk_import.py:247 ipam/forms/bulk_import.py:283 +#: ipam/forms/filtersets.py:201 ipam/forms/filtersets.py:277 +#: ipam/forms/filtersets.py:336 virtualization/forms/bulk_import.py:175 msgid "Assigned VRF" msgstr "" -#: netbox/dcim/forms/bulk_import.py:898 +#: dcim/forms/bulk_import.py:898 msgid "Rf role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:901 +#: dcim/forms/bulk_import.py:901 msgid "Wireless role (AP/station)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:937 +#: dcim/forms/bulk_import.py:937 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1575 netbox/dcim/forms/object_import.py:117 +#: dcim/forms/bulk_import.py:951 dcim/forms/model_forms.py:1000 +#: dcim/forms/model_forms.py:1575 dcim/forms/object_import.py:117 msgid "Rear port" msgstr "" -#: netbox/dcim/forms/bulk_import.py:954 +#: dcim/forms/bulk_import.py:954 msgid "Corresponding rear port" msgstr "" -#: netbox/dcim/forms/bulk_import.py:959 netbox/dcim/forms/bulk_import.py:1000 -#: netbox/dcim/forms/bulk_import.py:1216 +#: dcim/forms/bulk_import.py:959 dcim/forms/bulk_import.py:1000 +#: dcim/forms/bulk_import.py:1216 msgid "Physical medium classification" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 +#: dcim/forms/bulk_import.py:1028 dcim/tables/devices.py:822 msgid "Installed device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1032 +#: dcim/forms/bulk_import.py:1032 msgid "Child device installed within this bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1034 +#: dcim/forms/bulk_import.py:1034 msgid "Child device not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1092 +#: dcim/forms/bulk_import.py:1092 msgid "Parent inventory item" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1095 +#: dcim/forms/bulk_import.py:1095 msgid "Component type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1099 +#: dcim/forms/bulk_import.py:1099 msgid "Component Type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1102 +#: dcim/forms/bulk_import.py:1102 msgid "Compnent name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1104 +#: dcim/forms/bulk_import.py:1104 msgid "Component Name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1146 +#: dcim/forms/bulk_import.py:1146 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1171 +#: dcim/forms/bulk_import.py:1171 msgid "Side A device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1174 netbox/dcim/forms/bulk_import.py:1192 +#: dcim/forms/bulk_import.py:1174 dcim/forms/bulk_import.py:1192 msgid "Device name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1177 +#: dcim/forms/bulk_import.py:1177 msgid "Side A type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1180 netbox/dcim/forms/bulk_import.py:1198 +#: dcim/forms/bulk_import.py:1180 dcim/forms/bulk_import.py:1198 msgid "Termination type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1183 +#: dcim/forms/bulk_import.py:1183 msgid "Side A name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1184 netbox/dcim/forms/bulk_import.py:1202 +#: dcim/forms/bulk_import.py:1184 dcim/forms/bulk_import.py:1202 msgid "Termination name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1189 +#: dcim/forms/bulk_import.py:1189 msgid "Side B device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1195 +#: dcim/forms/bulk_import.py:1195 msgid "Side B type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1201 +#: dcim/forms/bulk_import.py:1201 msgid "Side B name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1210 -#: netbox/wireless/forms/bulk_import.py:86 +#: dcim/forms/bulk_import.py:1210 wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1262 +#: dcim/forms/bulk_import.py:1262 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1268 +#: dcim/forms/bulk_import.py:1268 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 -#: netbox/templates/dcim/virtualchassis.html:27 -#: netbox/templates/dcim/virtualchassis.html:67 +#: dcim/forms/bulk_import.py:1293 dcim/forms/model_forms.py:785 +#: dcim/tables/devices.py:1027 templates/dcim/device.html:132 +#: templates/dcim/virtualchassis.html:27 templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1297 +#: dcim/forms/bulk_import.py:1297 msgid "Master device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1314 +#: dcim/forms/bulk_import.py:1314 msgid "Name of parent site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1348 +#: dcim/forms/bulk_import.py:1348 msgid "Upstream power panel" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1378 +#: dcim/forms/bulk_import.py:1378 msgid "Primary or redundant" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1383 +#: dcim/forms/bulk_import.py:1383 msgid "Supply type (AC/DC)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1388 +#: dcim/forms/bulk_import.py:1388 msgid "Single or three-phase" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 -#: netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 +#: dcim/forms/bulk_import.py:1439 dcim/forms/model_forms.py:1670 +#: templates/dcim/device.html:190 templates/dcim/virtualdevicecontext.html:30 +#: templates/virtualization/virtualmachine.html:52 msgid "Primary IPv4" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1443 +#: dcim/forms/bulk_import.py:1443 msgid "IPv4 address with mask, e.g. 1.2.3.4/24" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 -#: netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 +#: dcim/forms/bulk_import.py:1446 dcim/forms/model_forms.py:1679 +#: templates/dcim/device.html:206 templates/dcim/virtualdevicecontext.html:41 +#: templates/virtualization/virtualmachine.html:68 msgid "Primary IPv6" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1450 +#: dcim/forms/bulk_import.py:1450 msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 -#: netbox/templates/dcim/interface.html:57 -#: netbox/templates/virtualization/vminterface.html:55 -#: netbox/virtualization/forms/bulk_edit.py:225 +#: dcim/forms/common.py:24 dcim/models/device_components.py:527 +#: templates/dcim/interface.html:57 +#: templates/virtualization/vminterface.html:55 +#: virtualization/forms/bulk_edit.py:225 msgid "MTU" msgstr "" -#: netbox/dcim/forms/common.py:65 +#: dcim/forms/common.py:65 #, python-brace-format msgid "" "The tagged VLANs ({vlans}) must belong to the same site as the interface's " "parent device/VM, or they must be global" msgstr "" -#: netbox/dcim/forms/common.py:126 +#: dcim/forms/common.py:126 msgid "" "Cannot install module with placeholder values in a module bay with no " "position defined." msgstr "" -#: netbox/dcim/forms/common.py:131 +#: dcim/forms/common.py:131 #, python-brace-format msgid "" "Cannot install module with placeholder values in a module bay tree {level} " "in tree but {tokens} placeholders given." msgstr "" -#: netbox/dcim/forms/common.py:144 +#: dcim/forms/common.py:144 #, python-brace-format msgid "Cannot adopt {model} {name} as it already belongs to a module" msgstr "" -#: netbox/dcim/forms/common.py:153 +#: dcim/forms/common.py:153 #, python-brace-format msgid "A {model} named {name} already exists" msgstr "" -#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:738 -#: netbox/dcim/tables/power.py:66 -#: netbox/templates/dcim/inc/cable_termination.html:37 -#: netbox/templates/dcim/powerfeed.html:24 -#: netbox/templates/dcim/powerpanel.html:19 -#: netbox/templates/dcim/trace/powerpanel.html:4 +#: dcim/forms/connections.py:49 dcim/forms/model_forms.py:738 +#: 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 "" -#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:765 -#: netbox/templates/dcim/powerfeed.html:21 -#: netbox/templates/dcim/powerport.html:80 +#: dcim/forms/connections.py:58 dcim/forms/model_forms.py:765 +#: templates/dcim/powerfeed.html:21 templates/dcim/powerport.html:80 msgid "Power Feed" msgstr "" -#: netbox/dcim/forms/connections.py:81 +#: dcim/forms/connections.py:81 msgid "Side" msgstr "" -#: netbox/dcim/forms/filtersets.py:136 netbox/dcim/tables/devices.py:295 +#: dcim/forms/filtersets.py:136 dcim/tables/devices.py:295 msgid "Device Status" msgstr "" -#: netbox/dcim/forms/filtersets.py:149 +#: dcim/forms/filtersets.py:149 msgid "Parent region" msgstr "" -#: netbox/dcim/forms/filtersets.py:163 netbox/tenancy/forms/bulk_import.py:28 -#: netbox/tenancy/forms/bulk_import.py:62 netbox/tenancy/forms/filtersets.py:33 -#: netbox/tenancy/forms/filtersets.py:62 -#: netbox/wireless/forms/bulk_import.py:25 -#: netbox/wireless/forms/filtersets.py:25 +#: dcim/forms/filtersets.py:163 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 "" -#: netbox/dcim/forms/filtersets.py:242 netbox/templates/dcim/location.html:58 -#: netbox/templates/dcim/site.html:56 +#: dcim/forms/filtersets.py:242 templates/dcim/location.html:58 +#: templates/dcim/site.html:56 msgid "Facility" msgstr "" -#: netbox/dcim/forms/filtersets.py:380 +#: dcim/forms/filtersets.py:380 msgid "Rack type" msgstr "" -#: netbox/dcim/forms/filtersets.py:397 +#: dcim/forms/filtersets.py:397 msgid "Function" msgstr "" -#: netbox/dcim/forms/filtersets.py:483 netbox/dcim/forms/model_forms.py:373 -#: netbox/templates/inc/panels/image_attachments.html:6 +#: dcim/forms/filtersets.py:483 dcim/forms/model_forms.py:373 +#: templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "" -#: netbox/dcim/forms/filtersets.py:486 netbox/dcim/forms/filtersets.py:611 -#: netbox/dcim/forms/filtersets.py:726 +#: dcim/forms/filtersets.py:486 dcim/forms/filtersets.py:611 +#: dcim/forms/filtersets.py:726 msgid "Components" msgstr "" -#: netbox/dcim/forms/filtersets.py:506 +#: dcim/forms/filtersets.py:506 msgid "Subdevice role" msgstr "" -#: netbox/dcim/forms/filtersets.py:790 netbox/dcim/tables/racks.py:54 -#: netbox/templates/dcim/racktype.html:20 +#: dcim/forms/filtersets.py:790 dcim/tables/racks.py:54 +#: templates/dcim/racktype.html:20 msgid "Model" msgstr "" -#: netbox/dcim/forms/filtersets.py:834 +#: dcim/forms/filtersets.py:834 msgid "Has an OOB IP" msgstr "" -#: netbox/dcim/forms/filtersets.py:841 +#: dcim/forms/filtersets.py:841 msgid "Virtual chassis member" msgstr "" -#: netbox/dcim/forms/filtersets.py:890 +#: dcim/forms/filtersets.py:890 msgid "Has virtual device contexts" msgstr "" -#: netbox/dcim/forms/filtersets.py:903 netbox/extras/filtersets.py:585 -#: netbox/ipam/forms/filtersets.py:452 -#: netbox/virtualization/forms/filtersets.py:112 +#: dcim/forms/filtersets.py:903 extras/filtersets.py:585 +#: ipam/forms/filtersets.py:452 virtualization/forms/filtersets.py:112 msgid "Cluster group" msgstr "" -#: netbox/dcim/forms/filtersets.py:1210 +#: dcim/forms/filtersets.py:1210 msgid "Cabled" msgstr "" -#: netbox/dcim/forms/filtersets.py:1217 +#: dcim/forms/filtersets.py:1217 msgid "Occupied" msgstr "" -#: netbox/dcim/forms/filtersets.py:1244 netbox/dcim/forms/filtersets.py:1269 -#: netbox/dcim/forms/filtersets.py:1293 netbox/dcim/forms/filtersets.py:1313 -#: netbox/dcim/forms/filtersets.py:1336 netbox/dcim/tables/devices.py:364 -#: netbox/templates/dcim/consoleport.html:55 -#: netbox/templates/dcim/consoleserverport.html:55 -#: netbox/templates/dcim/frontport.html:69 -#: netbox/templates/dcim/interface.html:140 -#: netbox/templates/dcim/powerfeed.html:110 -#: netbox/templates/dcim/poweroutlet.html:59 -#: netbox/templates/dcim/powerport.html:59 -#: netbox/templates/dcim/rearport.html:65 +#: dcim/forms/filtersets.py:1244 dcim/forms/filtersets.py:1269 +#: dcim/forms/filtersets.py:1293 dcim/forms/filtersets.py:1313 +#: dcim/forms/filtersets.py:1336 dcim/tables/devices.py:364 +#: 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 "" -#: netbox/dcim/forms/filtersets.py:1348 netbox/extras/forms/bulk_edit.py:326 -#: netbox/extras/forms/bulk_import.py:247 netbox/extras/forms/filtersets.py:464 -#: netbox/extras/forms/model_forms.py:675 netbox/extras/tables/tables.py:579 -#: netbox/templates/extras/journalentry.html:30 +#: dcim/forms/filtersets.py:1348 extras/forms/bulk_edit.py:326 +#: extras/forms/bulk_import.py:247 extras/forms/filtersets.py:464 +#: extras/forms/model_forms.py:675 extras/tables/tables.py:579 +#: templates/extras/journalentry.html:30 msgid "Kind" msgstr "" -#: netbox/dcim/forms/filtersets.py:1377 +#: dcim/forms/filtersets.py:1377 msgid "Mgmt only" msgstr "" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:629 -#: netbox/templates/dcim/interface.html:129 +#: dcim/forms/filtersets.py:1389 dcim/forms/model_forms.py:1383 +#: dcim/models/device_components.py:629 templates/dcim/interface.html:129 msgid "WWN" msgstr "" -#: netbox/dcim/forms/filtersets.py:1409 +#: dcim/forms/filtersets.py:1409 msgid "Wireless channel" msgstr "" -#: netbox/dcim/forms/filtersets.py:1413 +#: dcim/forms/filtersets.py:1413 msgid "Channel frequency (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1417 +#: dcim/forms/filtersets.py:1417 msgid "Channel width (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1421 netbox/templates/dcim/interface.html:85 +#: dcim/forms/filtersets.py:1421 templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1446 netbox/dcim/forms/filtersets.py:1471 -#: netbox/dcim/tables/devices.py:327 netbox/templates/dcim/cable.html:12 -#: netbox/templates/dcim/cable_trace.html:46 -#: netbox/templates/dcim/frontport.html:77 -#: netbox/templates/dcim/htmx/cable_edit.html:50 -#: netbox/templates/dcim/inc/connection_endpoints.html:4 -#: netbox/templates/dcim/rearport.html:73 -#: netbox/templates/dcim/trace/cable.html:7 +#: dcim/forms/filtersets.py:1446 dcim/forms/filtersets.py:1471 +#: dcim/tables/devices.py:327 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:73 templates/dcim/trace/cable.html:7 msgid "Cable" msgstr "" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 +#: dcim/forms/filtersets.py:1550 dcim/tables/devices.py:949 msgid "Discovered" msgstr "" -#: netbox/dcim/forms/formsets.py:20 +#: dcim/forms/formsets.py:20 #, python-brace-format msgid "A virtual chassis member already exists in position {vc_position}." msgstr "" -#: netbox/dcim/forms/model_forms.py:140 +#: dcim/forms/model_forms.py:140 msgid "Contact Info" msgstr "" -#: netbox/dcim/forms/model_forms.py:195 netbox/templates/dcim/rackrole.html:19 +#: dcim/forms/model_forms.py:195 templates/dcim/rackrole.html:19 msgid "Rack Role" msgstr "" -#: netbox/dcim/forms/model_forms.py:212 netbox/dcim/forms/model_forms.py:362 -#: netbox/dcim/forms/model_forms.py:446 -#: netbox/utilities/forms/fields/fields.py:47 +#: dcim/forms/model_forms.py:212 dcim/forms/model_forms.py:362 +#: dcim/forms/model_forms.py:446 utilities/forms/fields/fields.py:47 msgid "Slug" msgstr "" -#: netbox/dcim/forms/model_forms.py:259 +#: dcim/forms/model_forms.py:259 msgid "Select a pre-defined rack type, or set physical characteristics below." msgstr "" -#: netbox/dcim/forms/model_forms.py:265 +#: dcim/forms/model_forms.py:265 msgid "Inventory Control" msgstr "" -#: netbox/dcim/forms/model_forms.py:313 +#: dcim/forms/model_forms.py:313 msgid "" "Comma-separated list of numeric unit IDs. A range may be specified using a " "hyphen." msgstr "" -#: netbox/dcim/forms/model_forms.py:322 netbox/dcim/tables/racks.py:202 +#: dcim/forms/model_forms.py:322 dcim/tables/racks.py:202 msgid "Reservation" msgstr "" -#: netbox/dcim/forms/model_forms.py:423 -#: netbox/templates/dcim/devicerole.html:23 +#: dcim/forms/model_forms.py:423 templates/dcim/devicerole.html:23 msgid "Device Role" msgstr "" -#: netbox/dcim/forms/model_forms.py:490 netbox/dcim/models/devices.py:644 +#: dcim/forms/model_forms.py:490 dcim/models/devices.py:644 msgid "The lowest-numbered unit occupied by the device" msgstr "" -#: netbox/dcim/forms/model_forms.py:547 +#: dcim/forms/model_forms.py:547 msgid "The position in the virtual chassis this device is identified by" msgstr "" -#: netbox/dcim/forms/model_forms.py:552 +#: dcim/forms/model_forms.py:552 msgid "The priority of the device in the virtual chassis" msgstr "" -#: netbox/dcim/forms/model_forms.py:659 +#: dcim/forms/model_forms.py:659 msgid "Automatically populate components associated with this module type" msgstr "" -#: netbox/dcim/forms/model_forms.py:767 +#: dcim/forms/model_forms.py:767 msgid "Characteristics" msgstr "" -#: netbox/dcim/forms/model_forms.py:1087 +#: dcim/forms/model_forms.py:1087 msgid "Console port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1095 +#: dcim/forms/model_forms.py:1095 msgid "Console server port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1103 +#: dcim/forms/model_forms.py:1103 msgid "Front port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1111 +#: dcim/forms/model_forms.py:1111 msgid "Interface template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1119 +#: dcim/forms/model_forms.py:1119 msgid "Power outlet template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1127 +#: dcim/forms/model_forms.py:1127 msgid "Power port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1135 +#: dcim/forms/model_forms.py:1135 msgid "Rear port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 -#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 -#: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 -#: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 -#: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 -#: netbox/ipam/tables/vlans.py:169 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:51 -#: netbox/templates/dcim/frontport.html:106 -#: netbox/templates/dcim/interface.html:27 -#: netbox/templates/dcim/interface.html:184 -#: netbox/templates/dcim/interface.html:310 -#: netbox/templates/dcim/rearport.html:102 -#: netbox/templates/virtualization/vminterface.html:18 -#: netbox/templates/vpn/tunneltermination.html:31 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:10 -#: netbox/templates/wireless/wirelesslink.html:10 -#: netbox/templates/wireless/wirelesslink.html:55 -#: netbox/virtualization/forms/model_forms.py:348 -#: netbox/vpn/forms/bulk_import.py:297 netbox/vpn/forms/model_forms.py:436 -#: netbox/vpn/forms/model_forms.py:445 netbox/wireless/forms/model_forms.py:113 -#: netbox/wireless/forms/model_forms.py:155 +#: dcim/forms/model_forms.py:1144 dcim/forms/model_forms.py:1388 +#: dcim/forms/model_forms.py:1551 dcim/forms/model_forms.py:1583 +#: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:318 +#: ipam/forms/model_forms.py:280 ipam/forms/model_forms.py:289 +#: ipam/tables/fhrp.py:64 ipam/tables/ip.py:372 ipam/tables/vlans.py:169 +#: templates/circuits/inc/circuit_termination_fields.html:51 +#: 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:55 +#: 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:113 wireless/forms/model_forms.py:155 msgid "Interface" msgstr "" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 -#: netbox/dcim/tables/connections.py:27 -#: netbox/templates/dcim/consoleport.html:17 -#: netbox/templates/dcim/consoleserverport.html:74 -#: netbox/templates/dcim/frontport.html:112 +#: dcim/forms/model_forms.py:1145 dcim/forms/model_forms.py:1584 +#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:17 +#: templates/dcim/consoleserverport.html:74 templates/dcim/frontport.html:112 msgid "Console Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 -#: netbox/templates/dcim/consoleport.html:73 -#: netbox/templates/dcim/consoleserverport.html:17 -#: netbox/templates/dcim/frontport.html:109 +#: dcim/forms/model_forms.py:1146 dcim/forms/model_forms.py:1585 +#: templates/dcim/consoleport.html:73 templates/dcim/consoleserverport.html:17 +#: templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:52 -#: netbox/templates/dcim/consoleport.html:76 -#: netbox/templates/dcim/consoleserverport.html:77 -#: netbox/templates/dcim/frontport.html:17 -#: netbox/templates/dcim/frontport.html:115 -#: netbox/templates/dcim/interface.html:187 -#: netbox/templates/dcim/rearport.html:105 +#: dcim/forms/model_forms.py:1147 dcim/forms/model_forms.py:1586 +#: templates/circuits/inc/circuit_termination_fields.html:52 +#: 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 "" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:710 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:53 -#: netbox/templates/dcim/consoleport.html:79 -#: netbox/templates/dcim/consoleserverport.html:80 -#: netbox/templates/dcim/frontport.html:50 -#: netbox/templates/dcim/frontport.html:118 -#: netbox/templates/dcim/interface.html:190 -#: netbox/templates/dcim/rearport.html:17 -#: netbox/templates/dcim/rearport.html:108 +#: dcim/forms/model_forms.py:1148 dcim/forms/model_forms.py:1587 +#: dcim/tables/devices.py:710 +#: templates/circuits/inc/circuit_termination_fields.html:53 +#: 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 "" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 -#: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 -#: netbox/templates/dcim/poweroutlet.html:44 -#: netbox/templates/dcim/powerport.html:17 +#: dcim/forms/model_forms.py:1149 dcim/forms/model_forms.py:1588 +#: dcim/tables/connections.py:46 dcim/tables/devices.py:512 +#: templates/dcim/poweroutlet.html:44 templates/dcim/powerport.html:17 msgid "Power Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 -#: netbox/templates/dcim/poweroutlet.html:17 -#: netbox/templates/dcim/powerport.html:77 +#: dcim/forms/model_forms.py:1150 dcim/forms/model_forms.py:1589 +#: templates/dcim/poweroutlet.html:17 templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 +#: dcim/forms/model_forms.py:1152 dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 +#: dcim/forms/model_forms.py:1195 dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "" -#: netbox/dcim/forms/model_forms.py:1332 +#: dcim/forms/model_forms.py:1332 msgid "LAG interface" msgstr "" -#: netbox/dcim/forms/model_forms.py:1355 +#: dcim/forms/model_forms.py:1355 msgid "Filter VLANs available for assignment by group." msgstr "" -#: netbox/dcim/forms/model_forms.py:1484 +#: dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "" -#: netbox/dcim/forms/model_forms.py:1485 +#: dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the " "parent device." msgstr "" -#: netbox/dcim/forms/model_forms.py:1527 +#: dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1535 +#: dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1543 +#: dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1559 +#: dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "" -#: netbox/dcim/forms/model_forms.py:1579 -#: netbox/templates/dcim/inventoryitem.html:17 +#: dcim/forms/model_forms.py:1579 templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "" -#: netbox/dcim/forms/model_forms.py:1652 -#: netbox/templates/dcim/inventoryitemrole.html:15 +#: dcim/forms/model_forms.py:1652 templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "" -#: netbox/dcim/forms/object_create.py:48 netbox/dcim/forms/object_create.py:199 -#: netbox/dcim/forms/object_create.py:355 +#: 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.)" msgstr "" -#: netbox/dcim/forms/object_create.py:68 +#: dcim/forms/object_create.py:68 #, python-brace-format msgid "" "The provided pattern specifies {value_count} values, but {pattern_count} are " "expected." msgstr "" -#: netbox/dcim/forms/object_create.py:110 -#: netbox/dcim/forms/object_create.py:271 netbox/dcim/tables/devices.py:252 +#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271 +#: dcim/tables/devices.py:252 msgid "Rear ports" msgstr "" -#: netbox/dcim/forms/object_create.py:111 -#: netbox/dcim/forms/object_create.py:272 +#: 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 "" -#: netbox/dcim/forms/object_create.py:164 +#: dcim/forms/object_create.py:164 #, python-brace-format msgid "" "The number of front port templates to be created ({frontport_count}) must " "match the selected number of rear port positions ({rearport_count})." msgstr "" -#: netbox/dcim/forms/object_create.py:251 +#: dcim/forms/object_create.py:251 #, python-brace-format msgid "" "The string {module} will be replaced with the position of the " "assigned module, if any." msgstr "" -#: netbox/dcim/forms/object_create.py:320 +#: dcim/forms/object_create.py:320 #, python-brace-format msgid "" "The number of front ports to be created ({frontport_count}) must match the " "selected number of rear port positions ({rearport_count})." msgstr "" -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 -#: netbox/ipam/tables/fhrp.py:31 netbox/templates/dcim/virtualchassis.html:53 -#: netbox/templates/dcim/virtualchassis_edit.html:47 -#: netbox/templates/ipam/fhrpgroup.html:38 +#: dcim/forms/object_create.py:409 dcim/tables/devices.py:1033 +#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:53 +#: templates/dcim/virtualchassis_edit.html:47 templates/ipam/fhrpgroup.html:38 msgid "Members" msgstr "" -#: netbox/dcim/forms/object_create.py:418 +#: dcim/forms/object_create.py:418 msgid "Initial position" msgstr "" -#: netbox/dcim/forms/object_create.py:421 +#: dcim/forms/object_create.py:421 msgid "" "Position of the first member device. Increases by one for each additional " "member." msgstr "" -#: netbox/dcim/forms/object_create.py:435 +#: dcim/forms/object_create.py:435 msgid "A position must be specified for the first VC member." msgstr "" -#: netbox/dcim/models/cables.py:62 -#: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:62 -#: netbox/extras/models/customfields.py:111 +#: dcim/models/cables.py:62 dcim/models/device_component_templates.py:55 +#: dcim/models/device_components.py:62 extras/models/customfields.py:111 msgid "label" msgstr "" -#: netbox/dcim/models/cables.py:71 +#: dcim/models/cables.py:71 msgid "length" msgstr "" -#: netbox/dcim/models/cables.py:78 +#: dcim/models/cables.py:78 msgid "length unit" msgstr "" -#: netbox/dcim/models/cables.py:95 +#: dcim/models/cables.py:95 msgid "cable" msgstr "" -#: netbox/dcim/models/cables.py:96 +#: dcim/models/cables.py:96 msgid "cables" msgstr "" -#: netbox/dcim/models/cables.py:165 +#: dcim/models/cables.py:165 msgid "Must specify a unit when setting a cable length" msgstr "" -#: netbox/dcim/models/cables.py:168 +#: dcim/models/cables.py:168 msgid "Must define A and B terminations when creating a new cable." msgstr "" -#: netbox/dcim/models/cables.py:175 +#: dcim/models/cables.py:175 msgid "Cannot connect different termination types to same end of cable." msgstr "" -#: netbox/dcim/models/cables.py:183 +#: dcim/models/cables.py:183 #, python-brace-format msgid "Incompatible termination types: {type_a} and {type_b}" msgstr "" -#: netbox/dcim/models/cables.py:193 +#: dcim/models/cables.py:193 msgid "A and B terminations cannot connect to the same object." msgstr "" -#: netbox/dcim/models/cables.py:260 netbox/ipam/models/asns.py:37 +#: dcim/models/cables.py:260 ipam/models/asns.py:37 msgid "end" msgstr "" -#: netbox/dcim/models/cables.py:313 +#: dcim/models/cables.py:313 msgid "cable termination" msgstr "" -#: netbox/dcim/models/cables.py:314 +#: dcim/models/cables.py:314 msgid "cable terminations" msgstr "" -#: netbox/dcim/models/cables.py:333 +#: dcim/models/cables.py:333 #, python-brace-format msgid "" "Duplicate termination found for {app_label}.{model} {termination_id}: cable " "{cable_pk}" msgstr "" -#: netbox/dcim/models/cables.py:343 +#: dcim/models/cables.py:343 #, python-brace-format msgid "Cables cannot be terminated to {type_display} interfaces" msgstr "" -#: netbox/dcim/models/cables.py:350 +#: dcim/models/cables.py:350 msgid "Circuit terminations attached to a provider network may not be cabled." msgstr "" -#: netbox/dcim/models/cables.py:448 netbox/extras/models/configs.py:50 +#: dcim/models/cables.py:448 extras/models/configs.py:50 msgid "is active" msgstr "" -#: netbox/dcim/models/cables.py:452 +#: dcim/models/cables.py:452 msgid "is complete" msgstr "" -#: netbox/dcim/models/cables.py:456 +#: dcim/models/cables.py:456 msgid "is split" msgstr "" -#: netbox/dcim/models/cables.py:464 +#: dcim/models/cables.py:464 msgid "cable path" msgstr "" -#: netbox/dcim/models/cables.py:465 +#: dcim/models/cables.py:465 msgid "cable paths" msgstr "" -#: netbox/dcim/models/device_component_templates.py:46 +#: dcim/models/device_component_templates.py:46 #, python-brace-format msgid "" "{module} is accepted as a substitution for the module bay position when " "attached to a module type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:65 +#: dcim/models/device_component_templates.py:58 +#: dcim/models/device_components.py:65 msgid "Physical label" msgstr "" -#: netbox/dcim/models/device_component_templates.py:103 +#: dcim/models/device_component_templates.py:103 msgid "Component templates cannot be moved to a different device type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:154 +#: dcim/models/device_component_templates.py:154 msgid "" "A component template cannot be associated with both a device type and a " "module type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:158 +#: dcim/models/device_component_templates.py:158 msgid "" "A component template must be associated with either a device type or a " "module type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:212 +#: dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:213 +#: dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:246 +#: dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:247 +#: dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:278 -#: netbox/dcim/models/device_components.py:352 +#: dcim/models/device_component_templates.py:278 +#: dcim/models/device_components.py:352 msgid "maximum draw" msgstr "" -#: netbox/dcim/models/device_component_templates.py:285 -#: netbox/dcim/models/device_components.py:359 +#: dcim/models/device_component_templates.py:285 +#: dcim/models/device_components.py:359 msgid "allocated draw" msgstr "" -#: netbox/dcim/models/device_component_templates.py:295 +#: dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:296 +#: dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:315 -#: netbox/dcim/models/device_components.py:382 +#: dcim/models/device_component_templates.py:315 +#: dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" -#: netbox/dcim/models/device_component_templates.py:347 -#: netbox/dcim/models/device_components.py:477 +#: dcim/models/device_component_templates.py:347 +#: dcim/models/device_components.py:477 msgid "feed leg" msgstr "" -#: netbox/dcim/models/device_component_templates.py:351 -#: netbox/dcim/models/device_components.py:481 +#: dcim/models/device_component_templates.py:351 +#: dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "" -#: netbox/dcim/models/device_component_templates.py:357 +#: dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:358 +#: dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:367 +#: dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:371 +#: dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:423 -#: netbox/dcim/models/device_components.py:611 +#: dcim/models/device_component_templates.py:423 +#: dcim/models/device_components.py:611 msgid "management only" msgstr "" -#: netbox/dcim/models/device_component_templates.py:431 -#: netbox/dcim/models/device_components.py:550 +#: dcim/models/device_component_templates.py:431 +#: dcim/models/device_components.py:550 msgid "bridge interface" msgstr "" -#: netbox/dcim/models/device_component_templates.py:449 -#: netbox/dcim/models/device_components.py:636 +#: dcim/models/device_component_templates.py:449 +#: dcim/models/device_components.py:636 msgid "wireless role" msgstr "" -#: netbox/dcim/models/device_component_templates.py:455 +#: dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:456 +#: dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:463 -#: netbox/dcim/models/device_components.py:804 -#: netbox/virtualization/models/virtualmachines.py:405 +#: dcim/models/device_component_templates.py:463 +#: dcim/models/device_components.py:804 +#: virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "" -#: netbox/dcim/models/device_component_templates.py:466 +#: dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:470 +#: dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:526 -#: netbox/dcim/models/device_components.py:984 +#: dcim/models/device_component_templates.py:526 +#: dcim/models/device_components.py:984 msgid "rear port position" msgstr "" -#: netbox/dcim/models/device_component_templates.py:551 +#: dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:552 +#: dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:562 +#: dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:568 +#: dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " "positions" msgstr "" -#: netbox/dcim/models/device_component_templates.py:621 -#: netbox/dcim/models/device_components.py:1053 +#: dcim/models/device_component_templates.py:621 +#: dcim/models/device_components.py:1053 msgid "positions" msgstr "" -#: netbox/dcim/models/device_component_templates.py:632 +#: dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:633 +#: dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:662 -#: netbox/dcim/models/device_components.py:1103 +#: dcim/models/device_component_templates.py:662 +#: dcim/models/device_components.py:1103 msgid "position" msgstr "" -#: netbox/dcim/models/device_component_templates.py:665 -#: netbox/dcim/models/device_components.py:1106 +#: dcim/models/device_component_templates.py:665 +#: dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" -#: netbox/dcim/models/device_component_templates.py:671 +#: dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:672 +#: dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:699 +#: dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:700 +#: dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:713 +#: dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " "allow device bays." msgstr "" -#: netbox/dcim/models/device_component_templates.py:768 -#: netbox/dcim/models/device_components.py:1262 +#: dcim/models/device_component_templates.py:768 +#: dcim/models/device_components.py:1262 msgid "part ID" msgstr "" -#: netbox/dcim/models/device_component_templates.py:770 -#: netbox/dcim/models/device_components.py:1264 +#: dcim/models/device_component_templates.py:770 +#: dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "" -#: netbox/dcim/models/device_component_templates.py:787 +#: dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:788 +#: dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "" -#: netbox/dcim/models/device_components.py:105 +#: dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "" -#: netbox/dcim/models/device_components.py:144 +#: dcim/models/device_components.py:144 msgid "cable end" msgstr "" -#: netbox/dcim/models/device_components.py:150 +#: dcim/models/device_components.py:150 msgid "mark connected" msgstr "" -#: netbox/dcim/models/device_components.py:152 +#: dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "" -#: netbox/dcim/models/device_components.py:170 +#: dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" -#: netbox/dcim/models/device_components.py:174 +#: dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "" -#: netbox/dcim/models/device_components.py:178 +#: dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "" -#: netbox/dcim/models/device_components.py:202 +#: dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "" -#: netbox/dcim/models/device_components.py:287 -#: netbox/dcim/models/device_components.py:316 -#: netbox/dcim/models/device_components.py:349 -#: netbox/dcim/models/device_components.py:467 +#: dcim/models/device_components.py:287 dcim/models/device_components.py:316 +#: dcim/models/device_components.py:349 dcim/models/device_components.py:467 msgid "Physical port type" msgstr "" -#: netbox/dcim/models/device_components.py:290 -#: netbox/dcim/models/device_components.py:319 +#: dcim/models/device_components.py:290 dcim/models/device_components.py:319 msgid "speed" msgstr "" -#: netbox/dcim/models/device_components.py:294 -#: netbox/dcim/models/device_components.py:323 +#: dcim/models/device_components.py:294 dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "" -#: netbox/dcim/models/device_components.py:300 +#: dcim/models/device_components.py:300 msgid "console port" msgstr "" -#: netbox/dcim/models/device_components.py:301 +#: dcim/models/device_components.py:301 msgid "console ports" msgstr "" -#: netbox/dcim/models/device_components.py:329 +#: dcim/models/device_components.py:329 msgid "console server port" msgstr "" -#: netbox/dcim/models/device_components.py:330 +#: dcim/models/device_components.py:330 msgid "console server ports" msgstr "" -#: netbox/dcim/models/device_components.py:369 +#: dcim/models/device_components.py:369 msgid "power port" msgstr "" -#: netbox/dcim/models/device_components.py:370 +#: dcim/models/device_components.py:370 msgid "power ports" msgstr "" -#: netbox/dcim/models/device_components.py:487 +#: dcim/models/device_components.py:487 msgid "power outlet" msgstr "" -#: netbox/dcim/models/device_components.py:488 +#: dcim/models/device_components.py:488 msgid "power outlets" msgstr "" -#: netbox/dcim/models/device_components.py:499 +#: dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" -#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 -#: netbox/vpn/models/crypto.py:226 +#: dcim/models/device_components.py:530 vpn/models/crypto.py:81 +#: vpn/models/crypto.py:226 msgid "mode" msgstr "" -#: netbox/dcim/models/device_components.py:534 +#: dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "" -#: netbox/dcim/models/device_components.py:542 +#: dcim/models/device_components.py:542 msgid "parent interface" msgstr "" -#: netbox/dcim/models/device_components.py:602 +#: dcim/models/device_components.py:602 msgid "parent LAG" msgstr "" -#: netbox/dcim/models/device_components.py:612 +#: dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "" -#: netbox/dcim/models/device_components.py:617 +#: dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "" -#: netbox/dcim/models/device_components.py:620 +#: dcim/models/device_components.py:620 msgid "duplex" msgstr "" -#: netbox/dcim/models/device_components.py:630 +#: dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "" -#: netbox/dcim/models/device_components.py:642 +#: dcim/models/device_components.py:642 msgid "wireless channel" msgstr "" -#: netbox/dcim/models/device_components.py:649 +#: dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "" -#: netbox/dcim/models/device_components.py:650 -#: netbox/dcim/models/device_components.py:658 +#: dcim/models/device_components.py:650 dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "" -#: netbox/dcim/models/device_components.py:664 +#: dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "" -#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 +#: dcim/models/device_components.py:689 wireless/models.py:117 msgid "wireless LANs" msgstr "" -#: netbox/dcim/models/device_components.py:697 -#: netbox/virtualization/models/virtualmachines.py:335 +#: dcim/models/device_components.py:697 +#: virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "" -#: netbox/dcim/models/device_components.py:703 -#: netbox/virtualization/models/virtualmachines.py:341 +#: dcim/models/device_components.py:703 +#: virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "" -#: netbox/dcim/models/device_components.py:745 -#: netbox/virtualization/models/virtualmachines.py:377 +#: dcim/models/device_components.py:745 +#: virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "" -#: netbox/dcim/models/device_components.py:746 -#: netbox/virtualization/models/virtualmachines.py:378 +#: dcim/models/device_components.py:746 +#: virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "" -#: netbox/dcim/models/device_components.py:757 +#: dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "" -#: netbox/dcim/models/device_components.py:765 +#: dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" -#: netbox/dcim/models/device_components.py:774 -#: netbox/virtualization/models/virtualmachines.py:390 +#: dcim/models/device_components.py:774 +#: virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "" -#: netbox/dcim/models/device_components.py:778 +#: dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" -#: netbox/dcim/models/device_components.py:785 +#: dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " "({device})" msgstr "" -#: netbox/dcim/models/device_components.py:791 +#: dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." msgstr "" -#: netbox/dcim/models/device_components.py:811 +#: dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." msgstr "" -#: netbox/dcim/models/device_components.py:817 +#: dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." msgstr "" -#: netbox/dcim/models/device_components.py:828 +#: dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "" -#: netbox/dcim/models/device_components.py:832 +#: dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "" -#: netbox/dcim/models/device_components.py:839 +#: dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "" -#: netbox/dcim/models/device_components.py:845 +#: dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of " "virtual chassis {virtual_chassis}." msgstr "" -#: netbox/dcim/models/device_components.py:856 +#: dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "" -#: netbox/dcim/models/device_components.py:860 +#: dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "" -#: netbox/dcim/models/device_components.py:866 +#: dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "" -#: netbox/dcim/models/device_components.py:873 +#: dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:875 +#: dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:881 +#: dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:885 +#: dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" -#: netbox/dcim/models/device_components.py:891 +#: dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:893 +#: dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" -#: netbox/dcim/models/device_components.py:901 +#: dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent device, or it must be global." msgstr "" -#: netbox/dcim/models/device_components.py:990 +#: dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "" -#: netbox/dcim/models/device_components.py:1006 +#: dcim/models/device_components.py:1006 msgid "front port" msgstr "" -#: netbox/dcim/models/device_components.py:1007 +#: dcim/models/device_components.py:1007 msgid "front ports" msgstr "" -#: netbox/dcim/models/device_components.py:1021 +#: dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "" -#: netbox/dcim/models/device_components.py:1029 +#: dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only " "{positions} positions." msgstr "" -#: netbox/dcim/models/device_components.py:1059 +#: dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "" -#: netbox/dcim/models/device_components.py:1064 +#: dcim/models/device_components.py:1064 msgid "rear port" msgstr "" -#: netbox/dcim/models/device_components.py:1065 +#: dcim/models/device_components.py:1065 msgid "rear ports" msgstr "" -#: netbox/dcim/models/device_components.py:1079 +#: dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports " "({frontport_count})" msgstr "" -#: netbox/dcim/models/device_components.py:1120 +#: dcim/models/device_components.py:1120 msgid "module bay" msgstr "" -#: netbox/dcim/models/device_components.py:1121 +#: dcim/models/device_components.py:1121 msgid "module bays" msgstr "" -#: netbox/dcim/models/device_components.py:1138 -#: netbox/dcim/models/devices.py:1224 +#: dcim/models/device_components.py:1138 dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" -#: netbox/dcim/models/device_components.py:1164 +#: dcim/models/device_components.py:1164 msgid "device bay" msgstr "" -#: netbox/dcim/models/device_components.py:1165 +#: dcim/models/device_components.py:1165 msgid "device bays" msgstr "" -#: netbox/dcim/models/device_components.py:1175 +#: dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" -#: netbox/dcim/models/device_components.py:1181 +#: dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "" -#: netbox/dcim/models/device_components.py:1189 +#: dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "" -#: netbox/dcim/models/device_components.py:1210 +#: dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "" -#: netbox/dcim/models/device_components.py:1211 +#: dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "" -#: netbox/dcim/models/device_components.py:1268 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 -#: netbox/dcim/models/racks.py:313 -#: netbox/virtualization/models/virtualmachines.py:131 +#: dcim/models/device_components.py:1268 dcim/models/devices.py:607 +#: dcim/models/devices.py:1181 dcim/models/racks.py:313 +#: virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "" -#: netbox/dcim/models/device_components.py:1276 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 -#: netbox/dcim/models/racks.py:320 +#: dcim/models/device_components.py:1276 dcim/models/devices.py:615 +#: dcim/models/devices.py:1188 dcim/models/racks.py:320 msgid "asset tag" msgstr "" -#: netbox/dcim/models/device_components.py:1277 +#: dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "" -#: netbox/dcim/models/device_components.py:1280 +#: dcim/models/device_components.py:1280 msgid "discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1282 +#: dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1300 +#: dcim/models/device_components.py:1300 msgid "inventory item" msgstr "" -#: netbox/dcim/models/device_components.py:1301 +#: dcim/models/device_components.py:1301 msgid "inventory items" msgstr "" -#: netbox/dcim/models/device_components.py:1312 +#: dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "" -#: netbox/dcim/models/device_components.py:1320 +#: dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "" -#: netbox/dcim/models/device_components.py:1326 +#: dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "" -#: netbox/dcim/models/device_components.py:1334 +#: dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" -#: netbox/dcim/models/devices.py:54 +#: dcim/models/devices.py:54 msgid "manufacturer" msgstr "" -#: netbox/dcim/models/devices.py:55 +#: dcim/models/devices.py:55 msgid "manufacturers" msgstr "" -#: netbox/dcim/models/devices.py:82 netbox/dcim/models/devices.py:382 -#: netbox/dcim/models/racks.py:133 +#: dcim/models/devices.py:82 dcim/models/devices.py:382 +#: dcim/models/racks.py:133 msgid "model" msgstr "" -#: netbox/dcim/models/devices.py:95 +#: dcim/models/devices.py:95 msgid "default platform" msgstr "" -#: netbox/dcim/models/devices.py:98 netbox/dcim/models/devices.py:386 +#: dcim/models/devices.py:98 dcim/models/devices.py:386 msgid "part number" msgstr "" -#: netbox/dcim/models/devices.py:101 netbox/dcim/models/devices.py:389 +#: dcim/models/devices.py:101 dcim/models/devices.py:389 msgid "Discrete part number (optional)" msgstr "" -#: netbox/dcim/models/devices.py:107 netbox/dcim/models/racks.py:54 +#: dcim/models/devices.py:107 dcim/models/racks.py:54 msgid "height (U)" msgstr "" -#: netbox/dcim/models/devices.py:111 +#: dcim/models/devices.py:111 msgid "exclude from utilization" msgstr "" -#: netbox/dcim/models/devices.py:112 +#: dcim/models/devices.py:112 msgid "Devices of this type are excluded when calculating rack utilization." msgstr "" -#: netbox/dcim/models/devices.py:116 +#: dcim/models/devices.py:116 msgid "is full depth" msgstr "" -#: netbox/dcim/models/devices.py:117 +#: dcim/models/devices.py:117 msgid "Device consumes both front and rear rack faces." msgstr "" -#: netbox/dcim/models/devices.py:123 +#: dcim/models/devices.py:123 msgid "parent/child status" msgstr "" -#: netbox/dcim/models/devices.py:124 +#: dcim/models/devices.py:124 msgid "" "Parent devices house child devices in device bays. Leave blank if this " "device type is neither a parent nor a child." msgstr "" -#: netbox/dcim/models/devices.py:128 netbox/dcim/models/devices.py:392 -#: netbox/dcim/models/devices.py:659 netbox/dcim/models/racks.py:324 +#: dcim/models/devices.py:128 dcim/models/devices.py:392 +#: dcim/models/devices.py:659 dcim/models/racks.py:324 msgid "airflow" msgstr "" -#: netbox/dcim/models/devices.py:204 +#: dcim/models/devices.py:204 msgid "device type" msgstr "" -#: netbox/dcim/models/devices.py:205 +#: dcim/models/devices.py:205 msgid "device types" msgstr "" -#: netbox/dcim/models/devices.py:290 +#: dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." msgstr "" -#: netbox/dcim/models/devices.py:307 +#: dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate " "a height of {height}U" msgstr "" -#: netbox/dcim/models/devices.py:322 +#: dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." msgstr "" -#: netbox/dcim/models/devices.py:331 +#: dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." msgstr "" -#: netbox/dcim/models/devices.py:337 +#: dcim/models/devices.py:337 msgid "Child device types must be 0U." msgstr "" -#: netbox/dcim/models/devices.py:411 +#: dcim/models/devices.py:411 msgid "module type" msgstr "" -#: netbox/dcim/models/devices.py:412 +#: dcim/models/devices.py:412 msgid "module types" msgstr "" -#: netbox/dcim/models/devices.py:485 +#: dcim/models/devices.py:485 msgid "Virtual machines may be assigned to this role" msgstr "" -#: netbox/dcim/models/devices.py:497 +#: dcim/models/devices.py:497 msgid "device role" msgstr "" -#: netbox/dcim/models/devices.py:498 +#: dcim/models/devices.py:498 msgid "device roles" msgstr "" -#: netbox/dcim/models/devices.py:515 +#: dcim/models/devices.py:515 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" -#: netbox/dcim/models/devices.py:527 +#: dcim/models/devices.py:527 msgid "platform" msgstr "" -#: netbox/dcim/models/devices.py:528 +#: dcim/models/devices.py:528 msgid "platforms" msgstr "" -#: netbox/dcim/models/devices.py:576 +#: dcim/models/devices.py:576 msgid "The function this device serves" msgstr "" -#: netbox/dcim/models/devices.py:608 +#: dcim/models/devices.py:608 msgid "Chassis serial number, assigned by the manufacturer" msgstr "" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 +#: dcim/models/devices.py:616 dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "" -#: netbox/dcim/models/devices.py:643 +#: dcim/models/devices.py:643 msgid "position (U)" msgstr "" -#: netbox/dcim/models/devices.py:650 +#: dcim/models/devices.py:650 msgid "rack face" msgstr "" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 -#: netbox/virtualization/models/virtualmachines.py:100 +#: dcim/models/devices.py:670 dcim/models/devices.py:1415 +#: virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 -#: netbox/virtualization/models/virtualmachines.py:108 +#: dcim/models/devices.py:678 dcim/models/devices.py:1423 +#: virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "" -#: netbox/dcim/models/devices.py:686 +#: dcim/models/devices.py:686 msgid "out-of-band IP" msgstr "" -#: netbox/dcim/models/devices.py:703 +#: dcim/models/devices.py:703 msgid "VC position" msgstr "" -#: netbox/dcim/models/devices.py:706 +#: dcim/models/devices.py:706 msgid "Virtual chassis position" msgstr "" -#: netbox/dcim/models/devices.py:709 +#: dcim/models/devices.py:709 msgid "VC priority" msgstr "" -#: netbox/dcim/models/devices.py:713 +#: dcim/models/devices.py:713 msgid "Virtual chassis master election priority" msgstr "" -#: netbox/dcim/models/devices.py:716 netbox/dcim/models/sites.py:207 +#: dcim/models/devices.py:716 dcim/models/sites.py:207 msgid "latitude" msgstr "" -#: netbox/dcim/models/devices.py:721 netbox/dcim/models/devices.py:729 -#: netbox/dcim/models/sites.py:212 netbox/dcim/models/sites.py:220 +#: dcim/models/devices.py:721 dcim/models/devices.py:729 +#: dcim/models/sites.py:212 dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "" -#: netbox/dcim/models/devices.py:724 netbox/dcim/models/sites.py:215 +#: dcim/models/devices.py:724 dcim/models/sites.py:215 msgid "longitude" msgstr "" -#: netbox/dcim/models/devices.py:797 +#: dcim/models/devices.py:797 msgid "Device name must be unique per site." msgstr "" -#: netbox/dcim/models/devices.py:808 netbox/ipam/models/services.py:75 +#: dcim/models/devices.py:808 ipam/models/services.py:75 msgid "device" msgstr "" -#: netbox/dcim/models/devices.py:809 +#: dcim/models/devices.py:809 msgid "devices" msgstr "" -#: netbox/dcim/models/devices.py:835 +#: dcim/models/devices.py:835 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "" -#: netbox/dcim/models/devices.py:840 +#: dcim/models/devices.py:840 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "" -#: netbox/dcim/models/devices.py:846 +#: dcim/models/devices.py:846 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "" -#: netbox/dcim/models/devices.py:853 +#: dcim/models/devices.py:853 msgid "Cannot select a rack face without assigning a rack." msgstr "" -#: netbox/dcim/models/devices.py:857 +#: dcim/models/devices.py:857 msgid "Cannot select a rack position without assigning a rack." msgstr "" -#: netbox/dcim/models/devices.py:863 +#: dcim/models/devices.py:863 msgid "Position must be in increments of 0.5 rack units." msgstr "" -#: netbox/dcim/models/devices.py:867 +#: dcim/models/devices.py:867 msgid "Must specify rack face when defining rack position." msgstr "" -#: netbox/dcim/models/devices.py:875 +#: dcim/models/devices.py:875 #, python-brace-format msgid "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -#: netbox/dcim/models/devices.py:886 +#: dcim/models/devices.py:886 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." msgstr "" -#: netbox/dcim/models/devices.py:893 +#: dcim/models/devices.py:893 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." msgstr "" -#: netbox/dcim/models/devices.py:907 +#: dcim/models/devices.py:907 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " "accommodate this device type: {device_type} ({u_height}U)" msgstr "" -#: netbox/dcim/models/devices.py:922 +#: dcim/models/devices.py:922 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "" -#: netbox/dcim/models/devices.py:931 netbox/dcim/models/devices.py:946 +#: dcim/models/devices.py:931 dcim/models/devices.py:946 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "" -#: netbox/dcim/models/devices.py:937 +#: dcim/models/devices.py:937 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "" -#: netbox/dcim/models/devices.py:964 +#: dcim/models/devices.py:964 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " "but this device's type belongs to {devicetype_manufacturer}." msgstr "" -#: netbox/dcim/models/devices.py:975 +#: dcim/models/devices.py:975 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "" -#: netbox/dcim/models/devices.py:983 +#: dcim/models/devices.py:983 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" -#: netbox/dcim/models/devices.py:988 +#: dcim/models/devices.py:988 #, python-brace-format msgid "" "Device cannot be removed from virtual chassis {virtual_chassis} because it " "is currently designated as its master." msgstr "" -#: netbox/dcim/models/devices.py:1196 +#: dcim/models/devices.py:1196 msgid "module" msgstr "" -#: netbox/dcim/models/devices.py:1197 +#: dcim/models/devices.py:1197 msgid "modules" msgstr "" -#: netbox/dcim/models/devices.py:1213 +#: dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "" -#: netbox/dcim/models/devices.py:1334 +#: dcim/models/devices.py:1334 msgid "domain" msgstr "" -#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 +#: dcim/models/devices.py:1347 dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "" -#: netbox/dcim/models/devices.py:1363 +#: dcim/models/devices.py:1363 #, python-brace-format msgid "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" -#: netbox/dcim/models/devices.py:1379 +#: dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "" -#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 +#: dcim/models/devices.py:1404 vpn/models/l2vpn.py:37 msgid "identifier" msgstr "" -#: netbox/dcim/models/devices.py:1405 +#: dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "" -#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 -#: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 -#: netbox/netbox/models/__init__.py:115 +#: dcim/models/devices.py:1433 extras/models/customfields.py:225 +#: extras/models/models.py:107 extras/models/models.py:694 +#: netbox/models/__init__.py:115 msgid "comments" msgstr "" -#: netbox/dcim/models/devices.py:1449 +#: dcim/models/devices.py:1449 msgid "virtual device context" msgstr "" -#: netbox/dcim/models/devices.py:1450 +#: dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "" -#: netbox/dcim/models/devices.py:1482 +#: dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "" -#: netbox/dcim/models/devices.py:1488 +#: dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" -#: netbox/dcim/models/mixins.py:15 netbox/extras/models/configs.py:41 -#: netbox/extras/models/models.py:313 netbox/extras/models/models.py:522 -#: netbox/extras/models/search.py:48 netbox/ipam/models/ip.py:194 +#: dcim/models/mixins.py:15 extras/models/configs.py:41 +#: extras/models/models.py:313 extras/models/models.py:522 +#: extras/models/search.py:48 ipam/models/ip.py:194 msgid "weight" msgstr "" -#: netbox/dcim/models/mixins.py:22 +#: dcim/models/mixins.py:22 msgid "weight unit" msgstr "" -#: netbox/dcim/models/mixins.py:51 +#: dcim/models/mixins.py:51 msgid "Must specify a unit when setting a weight" msgstr "" -#: netbox/dcim/models/power.py:55 +#: dcim/models/power.py:55 msgid "power panel" msgstr "" -#: netbox/dcim/models/power.py:56 +#: dcim/models/power.py:56 msgid "power panels" msgstr "" -#: netbox/dcim/models/power.py:70 +#: dcim/models/power.py:70 #, python-brace-format msgid "" "Location {location} ({location_site}) is in a different site than {site}" msgstr "" -#: netbox/dcim/models/power.py:108 +#: dcim/models/power.py:108 msgid "supply" msgstr "" -#: netbox/dcim/models/power.py:114 +#: dcim/models/power.py:114 msgid "phase" msgstr "" -#: netbox/dcim/models/power.py:120 +#: dcim/models/power.py:120 msgid "voltage" msgstr "" -#: netbox/dcim/models/power.py:125 +#: dcim/models/power.py:125 msgid "amperage" msgstr "" -#: netbox/dcim/models/power.py:130 +#: dcim/models/power.py:130 msgid "max utilization" msgstr "" -#: netbox/dcim/models/power.py:133 +#: dcim/models/power.py:133 msgid "Maximum permissible draw (percentage)" msgstr "" -#: netbox/dcim/models/power.py:136 +#: dcim/models/power.py:136 msgid "available power" msgstr "" -#: netbox/dcim/models/power.py:164 +#: dcim/models/power.py:164 msgid "power feed" msgstr "" -#: netbox/dcim/models/power.py:165 +#: dcim/models/power.py:165 msgid "power feeds" msgstr "" -#: netbox/dcim/models/power.py:179 +#: dcim/models/power.py:179 #, python-brace-format msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " "are in different sites." msgstr "" -#: netbox/dcim/models/power.py:190 +#: dcim/models/power.py:190 msgid "Voltage cannot be negative for AC supply" msgstr "" -#: netbox/dcim/models/racks.py:47 +#: dcim/models/racks.py:47 msgid "width" msgstr "" -#: netbox/dcim/models/racks.py:48 +#: dcim/models/racks.py:48 msgid "Rail-to-rail width" msgstr "" -#: netbox/dcim/models/racks.py:56 +#: dcim/models/racks.py:56 msgid "Height in rack units" msgstr "" -#: netbox/dcim/models/racks.py:60 +#: dcim/models/racks.py:60 msgid "starting unit" msgstr "" -#: netbox/dcim/models/racks.py:62 +#: dcim/models/racks.py:62 msgid "Starting unit for rack" msgstr "" -#: netbox/dcim/models/racks.py:66 +#: dcim/models/racks.py:66 msgid "descending units" msgstr "" -#: netbox/dcim/models/racks.py:67 +#: dcim/models/racks.py:67 msgid "Units are numbered top-to-bottom" msgstr "" -#: netbox/dcim/models/racks.py:72 +#: dcim/models/racks.py:72 msgid "outer width" msgstr "" -#: netbox/dcim/models/racks.py:75 +#: dcim/models/racks.py:75 msgid "Outer dimension of rack (width)" msgstr "" -#: netbox/dcim/models/racks.py:78 +#: dcim/models/racks.py:78 msgid "outer depth" msgstr "" -#: netbox/dcim/models/racks.py:81 +#: dcim/models/racks.py:81 msgid "Outer dimension of rack (depth)" msgstr "" -#: netbox/dcim/models/racks.py:84 +#: dcim/models/racks.py:84 msgid "outer unit" msgstr "" -#: netbox/dcim/models/racks.py:90 +#: dcim/models/racks.py:90 msgid "mounting depth" msgstr "" -#: netbox/dcim/models/racks.py:94 +#: dcim/models/racks.py:94 msgid "" "Maximum depth of a mounted device, in millimeters. For four-post racks, this " "is the distance between the front and rear rails." msgstr "" -#: netbox/dcim/models/racks.py:102 +#: dcim/models/racks.py:102 msgid "max weight" msgstr "" -#: netbox/dcim/models/racks.py:105 +#: dcim/models/racks.py:105 msgid "Maximum load capacity for the rack" msgstr "" -#: netbox/dcim/models/racks.py:125 netbox/dcim/models/racks.py:252 +#: dcim/models/racks.py:125 dcim/models/racks.py:252 msgid "form factor" msgstr "" -#: netbox/dcim/models/racks.py:162 +#: dcim/models/racks.py:162 msgid "rack type" msgstr "" -#: netbox/dcim/models/racks.py:163 +#: dcim/models/racks.py:163 msgid "rack types" msgstr "" -#: netbox/dcim/models/racks.py:180 netbox/dcim/models/racks.py:379 +#: dcim/models/racks.py:180 dcim/models/racks.py:379 msgid "Must specify a unit when setting an outer width/depth" msgstr "" -#: netbox/dcim/models/racks.py:184 netbox/dcim/models/racks.py:383 +#: dcim/models/racks.py:184 dcim/models/racks.py:383 msgid "Must specify a unit when setting a maximum weight" msgstr "" -#: netbox/dcim/models/racks.py:230 +#: dcim/models/racks.py:230 msgid "rack role" msgstr "" -#: netbox/dcim/models/racks.py:231 +#: dcim/models/racks.py:231 msgid "rack roles" msgstr "" -#: netbox/dcim/models/racks.py:274 +#: dcim/models/racks.py:274 msgid "facility ID" msgstr "" -#: netbox/dcim/models/racks.py:275 +#: dcim/models/racks.py:275 msgid "Locally-assigned identifier" msgstr "" -#: netbox/dcim/models/racks.py:308 netbox/ipam/forms/bulk_import.py:201 -#: netbox/ipam/forms/bulk_import.py:266 netbox/ipam/forms/bulk_import.py:301 -#: netbox/ipam/forms/bulk_import.py:459 -#: netbox/virtualization/forms/bulk_import.py:112 +#: dcim/models/racks.py:308 ipam/forms/bulk_import.py:201 +#: ipam/forms/bulk_import.py:266 ipam/forms/bulk_import.py:301 +#: ipam/forms/bulk_import.py:459 virtualization/forms/bulk_import.py:112 msgid "Functional role" msgstr "" -#: netbox/dcim/models/racks.py:321 +#: dcim/models/racks.py:321 msgid "A unique tag used to identify this rack" msgstr "" -#: netbox/dcim/models/racks.py:359 +#: dcim/models/racks.py:359 msgid "rack" msgstr "" -#: netbox/dcim/models/racks.py:360 +#: dcim/models/racks.py:360 msgid "racks" msgstr "" -#: netbox/dcim/models/racks.py:375 +#: dcim/models/racks.py:375 #, python-brace-format msgid "Assigned location must belong to parent site ({site})." msgstr "" -#: netbox/dcim/models/racks.py:393 +#: dcim/models/racks.py:393 #, python-brace-format msgid "" "Rack must be at least {min_height}U tall to house currently installed " "devices." msgstr "" -#: netbox/dcim/models/racks.py:400 +#: dcim/models/racks.py:400 #, python-brace-format msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." msgstr "" -#: netbox/dcim/models/racks.py:408 +#: dcim/models/racks.py:408 #, python-brace-format msgid "Location must be from the same site, {site}." msgstr "" -#: netbox/dcim/models/racks.py:670 +#: dcim/models/racks.py:670 msgid "units" msgstr "" -#: netbox/dcim/models/racks.py:696 +#: dcim/models/racks.py:696 msgid "rack reservation" msgstr "" -#: netbox/dcim/models/racks.py:697 +#: dcim/models/racks.py:697 msgid "rack reservations" msgstr "" -#: netbox/dcim/models/racks.py:714 +#: dcim/models/racks.py:714 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" msgstr "" -#: netbox/dcim/models/racks.py:727 +#: dcim/models/racks.py:727 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" msgstr "" -#: netbox/dcim/models/sites.py:49 +#: dcim/models/sites.py:49 msgid "A top-level region with this name already exists." msgstr "" -#: netbox/dcim/models/sites.py:59 +#: dcim/models/sites.py:59 msgid "A top-level region with this slug already exists." msgstr "" -#: netbox/dcim/models/sites.py:62 +#: dcim/models/sites.py:62 msgid "region" msgstr "" -#: netbox/dcim/models/sites.py:63 +#: dcim/models/sites.py:63 msgid "regions" msgstr "" -#: netbox/dcim/models/sites.py:102 +#: dcim/models/sites.py:102 msgid "A top-level site group with this name already exists." msgstr "" -#: netbox/dcim/models/sites.py:112 +#: dcim/models/sites.py:112 msgid "A top-level site group with this slug already exists." msgstr "" -#: netbox/dcim/models/sites.py:115 +#: dcim/models/sites.py:115 msgid "site group" msgstr "" -#: netbox/dcim/models/sites.py:116 +#: dcim/models/sites.py:116 msgid "site groups" msgstr "" -#: netbox/dcim/models/sites.py:141 +#: dcim/models/sites.py:141 msgid "Full name of the site" msgstr "" -#: netbox/dcim/models/sites.py:181 netbox/dcim/models/sites.py:279 +#: dcim/models/sites.py:181 dcim/models/sites.py:279 msgid "facility" msgstr "" -#: netbox/dcim/models/sites.py:184 netbox/dcim/models/sites.py:282 +#: dcim/models/sites.py:184 dcim/models/sites.py:282 msgid "Local facility ID or description" msgstr "" -#: netbox/dcim/models/sites.py:195 +#: dcim/models/sites.py:195 msgid "physical address" msgstr "" -#: netbox/dcim/models/sites.py:198 +#: dcim/models/sites.py:198 msgid "Physical location of the building" msgstr "" -#: netbox/dcim/models/sites.py:201 +#: dcim/models/sites.py:201 msgid "shipping address" msgstr "" -#: netbox/dcim/models/sites.py:204 +#: dcim/models/sites.py:204 msgid "If different from the physical address" msgstr "" -#: netbox/dcim/models/sites.py:238 +#: dcim/models/sites.py:238 msgid "site" msgstr "" -#: netbox/dcim/models/sites.py:239 +#: dcim/models/sites.py:239 msgid "sites" msgstr "" -#: netbox/dcim/models/sites.py:309 +#: dcim/models/sites.py:309 msgid "A location with this name already exists within the specified site." msgstr "" -#: netbox/dcim/models/sites.py:319 +#: dcim/models/sites.py:319 msgid "A location with this slug already exists within the specified site." msgstr "" -#: netbox/dcim/models/sites.py:322 +#: dcim/models/sites.py:322 msgid "location" msgstr "" -#: netbox/dcim/models/sites.py:323 +#: dcim/models/sites.py:323 msgid "locations" msgstr "" -#: netbox/dcim/models/sites.py:337 +#: dcim/models/sites.py:337 #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" -#: netbox/dcim/tables/cables.py:55 +#: dcim/tables/cables.py:55 msgid "Termination A" msgstr "" -#: netbox/dcim/tables/cables.py:60 +#: dcim/tables/cables.py:60 msgid "Termination B" msgstr "" -#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:23 +#: dcim/tables/cables.py:66 wireless/tables/wirelesslink.py:23 msgid "Device A" msgstr "" -#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:32 +#: dcim/tables/cables.py:72 wireless/tables/wirelesslink.py:32 msgid "Device B" msgstr "" -#: netbox/dcim/tables/cables.py:78 +#: dcim/tables/cables.py:78 msgid "Location A" msgstr "" -#: netbox/dcim/tables/cables.py:84 +#: dcim/tables/cables.py:84 msgid "Location B" msgstr "" -#: netbox/dcim/tables/cables.py:90 +#: dcim/tables/cables.py:90 msgid "Rack A" msgstr "" -#: netbox/dcim/tables/cables.py:96 +#: dcim/tables/cables.py:96 msgid "Rack B" msgstr "" -#: netbox/dcim/tables/cables.py:102 +#: dcim/tables/cables.py:102 msgid "Site A" msgstr "" -#: netbox/dcim/tables/cables.py:108 +#: dcim/tables/cables.py:108 msgid "Site B" msgstr "" -#: netbox/dcim/tables/connections.py:31 netbox/dcim/tables/connections.py:50 -#: netbox/dcim/tables/connections.py:71 -#: netbox/templates/dcim/inc/connection_endpoints.html:16 +#: 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 "" -#: netbox/dcim/tables/devices.py:58 netbox/dcim/tables/devices.py:106 -#: netbox/dcim/tables/racks.py:150 netbox/dcim/tables/sites.py:105 -#: netbox/dcim/tables/sites.py:148 netbox/extras/tables/tables.py:545 -#: netbox/netbox/navigation/menu.py:69 netbox/netbox/navigation/menu.py:73 -#: netbox/netbox/navigation/menu.py:75 -#: netbox/virtualization/forms/model_forms.py:122 -#: netbox/virtualization/tables/clusters.py:83 -#: netbox/virtualization/views.py:206 +#: dcim/tables/devices.py:58 dcim/tables/devices.py:106 +#: dcim/tables/racks.py:150 dcim/tables/sites.py:105 dcim/tables/sites.py:148 +#: extras/tables/tables.py:545 netbox/navigation/menu.py:69 +#: netbox/navigation/menu.py:73 netbox/navigation/menu.py:75 +#: virtualization/forms/model_forms.py:122 virtualization/tables/clusters.py:83 +#: virtualization/views.py:206 msgid "Devices" msgstr "" -#: netbox/dcim/tables/devices.py:63 netbox/dcim/tables/devices.py:111 -#: netbox/virtualization/tables/clusters.py:88 +#: dcim/tables/devices.py:63 dcim/tables/devices.py:111 +#: virtualization/tables/clusters.py:88 msgid "VMs" msgstr "" -#: netbox/dcim/tables/devices.py:100 netbox/dcim/tables/devices.py:216 -#: netbox/extras/forms/model_forms.py:630 netbox/templates/dcim/device.html:112 -#: netbox/templates/dcim/device/render_config.html:11 -#: netbox/templates/dcim/device/render_config.html:14 -#: netbox/templates/dcim/devicerole.html:44 -#: netbox/templates/dcim/platform.html:41 -#: netbox/templates/extras/configtemplate.html:10 -#: netbox/templates/virtualization/virtualmachine.html:48 -#: netbox/templates/virtualization/virtualmachine/render_config.html:11 -#: netbox/templates/virtualization/virtualmachine/render_config.html:14 -#: netbox/virtualization/tables/virtualmachines.py:107 +#: dcim/tables/devices.py:100 dcim/tables/devices.py:216 +#: extras/forms/model_forms.py:630 templates/dcim/device.html:112 +#: templates/dcim/device/render_config.html:11 +#: 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:48 +#: templates/virtualization/virtualmachine/render_config.html:11 +#: templates/virtualization/virtualmachine/render_config.html:14 +#: virtualization/tables/virtualmachines.py:107 msgid "Config Template" msgstr "" -#: netbox/dcim/tables/devices.py:150 netbox/templates/dcim/sitegroup.html:26 +#: dcim/tables/devices.py:150 templates/dcim/sitegroup.html:26 msgid "Site Group" msgstr "" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 -#: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 -#: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 -#: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 -#: netbox/templates/ipam/ipaddress.html:11 -#: netbox/virtualization/tables/virtualmachines.py:95 +#: dcim/tables/devices.py:187 dcim/tables/devices.py:1068 +#: ipam/forms/bulk_import.py:503 ipam/forms/model_forms.py:306 +#: ipam/forms/model_forms.py:315 ipam/tables/ip.py:356 ipam/tables/ip.py:423 +#: ipam/tables/ip.py:446 templates/ipam/ipaddress.html:11 +#: virtualization/tables/virtualmachines.py:95 msgid "IP Address" msgstr "" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 -#: netbox/virtualization/tables/virtualmachines.py:86 +#: dcim/tables/devices.py:191 dcim/tables/devices.py:1072 +#: virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 -#: netbox/virtualization/tables/virtualmachines.py:90 +#: dcim/tables/devices.py:195 dcim/tables/devices.py:1076 +#: virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "" -#: netbox/dcim/tables/devices.py:210 +#: dcim/tables/devices.py:210 msgid "VC Position" msgstr "" -#: netbox/dcim/tables/devices.py:213 +#: dcim/tables/devices.py:213 msgid "VC Priority" msgstr "" -#: netbox/dcim/tables/devices.py:220 netbox/templates/dcim/device_edit.html:38 -#: netbox/templates/dcim/devicebay_populate.html:16 +#: dcim/tables/devices.py:220 templates/dcim/device_edit.html:38 +#: templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "" -#: netbox/dcim/tables/devices.py:225 +#: dcim/tables/devices.py:225 msgid "Position (Device Bay)" msgstr "" -#: netbox/dcim/tables/devices.py:234 +#: dcim/tables/devices.py:234 msgid "Console ports" msgstr "" -#: netbox/dcim/tables/devices.py:237 +#: dcim/tables/devices.py:237 msgid "Console server ports" msgstr "" -#: netbox/dcim/tables/devices.py:240 +#: dcim/tables/devices.py:240 msgid "Power ports" msgstr "" -#: netbox/dcim/tables/devices.py:243 +#: dcim/tables/devices.py:243 msgid "Power outlets" msgstr "" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 -#: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 -#: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 -#: netbox/templates/dcim/device/base.html:37 -#: netbox/templates/dcim/device_list.html:43 -#: netbox/templates/dcim/devicetype/base.html:34 -#: netbox/templates/dcim/inc/moduletype_buttons.html:25 -#: netbox/templates/dcim/module.html:34 -#: netbox/templates/dcim/virtualdevicecontext.html:61 -#: netbox/templates/dcim/virtualdevicecontext.html:81 -#: netbox/templates/virtualization/virtualmachine/base.html:27 -#: netbox/templates/virtualization/virtualmachine_list.html:14 -#: netbox/virtualization/tables/virtualmachines.py:101 -#: netbox/virtualization/views.py:366 netbox/wireless/tables/wirelesslan.py:55 +#: dcim/tables/devices.py:246 dcim/tables/devices.py:1081 +#: dcim/tables/devicetypes.py:128 dcim/views.py:1042 dcim/views.py:1281 +#: dcim/views.py:1977 netbox/navigation/menu.py:94 +#: netbox/navigation/menu.py:250 templates/dcim/device/base.html:37 +#: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 +#: templates/dcim/inc/moduletype_buttons.html:25 templates/dcim/module.html:34 +#: 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:101 virtualization/views.py:366 +#: wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "" -#: netbox/dcim/tables/devices.py:249 +#: dcim/tables/devices.py:249 msgid "Front ports" msgstr "" -#: netbox/dcim/tables/devices.py:255 +#: dcim/tables/devices.py:255 msgid "Device bays" msgstr "" -#: netbox/dcim/tables/devices.py:258 +#: dcim/tables/devices.py:258 msgid "Module bays" msgstr "" -#: netbox/dcim/tables/devices.py:261 +#: dcim/tables/devices.py:261 msgid "Inventory items" msgstr "" -#: netbox/dcim/tables/devices.py:305 netbox/dcim/tables/modules.py:56 -#: netbox/templates/dcim/modulebay.html:17 +#: dcim/tables/devices.py:305 dcim/tables/modules.py:56 +#: templates/dcim/modulebay.html:17 msgid "Module Bay" msgstr "" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 -#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 -#: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 -#: netbox/templates/dcim/device/base.html:52 -#: netbox/templates/dcim/device_list.html:71 -#: netbox/templates/dcim/devicetype/base.html:49 -#: netbox/templates/dcim/inc/panels/inventory_items.html:6 -#: netbox/templates/dcim/inventoryitemrole.html:32 +#: dcim/tables/devices.py:318 dcim/tables/devicetypes.py:47 +#: dcim/tables/devicetypes.py:143 dcim/views.py:1117 dcim/views.py:2075 +#: netbox/navigation/menu.py:103 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:6 +#: templates/dcim/inventoryitemrole.html:32 msgid "Inventory Items" msgstr "" -#: netbox/dcim/tables/devices.py:333 +#: dcim/tables/devices.py:333 msgid "Cable Color" msgstr "" -#: netbox/dcim/tables/devices.py:339 +#: dcim/tables/devices.py:339 msgid "Link Peers" msgstr "" -#: netbox/dcim/tables/devices.py:342 +#: dcim/tables/devices.py:342 msgid "Mark Connected" msgstr "" -#: netbox/dcim/tables/devices.py:461 +#: dcim/tables/devices.py:461 msgid "Maximum draw (W)" msgstr "" -#: netbox/dcim/tables/devices.py:464 +#: dcim/tables/devices.py:464 msgid "Allocated draw (W)" msgstr "" -#: netbox/dcim/tables/devices.py:558 netbox/ipam/forms/model_forms.py:701 -#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 -#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:158 -#: netbox/netbox/navigation/menu.py:160 -#: netbox/templates/dcim/interface.html:339 -#: netbox/templates/ipam/ipaddress_bulk_add.html:15 -#: netbox/templates/ipam/service.html:40 -#: netbox/templates/virtualization/vminterface.html:85 -#: netbox/vpn/tables/tunnels.py:98 +#: dcim/tables/devices.py:558 ipam/forms/model_forms.py:701 +#: ipam/tables/fhrp.py:28 ipam/views.py:596 ipam/views.py:696 +#: netbox/navigation/menu.py:158 netbox/navigation/menu.py:160 +#: 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 "" -#: netbox/dcim/tables/devices.py:564 netbox/netbox/navigation/menu.py:202 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:6 +#: dcim/tables/devices.py:564 netbox/navigation/menu.py:202 +#: templates/ipam/inc/panels/fhrp_groups.html:6 msgid "FHRP Groups" msgstr "" -#: netbox/dcim/tables/devices.py:576 netbox/templates/dcim/interface.html:89 -#: netbox/templates/virtualization/vminterface.html:67 -#: netbox/templates/vpn/tunnel.html:18 -#: netbox/templates/vpn/tunneltermination.html:13 -#: netbox/vpn/forms/bulk_edit.py:76 netbox/vpn/forms/bulk_import.py:76 -#: netbox/vpn/forms/filtersets.py:42 netbox/vpn/forms/filtersets.py:82 -#: netbox/vpn/forms/model_forms.py:60 netbox/vpn/forms/model_forms.py:145 -#: netbox/vpn/tables/tunnels.py:78 +#: dcim/tables/devices.py:576 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 "" -#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 -#: netbox/templates/dcim/interface.html:65 +#: dcim/tables/devices.py:604 dcim/tables/devicetypes.py:227 +#: templates/dcim/interface.html:65 msgid "Management Only" msgstr "" -#: netbox/dcim/tables/devices.py:623 +#: dcim/tables/devices.py:623 msgid "VDCs" msgstr "" -#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 +#: dcim/tables/devices.py:873 templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "" -#: netbox/dcim/tables/devices.py:876 +#: dcim/tables/devices.py:876 msgid "Module Serial" msgstr "" -#: netbox/dcim/tables/devices.py:880 +#: dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "" -#: netbox/dcim/tables/devices.py:889 +#: dcim/tables/devices.py:889 msgid "Module Status" msgstr "" -#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 -#: netbox/templates/dcim/inventoryitem.html:40 +#: dcim/tables/devices.py:944 dcim/tables/devicetypes.py:312 +#: templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "" -#: netbox/dcim/tables/devices.py:1000 +#: dcim/tables/devices.py:1000 msgid "Items" msgstr "" -#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 -#: netbox/netbox/navigation/menu.py:86 +#: dcim/tables/devicetypes.py:37 netbox/navigation/menu.py:84 +#: netbox/navigation/menu.py:86 msgid "Device Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 +#: dcim/tables/devicetypes.py:42 netbox/navigation/menu.py:87 msgid "Module Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 -#: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 -#: netbox/netbox/navigation/menu.py:78 +#: dcim/tables/devicetypes.py:52 extras/forms/filtersets.py:371 +#: extras/forms/model_forms.py:537 extras/tables/tables.py:540 +#: netbox/navigation/menu.py:78 msgid "Platforms" msgstr "" -#: netbox/dcim/tables/devicetypes.py:84 -#: netbox/templates/dcim/devicetype.html:29 +#: dcim/tables/devicetypes.py:84 templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "" -#: netbox/dcim/tables/devicetypes.py:88 -#: netbox/templates/dcim/devicetype.html:45 +#: dcim/tables/devicetypes.py:88 templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "" -#: netbox/dcim/tables/devicetypes.py:98 +#: dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 -#: netbox/dcim/tables/racks.py:89 +#: dcim/tables/devicetypes.py:113 dcim/tables/modules.py:26 +#: dcim/tables/racks.py:89 msgid "Instances" msgstr "" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 -#: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 -#: netbox/netbox/navigation/menu.py:97 -#: netbox/templates/dcim/device/base.html:25 -#: netbox/templates/dcim/device_list.html:15 -#: netbox/templates/dcim/devicetype/base.html:22 -#: netbox/templates/dcim/inc/moduletype_buttons.html:13 -#: netbox/templates/dcim/module.html:22 +#: dcim/tables/devicetypes.py:116 dcim/views.py:982 dcim/views.py:1221 +#: dcim/views.py:1913 netbox/navigation/menu.py:97 +#: templates/dcim/device/base.html:25 templates/dcim/device_list.html:15 +#: templates/dcim/devicetype/base.html:22 +#: templates/dcim/inc/moduletype_buttons.html:13 templates/dcim/module.html:22 msgid "Console Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 -#: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 -#: netbox/netbox/navigation/menu.py:98 -#: netbox/templates/dcim/device/base.html:28 -#: netbox/templates/dcim/device_list.html:22 -#: netbox/templates/dcim/devicetype/base.html:25 -#: netbox/templates/dcim/inc/moduletype_buttons.html:16 -#: netbox/templates/dcim/module.html:25 +#: dcim/tables/devicetypes.py:119 dcim/views.py:997 dcim/views.py:1236 +#: dcim/views.py:1929 netbox/navigation/menu.py:98 +#: templates/dcim/device/base.html:28 templates/dcim/device_list.html:22 +#: templates/dcim/devicetype/base.html:25 +#: templates/dcim/inc/moduletype_buttons.html:16 templates/dcim/module.html:25 msgid "Console Server Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 -#: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 -#: netbox/netbox/navigation/menu.py:99 -#: netbox/templates/dcim/device/base.html:31 -#: netbox/templates/dcim/device_list.html:29 -#: netbox/templates/dcim/devicetype/base.html:28 -#: netbox/templates/dcim/inc/moduletype_buttons.html:19 -#: netbox/templates/dcim/module.html:28 +#: dcim/tables/devicetypes.py:122 dcim/views.py:1012 dcim/views.py:1251 +#: dcim/views.py:1945 netbox/navigation/menu.py:99 +#: templates/dcim/device/base.html:31 templates/dcim/device_list.html:29 +#: templates/dcim/devicetype/base.html:28 +#: templates/dcim/inc/moduletype_buttons.html:19 templates/dcim/module.html:28 msgid "Power Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 -#: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 -#: netbox/netbox/navigation/menu.py:100 -#: netbox/templates/dcim/device/base.html:34 -#: netbox/templates/dcim/device_list.html:36 -#: netbox/templates/dcim/devicetype/base.html:31 -#: netbox/templates/dcim/inc/moduletype_buttons.html:22 -#: netbox/templates/dcim/module.html:31 +#: dcim/tables/devicetypes.py:125 dcim/views.py:1027 dcim/views.py:1266 +#: dcim/views.py:1961 netbox/navigation/menu.py:100 +#: templates/dcim/device/base.html:34 templates/dcim/device_list.html:36 +#: templates/dcim/devicetype/base.html:31 +#: templates/dcim/inc/moduletype_buttons.html:22 templates/dcim/module.html:31 msgid "Power Outlets" msgstr "" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 -#: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 -#: netbox/netbox/navigation/menu.py:95 -#: netbox/templates/dcim/device/base.html:40 -#: netbox/templates/dcim/devicetype/base.html:37 -#: netbox/templates/dcim/inc/moduletype_buttons.html:28 -#: netbox/templates/dcim/module.html:37 +#: dcim/tables/devicetypes.py:131 dcim/views.py:1057 dcim/views.py:1296 +#: dcim/views.py:1999 netbox/navigation/menu.py:95 +#: templates/dcim/device/base.html:40 templates/dcim/devicetype/base.html:37 +#: templates/dcim/inc/moduletype_buttons.html:28 templates/dcim/module.html:37 msgid "Front Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 -#: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 -#: netbox/netbox/navigation/menu.py:96 -#: netbox/templates/dcim/device/base.html:43 -#: netbox/templates/dcim/device_list.html:50 -#: netbox/templates/dcim/devicetype/base.html:40 -#: netbox/templates/dcim/inc/moduletype_buttons.html:31 -#: netbox/templates/dcim/module.html:40 +#: dcim/tables/devicetypes.py:134 dcim/views.py:1072 dcim/views.py:1311 +#: dcim/views.py:2015 netbox/navigation/menu.py:96 +#: templates/dcim/device/base.html:43 templates/dcim/device_list.html:50 +#: templates/dcim/devicetype/base.html:40 +#: templates/dcim/inc/moduletype_buttons.html:31 templates/dcim/module.html:40 msgid "Rear Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 -#: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 -#: netbox/templates/dcim/device/base.html:49 -#: netbox/templates/dcim/device_list.html:57 -#: netbox/templates/dcim/devicetype/base.html:46 +#: dcim/tables/devicetypes.py:137 dcim/views.py:1102 dcim/views.py:2055 +#: netbox/navigation/menu.py:102 templates/dcim/device/base.html:49 +#: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "" -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 -#: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 -#: netbox/netbox/navigation/menu.py:101 -#: netbox/templates/dcim/device/base.html:46 -#: netbox/templates/dcim/device_list.html:64 -#: netbox/templates/dcim/devicetype/base.html:43 -#: netbox/templates/dcim/inc/moduletype_buttons.html:34 -#: netbox/templates/dcim/module.html:43 +#: dcim/tables/devicetypes.py:140 dcim/views.py:1087 dcim/views.py:1326 +#: dcim/views.py:2035 netbox/navigation/menu.py:101 +#: templates/dcim/device/base.html:46 templates/dcim/device_list.html:64 +#: templates/dcim/devicetype/base.html:43 +#: templates/dcim/inc/moduletype_buttons.html:34 templates/dcim/module.html:43 msgid "Module Bays" msgstr "" -#: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:297 -#: netbox/templates/dcim/powerpanel.html:51 +#: dcim/tables/power.py:36 netbox/navigation/menu.py:297 +#: templates/dcim/powerpanel.html:51 msgid "Power Feeds" msgstr "" -#: netbox/dcim/tables/power.py:80 netbox/templates/dcim/powerfeed.html:99 +#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99 msgid "Max Utilization" msgstr "" -#: netbox/dcim/tables/power.py:84 +#: dcim/tables/power.py:84 msgid "Available Power (VA)" msgstr "" -#: netbox/dcim/tables/racks.py:30 netbox/dcim/tables/sites.py:143 -#: netbox/netbox/navigation/menu.py:43 netbox/netbox/navigation/menu.py:47 -#: netbox/netbox/navigation/menu.py:49 +#: dcim/tables/racks.py:30 dcim/tables/sites.py:143 +#: netbox/navigation/menu.py:43 netbox/navigation/menu.py:47 +#: netbox/navigation/menu.py:49 msgid "Racks" msgstr "" -#: netbox/dcim/tables/racks.py:63 netbox/dcim/tables/racks.py:142 -#: netbox/templates/dcim/device.html:318 -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:14 +#: dcim/tables/racks.py:63 dcim/tables/racks.py:142 +#: templates/dcim/device.html:318 +#: templates/dcim/inc/panels/racktype_dimensions.html:14 msgid "Height" msgstr "" -#: netbox/dcim/tables/racks.py:67 netbox/dcim/tables/racks.py:165 -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:18 +#: dcim/tables/racks.py:67 dcim/tables/racks.py:165 +#: templates/dcim/inc/panels/racktype_dimensions.html:18 msgid "Outer Width" msgstr "" -#: netbox/dcim/tables/racks.py:71 netbox/dcim/tables/racks.py:169 -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:28 +#: dcim/tables/racks.py:71 dcim/tables/racks.py:169 +#: templates/dcim/inc/panels/racktype_dimensions.html:28 msgid "Outer Depth" msgstr "" -#: netbox/dcim/tables/racks.py:79 netbox/dcim/tables/racks.py:177 +#: dcim/tables/racks.py:79 dcim/tables/racks.py:177 msgid "Max Weight" msgstr "" -#: netbox/dcim/tables/racks.py:154 +#: dcim/tables/racks.py:154 msgid "Space" msgstr "" -#: netbox/dcim/tables/sites.py:30 netbox/dcim/tables/sites.py:57 -#: netbox/extras/forms/filtersets.py:351 netbox/extras/forms/model_forms.py:517 -#: netbox/ipam/forms/bulk_edit.py:131 netbox/ipam/forms/model_forms.py:153 -#: netbox/ipam/tables/asn.py:66 netbox/netbox/navigation/menu.py:15 -#: netbox/netbox/navigation/menu.py:17 +#: dcim/tables/sites.py:30 dcim/tables/sites.py:57 +#: extras/forms/filtersets.py:351 extras/forms/model_forms.py:517 +#: ipam/forms/bulk_edit.py:131 ipam/forms/model_forms.py:153 +#: ipam/tables/asn.py:66 netbox/navigation/menu.py:15 +#: netbox/navigation/menu.py:17 msgid "Sites" msgstr "" -#: netbox/dcim/tests/test_api.py:47 +#: dcim/tests/test_api.py:47 msgid "Test case must set peer_termination_type" msgstr "" -#: netbox/dcim/views.py:140 +#: dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "" -#: netbox/dcim/views.py:740 netbox/netbox/navigation/menu.py:51 +#: dcim/views.py:740 netbox/navigation/menu.py:51 msgid "Reservations" msgstr "" -#: netbox/dcim/views.py:759 netbox/templates/dcim/location.html:90 -#: netbox/templates/dcim/site.html:140 +#: dcim/views.py:759 templates/dcim/location.html:90 +#: templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "" -#: netbox/dcim/views.py:2088 netbox/extras/forms/model_forms.py:577 -#: netbox/templates/extras/configcontext.html:10 -#: netbox/virtualization/forms/model_forms.py:225 -#: netbox/virtualization/views.py:407 +#: dcim/views.py:2088 extras/forms/model_forms.py:577 +#: templates/extras/configcontext.html:10 +#: virtualization/forms/model_forms.py:225 virtualization/views.py:407 msgid "Config Context" msgstr "" -#: netbox/dcim/views.py:2098 netbox/virtualization/views.py:417 +#: dcim/views.py:2098 virtualization/views.py:417 msgid "Render Config" msgstr "" -#: netbox/dcim/views.py:2131 netbox/virtualization/views.py:450 +#: dcim/views.py:2131 virtualization/views.py:450 #, python-brace-format msgid "An error occurred while rendering the template: {error}" msgstr "" -#: netbox/dcim/views.py:2149 netbox/extras/tables/tables.py:550 -#: netbox/netbox/navigation/menu.py:247 netbox/netbox/navigation/menu.py:249 -#: netbox/virtualization/views.py:180 +#: dcim/views.py:2149 extras/tables/tables.py:550 netbox/navigation/menu.py:247 +#: netbox/navigation/menu.py:249 virtualization/views.py:180 msgid "Virtual Machines" msgstr "" -#: netbox/dcim/views.py:2907 +#: dcim/views.py:2907 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:2948 +#: dcim/views.py:2948 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:3054 netbox/ipam/tables/ip.py:234 +#: dcim/views.py:3054 ipam/tables/ip.py:234 msgid "Children" msgstr "" -#: netbox/dcim/views.py:3520 +#: dcim/views.py:3520 #, python-brace-format msgid "Added member {device}" msgstr "" -#: netbox/dcim/views.py:3567 +#: dcim/views.py:3567 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" -#: netbox/dcim/views.py:3580 +#: dcim/views.py:3580 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "" -#: netbox/extras/api/customfields.py:89 +#: extras/api/customfields.py:89 #, python-brace-format msgid "Unknown related object(s): {name}" msgstr "" -#: netbox/extras/api/serializers_/customfields.py:73 +#: extras/api/serializers_/customfields.py:73 msgid "Changing the type of custom fields is not supported." msgstr "" -#: netbox/extras/api/serializers_/scripts.py:70 -#: netbox/extras/api/serializers_/scripts.py:75 +#: extras/api/serializers_/scripts.py:70 extras/api/serializers_/scripts.py:75 msgid "Scheduling is not enabled for this script." msgstr "" -#: netbox/extras/choices.py:30 netbox/extras/forms/misc.py:14 +#: extras/choices.py:30 extras/forms/misc.py:14 msgid "Text" msgstr "" -#: netbox/extras/choices.py:31 +#: extras/choices.py:31 msgid "Text (long)" msgstr "" -#: netbox/extras/choices.py:32 +#: extras/choices.py:32 msgid "Integer" msgstr "" -#: netbox/extras/choices.py:33 +#: extras/choices.py:33 msgid "Decimal" msgstr "" -#: netbox/extras/choices.py:34 +#: extras/choices.py:34 msgid "Boolean (true/false)" msgstr "" -#: netbox/extras/choices.py:35 +#: extras/choices.py:35 msgid "Date" msgstr "" -#: netbox/extras/choices.py:36 +#: extras/choices.py:36 msgid "Date & time" msgstr "" -#: netbox/extras/choices.py:38 +#: extras/choices.py:38 msgid "JSON" msgstr "" -#: netbox/extras/choices.py:39 +#: extras/choices.py:39 msgid "Selection" msgstr "" -#: netbox/extras/choices.py:40 +#: extras/choices.py:40 msgid "Multiple selection" msgstr "" -#: netbox/extras/choices.py:42 +#: extras/choices.py:42 msgid "Multiple objects" msgstr "" -#: netbox/extras/choices.py:53 netbox/netbox/preferences.py:21 -#: netbox/templates/extras/customfield.html:78 netbox/vpn/choices.py:20 -#: netbox/wireless/choices.py:27 +#: extras/choices.py:53 netbox/preferences.py:21 +#: templates/extras/customfield.html:78 vpn/choices.py:20 +#: wireless/choices.py:27 msgid "Disabled" msgstr "" -#: netbox/extras/choices.py:54 +#: extras/choices.py:54 msgid "Loose" msgstr "" -#: netbox/extras/choices.py:55 +#: extras/choices.py:55 msgid "Exact" msgstr "" -#: netbox/extras/choices.py:66 +#: extras/choices.py:66 msgid "Always" msgstr "" -#: netbox/extras/choices.py:67 +#: extras/choices.py:67 msgid "If set" msgstr "" -#: netbox/extras/choices.py:68 netbox/extras/choices.py:81 +#: extras/choices.py:68 extras/choices.py:81 msgid "Hidden" msgstr "" -#: netbox/extras/choices.py:79 +#: extras/choices.py:79 msgid "Yes" msgstr "" -#: netbox/extras/choices.py:80 +#: extras/choices.py:80 msgid "No" msgstr "" -#: netbox/extras/choices.py:108 netbox/templates/tenancy/contact.html:57 -#: netbox/tenancy/forms/bulk_edit.py:118 -#: netbox/wireless/forms/model_forms.py:168 +#: extras/choices.py:108 templates/tenancy/contact.html:57 +#: tenancy/forms/bulk_edit.py:118 wireless/forms/model_forms.py:168 msgid "Link" msgstr "" -#: netbox/extras/choices.py:124 +#: extras/choices.py:124 msgid "Newest" msgstr "" -#: netbox/extras/choices.py:125 +#: extras/choices.py:125 msgid "Oldest" msgstr "" -#: netbox/extras/choices.py:126 +#: extras/choices.py:126 msgid "Alphabetical (A-Z)" msgstr "" -#: netbox/extras/choices.py:127 +#: extras/choices.py:127 msgid "Alphabetical (Z-A)" msgstr "" -#: netbox/extras/choices.py:144 netbox/extras/choices.py:167 +#: extras/choices.py:144 extras/choices.py:167 msgid "Info" msgstr "" -#: netbox/extras/choices.py:145 netbox/extras/choices.py:168 +#: extras/choices.py:145 extras/choices.py:168 msgid "Success" msgstr "" -#: netbox/extras/choices.py:146 netbox/extras/choices.py:169 +#: extras/choices.py:146 extras/choices.py:169 msgid "Warning" msgstr "" -#: netbox/extras/choices.py:147 +#: extras/choices.py:147 msgid "Danger" msgstr "" -#: netbox/extras/choices.py:165 +#: extras/choices.py:165 msgid "Debug" msgstr "" -#: netbox/extras/choices.py:166 netbox/netbox/choices.py:101 +#: extras/choices.py:166 netbox/choices.py:101 msgid "Default" msgstr "" -#: netbox/extras/choices.py:170 +#: extras/choices.py:170 msgid "Failure" msgstr "" -#: netbox/extras/choices.py:186 +#: extras/choices.py:186 msgid "Hourly" msgstr "" -#: netbox/extras/choices.py:187 +#: extras/choices.py:187 msgid "12 hours" msgstr "" -#: netbox/extras/choices.py:188 +#: extras/choices.py:188 msgid "Daily" msgstr "" -#: netbox/extras/choices.py:189 +#: extras/choices.py:189 msgid "Weekly" msgstr "" -#: netbox/extras/choices.py:190 +#: extras/choices.py:190 msgid "30 days" msgstr "" -#: netbox/extras/choices.py:226 -#: netbox/templates/dcim/virtualchassis_edit.html:107 -#: netbox/templates/generic/bulk_add_component.html:68 -#: netbox/templates/generic/object_edit.html:47 -#: netbox/templates/generic/object_edit.html:80 -#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 +#: extras/choices.py:226 templates/dcim/virtualchassis_edit.html:107 +#: 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:7 msgid "Create" msgstr "" -#: netbox/extras/choices.py:227 +#: extras/choices.py:227 msgid "Update" msgstr "" -#: netbox/extras/choices.py:228 -#: netbox/templates/circuits/inc/circuit_termination.html:23 -#: netbox/templates/dcim/inc/panels/inventory_items.html:37 -#: netbox/templates/dcim/powerpanel.html:66 -#: netbox/templates/extras/script_list.html:35 -#: netbox/templates/generic/bulk_delete.html:20 -#: netbox/templates/generic/bulk_delete.html:66 -#: netbox/templates/generic/object_delete.html:19 -#: netbox/templates/htmx/delete_form.html:57 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:48 -#: netbox/templates/users/objectpermission.html:46 -#: netbox/utilities/templates/buttons/delete.html:11 +#: extras/choices.py:228 templates/circuits/inc/circuit_termination.html:23 +#: templates/dcim/inc/panels/inventory_items.html:37 +#: templates/dcim/powerpanel.html:66 templates/extras/script_list.html:35 +#: 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 "" -#: netbox/extras/choices.py:252 netbox/netbox/choices.py:57 -#: netbox/netbox/choices.py:102 +#: extras/choices.py:252 netbox/choices.py:57 netbox/choices.py:102 msgid "Blue" msgstr "" -#: netbox/extras/choices.py:253 netbox/netbox/choices.py:56 -#: netbox/netbox/choices.py:103 +#: extras/choices.py:253 netbox/choices.py:56 netbox/choices.py:103 msgid "Indigo" msgstr "" -#: netbox/extras/choices.py:254 netbox/netbox/choices.py:54 -#: netbox/netbox/choices.py:104 +#: extras/choices.py:254 netbox/choices.py:54 netbox/choices.py:104 msgid "Purple" msgstr "" -#: netbox/extras/choices.py:255 netbox/netbox/choices.py:51 -#: netbox/netbox/choices.py:105 +#: extras/choices.py:255 netbox/choices.py:51 netbox/choices.py:105 msgid "Pink" msgstr "" -#: netbox/extras/choices.py:256 netbox/netbox/choices.py:50 -#: netbox/netbox/choices.py:106 +#: extras/choices.py:256 netbox/choices.py:50 netbox/choices.py:106 msgid "Red" msgstr "" -#: netbox/extras/choices.py:257 netbox/netbox/choices.py:68 -#: netbox/netbox/choices.py:107 +#: extras/choices.py:257 netbox/choices.py:68 netbox/choices.py:107 msgid "Orange" msgstr "" -#: netbox/extras/choices.py:258 netbox/netbox/choices.py:66 -#: netbox/netbox/choices.py:108 +#: extras/choices.py:258 netbox/choices.py:66 netbox/choices.py:108 msgid "Yellow" msgstr "" -#: netbox/extras/choices.py:259 netbox/netbox/choices.py:63 -#: netbox/netbox/choices.py:109 +#: extras/choices.py:259 netbox/choices.py:63 netbox/choices.py:109 msgid "Green" msgstr "" -#: netbox/extras/choices.py:260 netbox/netbox/choices.py:60 -#: netbox/netbox/choices.py:110 +#: extras/choices.py:260 netbox/choices.py:60 netbox/choices.py:110 msgid "Teal" msgstr "" -#: netbox/extras/choices.py:261 netbox/netbox/choices.py:59 -#: netbox/netbox/choices.py:111 +#: extras/choices.py:261 netbox/choices.py:59 netbox/choices.py:111 msgid "Cyan" msgstr "" -#: netbox/extras/choices.py:262 netbox/netbox/choices.py:112 +#: extras/choices.py:262 netbox/choices.py:112 msgid "Gray" msgstr "" -#: netbox/extras/choices.py:263 netbox/netbox/choices.py:74 -#: netbox/netbox/choices.py:113 +#: extras/choices.py:263 netbox/choices.py:74 netbox/choices.py:113 msgid "Black" msgstr "" -#: netbox/extras/choices.py:264 netbox/netbox/choices.py:75 -#: netbox/netbox/choices.py:114 +#: extras/choices.py:264 netbox/choices.py:75 netbox/choices.py:114 msgid "White" msgstr "" -#: netbox/extras/choices.py:279 netbox/extras/forms/model_forms.py:353 -#: netbox/extras/forms/model_forms.py:430 -#: netbox/templates/extras/webhook.html:10 +#: extras/choices.py:279 extras/forms/model_forms.py:353 +#: extras/forms/model_forms.py:430 templates/extras/webhook.html:10 msgid "Webhook" msgstr "" -#: netbox/extras/choices.py:280 netbox/extras/forms/model_forms.py:418 -#: netbox/templates/extras/script/base.html:29 +#: extras/choices.py:280 extras/forms/model_forms.py:418 +#: templates/extras/script/base.html:29 msgid "Script" msgstr "" -#: netbox/extras/choices.py:281 +#: extras/choices.py:281 msgid "Notification" msgstr "" -#: netbox/extras/conditions.py:54 +#: extras/conditions.py:54 #, python-brace-format msgid "Unknown operator: {op}. Must be one of: {operators}" msgstr "" -#: netbox/extras/conditions.py:58 +#: extras/conditions.py:58 #, python-brace-format msgid "Unsupported value type: {value}" msgstr "" -#: netbox/extras/conditions.py:60 +#: extras/conditions.py:60 #, python-brace-format msgid "Invalid type for {op} operation: {value}" msgstr "" -#: netbox/extras/conditions.py:137 +#: extras/conditions.py:137 #, python-brace-format msgid "Ruleset must be a dictionary, not {ruleset}." msgstr "" -#: netbox/extras/conditions.py:142 +#: extras/conditions.py:142 msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation." msgstr "" -#: netbox/extras/conditions.py:154 +#: extras/conditions.py:154 msgid "Incorrect key(s) informed. Please check documentation." msgstr "" -#: netbox/extras/dashboard/forms.py:38 +#: extras/dashboard/forms.py:38 msgid "Widget type" msgstr "" -#: netbox/extras/dashboard/utils.py:36 +#: extras/dashboard/utils.py:36 #, python-brace-format msgid "Unregistered widget class: {name}" msgstr "" -#: netbox/extras/dashboard/widgets.py:125 +#: extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "" -#: netbox/extras/dashboard/widgets.py:144 +#: extras/dashboard/widgets.py:144 msgid "Note" msgstr "" -#: netbox/extras/dashboard/widgets.py:145 +#: extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" -#: netbox/extras/dashboard/widgets.py:158 +#: extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "" -#: netbox/extras/dashboard/widgets.py:159 +#: extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "" -#: netbox/extras/dashboard/widgets.py:169 +#: extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "" -#: netbox/extras/dashboard/widgets.py:177 +#: extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" -#: netbox/extras/dashboard/widgets.py:208 +#: extras/dashboard/widgets.py:208 msgid "Object List" msgstr "" -#: netbox/extras/dashboard/widgets.py:209 +#: extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "" -#: netbox/extras/dashboard/widgets.py:222 +#: extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "" -#: netbox/extras/dashboard/widgets.py:234 +#: extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" -#: netbox/extras/dashboard/widgets.py:274 +#: extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "" -#: netbox/extras/dashboard/widgets.py:279 +#: extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "" -#: netbox/extras/dashboard/widgets.py:286 +#: extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "" -#: netbox/extras/dashboard/widgets.py:291 +#: extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "" -#: netbox/extras/dashboard/widgets.py:296 +#: extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "" -#: netbox/extras/dashboard/widgets.py:348 netbox/templates/account/base.html:10 -#: netbox/templates/account/bookmarks.html:7 -#: netbox/templates/inc/user_menu.html:48 +#: extras/dashboard/widgets.py:348 templates/account/base.html:10 +#: templates/account/bookmarks.html:7 templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "" -#: netbox/extras/dashboard/widgets.py:352 +#: extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "" -#: netbox/extras/events.py:147 +#: extras/events.py:147 #, python-brace-format msgid "Unknown action type for an event rule: {action_type}" msgstr "" -#: netbox/extras/events.py:192 +#: extras/events.py:192 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" msgstr "" -#: netbox/extras/filtersets.py:45 +#: extras/filtersets.py:45 msgid "Script module (ID)" msgstr "" -#: netbox/extras/filtersets.py:254 netbox/extras/filtersets.py:637 -#: netbox/extras/filtersets.py:665 +#: extras/filtersets.py:254 extras/filtersets.py:637 extras/filtersets.py:665 msgid "Data file (ID)" msgstr "" -#: netbox/extras/filtersets.py:370 netbox/users/filtersets.py:68 -#: netbox/users/filtersets.py:191 +#: extras/filtersets.py:370 users/filtersets.py:68 users/filtersets.py:191 msgid "Group (name)" msgstr "" -#: netbox/extras/filtersets.py:574 -#: netbox/virtualization/forms/filtersets.py:118 +#: extras/filtersets.py:574 virtualization/forms/filtersets.py:118 msgid "Cluster type" msgstr "" -#: netbox/extras/filtersets.py:580 netbox/virtualization/filtersets.py:95 -#: netbox/virtualization/filtersets.py:147 +#: extras/filtersets.py:580 virtualization/filtersets.py:95 +#: virtualization/filtersets.py:147 msgid "Cluster type (slug)" msgstr "" -#: netbox/extras/filtersets.py:601 netbox/tenancy/forms/forms.py:16 -#: netbox/tenancy/forms/forms.py:39 +#: extras/filtersets.py:601 tenancy/forms/forms.py:16 tenancy/forms/forms.py:39 msgid "Tenant group" msgstr "" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 -#: netbox/tenancy/filtersets.py:208 +#: extras/filtersets.py:607 tenancy/filtersets.py:188 tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "" -#: netbox/extras/filtersets.py:623 netbox/extras/forms/model_forms.py:495 -#: netbox/templates/extras/tag.html:11 +#: extras/filtersets.py:623 extras/forms/model_forms.py:495 +#: templates/extras/tag.html:11 msgid "Tag" msgstr "" -#: netbox/extras/filtersets.py:629 +#: extras/filtersets.py:629 msgid "Tag (slug)" msgstr "" -#: netbox/extras/filtersets.py:689 netbox/extras/forms/filtersets.py:429 +#: extras/filtersets.py:689 extras/forms/filtersets.py:429 msgid "Has local config context data" msgstr "" -#: netbox/extras/forms/bulk_edit.py:35 netbox/extras/forms/filtersets.py:60 +#: extras/forms/bulk_edit.py:35 extras/forms/filtersets.py:60 msgid "Group name" msgstr "" -#: netbox/extras/forms/bulk_edit.py:43 netbox/extras/forms/filtersets.py:68 -#: netbox/extras/tables/tables.py:65 -#: netbox/templates/extras/customfield.html:38 -#: netbox/templates/generic/bulk_import.html:118 +#: extras/forms/bulk_edit.py:43 extras/forms/filtersets.py:68 +#: extras/tables/tables.py:65 templates/extras/customfield.html:38 +#: templates/generic/bulk_import.html:118 msgid "Required" msgstr "" -#: netbox/extras/forms/bulk_edit.py:48 netbox/extras/forms/filtersets.py:75 +#: extras/forms/bulk_edit.py:48 extras/forms/filtersets.py:75 msgid "Must be unique" msgstr "" -#: netbox/extras/forms/bulk_edit.py:61 netbox/extras/forms/bulk_import.py:60 -#: netbox/extras/forms/filtersets.py:89 -#: netbox/extras/models/customfields.py:209 +#: extras/forms/bulk_edit.py:61 extras/forms/bulk_import.py:60 +#: extras/forms/filtersets.py:89 extras/models/customfields.py:209 msgid "UI visible" msgstr "" -#: netbox/extras/forms/bulk_edit.py:66 netbox/extras/forms/bulk_import.py:66 -#: netbox/extras/forms/filtersets.py:94 -#: netbox/extras/models/customfields.py:216 +#: extras/forms/bulk_edit.py:66 extras/forms/bulk_import.py:66 +#: extras/forms/filtersets.py:94 extras/models/customfields.py:216 msgid "UI editable" msgstr "" -#: netbox/extras/forms/bulk_edit.py:71 netbox/extras/forms/filtersets.py:97 +#: extras/forms/bulk_edit.py:71 extras/forms/filtersets.py:97 msgid "Is cloneable" msgstr "" -#: netbox/extras/forms/bulk_edit.py:76 netbox/extras/forms/filtersets.py:104 +#: extras/forms/bulk_edit.py:76 extras/forms/filtersets.py:104 msgid "Minimum value" msgstr "" -#: netbox/extras/forms/bulk_edit.py:80 netbox/extras/forms/filtersets.py:108 +#: extras/forms/bulk_edit.py:80 extras/forms/filtersets.py:108 msgid "Maximum value" msgstr "" -#: netbox/extras/forms/bulk_edit.py:84 netbox/extras/forms/filtersets.py:112 +#: extras/forms/bulk_edit.py:84 extras/forms/filtersets.py:112 msgid "Validation regex" msgstr "" -#: netbox/extras/forms/bulk_edit.py:91 netbox/extras/forms/filtersets.py:46 -#: netbox/extras/forms/model_forms.py:76 -#: netbox/templates/extras/customfield.html:70 +#: extras/forms/bulk_edit.py:91 extras/forms/filtersets.py:46 +#: extras/forms/model_forms.py:76 templates/extras/customfield.html:70 msgid "Behavior" msgstr "" -#: netbox/extras/forms/bulk_edit.py:128 netbox/extras/forms/filtersets.py:149 +#: extras/forms/bulk_edit.py:128 extras/forms/filtersets.py:149 msgid "New window" msgstr "" -#: netbox/extras/forms/bulk_edit.py:137 +#: extras/forms/bulk_edit.py:137 msgid "Button class" msgstr "" -#: netbox/extras/forms/bulk_edit.py:154 netbox/extras/forms/filtersets.py:187 -#: netbox/extras/models/models.py:409 +#: extras/forms/bulk_edit.py:154 extras/forms/filtersets.py:187 +#: extras/models/models.py:409 msgid "MIME type" msgstr "" -#: netbox/extras/forms/bulk_edit.py:159 netbox/extras/forms/filtersets.py:190 +#: extras/forms/bulk_edit.py:159 extras/forms/filtersets.py:190 msgid "File extension" msgstr "" -#: netbox/extras/forms/bulk_edit.py:164 netbox/extras/forms/filtersets.py:194 +#: extras/forms/bulk_edit.py:164 extras/forms/filtersets.py:194 msgid "As attachment" msgstr "" -#: netbox/extras/forms/bulk_edit.py:192 netbox/extras/forms/filtersets.py:236 -#: netbox/extras/tables/tables.py:256 -#: netbox/templates/extras/savedfilter.html:29 +#: extras/forms/bulk_edit.py:192 extras/forms/filtersets.py:236 +#: extras/tables/tables.py:256 templates/extras/savedfilter.html:29 msgid "Shared" msgstr "" -#: netbox/extras/forms/bulk_edit.py:215 netbox/extras/forms/filtersets.py:265 -#: netbox/extras/models/models.py:174 +#: extras/forms/bulk_edit.py:215 extras/forms/filtersets.py:265 +#: extras/models/models.py:174 msgid "HTTP method" msgstr "" -#: netbox/extras/forms/bulk_edit.py:219 netbox/extras/forms/filtersets.py:259 -#: netbox/templates/extras/webhook.html:30 +#: extras/forms/bulk_edit.py:219 extras/forms/filtersets.py:259 +#: templates/extras/webhook.html:30 msgid "Payload URL" msgstr "" -#: netbox/extras/forms/bulk_edit.py:224 netbox/extras/models/models.py:214 +#: extras/forms/bulk_edit.py:224 extras/models/models.py:214 msgid "SSL verification" msgstr "" -#: netbox/extras/forms/bulk_edit.py:227 netbox/templates/extras/webhook.html:38 +#: extras/forms/bulk_edit.py:227 templates/extras/webhook.html:38 msgid "Secret" msgstr "" -#: netbox/extras/forms/bulk_edit.py:232 +#: extras/forms/bulk_edit.py:232 msgid "CA file path" msgstr "" -#: netbox/extras/forms/bulk_edit.py:253 netbox/extras/forms/bulk_import.py:192 -#: netbox/extras/forms/model_forms.py:377 +#: extras/forms/bulk_edit.py:253 extras/forms/bulk_import.py:192 +#: extras/forms/model_forms.py:377 msgid "Event types" msgstr "" -#: netbox/extras/forms/bulk_edit.py:293 +#: extras/forms/bulk_edit.py:293 msgid "Is active" msgstr "" -#: netbox/extras/forms/bulk_import.py:37 netbox/extras/forms/bulk_import.py:118 -#: netbox/extras/forms/bulk_import.py:139 -#: netbox/extras/forms/bulk_import.py:162 -#: netbox/extras/forms/bulk_import.py:186 netbox/extras/forms/filtersets.py:137 -#: netbox/extras/forms/filtersets.py:224 netbox/extras/forms/model_forms.py:47 -#: netbox/extras/forms/model_forms.py:205 -#: netbox/extras/forms/model_forms.py:237 -#: netbox/extras/forms/model_forms.py:278 -#: netbox/extras/forms/model_forms.py:372 -#: netbox/extras/forms/model_forms.py:489 netbox/users/forms/model_forms.py:276 +#: extras/forms/bulk_import.py:37 extras/forms/bulk_import.py:118 +#: extras/forms/bulk_import.py:139 extras/forms/bulk_import.py:162 +#: extras/forms/bulk_import.py:186 extras/forms/filtersets.py:137 +#: extras/forms/filtersets.py:224 extras/forms/model_forms.py:47 +#: extras/forms/model_forms.py:205 extras/forms/model_forms.py:237 +#: extras/forms/model_forms.py:278 extras/forms/model_forms.py:372 +#: extras/forms/model_forms.py:489 users/forms/model_forms.py:276 msgid "Object types" msgstr "" -#: netbox/extras/forms/bulk_import.py:39 netbox/extras/forms/bulk_import.py:120 -#: netbox/extras/forms/bulk_import.py:141 -#: netbox/extras/forms/bulk_import.py:164 -#: netbox/extras/forms/bulk_import.py:188 -#: netbox/tenancy/forms/bulk_import.py:96 +#: extras/forms/bulk_import.py:39 extras/forms/bulk_import.py:120 +#: extras/forms/bulk_import.py:141 extras/forms/bulk_import.py:164 +#: extras/forms/bulk_import.py:188 tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" msgstr "" -#: netbox/extras/forms/bulk_import.py:44 +#: extras/forms/bulk_import.py:44 msgid "Field data type (e.g. text, integer, etc.)" msgstr "" -#: netbox/extras/forms/bulk_import.py:47 netbox/extras/forms/filtersets.py:208 -#: netbox/extras/forms/filtersets.py:281 netbox/extras/forms/model_forms.py:304 -#: netbox/extras/forms/model_forms.py:341 netbox/tenancy/forms/filtersets.py:92 +#: extras/forms/bulk_import.py:47 extras/forms/filtersets.py:208 +#: extras/forms/filtersets.py:281 extras/forms/model_forms.py:304 +#: extras/forms/model_forms.py:341 tenancy/forms/filtersets.py:92 msgid "Object type" msgstr "" -#: netbox/extras/forms/bulk_import.py:50 +#: extras/forms/bulk_import.py:50 msgid "Object type (for object or multi-object fields)" msgstr "" -#: netbox/extras/forms/bulk_import.py:53 netbox/extras/forms/filtersets.py:84 +#: extras/forms/bulk_import.py:53 extras/forms/filtersets.py:84 msgid "Choice set" msgstr "" -#: netbox/extras/forms/bulk_import.py:57 +#: extras/forms/bulk_import.py:57 msgid "Choice set (for selection fields)" msgstr "" -#: netbox/extras/forms/bulk_import.py:63 +#: extras/forms/bulk_import.py:63 msgid "Whether the custom field is displayed in the UI" msgstr "" -#: netbox/extras/forms/bulk_import.py:69 +#: extras/forms/bulk_import.py:69 msgid "Whether the custom field is editable in the UI" msgstr "" -#: netbox/extras/forms/bulk_import.py:85 +#: extras/forms/bulk_import.py:85 msgid "The base set of predefined choices to use (if any)" msgstr "" -#: netbox/extras/forms/bulk_import.py:91 +#: extras/forms/bulk_import.py:91 msgid "" "Quoted string of comma-separated field choices with optional labels " "separated by colon: \"choice1:First Choice,choice2:Second Choice\"" msgstr "" -#: netbox/extras/forms/bulk_import.py:123 netbox/extras/models/models.py:323 +#: extras/forms/bulk_import.py:123 extras/models/models.py:323 msgid "button class" msgstr "" -#: netbox/extras/forms/bulk_import.py:126 netbox/extras/models/models.py:327 +#: extras/forms/bulk_import.py:126 extras/models/models.py:327 msgid "" "The class of the first link in a group will be used for the dropdown button" msgstr "" -#: netbox/extras/forms/bulk_import.py:193 +#: extras/forms/bulk_import.py:193 msgid "The event type(s) which will trigger this rule" msgstr "" -#: netbox/extras/forms/bulk_import.py:196 +#: extras/forms/bulk_import.py:196 msgid "Action object" msgstr "" -#: netbox/extras/forms/bulk_import.py:198 +#: extras/forms/bulk_import.py:198 msgid "Webhook name or script as dotted path module.Class" msgstr "" -#: netbox/extras/forms/bulk_import.py:219 +#: extras/forms/bulk_import.py:219 #, python-brace-format msgid "Webhook {name} not found" msgstr "" -#: netbox/extras/forms/bulk_import.py:228 +#: extras/forms/bulk_import.py:228 #, python-brace-format msgid "Script {name} not found" msgstr "" -#: netbox/extras/forms/bulk_import.py:244 +#: extras/forms/bulk_import.py:244 msgid "Assigned object type" msgstr "" -#: netbox/extras/forms/bulk_import.py:249 +#: extras/forms/bulk_import.py:249 msgid "The classification of entry" msgstr "" -#: netbox/extras/forms/bulk_import.py:261 -#: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 -#: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 -#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 -#: netbox/users/tables.py:102 +#: extras/forms/bulk_import.py:261 extras/forms/model_forms.py:320 +#: netbox/navigation/menu.py:390 templates/extras/notificationgroup.html:41 +#: 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 "" -#: netbox/extras/forms/bulk_import.py:265 +#: extras/forms/bulk_import.py:265 msgid "User names separated by commas, encased with double quotes" msgstr "" -#: netbox/extras/forms/bulk_import.py:268 -#: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 -#: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 -#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 -#: netbox/users/tables.py:106 +#: extras/forms/bulk_import.py:268 extras/forms/model_forms.py:315 +#: netbox/navigation/menu.py:410 templates/extras/notificationgroup.html:31 +#: users/forms/model_forms.py:181 users/forms/model_forms.py:193 +#: users/forms/model_forms.py:305 users/tables.py:35 users/tables.py:106 msgid "Groups" msgstr "" -#: netbox/extras/forms/bulk_import.py:272 +#: extras/forms/bulk_import.py:272 msgid "Group names separated by commas, encased with double quotes" msgstr "" -#: netbox/extras/forms/filtersets.py:52 netbox/extras/forms/model_forms.py:56 +#: extras/forms/filtersets.py:52 extras/forms/model_forms.py:56 msgid "Related object type" msgstr "" -#: netbox/extras/forms/filtersets.py:57 +#: extras/forms/filtersets.py:57 msgid "Field type" msgstr "" -#: netbox/extras/forms/filtersets.py:120 netbox/extras/forms/model_forms.py:157 -#: netbox/extras/tables/tables.py:91 -#: netbox/templates/generic/bulk_import.html:154 +#: extras/forms/filtersets.py:120 extras/forms/model_forms.py:157 +#: extras/tables/tables.py:91 templates/generic/bulk_import.html:154 msgid "Choices" msgstr "" -#: netbox/extras/forms/filtersets.py:164 netbox/extras/forms/filtersets.py:319 -#: netbox/extras/forms/filtersets.py:408 netbox/extras/forms/model_forms.py:572 -#: netbox/templates/core/job.html:96 netbox/templates/extras/eventrule.html:84 +#: extras/forms/filtersets.py:164 extras/forms/filtersets.py:319 +#: extras/forms/filtersets.py:408 extras/forms/model_forms.py:572 +#: templates/core/job.html:96 templates/extras/eventrule.html:84 msgid "Data" msgstr "" -#: netbox/extras/forms/filtersets.py:175 netbox/extras/forms/filtersets.py:333 -#: netbox/extras/forms/filtersets.py:418 netbox/netbox/choices.py:130 -#: netbox/utilities/forms/bulk_import.py:26 +#: extras/forms/filtersets.py:175 extras/forms/filtersets.py:333 +#: extras/forms/filtersets.py:418 netbox/choices.py:130 +#: utilities/forms/bulk_import.py:26 msgid "Data file" msgstr "" -#: netbox/extras/forms/filtersets.py:183 +#: extras/forms/filtersets.py:183 msgid "Content types" msgstr "" -#: netbox/extras/forms/filtersets.py:255 netbox/extras/models/models.py:179 +#: extras/forms/filtersets.py:255 extras/models/models.py:179 msgid "HTTP content type" msgstr "" -#: netbox/extras/forms/filtersets.py:286 +#: extras/forms/filtersets.py:286 msgid "Event type" msgstr "" -#: netbox/extras/forms/filtersets.py:291 +#: extras/forms/filtersets.py:291 msgid "Action type" msgstr "" -#: netbox/extras/forms/filtersets.py:307 +#: extras/forms/filtersets.py:307 msgid "Tagged object type" msgstr "" -#: netbox/extras/forms/filtersets.py:312 +#: extras/forms/filtersets.py:312 msgid "Allowed object type" msgstr "" -#: netbox/extras/forms/filtersets.py:341 netbox/extras/forms/model_forms.py:507 -#: netbox/netbox/navigation/menu.py:18 +#: extras/forms/filtersets.py:341 extras/forms/model_forms.py:507 +#: netbox/navigation/menu.py:18 msgid "Regions" msgstr "" -#: netbox/extras/forms/filtersets.py:346 netbox/extras/forms/model_forms.py:512 +#: extras/forms/filtersets.py:346 extras/forms/model_forms.py:512 msgid "Site groups" msgstr "" -#: netbox/extras/forms/filtersets.py:356 netbox/extras/forms/model_forms.py:522 -#: netbox/netbox/navigation/menu.py:20 netbox/templates/dcim/site.html:127 +#: extras/forms/filtersets.py:356 extras/forms/model_forms.py:522 +#: netbox/navigation/menu.py:20 templates/dcim/site.html:127 msgid "Locations" msgstr "" -#: netbox/extras/forms/filtersets.py:361 netbox/extras/forms/model_forms.py:527 +#: extras/forms/filtersets.py:361 extras/forms/model_forms.py:527 msgid "Device types" msgstr "" -#: netbox/extras/forms/filtersets.py:366 netbox/extras/forms/model_forms.py:532 +#: extras/forms/filtersets.py:366 extras/forms/model_forms.py:532 msgid "Roles" msgstr "" -#: netbox/extras/forms/filtersets.py:376 netbox/extras/forms/model_forms.py:542 +#: extras/forms/filtersets.py:376 extras/forms/model_forms.py:542 msgid "Cluster types" msgstr "" -#: netbox/extras/forms/filtersets.py:381 netbox/extras/forms/model_forms.py:547 +#: extras/forms/filtersets.py:381 extras/forms/model_forms.py:547 msgid "Cluster groups" msgstr "" -#: netbox/extras/forms/filtersets.py:386 netbox/extras/forms/model_forms.py:552 -#: netbox/netbox/navigation/menu.py:255 netbox/netbox/navigation/menu.py:257 -#: netbox/templates/virtualization/clustertype.html:30 -#: netbox/virtualization/tables/clusters.py:23 -#: netbox/virtualization/tables/clusters.py:45 +#: extras/forms/filtersets.py:386 extras/forms/model_forms.py:552 +#: netbox/navigation/menu.py:255 netbox/navigation/menu.py:257 +#: templates/virtualization/clustertype.html:30 +#: virtualization/tables/clusters.py:23 virtualization/tables/clusters.py:45 msgid "Clusters" msgstr "" -#: netbox/extras/forms/filtersets.py:391 netbox/extras/forms/model_forms.py:557 +#: extras/forms/filtersets.py:391 extras/forms/model_forms.py:557 msgid "Tenant groups" msgstr "" -#: netbox/extras/forms/model_forms.py:49 +#: extras/forms/model_forms.py:49 msgid "The type(s) of object that have this custom field" msgstr "" -#: netbox/extras/forms/model_forms.py:52 +#: extras/forms/model_forms.py:52 msgid "Default value" msgstr "" -#: netbox/extras/forms/model_forms.py:58 +#: extras/forms/model_forms.py:58 msgid "Type of the related object (for object/multi-object fields only)" msgstr "" -#: netbox/extras/forms/model_forms.py:61 -#: netbox/templates/extras/customfield.html:60 +#: extras/forms/model_forms.py:61 templates/extras/customfield.html:60 msgid "Related object filter" msgstr "" -#: netbox/extras/forms/model_forms.py:63 +#: extras/forms/model_forms.py:63 msgid "Specify query parameters as a JSON object." msgstr "" -#: netbox/extras/forms/model_forms.py:73 -#: netbox/templates/extras/customfield.html:10 +#: extras/forms/model_forms.py:73 templates/extras/customfield.html:10 msgid "Custom Field" msgstr "" -#: netbox/extras/forms/model_forms.py:85 +#: extras/forms/model_forms.py:85 msgid "" "The type of data stored in this field. For object/multi-object fields, " "select the related object type below." msgstr "" -#: netbox/extras/forms/model_forms.py:88 +#: extras/forms/model_forms.py:88 msgid "" "This will be displayed as help text for the form field. Markdown is " "supported." msgstr "" -#: netbox/extras/forms/model_forms.py:143 +#: extras/forms/model_forms.py:143 msgid "Related Object" msgstr "" -#: netbox/extras/forms/model_forms.py:169 +#: extras/forms/model_forms.py:169 msgid "" "Enter one choice per line. An optional label may be specified for each " "choice by appending it with a colon. Example:" msgstr "" -#: netbox/extras/forms/model_forms.py:212 -#: netbox/templates/extras/customlink.html:10 +#: extras/forms/model_forms.py:212 templates/extras/customlink.html:10 msgid "Custom Link" msgstr "" -#: netbox/extras/forms/model_forms.py:214 +#: extras/forms/model_forms.py:214 msgid "Templates" msgstr "" -#: netbox/extras/forms/model_forms.py:226 +#: extras/forms/model_forms.py:226 #, python-brace-format msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " "Links which render as empty text will not be displayed." msgstr "" -#: netbox/extras/forms/model_forms.py:230 +#: extras/forms/model_forms.py:230 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" -#: netbox/extras/forms/model_forms.py:241 -#: netbox/extras/forms/model_forms.py:624 +#: extras/forms/model_forms.py:241 extras/forms/model_forms.py:624 msgid "Template code" msgstr "" -#: netbox/extras/forms/model_forms.py:247 -#: netbox/templates/extras/exporttemplate.html:12 +#: extras/forms/model_forms.py:247 templates/extras/exporttemplate.html:12 msgid "Export Template" msgstr "" -#: netbox/extras/forms/model_forms.py:249 +#: extras/forms/model_forms.py:249 msgid "Rendering" msgstr "" -#: netbox/extras/forms/model_forms.py:263 -#: netbox/extras/forms/model_forms.py:649 +#: extras/forms/model_forms.py:263 extras/forms/model_forms.py:649 msgid "Template content is populated from the remote source selected below." msgstr "" -#: netbox/extras/forms/model_forms.py:270 -#: netbox/extras/forms/model_forms.py:656 +#: extras/forms/model_forms.py:270 extras/forms/model_forms.py:656 msgid "Must specify either local content or a data file" msgstr "" -#: netbox/extras/forms/model_forms.py:284 netbox/netbox/forms/mixins.py:70 -#: netbox/templates/extras/savedfilter.html:10 +#: extras/forms/model_forms.py:284 netbox/forms/mixins.py:70 +#: templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "" -#: netbox/extras/forms/model_forms.py:334 +#: extras/forms/model_forms.py:334 msgid "A notification group specify at least one user or group." msgstr "" -#: netbox/extras/forms/model_forms.py:356 -#: netbox/templates/extras/webhook.html:23 +#: extras/forms/model_forms.py:356 templates/extras/webhook.html:23 msgid "HTTP Request" msgstr "" -#: netbox/extras/forms/model_forms.py:358 -#: netbox/templates/extras/webhook.html:44 +#: extras/forms/model_forms.py:358 templates/extras/webhook.html:44 msgid "SSL" msgstr "" -#: netbox/extras/forms/model_forms.py:380 +#: extras/forms/model_forms.py:380 msgid "Action choice" msgstr "" -#: netbox/extras/forms/model_forms.py:385 +#: extras/forms/model_forms.py:385 msgid "Enter conditions in JSON format." msgstr "" -#: netbox/extras/forms/model_forms.py:389 +#: extras/forms/model_forms.py:389 msgid "" "Enter parameters to pass to the action in JSON format." msgstr "" -#: netbox/extras/forms/model_forms.py:394 -#: netbox/templates/extras/eventrule.html:10 +#: extras/forms/model_forms.py:394 templates/extras/eventrule.html:10 msgid "Event Rule" msgstr "" -#: netbox/extras/forms/model_forms.py:395 +#: extras/forms/model_forms.py:395 msgid "Triggers" msgstr "" -#: netbox/extras/forms/model_forms.py:442 +#: extras/forms/model_forms.py:442 msgid "Notification group" msgstr "" -#: netbox/extras/forms/model_forms.py:562 netbox/netbox/navigation/menu.py:26 -#: netbox/tenancy/tables/tenants.py:22 +#: extras/forms/model_forms.py:562 netbox/navigation/menu.py:26 +#: tenancy/tables/tenants.py:22 msgid "Tenants" msgstr "" -#: netbox/extras/forms/model_forms.py:606 +#: extras/forms/model_forms.py:606 msgid "Data is populated from the remote source selected below." msgstr "" -#: netbox/extras/forms/model_forms.py:612 +#: extras/forms/model_forms.py:612 msgid "Must specify either local data or a data file" msgstr "" -#: netbox/extras/forms/model_forms.py:631 -#: netbox/templates/core/datafile.html:55 +#: extras/forms/model_forms.py:631 templates/core/datafile.html:55 msgid "Content" msgstr "" -#: netbox/extras/forms/reports.py:17 netbox/extras/forms/scripts.py:23 +#: extras/forms/reports.py:17 extras/forms/scripts.py:23 msgid "Schedule at" msgstr "" -#: netbox/extras/forms/reports.py:18 +#: extras/forms/reports.py:18 msgid "Schedule execution of report to a set time" msgstr "" -#: netbox/extras/forms/reports.py:23 netbox/extras/forms/scripts.py:29 +#: extras/forms/reports.py:23 extras/forms/scripts.py:29 msgid "Recurs every" msgstr "" -#: netbox/extras/forms/reports.py:27 +#: extras/forms/reports.py:27 msgid "Interval at which this report is re-run (in minutes)" msgstr "" -#: netbox/extras/forms/reports.py:35 netbox/extras/forms/scripts.py:41 +#: extras/forms/reports.py:35 extras/forms/scripts.py:41 #, python-brace-format msgid " (current time: {now})" msgstr "" -#: netbox/extras/forms/reports.py:45 netbox/extras/forms/scripts.py:51 +#: extras/forms/reports.py:45 extras/forms/scripts.py:51 msgid "Scheduled time must be in the future." msgstr "" -#: netbox/extras/forms/scripts.py:17 +#: extras/forms/scripts.py:17 msgid "Commit changes" msgstr "" -#: netbox/extras/forms/scripts.py:18 +#: extras/forms/scripts.py:18 msgid "Commit changes to the database (uncheck for a dry-run)" msgstr "" -#: netbox/extras/forms/scripts.py:24 +#: extras/forms/scripts.py:24 msgid "Schedule execution of script to a set time" msgstr "" -#: netbox/extras/forms/scripts.py:33 +#: extras/forms/scripts.py:33 msgid "Interval at which this script is re-run (in minutes)" msgstr "" -#: netbox/extras/jobs.py:49 +#: extras/jobs.py:47 msgid "Database changes have been reverted automatically." msgstr "" -#: netbox/extras/jobs.py:55 +#: extras/jobs.py:53 msgid "Script aborted with error: " msgstr "" -#: netbox/extras/jobs.py:65 +#: extras/jobs.py:63 msgid "An exception occurred: " msgstr "" -#: netbox/extras/jobs.py:70 +#: extras/jobs.py:68 msgid "Database changes have been reverted due to error." msgstr "" -#: netbox/extras/management/commands/reindex.py:66 +#: extras/management/commands/reindex.py:66 msgid "No indexers found!" msgstr "" -#: netbox/extras/models/configs.py:130 +#: extras/models/configs.py:130 msgid "config context" msgstr "" -#: netbox/extras/models/configs.py:131 +#: extras/models/configs.py:131 msgid "config contexts" msgstr "" -#: netbox/extras/models/configs.py:149 netbox/extras/models/configs.py:205 +#: extras/models/configs.py:149 extras/models/configs.py:205 msgid "JSON data must be in object form. Example:" msgstr "" -#: netbox/extras/models/configs.py:169 +#: extras/models/configs.py:169 msgid "" "Local config context data takes precedence over source contexts in the final " "rendered config context" msgstr "" -#: netbox/extras/models/configs.py:224 +#: extras/models/configs.py:224 msgid "template code" msgstr "" -#: netbox/extras/models/configs.py:225 +#: extras/models/configs.py:225 msgid "Jinja2 template code." msgstr "" -#: netbox/extras/models/configs.py:228 +#: extras/models/configs.py:228 msgid "environment parameters" msgstr "" -#: netbox/extras/models/configs.py:233 +#: extras/models/configs.py:233 msgid "" "Any additional parameters to pass when constructing the Jinja2 " "environment." msgstr "" -#: netbox/extras/models/configs.py:240 +#: extras/models/configs.py:240 msgid "config template" msgstr "" -#: netbox/extras/models/configs.py:241 +#: extras/models/configs.py:241 msgid "config templates" msgstr "" -#: netbox/extras/models/customfields.py:75 +#: extras/models/customfields.py:75 msgid "The object(s) to which this field applies." msgstr "" -#: netbox/extras/models/customfields.py:82 +#: extras/models/customfields.py:82 msgid "The type of data this custom field holds" msgstr "" -#: netbox/extras/models/customfields.py:89 +#: extras/models/customfields.py:89 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" -#: netbox/extras/models/customfields.py:95 +#: extras/models/customfields.py:95 msgid "Internal field name" msgstr "" -#: netbox/extras/models/customfields.py:99 +#: extras/models/customfields.py:99 msgid "Only alphanumeric characters and underscores are allowed." msgstr "" -#: netbox/extras/models/customfields.py:104 +#: extras/models/customfields.py:104 msgid "Double underscores are not permitted in custom field names." msgstr "" -#: netbox/extras/models/customfields.py:115 +#: extras/models/customfields.py:115 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" msgstr "" -#: netbox/extras/models/customfields.py:119 netbox/extras/models/models.py:317 +#: extras/models/customfields.py:119 extras/models/models.py:317 msgid "group name" msgstr "" -#: netbox/extras/models/customfields.py:122 +#: extras/models/customfields.py:122 msgid "Custom fields within the same group will be displayed together" msgstr "" -#: netbox/extras/models/customfields.py:130 +#: extras/models/customfields.py:130 msgid "required" msgstr "" -#: netbox/extras/models/customfields.py:132 +#: extras/models/customfields.py:132 msgid "" "This field is required when creating new objects or editing an existing " "object." msgstr "" -#: netbox/extras/models/customfields.py:135 +#: extras/models/customfields.py:135 msgid "must be unique" msgstr "" -#: netbox/extras/models/customfields.py:137 +#: extras/models/customfields.py:137 msgid "The value of this field must be unique for the assigned object" msgstr "" -#: netbox/extras/models/customfields.py:140 +#: extras/models/customfields.py:140 msgid "search weight" msgstr "" -#: netbox/extras/models/customfields.py:143 +#: extras/models/customfields.py:143 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." msgstr "" -#: netbox/extras/models/customfields.py:148 +#: extras/models/customfields.py:148 msgid "filter logic" msgstr "" -#: netbox/extras/models/customfields.py:152 +#: extras/models/customfields.py:152 msgid "" "Loose matches any instance of a given string; exact matches the entire field." msgstr "" -#: netbox/extras/models/customfields.py:155 +#: extras/models/customfields.py:155 msgid "default" msgstr "" -#: netbox/extras/models/customfields.py:159 +#: extras/models/customfields.py:159 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with " "double quotes (e.g. \"Foo\")." msgstr "" -#: netbox/extras/models/customfields.py:166 +#: extras/models/customfields.py:166 msgid "" "Filter the object selection choices using a query_params dict (must be a " "JSON value).Encapsulate strings with double quotes (e.g. \"Foo\")." msgstr "" -#: netbox/extras/models/customfields.py:172 +#: extras/models/customfields.py:172 msgid "display weight" msgstr "" -#: netbox/extras/models/customfields.py:173 +#: extras/models/customfields.py:173 msgid "Fields with higher weights appear lower in a form." msgstr "" -#: netbox/extras/models/customfields.py:178 +#: extras/models/customfields.py:178 msgid "minimum value" msgstr "" -#: netbox/extras/models/customfields.py:179 +#: extras/models/customfields.py:179 msgid "Minimum allowed value (for numeric fields)" msgstr "" -#: netbox/extras/models/customfields.py:184 +#: extras/models/customfields.py:184 msgid "maximum value" msgstr "" -#: netbox/extras/models/customfields.py:185 +#: extras/models/customfields.py:185 msgid "Maximum allowed value (for numeric fields)" msgstr "" -#: netbox/extras/models/customfields.py:191 +#: extras/models/customfields.py:191 msgid "validation regex" msgstr "" -#: netbox/extras/models/customfields.py:193 +#: extras/models/customfields.py:193 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -8093,261 +7573,259 @@ msgid "" "values to exactly three uppercase letters." msgstr "" -#: netbox/extras/models/customfields.py:201 +#: extras/models/customfields.py:201 msgid "choice set" msgstr "" -#: netbox/extras/models/customfields.py:210 +#: extras/models/customfields.py:210 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" -#: netbox/extras/models/customfields.py:217 +#: extras/models/customfields.py:217 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" -#: netbox/extras/models/customfields.py:221 +#: extras/models/customfields.py:221 msgid "is cloneable" msgstr "" -#: netbox/extras/models/customfields.py:222 +#: extras/models/customfields.py:222 msgid "Replicate this value when cloning objects" msgstr "" -#: netbox/extras/models/customfields.py:239 +#: extras/models/customfields.py:239 msgid "custom field" msgstr "" -#: netbox/extras/models/customfields.py:240 +#: extras/models/customfields.py:240 msgid "custom fields" msgstr "" -#: netbox/extras/models/customfields.py:329 +#: extras/models/customfields.py:329 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "" -#: netbox/extras/models/customfields.py:336 +#: extras/models/customfields.py:336 msgid "A minimum value may be set only for numeric fields" msgstr "" -#: netbox/extras/models/customfields.py:338 +#: extras/models/customfields.py:338 msgid "A maximum value may be set only for numeric fields" msgstr "" -#: netbox/extras/models/customfields.py:348 +#: extras/models/customfields.py:348 msgid "Regular expression validation is supported only for text and URL fields" msgstr "" -#: netbox/extras/models/customfields.py:354 +#: extras/models/customfields.py:354 msgid "Uniqueness cannot be enforced for boolean fields" msgstr "" -#: netbox/extras/models/customfields.py:364 +#: extras/models/customfields.py:364 msgid "Selection fields must specify a set of choices." msgstr "" -#: netbox/extras/models/customfields.py:368 +#: extras/models/customfields.py:368 msgid "Choices may be set only on selection fields." msgstr "" -#: netbox/extras/models/customfields.py:375 +#: extras/models/customfields.py:375 msgid "Object fields must define an object type." msgstr "" -#: netbox/extras/models/customfields.py:379 +#: extras/models/customfields.py:379 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "" -#: netbox/extras/models/customfields.py:386 +#: extras/models/customfields.py:386 msgid "A related object filter can be defined only for object fields." msgstr "" -#: netbox/extras/models/customfields.py:390 +#: extras/models/customfields.py:390 msgid "Filter must be defined as a dictionary mapping attributes to values." msgstr "" -#: netbox/extras/models/customfields.py:469 +#: extras/models/customfields.py:469 msgid "True" msgstr "" -#: netbox/extras/models/customfields.py:470 +#: extras/models/customfields.py:470 msgid "False" msgstr "" -#: netbox/extras/models/customfields.py:560 +#: extras/models/customfields.py:560 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" -#: netbox/extras/models/customfields.py:654 +#: extras/models/customfields.py:654 msgid "Value must be a string." msgstr "" -#: netbox/extras/models/customfields.py:656 +#: extras/models/customfields.py:656 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "" -#: netbox/extras/models/customfields.py:661 +#: extras/models/customfields.py:661 msgid "Value must be an integer." msgstr "" -#: netbox/extras/models/customfields.py:664 -#: netbox/extras/models/customfields.py:679 +#: extras/models/customfields.py:664 extras/models/customfields.py:679 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "" -#: netbox/extras/models/customfields.py:668 -#: netbox/extras/models/customfields.py:683 +#: extras/models/customfields.py:668 extras/models/customfields.py:683 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "" -#: netbox/extras/models/customfields.py:676 +#: extras/models/customfields.py:676 msgid "Value must be a decimal." msgstr "" -#: netbox/extras/models/customfields.py:688 +#: extras/models/customfields.py:688 msgid "Value must be true or false." msgstr "" -#: netbox/extras/models/customfields.py:696 +#: extras/models/customfields.py:696 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "" -#: netbox/extras/models/customfields.py:705 +#: extras/models/customfields.py:705 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" -#: netbox/extras/models/customfields.py:712 +#: extras/models/customfields.py:712 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:722 +#: extras/models/customfields.py:722 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:731 +#: extras/models/customfields.py:731 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:737 +#: extras/models/customfields.py:737 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:741 +#: extras/models/customfields.py:741 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "" -#: netbox/extras/models/customfields.py:744 +#: extras/models/customfields.py:744 msgid "Required field cannot be empty." msgstr "" -#: netbox/extras/models/customfields.py:763 +#: extras/models/customfields.py:763 msgid "Base set of predefined choices (optional)" msgstr "" -#: netbox/extras/models/customfields.py:775 +#: extras/models/customfields.py:775 msgid "Choices are automatically ordered alphabetically" msgstr "" -#: netbox/extras/models/customfields.py:782 +#: extras/models/customfields.py:782 msgid "custom field choice set" msgstr "" -#: netbox/extras/models/customfields.py:783 +#: extras/models/customfields.py:783 msgid "custom field choice sets" msgstr "" -#: netbox/extras/models/customfields.py:825 +#: extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "" -#: netbox/extras/models/customfields.py:849 +#: extras/models/customfields.py:849 #, python-brace-format msgid "" "Cannot remove choice {choice} as there are {model} objects which reference " "it." msgstr "" -#: netbox/extras/models/dashboard.py:18 +#: extras/models/dashboard.py:18 msgid "layout" msgstr "" -#: netbox/extras/models/dashboard.py:22 +#: extras/models/dashboard.py:22 msgid "config" msgstr "" -#: netbox/extras/models/dashboard.py:27 +#: extras/models/dashboard.py:27 msgid "dashboard" msgstr "" -#: netbox/extras/models/dashboard.py:28 +#: extras/models/dashboard.py:28 msgid "dashboards" msgstr "" -#: netbox/extras/models/models.py:52 +#: extras/models/models.py:52 msgid "object types" msgstr "" -#: netbox/extras/models/models.py:53 +#: extras/models/models.py:53 msgid "The object(s) to which this rule applies." msgstr "" -#: netbox/extras/models/models.py:67 +#: extras/models/models.py:67 msgid "The types of event which will trigger this rule." msgstr "" -#: netbox/extras/models/models.py:74 +#: extras/models/models.py:74 msgid "conditions" msgstr "" -#: netbox/extras/models/models.py:77 +#: extras/models/models.py:77 msgid "" "A set of conditions which determine whether the event will be generated." msgstr "" -#: netbox/extras/models/models.py:85 +#: extras/models/models.py:85 msgid "action type" msgstr "" -#: netbox/extras/models/models.py:104 +#: extras/models/models.py:104 msgid "Additional data to pass to the action object" msgstr "" -#: netbox/extras/models/models.py:116 +#: extras/models/models.py:116 msgid "event rule" msgstr "" -#: netbox/extras/models/models.py:117 +#: extras/models/models.py:117 msgid "event rules" msgstr "" -#: netbox/extras/models/models.py:166 +#: extras/models/models.py:166 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 " "request body." msgstr "" -#: netbox/extras/models/models.py:181 +#: extras/models/models.py:181 msgid "" "The complete list of official content types is available here." msgstr "" -#: netbox/extras/models/models.py:186 +#: extras/models/models.py:186 msgid "additional headers" msgstr "" -#: netbox/extras/models/models.py:189 +#: extras/models/models.py:189 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: " @@ -8355,11 +7833,11 @@ msgid "" "as the request body (below)." msgstr "" -#: netbox/extras/models/models.py:195 +#: extras/models/models.py:195 msgid "body template" msgstr "" -#: netbox/extras/models/models.py:198 +#: extras/models/models.py:198 msgid "" "Jinja2 template for a custom request body. If blank, a JSON object " "representing the change will be included. Available context data includes: " @@ -8367,4381 +7845,4259 @@ msgid "" "username, request_id, and data." msgstr "" -#: netbox/extras/models/models.py:204 +#: extras/models/models.py:204 msgid "secret" msgstr "" -#: netbox/extras/models/models.py:208 +#: extras/models/models.py:208 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 " "the key. The secret is not transmitted in the request." msgstr "" -#: netbox/extras/models/models.py:215 +#: extras/models/models.py:215 msgid "Enable SSL certificate verification. Disable with caution!" msgstr "" -#: netbox/extras/models/models.py:221 netbox/templates/extras/webhook.html:51 +#: extras/models/models.py:221 templates/extras/webhook.html:51 msgid "CA File Path" msgstr "" -#: netbox/extras/models/models.py:223 +#: extras/models/models.py:223 msgid "" "The specific CA certificate file to use for SSL verification. Leave blank to " "use the system defaults." msgstr "" -#: netbox/extras/models/models.py:234 +#: extras/models/models.py:234 msgid "webhook" msgstr "" -#: netbox/extras/models/models.py:235 +#: extras/models/models.py:235 msgid "webhooks" msgstr "" -#: netbox/extras/models/models.py:253 +#: extras/models/models.py:253 msgid "Do not specify a CA certificate file if SSL verification is disabled." msgstr "" -#: netbox/extras/models/models.py:293 +#: extras/models/models.py:293 msgid "The object type(s) to which this link applies." msgstr "" -#: netbox/extras/models/models.py:305 +#: extras/models/models.py:305 msgid "link text" msgstr "" -#: netbox/extras/models/models.py:306 +#: extras/models/models.py:306 msgid "Jinja2 template code for link text" msgstr "" -#: netbox/extras/models/models.py:309 +#: extras/models/models.py:309 msgid "link URL" msgstr "" -#: netbox/extras/models/models.py:310 +#: extras/models/models.py:310 msgid "Jinja2 template code for link URL" msgstr "" -#: netbox/extras/models/models.py:320 +#: extras/models/models.py:320 msgid "Links with the same group will appear as a dropdown menu" msgstr "" -#: netbox/extras/models/models.py:330 +#: extras/models/models.py:330 msgid "new window" msgstr "" -#: netbox/extras/models/models.py:332 +#: extras/models/models.py:332 msgid "Force link to open in a new window" msgstr "" -#: netbox/extras/models/models.py:341 +#: extras/models/models.py:341 msgid "custom link" msgstr "" -#: netbox/extras/models/models.py:342 +#: extras/models/models.py:342 msgid "custom links" msgstr "" -#: netbox/extras/models/models.py:389 +#: extras/models/models.py:389 msgid "The object type(s) to which this template applies." msgstr "" -#: netbox/extras/models/models.py:402 +#: extras/models/models.py:402 msgid "" "Jinja2 template code. The list of objects being exported is passed as a " "context variable named queryset." msgstr "" -#: netbox/extras/models/models.py:410 +#: extras/models/models.py:410 msgid "Defaults to text/plain; charset=utf-8" msgstr "" -#: netbox/extras/models/models.py:413 +#: extras/models/models.py:413 msgid "file extension" msgstr "" -#: netbox/extras/models/models.py:416 +#: extras/models/models.py:416 msgid "Extension to append to the rendered filename" msgstr "" -#: netbox/extras/models/models.py:419 +#: extras/models/models.py:419 msgid "as attachment" msgstr "" -#: netbox/extras/models/models.py:421 +#: extras/models/models.py:421 msgid "Download file as attachment" msgstr "" -#: netbox/extras/models/models.py:430 +#: extras/models/models.py:430 msgid "export template" msgstr "" -#: netbox/extras/models/models.py:431 +#: extras/models/models.py:431 msgid "export templates" msgstr "" -#: netbox/extras/models/models.py:448 +#: extras/models/models.py:448 #, python-brace-format msgid "\"{name}\" is a reserved name. Please choose a different name." msgstr "" -#: netbox/extras/models/models.py:498 +#: extras/models/models.py:498 msgid "The object type(s) to which this filter applies." msgstr "" -#: netbox/extras/models/models.py:530 +#: extras/models/models.py:530 msgid "shared" msgstr "" -#: netbox/extras/models/models.py:543 +#: extras/models/models.py:543 msgid "saved filter" msgstr "" -#: netbox/extras/models/models.py:544 +#: extras/models/models.py:544 msgid "saved filters" msgstr "" -#: netbox/extras/models/models.py:562 +#: extras/models/models.py:562 msgid "Filter parameters must be stored as a dictionary of keyword arguments." msgstr "" -#: netbox/extras/models/models.py:590 +#: extras/models/models.py:590 msgid "image height" msgstr "" -#: netbox/extras/models/models.py:593 +#: extras/models/models.py:593 msgid "image width" msgstr "" -#: netbox/extras/models/models.py:610 +#: extras/models/models.py:610 msgid "image attachment" msgstr "" -#: netbox/extras/models/models.py:611 +#: extras/models/models.py:611 msgid "image attachments" msgstr "" -#: netbox/extras/models/models.py:625 +#: extras/models/models.py:625 #, python-brace-format msgid "Image attachments cannot be assigned to this object type ({type})." msgstr "" -#: netbox/extras/models/models.py:688 +#: extras/models/models.py:688 msgid "kind" msgstr "" -#: netbox/extras/models/models.py:702 +#: extras/models/models.py:702 msgid "journal entry" msgstr "" -#: netbox/extras/models/models.py:703 +#: extras/models/models.py:703 msgid "journal entries" msgstr "" -#: netbox/extras/models/models.py:718 +#: extras/models/models.py:718 #, python-brace-format msgid "Journaling is not supported for this object type ({type})." msgstr "" -#: netbox/extras/models/models.py:760 +#: extras/models/models.py:760 msgid "bookmark" msgstr "" -#: netbox/extras/models/models.py:761 +#: extras/models/models.py:761 msgid "bookmarks" msgstr "" -#: netbox/extras/models/models.py:774 +#: extras/models/models.py:774 #, python-brace-format msgid "Bookmarks cannot be assigned to this object type ({type})." msgstr "" -#: netbox/extras/models/notifications.py:43 +#: extras/models/notifications.py:43 msgid "read" msgstr "" -#: netbox/extras/models/notifications.py:66 +#: extras/models/notifications.py:66 msgid "event" msgstr "" -#: netbox/extras/models/notifications.py:84 +#: extras/models/notifications.py:84 msgid "notification" msgstr "" -#: netbox/extras/models/notifications.py:85 +#: extras/models/notifications.py:85 msgid "notifications" msgstr "" -#: netbox/extras/models/notifications.py:99 -#: netbox/extras/models/notifications.py:234 +#: extras/models/notifications.py:99 extras/models/notifications.py:234 #, python-brace-format msgid "Objects of this type ({type}) do not support notifications." msgstr "" -#: netbox/extras/models/notifications.py:137 netbox/users/models/users.py:58 -#: netbox/users/models/users.py:77 +#: extras/models/notifications.py:137 users/models/users.py:58 +#: users/models/users.py:77 msgid "groups" msgstr "" -#: netbox/extras/models/notifications.py:143 netbox/users/models/users.py:93 +#: extras/models/notifications.py:143 users/models/users.py:93 msgid "users" msgstr "" -#: netbox/extras/models/notifications.py:152 +#: extras/models/notifications.py:152 msgid "notification group" msgstr "" -#: netbox/extras/models/notifications.py:153 +#: extras/models/notifications.py:153 msgid "notification groups" msgstr "" -#: netbox/extras/models/notifications.py:217 +#: extras/models/notifications.py:217 msgid "subscription" msgstr "" -#: netbox/extras/models/notifications.py:218 +#: extras/models/notifications.py:218 msgid "subscriptions" msgstr "" -#: netbox/extras/models/scripts.py:42 +#: extras/models/scripts.py:42 msgid "is executable" msgstr "" -#: netbox/extras/models/scripts.py:64 +#: extras/models/scripts.py:64 msgid "script" msgstr "" -#: netbox/extras/models/scripts.py:65 +#: extras/models/scripts.py:65 msgid "scripts" msgstr "" -#: netbox/extras/models/scripts.py:111 +#: extras/models/scripts.py:111 msgid "script module" msgstr "" -#: netbox/extras/models/scripts.py:112 +#: extras/models/scripts.py:112 msgid "script modules" msgstr "" -#: netbox/extras/models/search.py:22 +#: extras/models/search.py:22 msgid "timestamp" msgstr "" -#: netbox/extras/models/search.py:37 +#: extras/models/search.py:37 msgid "field" msgstr "" -#: netbox/extras/models/search.py:45 +#: extras/models/search.py:45 msgid "value" msgstr "" -#: netbox/extras/models/search.py:56 +#: extras/models/search.py:56 msgid "cached value" msgstr "" -#: netbox/extras/models/search.py:57 +#: extras/models/search.py:57 msgid "cached values" msgstr "" -#: netbox/extras/models/staging.py:44 +#: extras/models/staging.py:44 msgid "branch" msgstr "" -#: netbox/extras/models/staging.py:45 +#: extras/models/staging.py:45 msgid "branches" msgstr "" -#: netbox/extras/models/staging.py:97 +#: extras/models/staging.py:97 msgid "staged change" msgstr "" -#: netbox/extras/models/staging.py:98 +#: extras/models/staging.py:98 msgid "staged changes" msgstr "" -#: netbox/extras/models/tags.py:40 +#: extras/models/tags.py:40 msgid "The object type(s) to which this tag can be applied." msgstr "" -#: netbox/extras/models/tags.py:49 +#: extras/models/tags.py:49 msgid "tag" msgstr "" -#: netbox/extras/models/tags.py:50 +#: extras/models/tags.py:50 msgid "tags" msgstr "" -#: netbox/extras/models/tags.py:78 +#: extras/models/tags.py:78 msgid "tagged item" msgstr "" -#: netbox/extras/models/tags.py:79 +#: extras/models/tags.py:79 msgid "tagged items" msgstr "" -#: netbox/extras/scripts.py:429 +#: extras/scripts.py:429 msgid "Script Data" msgstr "" -#: netbox/extras/scripts.py:433 +#: extras/scripts.py:433 msgid "Script Execution Parameters" msgstr "" -#: netbox/extras/tables/columns.py:12 -#: netbox/templates/htmx/notifications.html:18 +#: extras/tables/columns.py:12 templates/htmx/notifications.html:18 msgid "Dismiss" msgstr "" -#: netbox/extras/tables/tables.py:62 netbox/extras/tables/tables.py:159 -#: netbox/extras/tables/tables.py:184 netbox/extras/tables/tables.py:250 -#: netbox/extras/tables/tables.py:276 netbox/extras/tables/tables.py:412 -#: netbox/extras/tables/tables.py:446 -#: netbox/templates/extras/customfield.html:105 -#: netbox/templates/extras/eventrule.html:27 -#: netbox/templates/users/objectpermission.html:64 netbox/users/tables.py:80 +#: extras/tables/tables.py:62 extras/tables/tables.py:159 +#: extras/tables/tables.py:184 extras/tables/tables.py:250 +#: extras/tables/tables.py:276 extras/tables/tables.py:412 +#: extras/tables/tables.py:446 templates/extras/customfield.html:105 +#: templates/extras/eventrule.html:27 templates/users/objectpermission.html:64 +#: users/tables.py:80 msgid "Object Types" msgstr "" -#: netbox/extras/tables/tables.py:69 +#: extras/tables/tables.py:69 msgid "Validate Uniqueness" msgstr "" -#: netbox/extras/tables/tables.py:73 +#: extras/tables/tables.py:73 msgid "Visible" msgstr "" -#: netbox/extras/tables/tables.py:76 +#: extras/tables/tables.py:76 msgid "Editable" msgstr "" -#: netbox/extras/tables/tables.py:82 +#: extras/tables/tables.py:82 msgid "Related Object Type" msgstr "" -#: netbox/extras/tables/tables.py:86 -#: netbox/templates/extras/customfield.html:51 +#: extras/tables/tables.py:86 templates/extras/customfield.html:51 msgid "Choice Set" msgstr "" -#: netbox/extras/tables/tables.py:94 +#: extras/tables/tables.py:94 msgid "Is Cloneable" msgstr "" -#: netbox/extras/tables/tables.py:98 -#: netbox/templates/extras/customfield.html:118 +#: extras/tables/tables.py:98 templates/extras/customfield.html:118 msgid "Minimum Value" msgstr "" -#: netbox/extras/tables/tables.py:101 -#: netbox/templates/extras/customfield.html:122 +#: extras/tables/tables.py:101 templates/extras/customfield.html:122 msgid "Maximum Value" msgstr "" -#: netbox/extras/tables/tables.py:104 +#: extras/tables/tables.py:104 msgid "Validation Regex" msgstr "" -#: netbox/extras/tables/tables.py:137 +#: extras/tables/tables.py:137 msgid "Count" msgstr "" -#: netbox/extras/tables/tables.py:140 +#: extras/tables/tables.py:140 msgid "Order Alphabetically" msgstr "" -#: netbox/extras/tables/tables.py:165 -#: netbox/templates/extras/customlink.html:33 +#: extras/tables/tables.py:165 templates/extras/customlink.html:33 msgid "New Window" msgstr "" -#: netbox/extras/tables/tables.py:187 +#: extras/tables/tables.py:187 msgid "As Attachment" msgstr "" -#: netbox/extras/tables/tables.py:195 netbox/extras/tables/tables.py:487 -#: netbox/extras/tables/tables.py:522 netbox/templates/core/datafile.html:24 -#: netbox/templates/dcim/device/render_config.html:22 -#: netbox/templates/extras/configcontext.html:39 -#: netbox/templates/extras/configtemplate.html:31 -#: netbox/templates/extras/exporttemplate.html:45 -#: netbox/templates/generic/bulk_import.html:35 -#: netbox/templates/virtualization/virtualmachine/render_config.html:22 +#: extras/tables/tables.py:195 extras/tables/tables.py:487 +#: extras/tables/tables.py:522 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 "" -#: netbox/extras/tables/tables.py:200 netbox/extras/tables/tables.py:499 -#: netbox/extras/tables/tables.py:527 +#: extras/tables/tables.py:200 extras/tables/tables.py:499 +#: extras/tables/tables.py:527 msgid "Synced" msgstr "" -#: netbox/extras/tables/tables.py:227 +#: extras/tables/tables.py:227 msgid "Image" msgstr "" -#: netbox/extras/tables/tables.py:232 +#: extras/tables/tables.py:232 msgid "Size (Bytes)" msgstr "" -#: netbox/extras/tables/tables.py:339 +#: extras/tables/tables.py:339 msgid "Read" msgstr "" -#: netbox/extras/tables/tables.py:382 +#: extras/tables/tables.py:382 msgid "SSL Validation" msgstr "" -#: netbox/extras/tables/tables.py:418 netbox/templates/extras/eventrule.html:37 +#: extras/tables/tables.py:418 templates/extras/eventrule.html:37 msgid "Event Types" msgstr "" -#: netbox/extras/tables/tables.py:535 netbox/netbox/navigation/menu.py:77 -#: netbox/templates/dcim/devicerole.html:8 +#: extras/tables/tables.py:535 netbox/navigation/menu.py:77 +#: templates/dcim/devicerole.html:8 msgid "Device Roles" msgstr "" -#: netbox/extras/tables/tables.py:587 +#: extras/tables/tables.py:587 msgid "Comments (Short)" msgstr "" -#: netbox/extras/tables/tables.py:606 netbox/extras/tables/tables.py:640 +#: extras/tables/tables.py:606 extras/tables/tables.py:640 msgid "Line" msgstr "" -#: netbox/extras/tables/tables.py:613 netbox/extras/tables/tables.py:650 +#: extras/tables/tables.py:613 extras/tables/tables.py:650 msgid "Level" msgstr "" -#: netbox/extras/tables/tables.py:619 netbox/extras/tables/tables.py:659 +#: extras/tables/tables.py:619 extras/tables/tables.py:659 msgid "Message" msgstr "" -#: netbox/extras/tables/tables.py:643 +#: extras/tables/tables.py:643 msgid "Method" msgstr "" -#: netbox/extras/validators.py:15 +#: extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "" -#: netbox/extras/validators.py:26 +#: extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "" -#: netbox/extras/validators.py:37 +#: extras/validators.py:37 msgid "This field must be empty." msgstr "" -#: netbox/extras/validators.py:52 +#: extras/validators.py:52 msgid "This field must not be empty." msgstr "" -#: netbox/extras/validators.py:94 +#: extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "" -#: netbox/extras/validators.py:119 +#: extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "" -#: netbox/extras/validators.py:133 +#: extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "" -#: netbox/extras/validators.py:150 +#: extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "" -#: netbox/extras/views.py:960 +#: extras/views.py:960 msgid "Your dashboard has been reset." msgstr "" -#: netbox/extras/views.py:1006 +#: extras/views.py:1006 msgid "Added widget: " msgstr "" -#: netbox/extras/views.py:1047 +#: extras/views.py:1047 msgid "Updated widget: " msgstr "" -#: netbox/extras/views.py:1083 +#: extras/views.py:1083 msgid "Deleted widget: " msgstr "" -#: netbox/extras/views.py:1085 +#: extras/views.py:1085 msgid "Error deleting widget: " msgstr "" -#: netbox/extras/views.py:1172 +#: extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" -#: netbox/ipam/api/field_serializers.py:17 +#: ipam/api/field_serializers.py:17 msgid "Enter a valid IPv4 or IPv6 address with optional mask." msgstr "" -#: netbox/ipam/api/field_serializers.py:24 +#: ipam/api/field_serializers.py:24 #, python-brace-format msgid "Invalid IP address format: {data}" msgstr "" -#: netbox/ipam/api/field_serializers.py:37 +#: ipam/api/field_serializers.py:37 msgid "Enter a valid IPv4 or IPv6 prefix and mask in CIDR notation." msgstr "" -#: netbox/ipam/api/field_serializers.py:44 +#: ipam/api/field_serializers.py:44 #, python-brace-format msgid "Invalid IP prefix format: {data}" msgstr "" -#: netbox/ipam/api/views.py:358 +#: ipam/api/views.py:358 msgid "" "Insufficient space is available to accommodate the requested prefix size(s)" msgstr "" -#: netbox/ipam/choices.py:30 +#: ipam/choices.py:30 msgid "Container" msgstr "" -#: netbox/ipam/choices.py:72 +#: ipam/choices.py:72 msgid "DHCP" msgstr "" -#: netbox/ipam/choices.py:73 +#: ipam/choices.py:73 msgid "SLAAC" msgstr "" -#: netbox/ipam/choices.py:89 +#: ipam/choices.py:89 msgid "Loopback" msgstr "" -#: netbox/ipam/choices.py:91 +#: ipam/choices.py:91 msgid "Anycast" msgstr "" -#: netbox/ipam/choices.py:115 +#: ipam/choices.py:115 msgid "Standard" msgstr "" -#: netbox/ipam/choices.py:120 +#: ipam/choices.py:120 msgid "CheckPoint" msgstr "" -#: netbox/ipam/choices.py:123 +#: ipam/choices.py:123 msgid "Cisco" msgstr "" -#: netbox/ipam/choices.py:137 +#: ipam/choices.py:137 msgid "Plaintext" msgstr "" -#: netbox/ipam/fields.py:36 +#: ipam/fields.py:36 #, python-brace-format msgid "Invalid IP address format: {address}" msgstr "" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 +#: ipam/filtersets.py:48 vpn/filtersets.py:304 msgid "Import target" msgstr "" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 +#: ipam/filtersets.py:54 vpn/filtersets.py:310 msgid "Import target (name)" msgstr "" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 +#: ipam/filtersets.py:59 vpn/filtersets.py:315 msgid "Export target" msgstr "" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 +#: ipam/filtersets.py:65 vpn/filtersets.py:321 msgid "Export target (name)" msgstr "" -#: netbox/ipam/filtersets.py:86 +#: ipam/filtersets.py:86 msgid "Importing VRF" msgstr "" -#: netbox/ipam/filtersets.py:92 +#: ipam/filtersets.py:92 msgid "Import VRF (RD)" msgstr "" -#: netbox/ipam/filtersets.py:97 +#: ipam/filtersets.py:97 msgid "Exporting VRF" msgstr "" -#: netbox/ipam/filtersets.py:103 +#: ipam/filtersets.py:103 msgid "Export VRF (RD)" msgstr "" -#: netbox/ipam/filtersets.py:108 +#: ipam/filtersets.py:108 msgid "Importing L2VPN" msgstr "" -#: netbox/ipam/filtersets.py:114 +#: ipam/filtersets.py:114 msgid "Importing L2VPN (identifier)" msgstr "" -#: netbox/ipam/filtersets.py:119 +#: ipam/filtersets.py:119 msgid "Exporting L2VPN" msgstr "" -#: netbox/ipam/filtersets.py:125 +#: ipam/filtersets.py:125 msgid "Exporting L2VPN (identifier)" msgstr "" -#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:281 -#: netbox/ipam/forms/model_forms.py:229 netbox/ipam/tables/ip.py:212 -#: netbox/templates/ipam/prefix.html:12 +#: ipam/filtersets.py:155 ipam/filtersets.py:281 ipam/forms/model_forms.py:229 +#: ipam/tables/ip.py:212 templates/ipam/prefix.html:12 msgid "Prefix" msgstr "" -#: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198 -#: netbox/ipam/filtersets.py:221 +#: ipam/filtersets.py:159 ipam/filtersets.py:198 ipam/filtersets.py:221 msgid "RIR (ID)" msgstr "" -#: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 -#: netbox/ipam/filtersets.py:227 +#: ipam/filtersets.py:165 ipam/filtersets.py:204 ipam/filtersets.py:227 msgid "RIR (slug)" msgstr "" -#: netbox/ipam/filtersets.py:285 +#: ipam/filtersets.py:285 msgid "Within prefix" msgstr "" -#: netbox/ipam/filtersets.py:289 +#: ipam/filtersets.py:289 msgid "Within and including prefix" msgstr "" -#: netbox/ipam/filtersets.py:293 +#: ipam/filtersets.py:293 msgid "Prefixes which contain this prefix or IP" msgstr "" -#: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572 -#: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/filtersets.py:196 -#: netbox/ipam/forms/filtersets.py:331 +#: ipam/filtersets.py:304 ipam/filtersets.py:572 ipam/forms/bulk_edit.py:343 +#: ipam/forms/filtersets.py:196 ipam/forms/filtersets.py:331 msgid "Mask length" msgstr "" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 +#: ipam/filtersets.py:373 vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 +#: ipam/filtersets.py:377 vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "" -#: netbox/ipam/filtersets.py:471 netbox/ipam/filtersets.py:475 -#: netbox/ipam/filtersets.py:567 netbox/ipam/forms/model_forms.py:463 -#: netbox/templates/tenancy/contact.html:53 -#: netbox/tenancy/forms/bulk_edit.py:113 +#: ipam/filtersets.py:471 ipam/filtersets.py:475 ipam/filtersets.py:567 +#: ipam/forms/model_forms.py:463 templates/tenancy/contact.html:53 +#: tenancy/forms/bulk_edit.py:113 msgid "Address" msgstr "" -#: netbox/ipam/filtersets.py:479 +#: ipam/filtersets.py:479 msgid "Ranges which contain this prefix or IP" msgstr "" -#: netbox/ipam/filtersets.py:507 netbox/ipam/filtersets.py:563 +#: ipam/filtersets.py:507 ipam/filtersets.py:563 msgid "Parent prefix" msgstr "" -#: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 +#: ipam/filtersets.py:616 ipam/filtersets.py:856 ipam/filtersets.py:1131 +#: vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "" -#: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 +#: ipam/filtersets.py:621 ipam/filtersets.py:861 ipam/filtersets.py:1125 +#: virtualization/filtersets.py:282 virtualization/filtersets.py:321 +#: vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "" -#: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:396 +#: ipam/filtersets.py:627 vpn/filtersets.py:97 vpn/filtersets.py:396 msgid "Interface (name)" msgstr "" -#: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:407 +#: ipam/filtersets.py:638 vpn/filtersets.py:108 vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "" -#: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113 +#: ipam/filtersets.py:643 vpn/filtersets.py:113 msgid "VM interface (ID)" msgstr "" -#: netbox/ipam/filtersets.py:648 +#: ipam/filtersets.py:648 msgid "FHRP group (ID)" msgstr "" -#: netbox/ipam/filtersets.py:652 +#: ipam/filtersets.py:652 msgid "Is assigned to an interface" msgstr "" -#: netbox/ipam/filtersets.py:656 +#: ipam/filtersets.py:656 msgid "Is assigned" msgstr "" -#: netbox/ipam/filtersets.py:668 +#: ipam/filtersets.py:668 msgid "Service (ID)" msgstr "" -#: netbox/ipam/filtersets.py:673 +#: ipam/filtersets.py:673 msgid "NAT inside IP address (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +#: ipam/filtersets.py:1041 ipam/forms/bulk_import.py:322 msgid "Assigned interface" msgstr "" -#: netbox/ipam/filtersets.py:1046 +#: ipam/filtersets.py:1046 msgid "Assigned VM interface" msgstr "" -#: netbox/ipam/filtersets.py:1136 +#: ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 +#: ipam/filtersets.py:1142 ipam/models/ip.py:788 msgid "IP address" msgstr "" -#: netbox/ipam/filtersets.py:1167 +#: ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1172 +#: ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "" -#: netbox/ipam/formfields.py:14 +#: ipam/formfields.py:14 msgid "Enter a valid IPv4 or IPv6 address (without a mask)." msgstr "" -#: netbox/ipam/formfields.py:32 +#: ipam/formfields.py:32 #, python-brace-format msgid "Invalid IPv4/IPv6 address format: {address}" msgstr "" -#: netbox/ipam/formfields.py:37 +#: ipam/formfields.py:37 msgid "This field requires an IP address without a mask." msgstr "" -#: netbox/ipam/formfields.py:39 netbox/ipam/formfields.py:61 +#: ipam/formfields.py:39 ipam/formfields.py:61 msgid "Please specify a valid IPv4 or IPv6 address." msgstr "" -#: netbox/ipam/formfields.py:44 +#: ipam/formfields.py:44 msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." msgstr "" -#: netbox/ipam/formfields.py:56 +#: ipam/formfields.py:56 msgid "CIDR mask (e.g. /24) is required." msgstr "" -#: netbox/ipam/forms/bulk_create.py:13 +#: ipam/forms/bulk_create.py:13 msgid "Address pattern" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:50 +#: ipam/forms/bulk_edit.py:50 msgid "Enforce unique space" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:88 +#: ipam/forms/bulk_edit.py:88 msgid "Is private" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:109 netbox/ipam/forms/bulk_edit.py:138 -#: netbox/ipam/forms/bulk_edit.py:163 netbox/ipam/forms/bulk_import.py:89 -#: netbox/ipam/forms/bulk_import.py:109 netbox/ipam/forms/bulk_import.py:129 -#: netbox/ipam/forms/filtersets.py:110 netbox/ipam/forms/filtersets.py:125 -#: netbox/ipam/forms/filtersets.py:148 netbox/ipam/forms/model_forms.py:96 -#: netbox/ipam/forms/model_forms.py:109 netbox/ipam/forms/model_forms.py:131 -#: netbox/ipam/forms/model_forms.py:149 netbox/ipam/models/asns.py:31 -#: netbox/ipam/models/asns.py:103 netbox/ipam/models/ip.py:71 -#: netbox/ipam/models/ip.py:90 netbox/ipam/tables/asn.py:20 -#: netbox/ipam/tables/asn.py:45 netbox/templates/ipam/aggregate.html:18 -#: netbox/templates/ipam/asn.html:27 netbox/templates/ipam/asnrange.html:19 -#: netbox/templates/ipam/rir.html:19 +#: ipam/forms/bulk_edit.py:109 ipam/forms/bulk_edit.py:138 +#: ipam/forms/bulk_edit.py:163 ipam/forms/bulk_import.py:89 +#: ipam/forms/bulk_import.py:109 ipam/forms/bulk_import.py:129 +#: ipam/forms/filtersets.py:110 ipam/forms/filtersets.py:125 +#: ipam/forms/filtersets.py:148 ipam/forms/model_forms.py:96 +#: ipam/forms/model_forms.py:109 ipam/forms/model_forms.py:131 +#: ipam/forms/model_forms.py:149 ipam/models/asns.py:31 ipam/models/asns.py:103 +#: ipam/models/ip.py:71 ipam/models/ip.py:90 ipam/tables/asn.py:20 +#: ipam/tables/asn.py:45 templates/ipam/aggregate.html:18 +#: templates/ipam/asn.html:27 templates/ipam/asnrange.html:19 +#: templates/ipam/rir.html:19 msgid "RIR" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:171 +#: ipam/forms/bulk_edit.py:171 msgid "Date added" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:229 netbox/ipam/forms/model_forms.py:586 -#: netbox/ipam/forms/model_forms.py:633 netbox/ipam/tables/ip.py:251 -#: netbox/templates/ipam/vlan_edit.html:37 -#: netbox/templates/ipam/vlangroup.html:27 +#: ipam/forms/bulk_edit.py:229 ipam/forms/model_forms.py:586 +#: ipam/forms/model_forms.py:633 ipam/tables/ip.py:251 +#: templates/ipam/vlan_edit.html:37 templates/ipam/vlangroup.html:27 msgid "VLAN Group" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:234 netbox/ipam/forms/bulk_import.py:185 -#: netbox/ipam/forms/filtersets.py:256 netbox/ipam/forms/model_forms.py:218 -#: netbox/ipam/models/vlans.py:234 netbox/ipam/tables/ip.py:255 -#: netbox/templates/ipam/prefix.html:60 netbox/templates/ipam/vlan.html:12 -#: netbox/templates/ipam/vlan/base.html:6 -#: netbox/templates/ipam/vlan_edit.html:10 -#: netbox/templates/wireless/wirelesslan.html:30 -#: netbox/vpn/forms/bulk_import.py:304 netbox/vpn/forms/filtersets.py:284 -#: netbox/vpn/forms/model_forms.py:433 netbox/vpn/forms/model_forms.py:452 -#: netbox/wireless/forms/bulk_edit.py:55 -#: netbox/wireless/forms/bulk_import.py:48 -#: netbox/wireless/forms/model_forms.py:48 netbox/wireless/models.py:102 +#: ipam/forms/bulk_edit.py:234 ipam/forms/bulk_import.py:185 +#: ipam/forms/filtersets.py:256 ipam/forms/model_forms.py:218 +#: ipam/models/vlans.py:250 ipam/tables/ip.py:255 templates/ipam/prefix.html:60 +#: templates/ipam/vlan.html:12 templates/ipam/vlan/base.html:6 +#: templates/ipam/vlan_edit.html:10 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:102 msgid "VLAN" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:245 +#: ipam/forms/bulk_edit.py:245 msgid "Prefix length" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:268 netbox/ipam/forms/filtersets.py:241 -#: netbox/templates/ipam/prefix.html:85 +#: ipam/forms/bulk_edit.py:268 ipam/forms/filtersets.py:241 +#: templates/ipam/prefix.html:85 msgid "Is a pool" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:273 netbox/ipam/forms/bulk_edit.py:318 -#: netbox/ipam/forms/filtersets.py:248 netbox/ipam/forms/filtersets.py:293 -#: netbox/ipam/models/ip.py:272 netbox/ipam/models/ip.py:539 +#: ipam/forms/bulk_edit.py:273 ipam/forms/bulk_edit.py:318 +#: ipam/forms/filtersets.py:248 ipam/forms/filtersets.py:293 +#: ipam/models/ip.py:272 ipam/models/ip.py:539 msgid "Treat as fully utilized" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:287 netbox/ipam/forms/filtersets.py:171 +#: ipam/forms/bulk_edit.py:287 ipam/forms/filtersets.py:171 msgid "VLAN Assignment" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:366 netbox/ipam/models/ip.py:772 +#: ipam/forms/bulk_edit.py:366 ipam/models/ip.py:772 msgid "DNS name" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:387 netbox/ipam/forms/bulk_edit.py:534 -#: netbox/ipam/forms/bulk_import.py:394 netbox/ipam/forms/bulk_import.py:469 -#: netbox/ipam/forms/bulk_import.py:495 netbox/ipam/forms/filtersets.py:390 -#: netbox/ipam/forms/filtersets.py:530 netbox/templates/ipam/fhrpgroup.html:22 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:24 -#: netbox/templates/ipam/service.html:32 -#: netbox/templates/ipam/servicetemplate.html:19 +#: ipam/forms/bulk_edit.py:387 ipam/forms/bulk_edit.py:534 +#: ipam/forms/bulk_import.py:394 ipam/forms/bulk_import.py:469 +#: ipam/forms/bulk_import.py:495 ipam/forms/filtersets.py:390 +#: ipam/forms/filtersets.py:530 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 "" -#: netbox/ipam/forms/bulk_edit.py:394 netbox/ipam/forms/filtersets.py:397 -#: netbox/ipam/tables/fhrp.py:22 netbox/templates/ipam/fhrpgroup.html:26 +#: ipam/forms/bulk_edit.py:394 ipam/forms/filtersets.py:397 +#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:26 msgid "Group ID" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:399 netbox/ipam/forms/filtersets.py:402 -#: netbox/wireless/forms/bulk_edit.py:68 netbox/wireless/forms/bulk_edit.py:115 -#: netbox/wireless/forms/bulk_import.py:62 -#: netbox/wireless/forms/bulk_import.py:65 -#: netbox/wireless/forms/bulk_import.py:104 -#: netbox/wireless/forms/bulk_import.py:107 -#: netbox/wireless/forms/filtersets.py:54 -#: netbox/wireless/forms/filtersets.py:88 +#: ipam/forms/bulk_edit.py:399 ipam/forms/filtersets.py:402 +#: 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:54 wireless/forms/filtersets.py:88 msgid "Authentication type" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:404 netbox/ipam/forms/filtersets.py:406 +#: ipam/forms/bulk_edit.py:404 ipam/forms/filtersets.py:406 msgid "Authentication key" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:421 netbox/ipam/forms/filtersets.py:383 -#: netbox/ipam/forms/model_forms.py:474 netbox/netbox/navigation/menu.py:386 -#: netbox/templates/ipam/fhrpgroup.html:49 -#: netbox/templates/wireless/inc/authentication_attrs.html:5 -#: netbox/wireless/forms/bulk_edit.py:91 netbox/wireless/forms/bulk_edit.py:149 -#: netbox/wireless/forms/filtersets.py:36 -#: netbox/wireless/forms/filtersets.py:76 -#: netbox/wireless/forms/model_forms.py:55 -#: netbox/wireless/forms/model_forms.py:171 +#: ipam/forms/bulk_edit.py:421 ipam/forms/filtersets.py:383 +#: ipam/forms/model_forms.py:474 netbox/navigation/menu.py:386 +#: templates/ipam/fhrpgroup.html:49 +#: templates/wireless/inc/authentication_attrs.html:5 +#: wireless/forms/bulk_edit.py:91 wireless/forms/bulk_edit.py:149 +#: wireless/forms/filtersets.py:36 wireless/forms/filtersets.py:76 +#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:171 msgid "Authentication" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:436 netbox/ipam/forms/model_forms.py:575 +#: ipam/forms/bulk_edit.py:436 ipam/forms/model_forms.py:575 msgid "Scope type" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:439 netbox/ipam/forms/bulk_edit.py:453 -#: netbox/ipam/forms/model_forms.py:578 netbox/ipam/forms/model_forms.py:588 -#: netbox/ipam/tables/vlans.py:71 netbox/templates/ipam/vlangroup.html:38 +#: ipam/forms/bulk_edit.py:439 ipam/forms/bulk_edit.py:453 +#: ipam/forms/model_forms.py:578 ipam/forms/model_forms.py:588 +#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:38 msgid "Scope" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:446 netbox/ipam/models/vlans.py:60 +#: ipam/forms/bulk_edit.py:446 ipam/models/vlans.py:60 msgid "VLAN ID ranges" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:525 +#: ipam/forms/bulk_edit.py:525 msgid "Site & Group" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:539 netbox/ipam/forms/model_forms.py:659 -#: netbox/ipam/forms/model_forms.py:691 netbox/ipam/tables/services.py:19 -#: netbox/ipam/tables/services.py:49 netbox/templates/ipam/service.html:36 -#: netbox/templates/ipam/servicetemplate.html:23 +#: ipam/forms/bulk_edit.py:539 ipam/forms/model_forms.py:659 +#: ipam/forms/model_forms.py:691 ipam/tables/services.py:19 +#: ipam/tables/services.py:49 templates/ipam/service.html:36 +#: templates/ipam/servicetemplate.html:23 msgid "Ports" msgstr "" -#: netbox/ipam/forms/bulk_import.py:48 +#: ipam/forms/bulk_import.py:48 msgid "Import route targets" msgstr "" -#: netbox/ipam/forms/bulk_import.py:54 +#: ipam/forms/bulk_import.py:54 msgid "Export route targets" msgstr "" -#: netbox/ipam/forms/bulk_import.py:92 netbox/ipam/forms/bulk_import.py:112 -#: netbox/ipam/forms/bulk_import.py:132 +#: ipam/forms/bulk_import.py:92 ipam/forms/bulk_import.py:112 +#: ipam/forms/bulk_import.py:132 msgid "Assigned RIR" msgstr "" -#: netbox/ipam/forms/bulk_import.py:182 +#: ipam/forms/bulk_import.py:182 msgid "VLAN's group (if any)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:308 +#: ipam/forms/bulk_import.py:308 msgid "Parent device of assigned interface (if any)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:311 netbox/ipam/forms/bulk_import.py:488 -#: netbox/ipam/forms/model_forms.py:685 netbox/virtualization/filtersets.py:288 -#: netbox/virtualization/filtersets.py:327 -#: netbox/virtualization/forms/bulk_edit.py:200 -#: netbox/virtualization/forms/bulk_edit.py:326 -#: netbox/virtualization/forms/bulk_import.py:146 -#: netbox/virtualization/forms/bulk_import.py:207 -#: netbox/virtualization/forms/filtersets.py:212 -#: netbox/virtualization/forms/filtersets.py:248 -#: netbox/virtualization/forms/model_forms.py:288 -#: netbox/vpn/forms/bulk_import.py:93 netbox/vpn/forms/bulk_import.py:290 +#: ipam/forms/bulk_import.py:311 ipam/forms/bulk_import.py:488 +#: ipam/forms/model_forms.py:685 virtualization/filtersets.py:288 +#: virtualization/filtersets.py:327 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:212 +#: virtualization/forms/filtersets.py:248 +#: virtualization/forms/model_forms.py:288 vpn/forms/bulk_import.py:93 +#: vpn/forms/bulk_import.py:290 msgid "Virtual machine" msgstr "" -#: netbox/ipam/forms/bulk_import.py:315 +#: ipam/forms/bulk_import.py:315 msgid "Parent VM of assigned interface (if any)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:325 +#: ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "" -#: netbox/ipam/forms/bulk_import.py:326 +#: ipam/forms/bulk_import.py:326 msgid "Make this the primary IP for the assigned device" msgstr "" -#: netbox/ipam/forms/bulk_import.py:365 +#: ipam/forms/bulk_import.py:365 msgid "No device or virtual machine specified; cannot set as primary IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:369 +#: ipam/forms/bulk_import.py:369 msgid "No interface specified; cannot set as primary IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:398 +#: ipam/forms/bulk_import.py:398 msgid "Auth type" msgstr "" -#: netbox/ipam/forms/bulk_import.py:413 +#: ipam/forms/bulk_import.py:413 msgid "Scope type (app & model)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:440 +#: ipam/forms/bulk_import.py:440 msgid "Assigned VLAN group" msgstr "" -#: netbox/ipam/forms/bulk_import.py:471 netbox/ipam/forms/bulk_import.py:497 +#: ipam/forms/bulk_import.py:471 ipam/forms/bulk_import.py:497 msgid "IP protocol" msgstr "" -#: netbox/ipam/forms/bulk_import.py:485 +#: ipam/forms/bulk_import.py:485 msgid "Required if not assigned to a VM" msgstr "" -#: netbox/ipam/forms/bulk_import.py:492 +#: ipam/forms/bulk_import.py:492 msgid "Required if not assigned to a device" msgstr "" -#: netbox/ipam/forms/bulk_import.py:517 +#: ipam/forms/bulk_import.py:517 #, python-brace-format msgid "{ip} is not assigned to this device/VM." msgstr "" -#: netbox/ipam/forms/filtersets.py:47 netbox/ipam/forms/model_forms.py:63 -#: netbox/netbox/navigation/menu.py:189 netbox/vpn/forms/model_forms.py:410 +#: ipam/forms/filtersets.py:47 ipam/forms/model_forms.py:63 +#: netbox/navigation/menu.py:189 vpn/forms/model_forms.py:410 msgid "Route Targets" msgstr "" -#: netbox/ipam/forms/filtersets.py:53 netbox/ipam/forms/model_forms.py:50 -#: netbox/vpn/forms/filtersets.py:224 netbox/vpn/forms/model_forms.py:397 +#: ipam/forms/filtersets.py:53 ipam/forms/model_forms.py:50 +#: vpn/forms/filtersets.py:224 vpn/forms/model_forms.py:397 msgid "Import targets" msgstr "" -#: netbox/ipam/forms/filtersets.py:58 netbox/ipam/forms/model_forms.py:55 -#: netbox/vpn/forms/filtersets.py:229 netbox/vpn/forms/model_forms.py:402 +#: ipam/forms/filtersets.py:58 ipam/forms/model_forms.py:55 +#: vpn/forms/filtersets.py:229 vpn/forms/model_forms.py:402 msgid "Export targets" msgstr "" -#: netbox/ipam/forms/filtersets.py:73 +#: ipam/forms/filtersets.py:73 msgid "Imported by VRF" msgstr "" -#: netbox/ipam/forms/filtersets.py:78 +#: ipam/forms/filtersets.py:78 msgid "Exported by VRF" msgstr "" -#: netbox/ipam/forms/filtersets.py:87 netbox/ipam/tables/ip.py:89 -#: netbox/templates/ipam/rir.html:30 +#: ipam/forms/filtersets.py:87 ipam/tables/ip.py:89 templates/ipam/rir.html:30 msgid "Private" msgstr "" -#: netbox/ipam/forms/filtersets.py:105 netbox/ipam/forms/filtersets.py:191 -#: netbox/ipam/forms/filtersets.py:272 netbox/ipam/forms/filtersets.py:326 +#: ipam/forms/filtersets.py:105 ipam/forms/filtersets.py:191 +#: ipam/forms/filtersets.py:272 ipam/forms/filtersets.py:326 msgid "Address family" msgstr "" -#: netbox/ipam/forms/filtersets.py:119 netbox/templates/ipam/asnrange.html:25 +#: ipam/forms/filtersets.py:119 templates/ipam/asnrange.html:25 msgid "Range" msgstr "" -#: netbox/ipam/forms/filtersets.py:128 +#: ipam/forms/filtersets.py:128 msgid "Start" msgstr "" -#: netbox/ipam/forms/filtersets.py:132 +#: ipam/forms/filtersets.py:132 msgid "End" msgstr "" -#: netbox/ipam/forms/filtersets.py:186 +#: ipam/forms/filtersets.py:186 msgid "Search within" msgstr "" -#: netbox/ipam/forms/filtersets.py:207 netbox/ipam/forms/filtersets.py:342 +#: ipam/forms/filtersets.py:207 ipam/forms/filtersets.py:342 msgid "Present in VRF" msgstr "" -#: netbox/ipam/forms/filtersets.py:311 +#: ipam/forms/filtersets.py:311 msgid "Device/VM" msgstr "" -#: netbox/ipam/forms/filtersets.py:321 +#: ipam/forms/filtersets.py:321 msgid "Parent Prefix" msgstr "" -#: netbox/ipam/forms/filtersets.py:347 +#: ipam/forms/filtersets.py:347 msgid "Assigned Device" msgstr "" -#: netbox/ipam/forms/filtersets.py:352 +#: ipam/forms/filtersets.py:352 msgid "Assigned VM" msgstr "" -#: netbox/ipam/forms/filtersets.py:366 +#: ipam/forms/filtersets.py:366 msgid "Assigned to an interface" msgstr "" -#: netbox/ipam/forms/filtersets.py:373 netbox/templates/ipam/ipaddress.html:51 +#: ipam/forms/filtersets.py:373 templates/ipam/ipaddress.html:51 msgid "DNS Name" msgstr "" -#: netbox/ipam/forms/filtersets.py:416 netbox/ipam/models/vlans.py:235 -#: netbox/ipam/tables/ip.py:176 netbox/ipam/tables/vlans.py:82 -#: netbox/ipam/views.py:971 netbox/netbox/navigation/menu.py:193 -#: netbox/netbox/navigation/menu.py:195 +#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:251 ipam/tables/ip.py:176 +#: ipam/tables/vlans.py:82 ipam/views.py:971 netbox/navigation/menu.py:193 +#: netbox/navigation/menu.py:195 msgid "VLANs" msgstr "" -#: netbox/ipam/forms/filtersets.py:457 +#: ipam/forms/filtersets.py:457 msgid "Contains VLAN ID" msgstr "" -#: netbox/ipam/forms/filtersets.py:513 netbox/ipam/models/vlans.py:176 -#: netbox/templates/ipam/vlan.html:31 +#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:192 +#: templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "" -#: netbox/ipam/forms/filtersets.py:556 netbox/ipam/forms/model_forms.py:320 -#: netbox/ipam/forms/model_forms.py:713 netbox/ipam/forms/model_forms.py:739 -#: netbox/ipam/tables/vlans.py:195 -#: netbox/templates/virtualization/virtualdisk.html:21 -#: netbox/templates/virtualization/virtualmachine.html:12 -#: netbox/templates/virtualization/vminterface.html:21 -#: netbox/templates/vpn/tunneltermination.html:25 -#: netbox/virtualization/forms/filtersets.py:197 -#: netbox/virtualization/forms/filtersets.py:242 -#: netbox/virtualization/forms/model_forms.py:220 -#: netbox/virtualization/tables/virtualmachines.py:135 -#: netbox/virtualization/tables/virtualmachines.py:190 netbox/vpn/choices.py:45 -#: netbox/vpn/forms/filtersets.py:293 netbox/vpn/forms/model_forms.py:160 -#: netbox/vpn/forms/model_forms.py:171 netbox/vpn/forms/model_forms.py:273 -#: netbox/vpn/forms/model_forms.py:454 +#: ipam/forms/filtersets.py:556 ipam/forms/model_forms.py:320 +#: ipam/forms/model_forms.py:713 ipam/forms/model_forms.py:739 +#: ipam/tables/vlans.py:195 templates/virtualization/virtualdisk.html:21 +#: templates/virtualization/virtualmachine.html:12 +#: templates/virtualization/vminterface.html:21 +#: templates/vpn/tunneltermination.html:25 +#: virtualization/forms/filtersets.py:197 +#: virtualization/forms/filtersets.py:242 +#: virtualization/forms/model_forms.py:220 +#: virtualization/tables/virtualmachines.py:135 +#: virtualization/tables/virtualmachines.py:190 vpn/choices.py:45 +#: 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 "" -#: netbox/ipam/forms/model_forms.py:80 -#: netbox/templates/ipam/routetarget.html:10 +#: ipam/forms/model_forms.py:80 templates/ipam/routetarget.html:10 msgid "Route Target" msgstr "" -#: netbox/ipam/forms/model_forms.py:114 netbox/ipam/tables/ip.py:117 -#: netbox/templates/ipam/aggregate.html:11 netbox/templates/ipam/prefix.html:38 +#: ipam/forms/model_forms.py:114 ipam/tables/ip.py:117 +#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38 msgid "Aggregate" msgstr "" -#: netbox/ipam/forms/model_forms.py:135 netbox/templates/ipam/asnrange.html:12 +#: ipam/forms/model_forms.py:135 templates/ipam/asnrange.html:12 msgid "ASN Range" msgstr "" -#: netbox/ipam/forms/model_forms.py:231 +#: ipam/forms/model_forms.py:231 msgid "Site/VLAN Assignment" msgstr "" -#: netbox/ipam/forms/model_forms.py:259 netbox/templates/ipam/iprange.html:10 +#: ipam/forms/model_forms.py:259 templates/ipam/iprange.html:10 msgid "IP Range" msgstr "" -#: netbox/ipam/forms/model_forms.py:295 netbox/ipam/forms/model_forms.py:321 -#: netbox/ipam/forms/model_forms.py:473 netbox/templates/ipam/fhrpgroup.html:19 +#: ipam/forms/model_forms.py:295 ipam/forms/model_forms.py:321 +#: ipam/forms/model_forms.py:473 templates/ipam/fhrpgroup.html:19 msgid "FHRP Group" msgstr "" -#: netbox/ipam/forms/model_forms.py:310 +#: ipam/forms/model_forms.py:310 msgid "Make this the primary IP for the device/VM" msgstr "" -#: netbox/ipam/forms/model_forms.py:325 +#: ipam/forms/model_forms.py:325 msgid "NAT IP (Inside)" msgstr "" -#: netbox/ipam/forms/model_forms.py:384 +#: ipam/forms/model_forms.py:384 msgid "An IP address can only be assigned to a single object." msgstr "" -#: netbox/ipam/forms/model_forms.py:390 netbox/ipam/models/ip.py:897 +#: ipam/forms/model_forms.py:390 ipam/models/ip.py:897 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" msgstr "" -#: netbox/ipam/forms/model_forms.py:400 +#: ipam/forms/model_forms.py:400 msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "" -#: netbox/ipam/forms/model_forms.py:475 +#: ipam/forms/model_forms.py:475 msgid "Virtual IP Address" msgstr "" -#: netbox/ipam/forms/model_forms.py:560 +#: ipam/forms/model_forms.py:560 msgid "Assignment already exists" msgstr "" -#: netbox/ipam/forms/model_forms.py:569 netbox/templates/ipam/vlangroup.html:42 +#: ipam/forms/model_forms.py:569 templates/ipam/vlangroup.html:42 msgid "VLAN IDs" msgstr "" -#: netbox/ipam/forms/model_forms.py:587 +#: ipam/forms/model_forms.py:587 msgid "Child VLANs" msgstr "" -#: netbox/ipam/forms/model_forms.py:664 netbox/ipam/forms/model_forms.py:696 +#: ipam/forms/model_forms.py:664 ipam/forms/model_forms.py:696 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." msgstr "" -#: netbox/ipam/forms/model_forms.py:669 -#: netbox/templates/ipam/servicetemplate.html:12 +#: ipam/forms/model_forms.py:669 templates/ipam/servicetemplate.html:12 msgid "Service Template" msgstr "" -#: netbox/ipam/forms/model_forms.py:716 +#: ipam/forms/model_forms.py:716 msgid "Port(s)" msgstr "" -#: netbox/ipam/forms/model_forms.py:717 netbox/ipam/forms/model_forms.py:745 -#: netbox/templates/ipam/service.html:21 +#: ipam/forms/model_forms.py:717 ipam/forms/model_forms.py:745 +#: templates/ipam/service.html:21 msgid "Service" msgstr "" -#: netbox/ipam/forms/model_forms.py:730 +#: ipam/forms/model_forms.py:730 msgid "Service template" msgstr "" -#: netbox/ipam/forms/model_forms.py:742 +#: ipam/forms/model_forms.py:742 msgid "From Template" msgstr "" -#: netbox/ipam/forms/model_forms.py:743 +#: ipam/forms/model_forms.py:743 msgid "Custom" msgstr "" -#: netbox/ipam/forms/model_forms.py:773 +#: ipam/forms/model_forms.py:773 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" -#: netbox/ipam/models/asns.py:34 +#: ipam/models/asns.py:34 msgid "start" msgstr "" -#: netbox/ipam/models/asns.py:51 +#: ipam/models/asns.py:51 msgid "ASN range" msgstr "" -#: netbox/ipam/models/asns.py:52 +#: ipam/models/asns.py:52 msgid "ASN ranges" msgstr "" -#: netbox/ipam/models/asns.py:72 +#: ipam/models/asns.py:72 #, python-brace-format msgid "Starting ASN ({start}) must be lower than ending ASN ({end})." msgstr "" -#: netbox/ipam/models/asns.py:104 +#: ipam/models/asns.py:104 msgid "Regional Internet Registry responsible for this AS number space" msgstr "" -#: netbox/ipam/models/asns.py:109 +#: ipam/models/asns.py:109 msgid "16- or 32-bit autonomous system number" msgstr "" -#: netbox/ipam/models/fhrp.py:22 +#: ipam/models/fhrp.py:22 msgid "group ID" msgstr "" -#: netbox/ipam/models/fhrp.py:30 netbox/ipam/models/services.py:22 +#: ipam/models/fhrp.py:30 ipam/models/services.py:22 msgid "protocol" msgstr "" -#: netbox/ipam/models/fhrp.py:38 netbox/wireless/models.py:28 +#: ipam/models/fhrp.py:38 wireless/models.py:28 msgid "authentication type" msgstr "" -#: netbox/ipam/models/fhrp.py:43 +#: ipam/models/fhrp.py:43 msgid "authentication key" msgstr "" -#: netbox/ipam/models/fhrp.py:56 +#: ipam/models/fhrp.py:56 msgid "FHRP group" msgstr "" -#: netbox/ipam/models/fhrp.py:57 +#: ipam/models/fhrp.py:57 msgid "FHRP groups" msgstr "" -#: netbox/ipam/models/fhrp.py:113 +#: ipam/models/fhrp.py:113 msgid "FHRP group assignment" msgstr "" -#: netbox/ipam/models/fhrp.py:114 +#: ipam/models/fhrp.py:114 msgid "FHRP group assignments" msgstr "" -#: netbox/ipam/models/ip.py:65 +#: ipam/models/ip.py:65 msgid "private" msgstr "" -#: netbox/ipam/models/ip.py:66 +#: ipam/models/ip.py:66 msgid "IP space managed by this RIR is considered private" msgstr "" -#: netbox/ipam/models/ip.py:72 netbox/netbox/navigation/menu.py:182 +#: ipam/models/ip.py:72 netbox/navigation/menu.py:182 msgid "RIRs" msgstr "" -#: netbox/ipam/models/ip.py:84 +#: ipam/models/ip.py:84 msgid "IPv4 or IPv6 network" msgstr "" -#: netbox/ipam/models/ip.py:91 +#: ipam/models/ip.py:91 msgid "Regional Internet Registry responsible for this IP space" msgstr "" -#: netbox/ipam/models/ip.py:101 +#: ipam/models/ip.py:101 msgid "date added" msgstr "" -#: netbox/ipam/models/ip.py:115 +#: ipam/models/ip.py:115 msgid "aggregate" msgstr "" -#: netbox/ipam/models/ip.py:116 +#: ipam/models/ip.py:116 msgid "aggregates" msgstr "" -#: netbox/ipam/models/ip.py:132 +#: ipam/models/ip.py:132 msgid "Cannot create aggregate with /0 mask." msgstr "" -#: netbox/ipam/models/ip.py:144 +#: ipam/models/ip.py:144 #, python-brace-format msgid "" "Aggregates cannot overlap. {prefix} is already covered by an existing " "aggregate ({aggregate})." msgstr "" -#: netbox/ipam/models/ip.py:158 +#: ipam/models/ip.py:158 #, python-brace-format msgid "" "Prefixes cannot overlap aggregates. {prefix} covers an existing aggregate " "({aggregate})." msgstr "" -#: netbox/ipam/models/ip.py:200 netbox/ipam/models/ip.py:737 -#: netbox/vpn/models/tunnels.py:114 +#: ipam/models/ip.py:200 ipam/models/ip.py:737 vpn/models/tunnels.py:114 msgid "role" msgstr "" -#: netbox/ipam/models/ip.py:201 +#: ipam/models/ip.py:201 msgid "roles" msgstr "" -#: netbox/ipam/models/ip.py:217 netbox/ipam/models/ip.py:293 +#: ipam/models/ip.py:217 ipam/models/ip.py:293 msgid "prefix" msgstr "" -#: netbox/ipam/models/ip.py:218 +#: ipam/models/ip.py:218 msgid "IPv4 or IPv6 network with mask" msgstr "" -#: netbox/ipam/models/ip.py:254 +#: ipam/models/ip.py:254 msgid "Operational status of this prefix" msgstr "" -#: netbox/ipam/models/ip.py:262 +#: ipam/models/ip.py:262 msgid "The primary function of this prefix" msgstr "" -#: netbox/ipam/models/ip.py:265 +#: ipam/models/ip.py:265 msgid "is a pool" msgstr "" -#: netbox/ipam/models/ip.py:267 +#: ipam/models/ip.py:267 msgid "All IP addresses within this prefix are considered usable" msgstr "" -#: netbox/ipam/models/ip.py:270 netbox/ipam/models/ip.py:537 +#: ipam/models/ip.py:270 ipam/models/ip.py:537 msgid "mark utilized" msgstr "" -#: netbox/ipam/models/ip.py:294 +#: ipam/models/ip.py:294 msgid "prefixes" msgstr "" -#: netbox/ipam/models/ip.py:317 +#: ipam/models/ip.py:317 msgid "Cannot create prefix with /0 mask." msgstr "" -#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874 +#: ipam/models/ip.py:324 ipam/models/ip.py:874 #, python-brace-format msgid "VRF {vrf}" msgstr "" -#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874 +#: ipam/models/ip.py:324 ipam/models/ip.py:874 msgid "global table" msgstr "" -#: netbox/ipam/models/ip.py:326 +#: ipam/models/ip.py:326 #, python-brace-format msgid "Duplicate prefix found in {table}: {prefix}" msgstr "" -#: netbox/ipam/models/ip.py:495 +#: ipam/models/ip.py:495 msgid "start address" msgstr "" -#: netbox/ipam/models/ip.py:496 netbox/ipam/models/ip.py:500 -#: netbox/ipam/models/ip.py:712 +#: ipam/models/ip.py:496 ipam/models/ip.py:500 ipam/models/ip.py:712 msgid "IPv4 or IPv6 address (with mask)" msgstr "" -#: netbox/ipam/models/ip.py:499 +#: ipam/models/ip.py:499 msgid "end address" msgstr "" -#: netbox/ipam/models/ip.py:526 +#: ipam/models/ip.py:526 msgid "Operational status of this range" msgstr "" -#: netbox/ipam/models/ip.py:534 +#: ipam/models/ip.py:534 msgid "The primary function of this range" msgstr "" -#: netbox/ipam/models/ip.py:548 +#: ipam/models/ip.py:548 msgid "IP range" msgstr "" -#: netbox/ipam/models/ip.py:549 +#: ipam/models/ip.py:549 msgid "IP ranges" msgstr "" -#: netbox/ipam/models/ip.py:565 +#: ipam/models/ip.py:565 msgid "Starting and ending IP address versions must match" msgstr "" -#: netbox/ipam/models/ip.py:571 +#: ipam/models/ip.py:571 msgid "Starting and ending IP address masks must match" msgstr "" -#: netbox/ipam/models/ip.py:578 +#: ipam/models/ip.py:578 #, python-brace-format msgid "" "Ending address must be greater than the starting address ({start_address})" msgstr "" -#: netbox/ipam/models/ip.py:590 +#: ipam/models/ip.py:590 #, python-brace-format msgid "Defined addresses overlap with range {overlapping_range} in VRF {vrf}" msgstr "" -#: netbox/ipam/models/ip.py:599 +#: ipam/models/ip.py:599 #, python-brace-format msgid "Defined range exceeds maximum supported size ({max_size})" msgstr "" -#: netbox/ipam/models/ip.py:711 netbox/tenancy/models/contacts.py:82 +#: ipam/models/ip.py:711 tenancy/models/contacts.py:82 msgid "address" msgstr "" -#: netbox/ipam/models/ip.py:734 +#: ipam/models/ip.py:734 msgid "The operational status of this IP" msgstr "" -#: netbox/ipam/models/ip.py:741 +#: ipam/models/ip.py:741 msgid "The functional role of this IP" msgstr "" -#: netbox/ipam/models/ip.py:765 netbox/templates/ipam/ipaddress.html:72 +#: ipam/models/ip.py:765 templates/ipam/ipaddress.html:72 msgid "NAT (inside)" msgstr "" -#: netbox/ipam/models/ip.py:766 +#: ipam/models/ip.py:766 msgid "The IP for which this address is the \"outside\" IP" msgstr "" -#: netbox/ipam/models/ip.py:773 +#: ipam/models/ip.py:773 msgid "Hostname or FQDN (not case-sensitive)" msgstr "" -#: netbox/ipam/models/ip.py:789 netbox/ipam/models/services.py:94 +#: ipam/models/ip.py:789 ipam/models/services.py:94 msgid "IP addresses" msgstr "" -#: netbox/ipam/models/ip.py:845 +#: ipam/models/ip.py:845 msgid "Cannot create IP address with /0 mask." msgstr "" -#: netbox/ipam/models/ip.py:851 +#: ipam/models/ip.py:851 #, python-brace-format msgid "{ip} is a network ID, which may not be assigned to an interface." msgstr "" -#: netbox/ipam/models/ip.py:862 +#: ipam/models/ip.py:862 #, python-brace-format msgid "{ip} is a broadcast address, which may not be assigned to an interface." msgstr "" -#: netbox/ipam/models/ip.py:876 +#: ipam/models/ip.py:876 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" msgstr "" -#: netbox/ipam/models/ip.py:903 +#: ipam/models/ip.py:903 msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "" -#: netbox/ipam/models/services.py:33 +#: ipam/models/services.py:33 msgid "port numbers" msgstr "" -#: netbox/ipam/models/services.py:59 +#: ipam/models/services.py:59 msgid "service template" msgstr "" -#: netbox/ipam/models/services.py:60 +#: ipam/models/services.py:60 msgid "service templates" msgstr "" -#: netbox/ipam/models/services.py:95 +#: ipam/models/services.py:95 msgid "The specific IP addresses (if any) to which this service is bound" msgstr "" -#: netbox/ipam/models/services.py:102 +#: ipam/models/services.py:102 msgid "service" msgstr "" -#: netbox/ipam/models/services.py:103 +#: ipam/models/services.py:103 msgid "services" msgstr "" -#: netbox/ipam/models/services.py:117 +#: ipam/models/services.py:117 msgid "" "A service cannot be associated with both a device and a virtual machine." msgstr "" -#: netbox/ipam/models/services.py:119 +#: ipam/models/services.py:119 msgid "A service must be associated with either a device or a virtual machine." msgstr "" -#: netbox/ipam/models/vlans.py:85 +#: ipam/models/vlans.py:85 msgid "VLAN groups" msgstr "" -#: netbox/ipam/models/vlans.py:95 +#: ipam/models/vlans.py:95 msgid "Cannot set scope_type without scope_id." msgstr "" -#: netbox/ipam/models/vlans.py:97 +#: ipam/models/vlans.py:97 msgid "Cannot set scope_id without scope_type." msgstr "" -#: netbox/ipam/models/vlans.py:101 +#: ipam/models/vlans.py:105 +#, python-brace-format +msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" +msgstr "" + +#: ipam/models/vlans.py:111 +#, python-brace-format +msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" +msgstr "" + +#: ipam/models/vlans.py:118 +#, python-brace-format +msgid "" +"Ending VLAN ID in range must be greater than or equal to the starting VLAN " +"ID ({range})" +msgstr "" + +#: ipam/models/vlans.py:124 msgid "Ranges cannot overlap." msgstr "" -#: netbox/ipam/models/vlans.py:106 -#, python-brace-format -msgid "" -"Maximum child VID must be greater than or equal to minimum child VID " -"({value})" -msgstr "" - -#: netbox/ipam/models/vlans.py:165 +#: ipam/models/vlans.py:181 msgid "The specific site to which this VLAN is assigned (if any)" msgstr "" -#: netbox/ipam/models/vlans.py:173 +#: ipam/models/vlans.py:189 msgid "VLAN group (optional)" msgstr "" -#: netbox/ipam/models/vlans.py:181 +#: ipam/models/vlans.py:197 msgid "Numeric VLAN ID (1-4094)" msgstr "" -#: netbox/ipam/models/vlans.py:199 +#: ipam/models/vlans.py:215 msgid "Operational status of this VLAN" msgstr "" -#: netbox/ipam/models/vlans.py:207 +#: ipam/models/vlans.py:223 msgid "The primary function of this VLAN" msgstr "" -#: netbox/ipam/models/vlans.py:250 +#: ipam/models/vlans.py:266 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " "site {site}." msgstr "" -#: netbox/ipam/models/vlans.py:259 +#: ipam/models/vlans.py:275 #, python-brace-format msgid "VID must be in ranges {ranges} for VLANs in group {group}" msgstr "" -#: netbox/ipam/models/vrfs.py:30 +#: ipam/models/vrfs.py:30 msgid "route distinguisher" msgstr "" -#: netbox/ipam/models/vrfs.py:31 +#: ipam/models/vrfs.py:31 msgid "Unique route distinguisher (as defined in RFC 4364)" msgstr "" -#: netbox/ipam/models/vrfs.py:42 +#: ipam/models/vrfs.py:42 msgid "enforce unique space" msgstr "" -#: netbox/ipam/models/vrfs.py:43 +#: ipam/models/vrfs.py:43 msgid "Prevent duplicate prefixes/IP addresses within this VRF" msgstr "" -#: netbox/ipam/models/vrfs.py:63 netbox/netbox/navigation/menu.py:186 -#: netbox/netbox/navigation/menu.py:188 +#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:186 +#: netbox/navigation/menu.py:188 msgid "VRFs" msgstr "" -#: netbox/ipam/models/vrfs.py:82 +#: ipam/models/vrfs.py:82 msgid "Route target value (formatted in accordance with RFC 4360)" msgstr "" -#: netbox/ipam/models/vrfs.py:94 +#: ipam/models/vrfs.py:94 msgid "route target" msgstr "" -#: netbox/ipam/models/vrfs.py:95 +#: ipam/models/vrfs.py:95 msgid "route targets" msgstr "" -#: netbox/ipam/tables/asn.py:52 +#: ipam/tables/asn.py:52 msgid "ASDOT" msgstr "" -#: netbox/ipam/tables/asn.py:57 +#: ipam/tables/asn.py:57 msgid "Site Count" msgstr "" -#: netbox/ipam/tables/asn.py:62 +#: ipam/tables/asn.py:62 msgid "Provider Count" msgstr "" -#: netbox/ipam/tables/ip.py:95 netbox/netbox/navigation/menu.py:179 -#: netbox/netbox/navigation/menu.py:181 +#: ipam/tables/ip.py:95 netbox/navigation/menu.py:179 +#: netbox/navigation/menu.py:181 msgid "Aggregates" msgstr "" -#: netbox/ipam/tables/ip.py:125 +#: ipam/tables/ip.py:125 msgid "Added" msgstr "" -#: netbox/ipam/tables/ip.py:128 netbox/ipam/tables/ip.py:166 -#: netbox/ipam/tables/vlans.py:142 netbox/ipam/views.py:346 -#: netbox/netbox/navigation/menu.py:165 netbox/netbox/navigation/menu.py:167 -#: netbox/templates/ipam/vlan.html:84 +#: ipam/tables/ip.py:128 ipam/tables/ip.py:166 ipam/tables/vlans.py:142 +#: ipam/views.py:346 netbox/navigation/menu.py:165 +#: netbox/navigation/menu.py:167 templates/ipam/vlan.html:84 msgid "Prefixes" msgstr "" -#: netbox/ipam/tables/ip.py:131 netbox/ipam/tables/ip.py:270 -#: netbox/ipam/tables/ip.py:324 netbox/ipam/tables/vlans.py:86 -#: netbox/templates/dcim/device.html:260 -#: netbox/templates/ipam/aggregate.html:24 -#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 +#: ipam/tables/ip.py:131 ipam/tables/ip.py:270 ipam/tables/ip.py:324 +#: ipam/tables/vlans.py:86 templates/dcim/device.html:260 +#: templates/ipam/aggregate.html:24 templates/ipam/iprange.html:29 +#: templates/ipam/prefix.html:106 msgid "Utilization" msgstr "" -#: netbox/ipam/tables/ip.py:171 netbox/netbox/navigation/menu.py:161 +#: ipam/tables/ip.py:171 netbox/navigation/menu.py:161 msgid "IP Ranges" msgstr "" -#: netbox/ipam/tables/ip.py:221 +#: ipam/tables/ip.py:221 msgid "Prefix (Flat)" msgstr "" -#: netbox/ipam/tables/ip.py:225 +#: ipam/tables/ip.py:225 msgid "Depth" msgstr "" -#: netbox/ipam/tables/ip.py:262 +#: ipam/tables/ip.py:262 msgid "Pool" msgstr "" -#: netbox/ipam/tables/ip.py:266 netbox/ipam/tables/ip.py:320 +#: ipam/tables/ip.py:266 ipam/tables/ip.py:320 msgid "Marked Utilized" msgstr "" -#: netbox/ipam/tables/ip.py:304 +#: ipam/tables/ip.py:304 msgid "Start address" msgstr "" -#: netbox/ipam/tables/ip.py:383 +#: ipam/tables/ip.py:383 msgid "NAT (Inside)" msgstr "" -#: netbox/ipam/tables/ip.py:388 +#: ipam/tables/ip.py:388 msgid "NAT (Outside)" msgstr "" -#: netbox/ipam/tables/ip.py:393 +#: ipam/tables/ip.py:393 msgid "Assigned" msgstr "" -#: netbox/ipam/tables/ip.py:429 netbox/templates/vpn/l2vpntermination.html:16 -#: netbox/vpn/forms/filtersets.py:240 +#: ipam/tables/ip.py:429 templates/vpn/l2vpntermination.html:16 +#: vpn/forms/filtersets.py:240 msgid "Assigned Object" msgstr "" -#: netbox/ipam/tables/vlans.py:68 +#: ipam/tables/vlans.py:68 msgid "Scope Type" msgstr "" -#: netbox/ipam/tables/vlans.py:76 +#: ipam/tables/vlans.py:76 msgid "VID Ranges" msgstr "" -#: netbox/ipam/tables/vlans.py:111 netbox/ipam/tables/vlans.py:214 -#: netbox/templates/dcim/inc/interface_vlans_table.html:4 +#: ipam/tables/vlans.py:111 ipam/tables/vlans.py:214 +#: templates/dcim/inc/interface_vlans_table.html:4 msgid "VID" msgstr "" -#: netbox/ipam/tables/vrfs.py:30 +#: ipam/tables/vrfs.py:30 msgid "RD" msgstr "" -#: netbox/ipam/tables/vrfs.py:33 +#: ipam/tables/vrfs.py:33 msgid "Unique" msgstr "" -#: netbox/ipam/tables/vrfs.py:37 netbox/vpn/tables/l2vpn.py:27 +#: ipam/tables/vrfs.py:37 vpn/tables/l2vpn.py:27 msgid "Import Targets" msgstr "" -#: netbox/ipam/tables/vrfs.py:42 netbox/vpn/tables/l2vpn.py:32 +#: ipam/tables/vrfs.py:42 vpn/tables/l2vpn.py:32 msgid "Export Targets" msgstr "" -#: netbox/ipam/validators.py:9 +#: ipam/validators.py:9 #, python-brace-format msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" msgstr "" -#: netbox/ipam/validators.py:16 +#: ipam/validators.py:16 #, python-format msgid "The prefix length must be less than or equal to %(limit_value)s." msgstr "" -#: netbox/ipam/validators.py:24 +#: ipam/validators.py:24 #, python-format msgid "The prefix length must be greater than or equal to %(limit_value)s." msgstr "" -#: netbox/ipam/validators.py:33 +#: ipam/validators.py:33 msgid "" "Only alphanumeric characters, asterisks, hyphens, periods, and underscores " "are allowed in DNS names" msgstr "" -#: netbox/ipam/views.py:533 +#: ipam/views.py:533 msgid "Child Prefixes" msgstr "" -#: netbox/ipam/views.py:569 +#: ipam/views.py:569 msgid "Child Ranges" msgstr "" -#: netbox/ipam/views.py:898 +#: ipam/views.py:898 msgid "Related IPs" msgstr "" -#: netbox/ipam/views.py:1127 +#: ipam/views.py:1127 msgid "Device Interfaces" msgstr "" -#: netbox/ipam/views.py:1145 +#: ipam/views.py:1145 msgid "VM Interfaces" msgstr "" -#: netbox/netbox/api/fields.py:65 +#: netbox/api/fields.py:65 msgid "This field may not be blank." msgstr "" -#: netbox/netbox/api/fields.py:70 +#: netbox/api/fields.py:70 msgid "" "Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " "or list." msgstr "" -#: netbox/netbox/api/fields.py:91 +#: netbox/api/fields.py:91 #, python-brace-format msgid "{value} is not a valid choice." msgstr "" -#: netbox/netbox/api/fields.py:104 +#: netbox/api/fields.py:104 #, python-brace-format msgid "Invalid content type: {content_type}" msgstr "" -#: netbox/netbox/api/fields.py:105 +#: netbox/api/fields.py:105 msgid "Invalid value. Specify a content type as '.'." msgstr "" -#: netbox/netbox/api/fields.py:167 +#: netbox/api/fields.py:167 msgid "Ranges must be specified in the form (lower, upper)." msgstr "" -#: netbox/netbox/api/fields.py:169 +#: netbox/api/fields.py:169 msgid "Range boundaries must be defined as integers." msgstr "" -#: netbox/netbox/api/serializers/fields.py:40 +#: netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "" -#: netbox/netbox/authentication/__init__.py:138 +#: netbox/authentication/__init__.py:138 #, python-brace-format msgid "Invalid permission {permission} for model {model}" msgstr "" -#: netbox/netbox/choices.py:49 +#: netbox/choices.py:49 msgid "Dark Red" msgstr "" -#: netbox/netbox/choices.py:52 +#: netbox/choices.py:52 msgid "Rose" msgstr "" -#: netbox/netbox/choices.py:53 +#: netbox/choices.py:53 msgid "Fuchsia" msgstr "" -#: netbox/netbox/choices.py:55 +#: netbox/choices.py:55 msgid "Dark Purple" msgstr "" -#: netbox/netbox/choices.py:58 +#: netbox/choices.py:58 msgid "Light Blue" msgstr "" -#: netbox/netbox/choices.py:61 +#: netbox/choices.py:61 msgid "Aqua" msgstr "" -#: netbox/netbox/choices.py:62 +#: netbox/choices.py:62 msgid "Dark Green" msgstr "" -#: netbox/netbox/choices.py:64 +#: netbox/choices.py:64 msgid "Light Green" msgstr "" -#: netbox/netbox/choices.py:65 +#: netbox/choices.py:65 msgid "Lime" msgstr "" -#: netbox/netbox/choices.py:67 +#: netbox/choices.py:67 msgid "Amber" msgstr "" -#: netbox/netbox/choices.py:69 +#: netbox/choices.py:69 msgid "Dark Orange" msgstr "" -#: netbox/netbox/choices.py:70 +#: netbox/choices.py:70 msgid "Brown" msgstr "" -#: netbox/netbox/choices.py:71 +#: netbox/choices.py:71 msgid "Light Grey" msgstr "" -#: netbox/netbox/choices.py:72 +#: netbox/choices.py:72 msgid "Grey" msgstr "" -#: netbox/netbox/choices.py:73 +#: netbox/choices.py:73 msgid "Dark Grey" msgstr "" -#: netbox/netbox/choices.py:128 +#: netbox/choices.py:128 msgid "Direct" msgstr "" -#: netbox/netbox/choices.py:129 +#: netbox/choices.py:129 msgid "Upload" msgstr "" -#: netbox/netbox/choices.py:141 netbox/netbox/choices.py:155 +#: netbox/choices.py:141 netbox/choices.py:155 msgid "Auto-detect" msgstr "" -#: netbox/netbox/choices.py:156 +#: netbox/choices.py:156 msgid "Comma" msgstr "" -#: netbox/netbox/choices.py:157 +#: netbox/choices.py:157 msgid "Semicolon" msgstr "" -#: netbox/netbox/choices.py:158 +#: netbox/choices.py:158 msgid "Tab" msgstr "" -#: netbox/netbox/config/__init__.py:67 +#: netbox/config/__init__.py:67 #, python-brace-format msgid "Invalid configuration parameter: {item}" msgstr "" -#: netbox/netbox/config/parameters.py:22 -#: netbox/templates/core/inc/config_data.html:62 +#: netbox/config/parameters.py:22 templates/core/inc/config_data.html:62 msgid "Login banner" msgstr "" -#: netbox/netbox/config/parameters.py:24 +#: netbox/config/parameters.py:24 msgid "Additional content to display on the login page" msgstr "" -#: netbox/netbox/config/parameters.py:33 -#: netbox/templates/core/inc/config_data.html:66 +#: netbox/config/parameters.py:33 templates/core/inc/config_data.html:66 msgid "Maintenance banner" msgstr "" -#: netbox/netbox/config/parameters.py:35 +#: netbox/config/parameters.py:35 msgid "Additional content to display when in maintenance mode" msgstr "" -#: netbox/netbox/config/parameters.py:44 -#: netbox/templates/core/inc/config_data.html:70 +#: netbox/config/parameters.py:44 templates/core/inc/config_data.html:70 msgid "Top banner" msgstr "" -#: netbox/netbox/config/parameters.py:46 +#: netbox/config/parameters.py:46 msgid "Additional content to display at the top of every page" msgstr "" -#: netbox/netbox/config/parameters.py:55 -#: netbox/templates/core/inc/config_data.html:74 +#: netbox/config/parameters.py:55 templates/core/inc/config_data.html:74 msgid "Bottom banner" msgstr "" -#: netbox/netbox/config/parameters.py:57 +#: netbox/config/parameters.py:57 msgid "Additional content to display at the bottom of every page" msgstr "" -#: netbox/netbox/config/parameters.py:68 +#: netbox/config/parameters.py:68 msgid "Globally unique IP space" msgstr "" -#: netbox/netbox/config/parameters.py:70 +#: netbox/config/parameters.py:70 msgid "Enforce unique IP addressing within the global table" msgstr "" -#: netbox/netbox/config/parameters.py:75 -#: netbox/templates/core/inc/config_data.html:44 +#: netbox/config/parameters.py:75 templates/core/inc/config_data.html:44 msgid "Prefer IPv4" msgstr "" -#: netbox/netbox/config/parameters.py:77 +#: netbox/config/parameters.py:77 msgid "Prefer IPv4 addresses over IPv6" msgstr "" -#: netbox/netbox/config/parameters.py:84 +#: netbox/config/parameters.py:84 msgid "Rack unit height" msgstr "" -#: netbox/netbox/config/parameters.py:86 +#: netbox/config/parameters.py:86 msgid "Default unit height for rendered rack elevations" msgstr "" -#: netbox/netbox/config/parameters.py:91 +#: netbox/config/parameters.py:91 msgid "Rack unit width" msgstr "" -#: netbox/netbox/config/parameters.py:93 +#: netbox/config/parameters.py:93 msgid "Default unit width for rendered rack elevations" msgstr "" -#: netbox/netbox/config/parameters.py:100 +#: netbox/config/parameters.py:100 msgid "Powerfeed voltage" msgstr "" -#: netbox/netbox/config/parameters.py:102 +#: netbox/config/parameters.py:102 msgid "Default voltage for powerfeeds" msgstr "" -#: netbox/netbox/config/parameters.py:107 +#: netbox/config/parameters.py:107 msgid "Powerfeed amperage" msgstr "" -#: netbox/netbox/config/parameters.py:109 +#: netbox/config/parameters.py:109 msgid "Default amperage for powerfeeds" msgstr "" -#: netbox/netbox/config/parameters.py:114 +#: netbox/config/parameters.py:114 msgid "Powerfeed max utilization" msgstr "" -#: netbox/netbox/config/parameters.py:116 +#: netbox/config/parameters.py:116 msgid "Default max utilization for powerfeeds" msgstr "" -#: netbox/netbox/config/parameters.py:123 -#: netbox/templates/core/inc/config_data.html:53 +#: netbox/config/parameters.py:123 templates/core/inc/config_data.html:53 msgid "Allowed URL schemes" msgstr "" -#: netbox/netbox/config/parameters.py:128 +#: netbox/config/parameters.py:128 msgid "Permitted schemes for URLs in user-provided content" msgstr "" -#: netbox/netbox/config/parameters.py:136 +#: netbox/config/parameters.py:136 msgid "Default page size" msgstr "" -#: netbox/netbox/config/parameters.py:142 +#: netbox/config/parameters.py:142 msgid "Maximum page size" msgstr "" -#: netbox/netbox/config/parameters.py:150 -#: netbox/templates/core/inc/config_data.html:96 +#: netbox/config/parameters.py:150 templates/core/inc/config_data.html:96 msgid "Custom validators" msgstr "" -#: netbox/netbox/config/parameters.py:152 +#: netbox/config/parameters.py:152 msgid "Custom validation rules (JSON)" msgstr "" -#: netbox/netbox/config/parameters.py:160 -#: netbox/templates/core/inc/config_data.html:104 +#: netbox/config/parameters.py:160 templates/core/inc/config_data.html:104 msgid "Protection rules" msgstr "" -#: netbox/netbox/config/parameters.py:162 +#: netbox/config/parameters.py:162 msgid "Deletion protection rules (JSON)" msgstr "" -#: netbox/netbox/config/parameters.py:172 -#: netbox/templates/core/inc/config_data.html:117 +#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117 msgid "Default preferences" msgstr "" -#: netbox/netbox/config/parameters.py:174 +#: netbox/config/parameters.py:174 msgid "Default preferences for new users" msgstr "" -#: netbox/netbox/config/parameters.py:181 -#: netbox/templates/core/inc/config_data.html:129 +#: netbox/config/parameters.py:181 templates/core/inc/config_data.html:129 msgid "Maintenance mode" msgstr "" -#: netbox/netbox/config/parameters.py:183 +#: netbox/config/parameters.py:183 msgid "Enable maintenance mode" msgstr "" -#: netbox/netbox/config/parameters.py:188 -#: netbox/templates/core/inc/config_data.html:133 +#: netbox/config/parameters.py:188 templates/core/inc/config_data.html:133 msgid "GraphQL enabled" msgstr "" -#: netbox/netbox/config/parameters.py:190 +#: netbox/config/parameters.py:190 msgid "Enable the GraphQL API" msgstr "" -#: netbox/netbox/config/parameters.py:195 -#: netbox/templates/core/inc/config_data.html:137 +#: netbox/config/parameters.py:195 templates/core/inc/config_data.html:137 msgid "Changelog retention" msgstr "" -#: netbox/netbox/config/parameters.py:197 +#: netbox/config/parameters.py:197 msgid "Days to retain changelog history (set to zero for unlimited)" msgstr "" -#: netbox/netbox/config/parameters.py:202 +#: netbox/config/parameters.py:202 msgid "Job result retention" msgstr "" -#: netbox/netbox/config/parameters.py:204 +#: netbox/config/parameters.py:204 msgid "Days to retain job result history (set to zero for unlimited)" msgstr "" -#: netbox/netbox/config/parameters.py:209 -#: netbox/templates/core/inc/config_data.html:145 +#: netbox/config/parameters.py:209 templates/core/inc/config_data.html:145 msgid "Maps URL" msgstr "" -#: netbox/netbox/config/parameters.py:211 +#: netbox/config/parameters.py:211 msgid "Base URL for mapping geographic locations" msgstr "" -#: netbox/netbox/forms/__init__.py:12 +#: netbox/forms/__init__.py:12 msgid "Partial match" msgstr "" -#: netbox/netbox/forms/__init__.py:13 +#: netbox/forms/__init__.py:13 msgid "Exact match" msgstr "" -#: netbox/netbox/forms/__init__.py:14 +#: netbox/forms/__init__.py:14 msgid "Starts with" msgstr "" -#: netbox/netbox/forms/__init__.py:15 +#: netbox/forms/__init__.py:15 msgid "Ends with" msgstr "" -#: netbox/netbox/forms/__init__.py:16 +#: netbox/forms/__init__.py:16 msgid "Regex" msgstr "" -#: netbox/netbox/forms/__init__.py:34 +#: netbox/forms/__init__.py:34 msgid "Object type(s)" msgstr "" -#: netbox/netbox/forms/__init__.py:40 +#: netbox/forms/__init__.py:40 msgid "Lookup" msgstr "" -#: netbox/netbox/forms/base.py:90 +#: netbox/forms/base.py:90 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. \"tag1,tag2," "tag3\")" msgstr "" -#: netbox/netbox/forms/base.py:120 +#: netbox/forms/base.py:120 msgid "Add tags" msgstr "" -#: netbox/netbox/forms/base.py:125 +#: netbox/forms/base.py:125 msgid "Remove tags" msgstr "" -#: netbox/netbox/forms/mixins.py:38 +#: netbox/forms/mixins.py:38 #, python-brace-format msgid "{class_name} must specify a model class." msgstr "" -#: netbox/netbox/models/features.py:280 +#: netbox/models/features.py:280 #, python-brace-format msgid "Unknown field name '{name}' in custom field data." msgstr "" -#: netbox/netbox/models/features.py:286 +#: netbox/models/features.py:286 #, python-brace-format msgid "Invalid value for custom field '{name}': {error}" msgstr "" -#: netbox/netbox/models/features.py:295 +#: netbox/models/features.py:295 #, python-brace-format msgid "Custom field '{name}' must have a unique value." msgstr "" -#: netbox/netbox/models/features.py:302 +#: netbox/models/features.py:302 #, python-brace-format msgid "Missing required custom field '{name}'." msgstr "" -#: netbox/netbox/models/features.py:462 +#: netbox/models/features.py:462 msgid "Remote data source" msgstr "" -#: netbox/netbox/models/features.py:472 +#: netbox/models/features.py:472 msgid "data path" msgstr "" -#: netbox/netbox/models/features.py:476 +#: netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "" -#: netbox/netbox/models/features.py:479 +#: netbox/models/features.py:479 msgid "auto sync enabled" msgstr "" -#: netbox/netbox/models/features.py:481 +#: netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" -#: netbox/netbox/models/features.py:484 +#: netbox/models/features.py:484 msgid "date synced" msgstr "" -#: netbox/netbox/models/features.py:578 +#: netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "" -#: netbox/netbox/navigation/menu.py:11 +#: netbox/navigation/menu.py:11 msgid "Organization" msgstr "" -#: netbox/netbox/navigation/menu.py:19 +#: netbox/navigation/menu.py:19 msgid "Site Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:27 +#: netbox/navigation/menu.py:27 msgid "Tenant Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:34 +#: netbox/navigation/menu.py:34 msgid "Contact Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:35 -#: netbox/templates/tenancy/contactrole.html:8 +#: netbox/navigation/menu.py:35 templates/tenancy/contactrole.html:8 msgid "Contact Roles" msgstr "" -#: netbox/netbox/navigation/menu.py:36 +#: netbox/navigation/menu.py:36 msgid "Contact Assignments" msgstr "" -#: netbox/netbox/navigation/menu.py:50 +#: netbox/navigation/menu.py:50 msgid "Rack Roles" msgstr "" -#: netbox/netbox/navigation/menu.py:54 +#: netbox/navigation/menu.py:54 msgid "Elevations" msgstr "" -#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 +#: netbox/navigation/menu.py:60 netbox/navigation/menu.py:62 msgid "Rack Types" msgstr "" -#: netbox/netbox/navigation/menu.py:76 +#: netbox/navigation/menu.py:76 msgid "Modules" msgstr "" -#: netbox/netbox/navigation/menu.py:80 netbox/templates/dcim/device.html:160 -#: netbox/templates/dcim/virtualdevicecontext.html:8 +#: netbox/navigation/menu.py:80 templates/dcim/device.html:160 +#: templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "" -#: netbox/netbox/navigation/menu.py:88 +#: netbox/navigation/menu.py:88 msgid "Manufacturers" msgstr "" -#: netbox/netbox/navigation/menu.py:92 +#: netbox/navigation/menu.py:92 msgid "Device Components" msgstr "" -#: netbox/netbox/navigation/menu.py:104 -#: netbox/templates/dcim/inventoryitemrole.html:8 +#: netbox/navigation/menu.py:104 templates/dcim/inventoryitemrole.html:8 msgid "Inventory Item Roles" msgstr "" -#: netbox/netbox/navigation/menu.py:111 netbox/netbox/navigation/menu.py:115 +#: netbox/navigation/menu.py:111 netbox/navigation/menu.py:115 msgid "Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:117 +#: netbox/navigation/menu.py:117 msgid "Cables" msgstr "" -#: netbox/netbox/navigation/menu.py:118 +#: netbox/navigation/menu.py:118 msgid "Wireless Links" msgstr "" -#: netbox/netbox/navigation/menu.py:121 +#: netbox/navigation/menu.py:121 msgid "Interface Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:126 +#: netbox/navigation/menu.py:126 msgid "Console Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:131 +#: netbox/navigation/menu.py:131 msgid "Power Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:147 +#: netbox/navigation/menu.py:147 msgid "Wireless LAN Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:168 +#: netbox/navigation/menu.py:168 msgid "Prefix & VLAN Roles" msgstr "" -#: netbox/netbox/navigation/menu.py:174 +#: netbox/navigation/menu.py:174 msgid "ASN Ranges" msgstr "" -#: netbox/netbox/navigation/menu.py:196 +#: netbox/navigation/menu.py:196 msgid "VLAN Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:203 +#: netbox/navigation/menu.py:203 msgid "Service Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:204 netbox/templates/dcim/device.html:302 -#: netbox/templates/ipam/ipaddress.html:118 -#: netbox/templates/virtualization/virtualmachine.html:154 +#: netbox/navigation/menu.py:204 templates/dcim/device.html:302 +#: templates/ipam/ipaddress.html:118 +#: templates/virtualization/virtualmachine.html:154 msgid "Services" msgstr "" -#: netbox/netbox/navigation/menu.py:211 +#: netbox/navigation/menu.py:211 msgid "VPN" msgstr "" -#: netbox/netbox/navigation/menu.py:215 netbox/netbox/navigation/menu.py:217 -#: netbox/vpn/tables/tunnels.py:24 +#: netbox/navigation/menu.py:215 netbox/navigation/menu.py:217 +#: vpn/tables/tunnels.py:24 msgid "Tunnels" msgstr "" -#: netbox/netbox/navigation/menu.py:218 netbox/templates/vpn/tunnelgroup.html:8 +#: netbox/navigation/menu.py:218 templates/vpn/tunnelgroup.html:8 msgid "Tunnel Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:219 +#: netbox/navigation/menu.py:219 msgid "Tunnel Terminations" msgstr "" -#: netbox/netbox/navigation/menu.py:223 netbox/netbox/navigation/menu.py:225 -#: netbox/vpn/models/l2vpn.py:64 +#: netbox/navigation/menu.py:223 netbox/navigation/menu.py:225 +#: vpn/models/l2vpn.py:64 msgid "L2VPNs" msgstr "" -#: netbox/netbox/navigation/menu.py:226 netbox/templates/vpn/l2vpn.html:56 -#: netbox/templates/vpn/tunnel.html:72 netbox/vpn/tables/tunnels.py:58 +#: netbox/navigation/menu.py:226 templates/vpn/l2vpn.html:56 +#: templates/vpn/tunnel.html:72 vpn/tables/tunnels.py:58 msgid "Terminations" msgstr "" -#: netbox/netbox/navigation/menu.py:232 +#: netbox/navigation/menu.py:232 msgid "IKE Proposals" msgstr "" -#: netbox/netbox/navigation/menu.py:233 -#: netbox/templates/vpn/ikeproposal.html:41 +#: netbox/navigation/menu.py:233 templates/vpn/ikeproposal.html:41 msgid "IKE Policies" msgstr "" -#: netbox/netbox/navigation/menu.py:234 +#: netbox/navigation/menu.py:234 msgid "IPSec Proposals" msgstr "" -#: netbox/netbox/navigation/menu.py:235 -#: netbox/templates/vpn/ipsecproposal.html:37 +#: netbox/navigation/menu.py:235 templates/vpn/ipsecproposal.html:37 msgid "IPSec Policies" msgstr "" -#: netbox/netbox/navigation/menu.py:236 netbox/templates/vpn/ikepolicy.html:38 -#: netbox/templates/vpn/ipsecpolicy.html:25 +#: netbox/navigation/menu.py:236 templates/vpn/ikepolicy.html:38 +#: templates/vpn/ipsecpolicy.html:25 msgid "IPSec Profiles" msgstr "" -#: netbox/netbox/navigation/menu.py:251 -#: netbox/templates/virtualization/virtualmachine.html:174 -#: netbox/templates/virtualization/virtualmachine/base.html:32 -#: netbox/templates/virtualization/virtualmachine_list.html:21 -#: netbox/virtualization/tables/virtualmachines.py:104 -#: netbox/virtualization/views.py:388 +#: netbox/navigation/menu.py:251 +#: templates/virtualization/virtualmachine.html:174 +#: templates/virtualization/virtualmachine/base.html:32 +#: templates/virtualization/virtualmachine_list.html:21 +#: virtualization/tables/virtualmachines.py:104 virtualization/views.py:388 msgid "Virtual Disks" msgstr "" -#: netbox/netbox/navigation/menu.py:258 +#: netbox/navigation/menu.py:258 msgid "Cluster Types" msgstr "" -#: netbox/netbox/navigation/menu.py:259 +#: netbox/navigation/menu.py:259 msgid "Cluster Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:273 +#: netbox/navigation/menu.py:273 msgid "Circuit Types" msgstr "" -#: netbox/netbox/navigation/menu.py:274 +#: netbox/navigation/menu.py:274 msgid "Circuit Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:275 -#: netbox/templates/circuits/circuit.html:66 +#: netbox/navigation/menu.py:275 templates/circuits/circuit.html:66 msgid "Group Assignments" msgstr "" -#: netbox/netbox/navigation/menu.py:276 +#: netbox/navigation/menu.py:276 msgid "Circuit Terminations" msgstr "" -#: netbox/netbox/navigation/menu.py:280 netbox/netbox/navigation/menu.py:282 +#: netbox/navigation/menu.py:280 netbox/navigation/menu.py:282 msgid "Providers" msgstr "" -#: netbox/netbox/navigation/menu.py:283 -#: netbox/templates/circuits/provider.html:51 +#: netbox/navigation/menu.py:283 templates/circuits/provider.html:51 msgid "Provider Accounts" msgstr "" -#: netbox/netbox/navigation/menu.py:284 +#: netbox/navigation/menu.py:284 msgid "Provider Networks" msgstr "" -#: netbox/netbox/navigation/menu.py:298 +#: netbox/navigation/menu.py:298 msgid "Power Panels" msgstr "" -#: netbox/netbox/navigation/menu.py:309 +#: netbox/navigation/menu.py:309 msgid "Configurations" msgstr "" -#: netbox/netbox/navigation/menu.py:311 +#: netbox/navigation/menu.py:311 msgid "Config Contexts" msgstr "" -#: netbox/netbox/navigation/menu.py:312 +#: netbox/navigation/menu.py:312 msgid "Config Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:319 netbox/netbox/navigation/menu.py:323 +#: netbox/navigation/menu.py:319 netbox/navigation/menu.py:323 msgid "Customization" msgstr "" -#: netbox/netbox/navigation/menu.py:325 -#: netbox/templates/dcim/device_edit.html:103 -#: netbox/templates/dcim/htmx/cable_edit.html:81 -#: netbox/templates/dcim/virtualchassis_add.html:31 -#: netbox/templates/dcim/virtualchassis_edit.html:40 -#: netbox/templates/generic/bulk_edit.html:76 -#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 -#: netbox/templates/inc/panels/custom_fields.html:7 -#: netbox/templates/ipam/ipaddress_bulk_add.html:35 -#: netbox/templates/ipam/vlan_edit.html:59 +#: netbox/navigation/menu.py:325 templates/dcim/device_edit.html:103 +#: templates/dcim/htmx/cable_edit.html:81 +#: templates/dcim/virtualchassis_add.html:31 +#: 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:59 msgid "Custom Fields" msgstr "" -#: netbox/netbox/navigation/menu.py:326 +#: netbox/navigation/menu.py:326 msgid "Custom Field Choices" msgstr "" -#: netbox/netbox/navigation/menu.py:327 +#: netbox/navigation/menu.py:327 msgid "Custom Links" msgstr "" -#: netbox/netbox/navigation/menu.py:328 +#: netbox/navigation/menu.py:328 msgid "Export Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:329 +#: netbox/navigation/menu.py:329 msgid "Saved Filters" msgstr "" -#: netbox/netbox/navigation/menu.py:331 +#: netbox/navigation/menu.py:331 msgid "Image Attachments" msgstr "" -#: netbox/netbox/navigation/menu.py:349 +#: netbox/navigation/menu.py:349 msgid "Operations" msgstr "" -#: netbox/netbox/navigation/menu.py:353 +#: netbox/navigation/menu.py:353 msgid "Integrations" msgstr "" -#: netbox/netbox/navigation/menu.py:355 +#: netbox/navigation/menu.py:355 msgid "Data Sources" msgstr "" -#: netbox/netbox/navigation/menu.py:356 +#: netbox/navigation/menu.py:356 msgid "Event Rules" msgstr "" -#: netbox/netbox/navigation/menu.py:357 +#: netbox/navigation/menu.py:357 msgid "Webhooks" msgstr "" -#: netbox/netbox/navigation/menu.py:361 netbox/netbox/navigation/menu.py:365 -#: netbox/netbox/views/generic/feature_views.py:153 -#: netbox/templates/extras/report/base.html:37 -#: netbox/templates/extras/script/base.html:36 +#: netbox/navigation/menu.py:361 netbox/navigation/menu.py:365 +#: netbox/views/generic/feature_views.py:153 +#: templates/extras/report/base.html:37 templates/extras/script/base.html:36 msgid "Jobs" msgstr "" -#: netbox/netbox/navigation/menu.py:371 +#: netbox/navigation/menu.py:371 msgid "Logging" msgstr "" -#: netbox/netbox/navigation/menu.py:373 +#: netbox/navigation/menu.py:373 msgid "Notification Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:374 +#: netbox/navigation/menu.py:374 msgid "Journal Entries" msgstr "" -#: netbox/netbox/navigation/menu.py:375 -#: netbox/templates/core/objectchange.html:9 -#: netbox/templates/core/objectchange_list.html:4 +#: netbox/navigation/menu.py:375 templates/core/objectchange.html:9 +#: templates/core/objectchange_list.html:4 msgid "Change Log" msgstr "" -#: netbox/netbox/navigation/menu.py:382 netbox/templates/inc/user_menu.html:29 +#: netbox/navigation/menu.py:382 templates/inc/user_menu.html:29 msgid "Admin" msgstr "" -#: netbox/netbox/navigation/menu.py:430 netbox/templates/account/base.html:27 -#: netbox/templates/inc/user_menu.html:57 +#: netbox/navigation/menu.py:430 templates/account/base.html:27 +#: templates/inc/user_menu.html:57 msgid "API Tokens" msgstr "" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 -#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 -#: netbox/users/forms/model_forms.py:249 +#: netbox/navigation/menu.py:437 users/forms/model_forms.py:187 +#: users/forms/model_forms.py:195 users/forms/model_forms.py:242 +#: users/forms/model_forms.py:249 msgid "Permissions" msgstr "" -#: netbox/netbox/navigation/menu.py:445 netbox/netbox/navigation/menu.py:449 -#: netbox/templates/core/system.html:7 +#: netbox/navigation/menu.py:445 netbox/navigation/menu.py:449 +#: templates/core/system.html:7 msgid "System" msgstr "" -#: netbox/netbox/navigation/menu.py:454 netbox/netbox/navigation/menu.py:502 -#: netbox/templates/500.html:35 netbox/templates/account/preferences.html:22 -#: netbox/templates/core/plugin.html:13 -#: netbox/templates/core/plugin_list.html:7 -#: netbox/templates/core/plugin_list.html:12 +#: netbox/navigation/menu.py:454 netbox/navigation/menu.py:502 +#: templates/500.html:35 templates/account/preferences.html:22 +#: templates/core/plugin.html:13 templates/core/plugin_list.html:7 +#: templates/core/plugin_list.html:12 msgid "Plugins" msgstr "" -#: netbox/netbox/navigation/menu.py:459 +#: netbox/navigation/menu.py:459 msgid "Configuration History" msgstr "" -#: netbox/netbox/navigation/menu.py:465 netbox/templates/core/rq_task.html:8 -#: netbox/templates/core/rq_task_list.html:22 +#: netbox/navigation/menu.py:465 templates/core/rq_task.html:8 +#: templates/core/rq_task_list.html:22 msgid "Background Tasks" msgstr "" -#: netbox/netbox/plugins/navigation.py:47 -#: netbox/netbox/plugins/navigation.py:69 +#: netbox/plugins/navigation.py:47 netbox/plugins/navigation.py:69 msgid "Permissions must be passed as a tuple or list." msgstr "" -#: netbox/netbox/plugins/navigation.py:51 +#: netbox/plugins/navigation.py:51 msgid "Buttons must be passed as a tuple or list." msgstr "" -#: netbox/netbox/plugins/navigation.py:73 +#: netbox/plugins/navigation.py:73 msgid "Button color must be a choice within ButtonColorChoices." msgstr "" -#: netbox/netbox/plugins/registration.py:25 +#: netbox/plugins/registration.py:25 #, python-brace-format msgid "" "PluginTemplateExtension class {template_extension} was passed as an instance!" msgstr "" -#: netbox/netbox/plugins/registration.py:31 +#: netbox/plugins/registration.py:31 #, python-brace-format msgid "" "{template_extension} is not a subclass of netbox.plugins." "PluginTemplateExtension!" msgstr "" -#: netbox/netbox/plugins/registration.py:51 +#: netbox/plugins/registration.py:51 #, python-brace-format msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" msgstr "" -#: netbox/netbox/plugins/registration.py:62 +#: netbox/plugins/registration.py:62 #, python-brace-format msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" msgstr "" -#: netbox/netbox/plugins/registration.py:67 +#: netbox/plugins/registration.py:67 #, python-brace-format msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" msgstr "" -#: netbox/netbox/plugins/templates.py:37 +#: netbox/plugins/templates.py:37 msgid "extra_context must be a dictionary" msgstr "" -#: netbox/netbox/preferences.py:19 +#: netbox/preferences.py:19 msgid "HTMX Navigation" msgstr "" -#: netbox/netbox/preferences.py:24 +#: netbox/preferences.py:24 msgid "Enable dynamic UI navigation" msgstr "" -#: netbox/netbox/preferences.py:26 +#: netbox/preferences.py:26 msgid "Experimental feature" msgstr "" -#: netbox/netbox/preferences.py:29 +#: netbox/preferences.py:29 msgid "Language" msgstr "" -#: netbox/netbox/preferences.py:34 +#: netbox/preferences.py:34 msgid "Forces UI translation to the specified language" msgstr "" -#: netbox/netbox/preferences.py:36 +#: netbox/preferences.py:36 msgid "Support for translation has been disabled locally" msgstr "" -#: netbox/netbox/preferences.py:42 +#: netbox/preferences.py:42 msgid "Page length" msgstr "" -#: netbox/netbox/preferences.py:44 +#: netbox/preferences.py:44 msgid "The default number of objects to display per page" msgstr "" -#: netbox/netbox/preferences.py:48 +#: netbox/preferences.py:48 msgid "Paginator placement" msgstr "" -#: netbox/netbox/preferences.py:50 +#: netbox/preferences.py:50 msgid "Bottom" msgstr "" -#: netbox/netbox/preferences.py:51 +#: netbox/preferences.py:51 msgid "Top" msgstr "" -#: netbox/netbox/preferences.py:52 +#: netbox/preferences.py:52 msgid "Both" msgstr "" -#: netbox/netbox/preferences.py:55 +#: netbox/preferences.py:55 msgid "Where the paginator controls will be displayed relative to a table" msgstr "" -#: netbox/netbox/preferences.py:60 +#: netbox/preferences.py:60 msgid "Data format" msgstr "" -#: netbox/netbox/preferences.py:65 +#: netbox/preferences.py:65 msgid "The preferred syntax for displaying generic data within the UI" msgstr "" -#: netbox/netbox/registry.py:14 +#: netbox/registry.py:14 #, python-brace-format msgid "Invalid store: {key}" msgstr "" -#: netbox/netbox/registry.py:17 +#: netbox/registry.py:17 msgid "Cannot add stores to registry after initialization" msgstr "" -#: netbox/netbox/registry.py:20 +#: netbox/registry.py:20 msgid "Cannot delete stores from registry" msgstr "" -#: netbox/netbox/settings.py:760 +#: netbox/settings.py:760 msgid "Czech" msgstr "" -#: netbox/netbox/settings.py:761 +#: netbox/settings.py:761 msgid "Danish" msgstr "" -#: netbox/netbox/settings.py:762 +#: netbox/settings.py:762 msgid "German" msgstr "" -#: netbox/netbox/settings.py:763 +#: netbox/settings.py:763 msgid "English" msgstr "" -#: netbox/netbox/settings.py:764 +#: netbox/settings.py:764 msgid "Spanish" msgstr "" -#: netbox/netbox/settings.py:765 +#: netbox/settings.py:765 msgid "French" msgstr "" -#: netbox/netbox/settings.py:766 +#: netbox/settings.py:766 msgid "Italian" msgstr "" -#: netbox/netbox/settings.py:767 +#: netbox/settings.py:767 msgid "Japanese" msgstr "" -#: netbox/netbox/settings.py:768 +#: netbox/settings.py:768 msgid "Dutch" msgstr "" -#: netbox/netbox/settings.py:769 +#: netbox/settings.py:769 msgid "Polish" msgstr "" -#: netbox/netbox/settings.py:770 +#: netbox/settings.py:770 msgid "Portuguese" msgstr "" -#: netbox/netbox/settings.py:771 +#: netbox/settings.py:771 msgid "Russian" msgstr "" -#: netbox/netbox/settings.py:772 +#: netbox/settings.py:772 msgid "Turkish" msgstr "" -#: netbox/netbox/settings.py:773 +#: netbox/settings.py:773 msgid "Ukrainian" msgstr "" -#: netbox/netbox/settings.py:774 +#: netbox/settings.py:774 msgid "Chinese" msgstr "" -#: netbox/netbox/tables/columns.py:176 +#: netbox/tables/columns.py:176 msgid "Select all" msgstr "" -#: netbox/netbox/tables/columns.py:189 +#: netbox/tables/columns.py:189 msgid "Toggle all" msgstr "" -#: netbox/netbox/tables/columns.py:300 +#: netbox/tables/columns.py:300 msgid "Toggle Dropdown" msgstr "" -#: netbox/netbox/tables/columns.py:572 netbox/templates/core/job.html:53 +#: netbox/tables/columns.py:572 templates/core/job.html:53 msgid "Error" msgstr "" -#: netbox/netbox/tables/tables.py:58 +#: netbox/tables/tables.py:58 #, python-brace-format msgid "No {model_name} found" msgstr "" -#: netbox/netbox/tables/tables.py:249 -#: netbox/templates/generic/bulk_import.html:117 +#: netbox/tables/tables.py:249 templates/generic/bulk_import.html:117 msgid "Field" msgstr "" -#: netbox/netbox/tables/tables.py:252 +#: netbox/tables/tables.py:252 msgid "Value" msgstr "" -#: netbox/netbox/tests/dummy_plugin/navigation.py:29 +#: netbox/tests/dummy_plugin/navigation.py:29 msgid "Dummy Plugin" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:114 +#: netbox/views/generic/bulk_views.py:114 #, python-brace-format msgid "" "There was an error rendering the selected export template ({template}): " "{error}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:416 +#: netbox/views/generic/bulk_views.py:416 #, python-brace-format msgid "Row {i}: Object with ID {id} does not exist" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:709 -#: netbox/netbox/views/generic/bulk_views.py:907 -#: netbox/netbox/views/generic/bulk_views.py:955 +#: netbox/views/generic/bulk_views.py:709 +#: netbox/views/generic/bulk_views.py:907 +#: netbox/views/generic/bulk_views.py:955 #, python-brace-format msgid "No {object_type} were selected." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:789 +#: netbox/views/generic/bulk_views.py:789 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:885 +#: netbox/views/generic/bulk_views.py:885 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/feature_views.py:40 +#: netbox/views/generic/feature_views.py:40 msgid "Changelog" msgstr "" -#: netbox/netbox/views/generic/feature_views.py:93 +#: netbox/views/generic/feature_views.py:93 msgid "Journal" msgstr "" -#: netbox/netbox/views/generic/feature_views.py:207 +#: netbox/views/generic/feature_views.py:207 msgid "Unable to synchronize data: No data file set." msgstr "" -#: netbox/netbox/views/generic/feature_views.py:211 +#: netbox/views/generic/feature_views.py:211 #, python-brace-format msgid "Synchronized data for {object_type} {object}." msgstr "" -#: netbox/netbox/views/generic/feature_views.py:236 +#: netbox/views/generic/feature_views.py:236 #, python-brace-format msgid "Synced {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/object_views.py:108 +#: netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "" -#: netbox/netbox/views/misc.py:46 +#: netbox/views/misc.py:46 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." msgstr "" -#: netbox/templates/403.html:4 +#: templates/403.html:4 msgid "Access Denied" msgstr "" -#: netbox/templates/403.html:9 +#: templates/403.html:9 msgid "You do not have permission to access this page" msgstr "" -#: netbox/templates/404.html:4 +#: templates/404.html:4 msgid "Page Not Found" msgstr "" -#: netbox/templates/404.html:9 +#: templates/404.html:9 msgid "The requested page does not exist" msgstr "" -#: netbox/templates/500.html:7 netbox/templates/500.html:18 +#: templates/500.html:7 templates/500.html:18 msgid "Server Error" msgstr "" -#: netbox/templates/500.html:23 +#: templates/500.html:23 msgid "There was a problem with your request. Please contact an administrator" msgstr "" -#: netbox/templates/500.html:28 +#: templates/500.html:28 msgid "The complete exception is provided below" msgstr "" -#: netbox/templates/500.html:33 netbox/templates/core/system.html:40 +#: templates/500.html:33 templates/core/system.html:40 msgid "Python version" msgstr "" -#: netbox/templates/500.html:34 +#: templates/500.html:34 msgid "NetBox version" msgstr "" -#: netbox/templates/500.html:36 +#: templates/500.html:36 msgid "None installed" msgstr "" -#: netbox/templates/500.html:39 +#: templates/500.html:39 msgid "If further assistance is required, please post to the" msgstr "" -#: netbox/templates/500.html:39 +#: templates/500.html:39 msgid "NetBox discussion forum" msgstr "" -#: netbox/templates/500.html:39 +#: templates/500.html:39 msgid "on GitHub" msgstr "" -#: netbox/templates/500.html:42 netbox/templates/base/40x.html:17 +#: templates/500.html:42 templates/base/40x.html:17 msgid "Home Page" msgstr "" -#: netbox/templates/account/base.html:7 netbox/templates/inc/user_menu.html:45 -#: netbox/vpn/forms/bulk_edit.py:255 netbox/vpn/forms/filtersets.py:189 -#: netbox/vpn/forms/model_forms.py:379 +#: templates/account/base.html:7 templates/inc/user_menu.html:45 +#: vpn/forms/bulk_edit.py:255 vpn/forms/filtersets.py:189 +#: vpn/forms/model_forms.py:379 msgid "Profile" msgstr "" -#: netbox/templates/account/base.html:13 -#: netbox/templates/account/notifications.html:7 -#: netbox/templates/inc/user_menu.html:15 +#: templates/account/base.html:13 templates/account/notifications.html:7 +#: templates/inc/user_menu.html:15 msgid "Notifications" msgstr "" -#: netbox/templates/account/base.html:16 -#: netbox/templates/account/subscriptions.html:7 -#: netbox/templates/inc/user_menu.html:51 +#: templates/account/base.html:16 templates/account/subscriptions.html:7 +#: templates/inc/user_menu.html:51 msgid "Subscriptions" msgstr "" -#: netbox/templates/account/base.html:19 netbox/templates/inc/user_menu.html:54 +#: templates/account/base.html:19 templates/inc/user_menu.html:54 msgid "Preferences" msgstr "" -#: netbox/templates/account/password.html:5 +#: templates/account/password.html:5 msgid "Change Password" msgstr "" -#: netbox/templates/account/password.html:19 -#: netbox/templates/account/preferences.html:77 -#: netbox/templates/core/configrevision_restore.html:63 -#: netbox/templates/dcim/devicebay_populate.html:34 -#: netbox/templates/dcim/virtualchassis_add_member.html:26 -#: netbox/templates/dcim/virtualchassis_edit.html:103 -#: netbox/templates/extras/object_journal.html:26 -#: netbox/templates/extras/script.html:38 -#: netbox/templates/generic/bulk_add_component.html:67 -#: netbox/templates/generic/bulk_delete.html:65 -#: netbox/templates/generic/bulk_edit.html:106 -#: netbox/templates/generic/bulk_import.html:56 -#: netbox/templates/generic/bulk_import.html:78 -#: netbox/templates/generic/bulk_import.html:100 -#: netbox/templates/generic/bulk_remove.html:62 -#: netbox/templates/generic/bulk_rename.html:63 -#: netbox/templates/generic/confirmation_form.html:19 -#: netbox/templates/generic/object_edit.html:72 -#: netbox/templates/htmx/delete_form.html:53 -#: netbox/templates/htmx/delete_form.html:55 -#: netbox/templates/ipam/ipaddress_assign.html:28 -#: netbox/templates/virtualization/cluster_add_devices.html:30 +#: templates/account/password.html:19 templates/account/preferences.html:77 +#: templates/core/configrevision_restore.html:63 +#: templates/dcim/devicebay_populate.html:34 +#: templates/dcim/virtualchassis_add_member.html:26 +#: templates/dcim/virtualchassis_edit.html:103 +#: templates/extras/object_journal.html:26 templates/extras/script.html:38 +#: 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:28 +#: templates/virtualization/cluster_add_devices.html:30 msgid "Cancel" msgstr "" -#: netbox/templates/account/password.html:20 -#: netbox/templates/account/preferences.html:78 -#: netbox/templates/dcim/devicebay_populate.html:35 -#: netbox/templates/dcim/virtualchassis_add_member.html:28 -#: netbox/templates/dcim/virtualchassis_edit.html:105 -#: netbox/templates/extras/dashboard/widget_add.html:26 -#: netbox/templates/extras/dashboard/widget_config.html:19 -#: netbox/templates/extras/object_journal.html:27 -#: netbox/templates/generic/object_edit.html:75 -#: netbox/utilities/templates/helpers/applied_filters.html:16 -#: netbox/utilities/templates/helpers/table_config_form.html:40 +#: templates/account/password.html:20 templates/account/preferences.html:78 +#: templates/dcim/devicebay_populate.html:35 +#: 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:75 +#: utilities/templates/helpers/applied_filters.html:16 +#: utilities/templates/helpers/table_config_form.html:40 msgid "Save" msgstr "" -#: netbox/templates/account/preferences.html:34 +#: templates/account/preferences.html:34 msgid "Table Configurations" msgstr "" -#: netbox/templates/account/preferences.html:39 +#: templates/account/preferences.html:39 msgid "Clear table preferences" msgstr "" -#: netbox/templates/account/preferences.html:47 +#: templates/account/preferences.html:47 msgid "Toggle All" msgstr "" -#: netbox/templates/account/preferences.html:49 +#: templates/account/preferences.html:49 msgid "Table" msgstr "" -#: netbox/templates/account/preferences.html:50 +#: templates/account/preferences.html:50 msgid "Ordering" msgstr "" -#: netbox/templates/account/preferences.html:51 +#: templates/account/preferences.html:51 msgid "Columns" msgstr "" -#: netbox/templates/account/preferences.html:71 -#: netbox/templates/dcim/cable_trace.html:113 -#: netbox/templates/extras/object_configcontext.html:43 +#: templates/account/preferences.html:71 templates/dcim/cable_trace.html:113 +#: templates/extras/object_configcontext.html:43 msgid "None found" msgstr "" -#: netbox/templates/account/profile.html:6 +#: templates/account/profile.html:6 msgid "User Profile" msgstr "" -#: netbox/templates/account/profile.html:12 +#: templates/account/profile.html:12 msgid "Account Details" msgstr "" -#: netbox/templates/account/profile.html:29 -#: netbox/templates/tenancy/contact.html:43 netbox/templates/users/user.html:25 -#: netbox/tenancy/forms/bulk_edit.py:109 +#: templates/account/profile.html:29 templates/tenancy/contact.html:43 +#: templates/users/user.html:25 tenancy/forms/bulk_edit.py:109 msgid "Email" msgstr "" -#: netbox/templates/account/profile.html:33 netbox/templates/users/user.html:29 +#: templates/account/profile.html:33 templates/users/user.html:29 msgid "Account Created" msgstr "" -#: netbox/templates/account/profile.html:37 netbox/templates/users/user.html:33 +#: templates/account/profile.html:37 templates/users/user.html:33 msgid "Last Login" msgstr "" -#: netbox/templates/account/profile.html:41 netbox/templates/users/user.html:45 +#: templates/account/profile.html:41 templates/users/user.html:45 msgid "Superuser" msgstr "" -#: netbox/templates/account/profile.html:45 -#: netbox/templates/inc/user_menu.html:31 netbox/templates/users/user.html:41 +#: templates/account/profile.html:45 templates/inc/user_menu.html:31 +#: templates/users/user.html:41 msgid "Staff" msgstr "" -#: netbox/templates/account/profile.html:53 -#: netbox/templates/users/objectpermission.html:82 -#: netbox/templates/users/user.html:53 +#: templates/account/profile.html:53 templates/users/objectpermission.html:82 +#: templates/users/user.html:53 msgid "Assigned Groups" msgstr "" -#: netbox/templates/account/profile.html:58 -#: netbox/templates/circuits/circuit_terminations_swap.html:18 -#: netbox/templates/circuits/circuit_terminations_swap.html:26 -#: netbox/templates/circuits/circuittermination.html:34 -#: netbox/templates/circuits/inc/circuit_termination.html:68 -#: netbox/templates/core/objectchange.html:124 -#: netbox/templates/core/objectchange.html:142 -#: netbox/templates/dcim/devicebay.html:59 -#: netbox/templates/dcim/inc/panels/inventory_items.html:45 -#: netbox/templates/dcim/interface.html:296 -#: netbox/templates/dcim/modulebay.html:80 -#: netbox/templates/extras/configcontext.html:70 -#: netbox/templates/extras/eventrule.html:66 -#: netbox/templates/extras/htmx/script_result.html:60 -#: netbox/templates/extras/webhook.html:65 -#: netbox/templates/extras/webhook.html:75 -#: netbox/templates/inc/panel_table.html:13 -#: netbox/templates/inc/panels/comments.html:10 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:56 -#: netbox/templates/users/group.html:34 netbox/templates/users/group.html:44 -#: netbox/templates/users/objectpermission.html:77 -#: netbox/templates/users/objectpermission.html:87 -#: netbox/templates/users/user.html:58 netbox/templates/users/user.html:68 +#: templates/account/profile.html:58 +#: templates/circuits/circuit_terminations_swap.html:18 +#: templates/circuits/circuit_terminations_swap.html:26 +#: templates/circuits/circuittermination.html:34 +#: templates/circuits/inc/circuit_termination.html:68 +#: templates/core/objectchange.html:124 templates/core/objectchange.html:142 +#: templates/dcim/devicebay.html:59 +#: templates/dcim/inc/panels/inventory_items.html:45 +#: templates/dcim/interface.html:296 templates/dcim/modulebay.html:80 +#: templates/extras/configcontext.html:70 templates/extras/eventrule.html:66 +#: templates/extras/htmx/script_result.html:60 templates/extras/webhook.html:65 +#: templates/extras/webhook.html:75 templates/inc/panel_table.html:13 +#: templates/inc/panels/comments.html:10 +#: 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 "" -#: netbox/templates/account/profile.html:68 netbox/templates/users/user.html:78 +#: templates/account/profile.html:68 templates/users/user.html:78 msgid "Recent Activity" msgstr "" -#: netbox/templates/account/token.html:8 -#: netbox/templates/account/token_list.html:6 +#: templates/account/token.html:8 templates/account/token_list.html:6 msgid "My API Tokens" msgstr "" -#: netbox/templates/account/token.html:11 -#: netbox/templates/account/token.html:19 netbox/templates/users/token.html:6 -#: netbox/templates/users/token.html:14 netbox/users/forms/filtersets.py:120 +#: templates/account/token.html:11 templates/account/token.html:19 +#: templates/users/token.html:6 templates/users/token.html:14 +#: users/forms/filtersets.py:120 msgid "Token" msgstr "" -#: netbox/templates/account/token.html:39 netbox/templates/users/token.html:31 -#: netbox/users/forms/bulk_edit.py:107 +#: templates/account/token.html:39 templates/users/token.html:31 +#: users/forms/bulk_edit.py:107 msgid "Write enabled" msgstr "" -#: netbox/templates/account/token.html:51 netbox/templates/users/token.html:43 +#: templates/account/token.html:51 templates/users/token.html:43 msgid "Last used" msgstr "" -#: netbox/templates/account/token_list.html:12 +#: templates/account/token_list.html:12 msgid "Add a Token" msgstr "" -#: netbox/templates/base/base.html:22 netbox/templates/home.html:27 +#: templates/base/base.html:22 templates/home.html:27 msgid "Home" msgstr "" -#: netbox/templates/base/layout.html:25 +#: templates/base/layout.html:25 msgid "NetBox Motif" msgstr "" -#: netbox/templates/base/layout.html:38 netbox/templates/base/layout.html:39 -#: netbox/templates/login.html:14 netbox/templates/login.html:15 +#: templates/base/layout.html:38 templates/base/layout.html:39 +#: templates/login.html:14 templates/login.html:15 msgid "NetBox Logo" msgstr "" -#: netbox/templates/base/layout.html:150 netbox/templates/base/layout.html:151 +#: templates/base/layout.html:150 templates/base/layout.html:151 msgid "Docs" msgstr "" -#: netbox/templates/base/layout.html:156 netbox/templates/base/layout.html:157 -#: netbox/templates/rest_framework/api.html:10 +#: templates/base/layout.html:156 templates/base/layout.html:157 +#: templates/rest_framework/api.html:10 msgid "REST API" msgstr "" -#: netbox/templates/base/layout.html:162 netbox/templates/base/layout.html:163 +#: templates/base/layout.html:162 templates/base/layout.html:163 msgid "REST API documentation" msgstr "" -#: netbox/templates/base/layout.html:169 netbox/templates/base/layout.html:170 +#: templates/base/layout.html:169 templates/base/layout.html:170 msgid "GraphQL API" msgstr "" -#: netbox/templates/base/layout.html:185 netbox/templates/base/layout.html:186 +#: templates/base/layout.html:185 templates/base/layout.html:186 msgid "NetBox Labs Support" msgstr "" -#: netbox/templates/base/layout.html:194 netbox/templates/base/layout.html:195 +#: templates/base/layout.html:194 templates/base/layout.html:195 msgid "Source Code" msgstr "" -#: netbox/templates/base/layout.html:200 netbox/templates/base/layout.html:201 +#: templates/base/layout.html:200 templates/base/layout.html:201 msgid "Community" msgstr "" -#: netbox/templates/circuits/circuit.html:47 +#: templates/circuits/circuit.html:47 msgid "Install Date" msgstr "" -#: netbox/templates/circuits/circuit.html:51 +#: templates/circuits/circuit.html:51 msgid "Termination Date" msgstr "" -#: netbox/templates/circuits/circuit.html:70 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:15 +#: templates/circuits/circuit.html:70 +#: templates/ipam/inc/panels/fhrp_groups.html:15 msgid "Assign Group" msgstr "" -#: netbox/templates/circuits/circuit_terminations_swap.html:4 +#: templates/circuits/circuit_terminations_swap.html:4 msgid "Swap Circuit Terminations" msgstr "" -#: netbox/templates/circuits/circuit_terminations_swap.html:8 +#: templates/circuits/circuit_terminations_swap.html:8 #, python-format msgid "Swap these terminations for circuit %(circuit)s?" msgstr "" -#: netbox/templates/circuits/circuit_terminations_swap.html:14 +#: templates/circuits/circuit_terminations_swap.html:14 msgid "A side" msgstr "" -#: netbox/templates/circuits/circuit_terminations_swap.html:22 +#: templates/circuits/circuit_terminations_swap.html:22 msgid "Z side" msgstr "" -#: netbox/templates/circuits/circuitgroup.html:16 +#: templates/circuits/circuitgroup.html:16 msgid "Assign Circuit" msgstr "" -#: netbox/templates/circuits/circuitgroupassignment.html:19 +#: templates/circuits/circuitgroupassignment.html:19 msgid "Circuit Group Assignment" msgstr "" -#: netbox/templates/circuits/circuittype.html:10 +#: templates/circuits/circuittype.html:10 msgid "Add Circuit" msgstr "" -#: netbox/templates/circuits/circuittype.html:19 +#: templates/circuits/circuittype.html:19 msgid "Circuit Type" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination.html:10 -#: netbox/templates/dcim/manufacturer.html:11 -#: netbox/templates/generic/bulk_add_component.html:22 -#: netbox/templates/users/objectpermission.html:38 -#: netbox/utilities/templates/buttons/add.html:4 -#: netbox/utilities/templates/helpers/table_config_form.html:20 +#: templates/circuits/inc/circuit_termination.html:10 +#: templates/dcim/manufacturer.html:11 +#: 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 "" -#: netbox/templates/circuits/inc/circuit_termination.html:15 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:36 -#: netbox/templates/dcim/inc/panels/inventory_items.html:32 -#: netbox/templates/dcim/powerpanel.html:56 -#: netbox/templates/extras/script_list.html:30 -#: netbox/templates/generic/object_edit.html:47 -#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:43 -#: netbox/utilities/templates/buttons/edit.html:3 +#: templates/circuits/inc/circuit_termination.html:15 +#: templates/circuits/inc/circuit_termination_fields.html:36 +#: templates/dcim/inc/panels/inventory_items.html:32 +#: templates/dcim/powerpanel.html:56 templates/extras/script_list.html:30 +#: templates/generic/object_edit.html:47 +#: templates/ipam/inc/ipaddress_edit_header.html:7 +#: templates/ipam/inc/panels/fhrp_groups.html:43 +#: utilities/templates/buttons/edit.html:3 msgid "Edit" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination.html:18 +#: templates/circuits/inc/circuit_termination.html:18 msgid "Swap" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:19 -#: netbox/templates/dcim/consoleport.html:59 -#: netbox/templates/dcim/consoleserverport.html:60 -#: netbox/templates/dcim/powerfeed.html:114 +#: templates/circuits/inc/circuit_termination_fields.html:19 +#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:60 +#: templates/dcim/powerfeed.html:114 msgid "Marked as connected" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:21 +#: templates/circuits/inc/circuit_termination_fields.html:21 msgid "to" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:31 -#: netbox/templates/circuits/inc/circuit_termination_fields.html:32 -#: netbox/templates/dcim/frontport.html:80 -#: netbox/templates/dcim/inc/connection_endpoints.html:7 -#: netbox/templates/dcim/interface.html:154 -#: netbox/templates/dcim/rearport.html:76 +#: templates/circuits/inc/circuit_termination_fields.html:31 +#: templates/circuits/inc/circuit_termination_fields.html:32 +#: templates/dcim/frontport.html:80 +#: templates/dcim/inc/connection_endpoints.html:7 +#: templates/dcim/interface.html:154 templates/dcim/rearport.html:76 msgid "Trace" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:35 +#: templates/circuits/inc/circuit_termination_fields.html:35 msgid "Edit cable" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:40 +#: templates/circuits/inc/circuit_termination_fields.html:40 msgid "Remove cable" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:41 -#: netbox/templates/dcim/bulk_disconnect.html:5 -#: netbox/templates/dcim/device/consoleports.html:12 -#: netbox/templates/dcim/device/consoleserverports.html:12 -#: netbox/templates/dcim/device/frontports.html:12 -#: netbox/templates/dcim/device/interfaces.html:16 -#: netbox/templates/dcim/device/poweroutlets.html:12 -#: netbox/templates/dcim/device/powerports.html:12 -#: netbox/templates/dcim/device/rearports.html:12 -#: netbox/templates/dcim/powerpanel.html:61 +#: templates/circuits/inc/circuit_termination_fields.html:41 +#: templates/dcim/bulk_disconnect.html:5 +#: templates/dcim/device/consoleports.html:12 +#: templates/dcim/device/consoleserverports.html:12 +#: templates/dcim/device/frontports.html:12 +#: 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:61 msgid "Disconnect" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:48 -#: netbox/templates/dcim/consoleport.html:69 -#: netbox/templates/dcim/consoleserverport.html:70 -#: netbox/templates/dcim/frontport.html:102 -#: netbox/templates/dcim/interface.html:180 -#: netbox/templates/dcim/interface.html:200 -#: netbox/templates/dcim/powerfeed.html:127 -#: netbox/templates/dcim/poweroutlet.html:71 -#: netbox/templates/dcim/poweroutlet.html:72 -#: netbox/templates/dcim/powerport.html:73 -#: netbox/templates/dcim/rearport.html:98 +#: templates/circuits/inc/circuit_termination_fields.html:48 +#: 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 "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:70 +#: templates/circuits/inc/circuit_termination_fields.html:70 msgid "Downstream" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:71 +#: templates/circuits/inc/circuit_termination_fields.html:71 msgid "Upstream" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:80 +#: templates/circuits/inc/circuit_termination_fields.html:80 msgid "Cross-Connect" msgstr "" -#: netbox/templates/circuits/inc/circuit_termination_fields.html:84 +#: templates/circuits/inc/circuit_termination_fields.html:84 msgid "Patch Panel/Port" msgstr "" -#: netbox/templates/circuits/provider.html:11 +#: templates/circuits/provider.html:11 msgid "Add circuit" msgstr "" -#: netbox/templates/circuits/provideraccount.html:17 +#: templates/circuits/provideraccount.html:17 msgid "Provider Account" msgstr "" -#: netbox/templates/core/configrevision.html:35 +#: templates/core/configrevision.html:35 msgid "Configuration Data" msgstr "" -#: netbox/templates/core/configrevision.html:40 +#: templates/core/configrevision.html:40 msgid "Comment" msgstr "" -#: netbox/templates/core/configrevision_restore.html:8 -#: netbox/templates/core/configrevision_restore.html:25 -#: netbox/templates/core/configrevision_restore.html:64 +#: templates/core/configrevision_restore.html:8 +#: templates/core/configrevision_restore.html:25 +#: templates/core/configrevision_restore.html:64 msgid "Restore" msgstr "" -#: netbox/templates/core/configrevision_restore.html:36 +#: templates/core/configrevision_restore.html:36 msgid "Parameter" msgstr "" -#: netbox/templates/core/configrevision_restore.html:37 +#: templates/core/configrevision_restore.html:37 msgid "Current Value" msgstr "" -#: netbox/templates/core/configrevision_restore.html:38 +#: templates/core/configrevision_restore.html:38 msgid "New Value" msgstr "" -#: netbox/templates/core/configrevision_restore.html:50 +#: templates/core/configrevision_restore.html:50 msgid "Changed" msgstr "" -#: netbox/templates/core/datafile.html:42 netbox/templates/ipam/iprange.html:25 -#: netbox/templates/virtualization/virtualdisk.html:29 -#: netbox/virtualization/tables/virtualmachines.py:198 +#: templates/core/datafile.html:42 templates/ipam/iprange.html:25 +#: templates/virtualization/virtualdisk.html:29 +#: virtualization/tables/virtualmachines.py:198 msgid "Size" msgstr "" -#: netbox/templates/core/datafile.html:43 +#: templates/core/datafile.html:43 msgid "bytes" msgstr "" -#: netbox/templates/core/datafile.html:46 +#: templates/core/datafile.html:46 msgid "SHA256 Hash" msgstr "" -#: netbox/templates/core/datasource.html:14 -#: netbox/templates/core/datasource.html:20 -#: netbox/utilities/templates/buttons/sync.html:5 +#: templates/core/datasource.html:14 templates/core/datasource.html:20 +#: utilities/templates/buttons/sync.html:5 msgid "Sync" msgstr "" -#: netbox/templates/core/datasource.html:50 +#: templates/core/datasource.html:50 msgid "Last synced" msgstr "" -#: netbox/templates/core/datasource.html:84 +#: templates/core/datasource.html:84 msgid "Backend" msgstr "" -#: netbox/templates/core/datasource.html:99 +#: templates/core/datasource.html:99 msgid "No parameters defined" msgstr "" -#: netbox/templates/core/datasource.html:114 +#: templates/core/datasource.html:114 msgid "Files" msgstr "" -#: netbox/templates/core/inc/config_data.html:7 +#: templates/core/inc/config_data.html:7 msgid "Rack elevations" msgstr "" -#: netbox/templates/core/inc/config_data.html:10 +#: templates/core/inc/config_data.html:10 msgid "Default unit height" msgstr "" -#: netbox/templates/core/inc/config_data.html:14 +#: templates/core/inc/config_data.html:14 msgid "Default unit width" msgstr "" -#: netbox/templates/core/inc/config_data.html:20 +#: templates/core/inc/config_data.html:20 msgid "Power feeds" msgstr "" -#: netbox/templates/core/inc/config_data.html:23 +#: templates/core/inc/config_data.html:23 msgid "Default voltage" msgstr "" -#: netbox/templates/core/inc/config_data.html:27 +#: templates/core/inc/config_data.html:27 msgid "Default amperage" msgstr "" -#: netbox/templates/core/inc/config_data.html:31 +#: templates/core/inc/config_data.html:31 msgid "Default max utilization" msgstr "" -#: netbox/templates/core/inc/config_data.html:40 +#: templates/core/inc/config_data.html:40 msgid "Enforce global unique" msgstr "" -#: netbox/templates/core/inc/config_data.html:83 +#: templates/core/inc/config_data.html:83 msgid "Paginate count" msgstr "" -#: netbox/templates/core/inc/config_data.html:87 +#: templates/core/inc/config_data.html:87 msgid "Max page size" msgstr "" -#: netbox/templates/core/inc/config_data.html:114 +#: templates/core/inc/config_data.html:114 msgid "User preferences" msgstr "" -#: netbox/templates/core/inc/config_data.html:141 +#: templates/core/inc/config_data.html:141 msgid "Job retention" msgstr "" -#: netbox/templates/core/job.html:35 netbox/templates/core/rq_task.html:12 -#: netbox/templates/core/rq_task.html:49 netbox/templates/core/rq_task.html:58 +#: templates/core/job.html:35 templates/core/rq_task.html:12 +#: templates/core/rq_task.html:49 templates/core/rq_task.html:58 msgid "Job" msgstr "" -#: netbox/templates/core/job.html:58 -#: netbox/templates/extras/journalentry.html:26 +#: templates/core/job.html:58 templates/extras/journalentry.html:26 msgid "Created By" msgstr "" -#: netbox/templates/core/job.html:66 +#: templates/core/job.html:66 msgid "Scheduling" msgstr "" -#: netbox/templates/core/job.html:77 +#: templates/core/job.html:77 #, python-format msgid "every %(interval)s minutes" msgstr "" -#: netbox/templates/core/objectchange.html:29 -#: netbox/templates/users/objectpermission.html:42 +#: templates/core/objectchange.html:29 templates/users/objectpermission.html:42 msgid "Change" msgstr "" -#: netbox/templates/core/objectchange.html:79 +#: templates/core/objectchange.html:79 msgid "Difference" msgstr "" -#: netbox/templates/core/objectchange.html:82 +#: templates/core/objectchange.html:82 msgid "Previous" msgstr "" -#: netbox/templates/core/objectchange.html:85 +#: templates/core/objectchange.html:85 msgid "Next" msgstr "" -#: netbox/templates/core/objectchange.html:93 +#: templates/core/objectchange.html:93 msgid "Object Created" msgstr "" -#: netbox/templates/core/objectchange.html:95 +#: templates/core/objectchange.html:95 msgid "Object Deleted" msgstr "" -#: netbox/templates/core/objectchange.html:97 +#: templates/core/objectchange.html:97 msgid "No Changes" msgstr "" -#: netbox/templates/core/objectchange.html:111 +#: templates/core/objectchange.html:111 msgid "Pre-Change Data" msgstr "" -#: netbox/templates/core/objectchange.html:122 +#: templates/core/objectchange.html:122 msgid "Warning: Comparing non-atomic change to previous change record" msgstr "" -#: netbox/templates/core/objectchange.html:131 +#: templates/core/objectchange.html:131 msgid "Post-Change Data" msgstr "" -#: netbox/templates/core/objectchange.html:162 +#: templates/core/objectchange.html:162 #, python-format msgid "See All %(count)s Changes" msgstr "" -#: netbox/templates/core/objectchange_list.html:9 -#: netbox/templates/extras/object_changelog.html:15 +#: templates/core/objectchange_list.html:9 +#: templates/extras/object_changelog.html:15 msgid "Change log retention" msgstr "" -#: netbox/templates/core/objectchange_list.html:9 -#: netbox/templates/extras/object_changelog.html:15 +#: templates/core/objectchange_list.html:9 +#: templates/extras/object_changelog.html:15 msgid "days" msgstr "" -#: netbox/templates/core/objectchange_list.html:9 -#: netbox/templates/extras/object_changelog.html:15 +#: templates/core/objectchange_list.html:9 +#: templates/extras/object_changelog.html:15 msgid "Indefinite" msgstr "" -#: netbox/templates/core/plugin.html:22 +#: templates/core/plugin.html:22 msgid "Not installed" msgstr "" -#: netbox/templates/core/plugin.html:33 +#: templates/core/plugin.html:33 msgid "Overview" msgstr "" -#: netbox/templates/core/plugin.html:39 +#: templates/core/plugin.html:39 msgid "Install" msgstr "" -#: netbox/templates/core/plugin.html:51 +#: templates/core/plugin.html:51 msgid "Plugin Details" msgstr "" -#: netbox/templates/core/plugin.html:58 +#: templates/core/plugin.html:58 msgid "Summary" msgstr "" -#: netbox/templates/core/plugin.html:76 +#: templates/core/plugin.html:76 msgid "License" msgstr "" -#: netbox/templates/core/plugin.html:96 +#: templates/core/plugin.html:96 msgid "Version History" msgstr "" -#: netbox/templates/core/plugin.html:107 +#: templates/core/plugin.html:107 msgid "Local Installation Instructions" msgstr "" -#: netbox/templates/core/rq_queue_list.html:5 -#: netbox/templates/core/rq_queue_list.html:13 -#: netbox/templates/core/rq_task_list.html:14 -#: netbox/templates/core/rq_worker.html:7 +#: 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 "" -#: netbox/templates/core/rq_queue_list.html:24 -#: netbox/templates/core/rq_queue_list.html:25 -#: netbox/templates/core/rq_worker_list.html:49 -#: netbox/templates/core/rq_worker_list.html:50 -#: netbox/templates/extras/script_result.html:67 -#: netbox/templates/extras/script_result.html:69 -#: netbox/templates/inc/table_controls_htmx.html:30 -#: netbox/templates/inc/table_controls_htmx.html:33 +#: templates/core/rq_queue_list.html:24 templates/core/rq_queue_list.html:25 +#: templates/core/rq_worker_list.html:49 templates/core/rq_worker_list.html:50 +#: templates/extras/script_result.html:67 +#: templates/extras/script_result.html:69 +#: templates/inc/table_controls_htmx.html:30 +#: templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "" -#: netbox/templates/core/rq_task.html:29 +#: templates/core/rq_task.html:29 msgid "Stop" msgstr "" -#: netbox/templates/core/rq_task.html:34 +#: templates/core/rq_task.html:34 msgid "Requeue" msgstr "" -#: netbox/templates/core/rq_task.html:39 +#: templates/core/rq_task.html:39 msgid "Enqueue" msgstr "" -#: netbox/templates/core/rq_task.html:61 +#: templates/core/rq_task.html:61 msgid "Queue" msgstr "" -#: netbox/templates/core/rq_task.html:65 +#: templates/core/rq_task.html:65 msgid "Timeout" msgstr "" -#: netbox/templates/core/rq_task.html:69 +#: templates/core/rq_task.html:69 msgid "Result TTL" msgstr "" -#: netbox/templates/core/rq_task.html:89 +#: templates/core/rq_task.html:89 msgid "Meta" msgstr "" -#: netbox/templates/core/rq_task.html:93 +#: templates/core/rq_task.html:93 msgid "Arguments" msgstr "" -#: netbox/templates/core/rq_task.html:97 +#: templates/core/rq_task.html:97 msgid "Keyword Arguments" msgstr "" -#: netbox/templates/core/rq_task.html:103 +#: templates/core/rq_task.html:103 msgid "Depends on" msgstr "" -#: netbox/templates/core/rq_task.html:109 +#: templates/core/rq_task.html:109 msgid "Exception" msgstr "" -#: netbox/templates/core/rq_task_list.html:28 +#: templates/core/rq_task_list.html:28 msgid "tasks in " msgstr "" -#: netbox/templates/core/rq_task_list.html:33 +#: templates/core/rq_task_list.html:33 msgid "Queued Jobs" msgstr "" -#: netbox/templates/core/rq_task_list.html:64 -#: netbox/templates/extras/script_result.html:86 +#: templates/core/rq_task_list.html:64 templates/extras/script_result.html:86 #, python-format msgid "" "Select all %(count)s %(object_type_plural)s matching query" msgstr "" -#: netbox/templates/core/rq_worker.html:10 +#: templates/core/rq_worker.html:10 msgid "Worker Info" msgstr "" -#: netbox/templates/core/rq_worker.html:31 -#: netbox/templates/core/rq_worker.html:40 +#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40 msgid "Worker" msgstr "" -#: netbox/templates/core/rq_worker.html:55 +#: templates/core/rq_worker.html:55 msgid "Queues" msgstr "" -#: netbox/templates/core/rq_worker.html:63 +#: templates/core/rq_worker.html:63 msgid "Curent Job" msgstr "" -#: netbox/templates/core/rq_worker.html:67 +#: templates/core/rq_worker.html:67 msgid "Successful job count" msgstr "" -#: netbox/templates/core/rq_worker.html:71 +#: templates/core/rq_worker.html:71 msgid "Failed job count" msgstr "" -#: netbox/templates/core/rq_worker.html:75 +#: templates/core/rq_worker.html:75 msgid "Total working time" msgstr "" -#: netbox/templates/core/rq_worker.html:76 +#: templates/core/rq_worker.html:76 msgid "seconds" msgstr "" -#: netbox/templates/core/rq_worker_list.html:13 -#: netbox/templates/core/rq_worker_list.html:21 +#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21 msgid "Background Workers" msgstr "" -#: netbox/templates/core/rq_worker_list.html:29 +#: templates/core/rq_worker_list.html:29 #, python-format msgid "Workers in %(queue_name)s" msgstr "" -#: netbox/templates/core/system.html:11 -#: netbox/utilities/templates/buttons/export.html:4 +#: templates/core/system.html:11 utilities/templates/buttons/export.html:4 msgid "Export" msgstr "" -#: netbox/templates/core/system.html:28 +#: templates/core/system.html:28 msgid "System Status" msgstr "" -#: netbox/templates/core/system.html:31 +#: templates/core/system.html:31 msgid "NetBox release" msgstr "" -#: netbox/templates/core/system.html:44 +#: templates/core/system.html:44 msgid "Django version" msgstr "" -#: netbox/templates/core/system.html:48 +#: templates/core/system.html:48 msgid "PostgreSQL version" msgstr "" -#: netbox/templates/core/system.html:52 +#: templates/core/system.html:52 msgid "Database name" msgstr "" -#: netbox/templates/core/system.html:56 +#: templates/core/system.html:56 msgid "Database size" msgstr "" -#: netbox/templates/core/system.html:61 +#: templates/core/system.html:61 msgid "Unavailable" msgstr "" -#: netbox/templates/core/system.html:66 +#: templates/core/system.html:66 msgid "RQ workers" msgstr "" -#: netbox/templates/core/system.html:69 +#: templates/core/system.html:69 msgid "default queue" msgstr "" -#: netbox/templates/core/system.html:73 +#: templates/core/system.html:73 msgid "System time" msgstr "" -#: netbox/templates/core/system.html:85 +#: templates/core/system.html:85 msgid "Current Configuration" msgstr "" -#: netbox/templates/dcim/bulk_disconnect.html:9 +#: templates/dcim/bulk_disconnect.html:9 #, python-format msgid "" "Are you sure you want to disconnect these %(count)s %(obj_type_plural)s?" msgstr "" -#: netbox/templates/dcim/cable_trace.html:10 +#: templates/dcim/cable_trace.html:10 #, python-format msgid "Cable Trace for %(object_type)s %(object)s" msgstr "" -#: netbox/templates/dcim/cable_trace.html:24 -#: netbox/templates/dcim/inc/rack_elevation.html:7 +#: templates/dcim/cable_trace.html:24 templates/dcim/inc/rack_elevation.html:7 msgid "Download SVG" msgstr "" -#: netbox/templates/dcim/cable_trace.html:30 +#: templates/dcim/cable_trace.html:30 msgid "Asymmetric Path" msgstr "" -#: netbox/templates/dcim/cable_trace.html:31 +#: templates/dcim/cable_trace.html:31 msgid "The nodes below have no links and result in an asymmetric path" msgstr "" -#: netbox/templates/dcim/cable_trace.html:38 +#: templates/dcim/cable_trace.html:38 msgid "Path split" msgstr "" -#: netbox/templates/dcim/cable_trace.html:39 +#: templates/dcim/cable_trace.html:39 msgid "Select a node below to continue" msgstr "" -#: netbox/templates/dcim/cable_trace.html:55 +#: templates/dcim/cable_trace.html:55 msgid "Trace Completed" msgstr "" -#: netbox/templates/dcim/cable_trace.html:58 +#: templates/dcim/cable_trace.html:58 msgid "Total segments" msgstr "" -#: netbox/templates/dcim/cable_trace.html:62 +#: templates/dcim/cable_trace.html:62 msgid "Total length" msgstr "" -#: netbox/templates/dcim/cable_trace.html:77 +#: templates/dcim/cable_trace.html:77 msgid "No paths found" msgstr "" -#: netbox/templates/dcim/cable_trace.html:85 +#: templates/dcim/cable_trace.html:85 msgid "Related Paths" msgstr "" -#: netbox/templates/dcim/cable_trace.html:89 +#: templates/dcim/cable_trace.html:89 msgid "Origin" msgstr "" -#: netbox/templates/dcim/cable_trace.html:90 +#: templates/dcim/cable_trace.html:90 msgid "Destination" msgstr "" -#: netbox/templates/dcim/cable_trace.html:91 +#: templates/dcim/cable_trace.html:91 msgid "Segments" msgstr "" -#: netbox/templates/dcim/cable_trace.html:104 +#: templates/dcim/cable_trace.html:104 msgid "Incomplete" msgstr "" -#: netbox/templates/dcim/component_list.html:14 +#: templates/dcim/component_list.html:14 msgid "Rename Selected" msgstr "" -#: netbox/templates/dcim/consoleport.html:65 -#: netbox/templates/dcim/consoleserverport.html:66 -#: netbox/templates/dcim/frontport.html:98 -#: netbox/templates/dcim/interface.html:176 -#: netbox/templates/dcim/poweroutlet.html:69 -#: netbox/templates/dcim/powerport.html:69 +#: 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 "" -#: netbox/templates/dcim/device.html:34 +#: templates/dcim/device.html:34 msgid "Highlight device in rack" msgstr "" -#: netbox/templates/dcim/device.html:55 +#: templates/dcim/device.html:55 msgid "Not racked" msgstr "" -#: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94 +#: templates/dcim/device.html:62 templates/dcim/site.html:94 msgid "GPS Coordinates" msgstr "" -#: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:81 -#: netbox/templates/dcim/site.html:100 +#: templates/dcim/device.html:68 templates/dcim/site.html:81 +#: templates/dcim/site.html:100 msgid "Map" msgstr "" -#: netbox/templates/dcim/device.html:108 -#: netbox/templates/dcim/inventoryitem.html:56 -#: netbox/templates/dcim/module.html:81 netbox/templates/dcim/modulebay.html:74 -#: netbox/templates/dcim/rack.html:61 +#: templates/dcim/device.html:108 templates/dcim/inventoryitem.html:56 +#: templates/dcim/module.html:81 templates/dcim/modulebay.html:74 +#: templates/dcim/rack.html:61 msgid "Asset Tag" msgstr "" -#: netbox/templates/dcim/device.html:123 +#: templates/dcim/device.html:123 msgid "View Virtual Chassis" msgstr "" -#: netbox/templates/dcim/device.html:164 +#: templates/dcim/device.html:164 msgid "Create VDC" msgstr "" -#: netbox/templates/dcim/device.html:175 -#: netbox/templates/dcim/device_edit.html:64 -#: netbox/virtualization/forms/model_forms.py:223 +#: templates/dcim/device.html:175 templates/dcim/device_edit.html:64 +#: virtualization/forms/model_forms.py:223 msgid "Management" msgstr "" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 -#: netbox/templates/dcim/device.html:227 -#: netbox/templates/virtualization/virtualmachine.html:57 -#: netbox/templates/virtualization/virtualmachine.html:73 +#: templates/dcim/device.html:195 templates/dcim/device.html:211 +#: templates/dcim/device.html:227 +#: templates/virtualization/virtualmachine.html:57 +#: templates/virtualization/virtualmachine.html:73 msgid "NAT for" msgstr "" -#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 -#: netbox/templates/dcim/device.html:229 -#: netbox/templates/virtualization/virtualmachine.html:59 -#: netbox/templates/virtualization/virtualmachine.html:75 +#: templates/dcim/device.html:197 templates/dcim/device.html:213 +#: templates/dcim/device.html:229 +#: templates/virtualization/virtualmachine.html:59 +#: templates/virtualization/virtualmachine.html:75 msgid "NAT" msgstr "" -#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:73 +#: templates/dcim/device.html:252 templates/dcim/rack.html:73 msgid "Power Utilization" msgstr "" -#: netbox/templates/dcim/device.html:256 +#: templates/dcim/device.html:256 msgid "Input" msgstr "" -#: netbox/templates/dcim/device.html:257 +#: templates/dcim/device.html:257 msgid "Outlets" msgstr "" -#: netbox/templates/dcim/device.html:258 +#: templates/dcim/device.html:258 msgid "Allocated" msgstr "" -#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 -#: netbox/templates/dcim/device.html:286 -#: netbox/templates/dcim/powerfeed.html:67 +#: templates/dcim/device.html:268 templates/dcim/device.html:270 +#: templates/dcim/device.html:286 templates/dcim/powerfeed.html:67 msgid "VA" msgstr "" -#: netbox/templates/dcim/device.html:280 +#: templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "" -#: netbox/templates/dcim/device.html:306 -#: netbox/templates/virtualization/virtualmachine.html:158 +#: templates/dcim/device.html:306 +#: templates/virtualization/virtualmachine.html:158 msgid "Add a service" msgstr "" -#: netbox/templates/dcim/device/base.html:21 -#: netbox/templates/dcim/device_list.html:9 -#: netbox/templates/dcim/devicetype/base.html:18 -#: netbox/templates/dcim/inc/moduletype_buttons.html:9 -#: netbox/templates/dcim/module.html:18 -#: netbox/templates/virtualization/virtualmachine/base.html:22 -#: netbox/templates/virtualization/virtualmachine_list.html:8 +#: templates/dcim/device/base.html:21 templates/dcim/device_list.html:9 +#: templates/dcim/devicetype/base.html:18 +#: templates/dcim/inc/moduletype_buttons.html:9 templates/dcim/module.html:18 +#: templates/virtualization/virtualmachine/base.html:22 +#: templates/virtualization/virtualmachine_list.html:8 msgid "Add Components" msgstr "" -#: netbox/templates/dcim/device/consoleports.html:24 +#: templates/dcim/device/consoleports.html:24 msgid "Add Console Ports" msgstr "" -#: netbox/templates/dcim/device/consoleserverports.html:24 +#: templates/dcim/device/consoleserverports.html:24 msgid "Add Console Server Ports" msgstr "" -#: netbox/templates/dcim/device/devicebays.html:10 +#: templates/dcim/device/devicebays.html:10 msgid "Add Device Bays" msgstr "" -#: netbox/templates/dcim/device/frontports.html:24 +#: templates/dcim/device/frontports.html:24 msgid "Add Front Ports" msgstr "" -#: netbox/templates/dcim/device/inc/interface_table_controls.html:9 +#: templates/dcim/device/inc/interface_table_controls.html:9 msgid "Hide Enabled" msgstr "" -#: netbox/templates/dcim/device/inc/interface_table_controls.html:10 +#: templates/dcim/device/inc/interface_table_controls.html:10 msgid "Hide Disabled" msgstr "" -#: netbox/templates/dcim/device/inc/interface_table_controls.html:11 +#: templates/dcim/device/inc/interface_table_controls.html:11 msgid "Hide Virtual" msgstr "" -#: netbox/templates/dcim/device/inc/interface_table_controls.html:12 +#: templates/dcim/device/inc/interface_table_controls.html:12 msgid "Hide Disconnected" msgstr "" -#: netbox/templates/dcim/device/interfaces.html:27 +#: templates/dcim/device/interfaces.html:27 msgid "Add Interfaces" msgstr "" -#: netbox/templates/dcim/device/inventory.html:10 -#: netbox/templates/dcim/inc/panels/inventory_items.html:10 +#: templates/dcim/device/inventory.html:10 +#: templates/dcim/inc/panels/inventory_items.html:10 msgid "Add Inventory Item" msgstr "" -#: netbox/templates/dcim/device/modulebays.html:10 +#: templates/dcim/device/modulebays.html:10 msgid "Add Module Bays" msgstr "" -#: netbox/templates/dcim/device/poweroutlets.html:24 +#: templates/dcim/device/poweroutlets.html:24 msgid "Add Power Outlets" msgstr "" -#: netbox/templates/dcim/device/powerports.html:24 +#: templates/dcim/device/powerports.html:24 msgid "Add Power Port" msgstr "" -#: netbox/templates/dcim/device/rearports.html:24 +#: templates/dcim/device/rearports.html:24 msgid "Add Rear Ports" msgstr "" -#: netbox/templates/dcim/device/render_config.html:5 -#: netbox/templates/virtualization/virtualmachine/render_config.html:5 +#: templates/dcim/device/render_config.html:5 +#: templates/virtualization/virtualmachine/render_config.html:5 msgid "Config" msgstr "" -#: netbox/templates/dcim/device/render_config.html:35 -#: netbox/templates/virtualization/virtualmachine/render_config.html:35 +#: templates/dcim/device/render_config.html:35 +#: templates/virtualization/virtualmachine/render_config.html:35 msgid "Context Data" msgstr "" -#: netbox/templates/dcim/device/render_config.html:53 -#: netbox/templates/virtualization/virtualmachine/render_config.html:53 +#: templates/dcim/device/render_config.html:53 +#: templates/virtualization/virtualmachine/render_config.html:53 msgid "Rendered Config" msgstr "" -#: netbox/templates/dcim/device/render_config.html:55 -#: netbox/templates/virtualization/virtualmachine/render_config.html:55 +#: templates/dcim/device/render_config.html:55 +#: templates/virtualization/virtualmachine/render_config.html:55 msgid "Download" msgstr "" -#: netbox/templates/dcim/device/render_config.html:61 -#: netbox/templates/virtualization/virtualmachine/render_config.html:61 +#: templates/dcim/device/render_config.html:61 +#: templates/virtualization/virtualmachine/render_config.html:61 msgid "No configuration template found" msgstr "" -#: netbox/templates/dcim/device_edit.html:44 +#: templates/dcim/device_edit.html:44 msgid "Parent Bay" msgstr "" -#: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:22 +#: templates/dcim/device_edit.html:48 +#: utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "" -#: netbox/templates/dcim/device_edit.html:49 -#: netbox/templates/generic/bulk_remove.html:21 -#: netbox/utilities/templates/helpers/table_config_form.html:23 +#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:21 +#: utilities/templates/helpers/table_config_form.html:23 msgid "Remove" msgstr "" -#: netbox/templates/dcim/device_edit.html:110 +#: templates/dcim/device_edit.html:110 msgid "Local Config Context Data" msgstr "" -#: netbox/templates/dcim/device_list.html:82 -#: netbox/templates/generic/bulk_rename.html:57 -#: netbox/templates/virtualization/virtualmachine/interfaces.html:11 -#: netbox/templates/virtualization/virtualmachine/virtual_disks.html:11 +#: templates/dcim/device_list.html:82 templates/generic/bulk_rename.html:57 +#: templates/virtualization/virtualmachine/interfaces.html:11 +#: templates/virtualization/virtualmachine/virtual_disks.html:11 msgid "Rename" msgstr "" -#: netbox/templates/dcim/devicebay.html:17 +#: templates/dcim/devicebay.html:17 msgid "Device Bay" msgstr "" -#: netbox/templates/dcim/devicebay.html:43 +#: templates/dcim/devicebay.html:43 msgid "Installed Device" msgstr "" -#: netbox/templates/dcim/devicebay_depopulate.html:6 +#: templates/dcim/devicebay_depopulate.html:6 #, python-format msgid "Remove %(device)s from %(device_bay)s?" msgstr "" -#: netbox/templates/dcim/devicebay_depopulate.html:13 +#: templates/dcim/devicebay_depopulate.html:13 #, python-format msgid "" "Are you sure you want to remove %(device)s from " "%(device_bay)s?" msgstr "" -#: netbox/templates/dcim/devicebay_populate.html:13 +#: templates/dcim/devicebay_populate.html:13 msgid "Populate" msgstr "" -#: netbox/templates/dcim/devicebay_populate.html:22 +#: templates/dcim/devicebay_populate.html:22 msgid "Bay" msgstr "" -#: netbox/templates/dcim/devicerole.html:14 -#: netbox/templates/dcim/platform.html:17 +#: templates/dcim/devicerole.html:14 templates/dcim/platform.html:17 msgid "Add Device" msgstr "" -#: netbox/templates/dcim/devicerole.html:40 +#: templates/dcim/devicerole.html:40 msgid "VM Role" msgstr "" -#: netbox/templates/dcim/devicetype.html:18 -#: netbox/templates/dcim/moduletype.html:29 +#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:29 msgid "Model Name" msgstr "" -#: netbox/templates/dcim/devicetype.html:25 -#: netbox/templates/dcim/moduletype.html:33 +#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:33 msgid "Part Number" msgstr "" -#: netbox/templates/dcim/devicetype.html:41 +#: templates/dcim/devicetype.html:41 msgid "Exclude From Utilization" msgstr "" -#: netbox/templates/dcim/devicetype.html:59 +#: templates/dcim/devicetype.html:59 msgid "Parent/Child" msgstr "" -#: netbox/templates/dcim/devicetype.html:71 +#: templates/dcim/devicetype.html:71 msgid "Front Image" msgstr "" -#: netbox/templates/dcim/devicetype.html:83 +#: templates/dcim/devicetype.html:83 msgid "Rear Image" msgstr "" -#: netbox/templates/dcim/frontport.html:54 +#: templates/dcim/frontport.html:54 msgid "Rear Port Position" msgstr "" -#: netbox/templates/dcim/frontport.html:72 -#: netbox/templates/dcim/interface.html:144 -#: netbox/templates/dcim/poweroutlet.html:63 -#: netbox/templates/dcim/powerport.html:63 -#: netbox/templates/dcim/rearport.html:68 +#: 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 "" -#: netbox/templates/dcim/frontport.html:86 -#: netbox/templates/dcim/rearport.html:82 +#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82 msgid "Connection Status" msgstr "" -#: netbox/templates/dcim/htmx/cable_edit.html:10 +#: templates/dcim/htmx/cable_edit.html:10 msgid "A Side" msgstr "" -#: netbox/templates/dcim/htmx/cable_edit.html:30 +#: templates/dcim/htmx/cable_edit.html:30 msgid "B Side" msgstr "" -#: netbox/templates/dcim/inc/cable_termination.html:65 +#: templates/dcim/inc/cable_termination.html:65 msgid "No termination" msgstr "" -#: netbox/templates/dcim/inc/cable_toggle_buttons.html:3 +#: templates/dcim/inc/cable_toggle_buttons.html:3 msgid "Mark Planned" msgstr "" -#: netbox/templates/dcim/inc/cable_toggle_buttons.html:6 +#: templates/dcim/inc/cable_toggle_buttons.html:6 msgid "Mark Installed" msgstr "" -#: netbox/templates/dcim/inc/connection_endpoints.html:13 +#: templates/dcim/inc/connection_endpoints.html:13 msgid "Path Status" msgstr "" -#: netbox/templates/dcim/inc/connection_endpoints.html:18 +#: templates/dcim/inc/connection_endpoints.html:18 msgid "Not Reachable" msgstr "" -#: netbox/templates/dcim/inc/connection_endpoints.html:23 +#: templates/dcim/inc/connection_endpoints.html:23 msgid "Path Endpoints" msgstr "" -#: netbox/templates/dcim/inc/endpoint_connection.html:8 -#: netbox/templates/dcim/powerfeed.html:120 -#: netbox/templates/dcim/rearport.html:94 +#: templates/dcim/inc/endpoint_connection.html:8 +#: templates/dcim/powerfeed.html:120 templates/dcim/rearport.html:94 msgid "Not connected" msgstr "" -#: netbox/templates/dcim/inc/interface_vlans_table.html:6 +#: templates/dcim/inc/interface_vlans_table.html:6 msgid "Untagged" msgstr "" -#: netbox/templates/dcim/inc/interface_vlans_table.html:37 +#: templates/dcim/inc/interface_vlans_table.html:37 msgid "No VLANs Assigned" msgstr "" -#: netbox/templates/dcim/inc/interface_vlans_table.html:44 -#: netbox/templates/ipam/prefix_list.html:16 -#: netbox/templates/ipam/prefix_list.html:33 +#: templates/dcim/inc/interface_vlans_table.html:44 +#: templates/ipam/prefix_list.html:16 templates/ipam/prefix_list.html:33 msgid "Clear" msgstr "" -#: netbox/templates/dcim/inc/interface_vlans_table.html:47 +#: templates/dcim/inc/interface_vlans_table.html:47 msgid "Clear All" msgstr "" -#: netbox/templates/dcim/inc/panels/racktype_dimensions.html:38 +#: templates/dcim/inc/panels/racktype_dimensions.html:38 msgid "Mounting Depth" msgstr "" -#: netbox/templates/dcim/inc/panels/racktype_numbering.html:6 +#: templates/dcim/inc/panels/racktype_numbering.html:6 msgid "Starting Unit" msgstr "" -#: netbox/templates/dcim/inc/panels/racktype_numbering.html:10 +#: templates/dcim/inc/panels/racktype_numbering.html:10 msgid "Descending Units" msgstr "" -#: netbox/templates/dcim/inc/rack_elevation.html:3 +#: templates/dcim/inc/rack_elevation.html:3 msgid "Rack elevation" msgstr "" -#: netbox/templates/dcim/interface.html:17 +#: templates/dcim/interface.html:17 msgid "Add Child Interface" msgstr "" -#: netbox/templates/dcim/interface.html:50 +#: templates/dcim/interface.html:50 msgid "Speed/Duplex" msgstr "" -#: netbox/templates/dcim/interface.html:73 +#: templates/dcim/interface.html:73 msgid "PoE Mode" msgstr "" -#: netbox/templates/dcim/interface.html:77 +#: templates/dcim/interface.html:77 msgid "PoE Type" msgstr "" -#: netbox/templates/dcim/interface.html:81 -#: netbox/templates/virtualization/vminterface.html:63 +#: templates/dcim/interface.html:81 +#: templates/virtualization/vminterface.html:63 msgid "802.1Q Mode" msgstr "" -#: netbox/templates/dcim/interface.html:125 -#: netbox/templates/virtualization/vminterface.html:59 +#: templates/dcim/interface.html:125 +#: templates/virtualization/vminterface.html:59 msgid "MAC Address" msgstr "" -#: netbox/templates/dcim/interface.html:151 +#: templates/dcim/interface.html:151 msgid "Wireless Link" msgstr "" -#: netbox/templates/dcim/interface.html:218 netbox/vpn/choices.py:55 +#: templates/dcim/interface.html:218 vpn/choices.py:55 msgid "Peer" msgstr "" -#: netbox/templates/dcim/interface.html:230 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:26 +#: templates/dcim/interface.html:230 +#: templates/wireless/inc/wirelesslink_interface.html:26 msgid "Channel" msgstr "" -#: netbox/templates/dcim/interface.html:239 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:32 +#: templates/dcim/interface.html:239 +#: templates/wireless/inc/wirelesslink_interface.html:32 msgid "Channel Frequency" msgstr "" -#: netbox/templates/dcim/interface.html:242 -#: netbox/templates/dcim/interface.html:250 -#: netbox/templates/dcim/interface.html:261 -#: netbox/templates/dcim/interface.html:269 +#: templates/dcim/interface.html:242 templates/dcim/interface.html:250 +#: templates/dcim/interface.html:261 templates/dcim/interface.html:269 msgid "MHz" msgstr "" -#: netbox/templates/dcim/interface.html:258 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:42 +#: templates/dcim/interface.html:258 +#: templates/wireless/inc/wirelesslink_interface.html:42 msgid "Channel Width" msgstr "" -#: netbox/templates/dcim/interface.html:285 -#: netbox/templates/wireless/wirelesslan.html:14 -#: netbox/templates/wireless/wirelesslink.html:21 -#: netbox/wireless/forms/bulk_edit.py:60 netbox/wireless/forms/bulk_edit.py:102 -#: netbox/wireless/forms/filtersets.py:40 -#: netbox/wireless/forms/filtersets.py:80 netbox/wireless/models.py:82 -#: netbox/wireless/models.py:156 netbox/wireless/tables/wirelesslan.py:44 +#: 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:82 wireless/models.py:156 +#: wireless/tables/wirelesslan.py:44 msgid "SSID" msgstr "" -#: netbox/templates/dcim/interface.html:305 +#: templates/dcim/interface.html:305 msgid "LAG Members" msgstr "" -#: netbox/templates/dcim/interface.html:323 +#: templates/dcim/interface.html:323 msgid "No member interfaces" msgstr "" -#: netbox/templates/dcim/interface.html:343 -#: netbox/templates/ipam/fhrpgroup.html:73 -#: netbox/templates/ipam/iprange/ip_addresses.html:7 -#: netbox/templates/ipam/prefix/ip_addresses.html:7 -#: netbox/templates/virtualization/vminterface.html:89 +#: 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:89 msgid "Add IP Address" msgstr "" -#: netbox/templates/dcim/inventoryitem.html:24 +#: templates/dcim/inventoryitem.html:24 msgid "Parent Item" msgstr "" -#: netbox/templates/dcim/inventoryitem.html:48 +#: templates/dcim/inventoryitem.html:48 msgid "Part ID" msgstr "" -#: netbox/templates/dcim/location.html:17 +#: templates/dcim/location.html:17 msgid "Add Child Location" msgstr "" -#: netbox/templates/dcim/location.html:77 +#: templates/dcim/location.html:77 msgid "Child Locations" msgstr "" -#: netbox/templates/dcim/location.html:81 netbox/templates/dcim/site.html:131 +#: templates/dcim/location.html:81 templates/dcim/site.html:131 msgid "Add a Location" msgstr "" -#: netbox/templates/dcim/location.html:94 netbox/templates/dcim/site.html:144 +#: templates/dcim/location.html:94 templates/dcim/site.html:144 msgid "Add a Device" msgstr "" -#: netbox/templates/dcim/manufacturer.html:16 +#: templates/dcim/manufacturer.html:16 msgid "Add Device Type" msgstr "" -#: netbox/templates/dcim/manufacturer.html:21 +#: templates/dcim/manufacturer.html:21 msgid "Add Module Type" msgstr "" -#: netbox/templates/dcim/powerfeed.html:53 +#: templates/dcim/powerfeed.html:53 msgid "Connected Device" msgstr "" -#: netbox/templates/dcim/powerfeed.html:63 +#: templates/dcim/powerfeed.html:63 msgid "Utilization (Allocated" msgstr "" -#: netbox/templates/dcim/powerfeed.html:80 +#: templates/dcim/powerfeed.html:80 msgid "Electrical Characteristics" msgstr "" -#: netbox/templates/dcim/powerfeed.html:88 +#: templates/dcim/powerfeed.html:88 msgctxt "Abbreviation for volts" msgid "V" msgstr "" -#: netbox/templates/dcim/powerfeed.html:92 +#: templates/dcim/powerfeed.html:92 msgctxt "Abbreviation for amperes" msgid "A" msgstr "" -#: netbox/templates/dcim/poweroutlet.html:48 +#: templates/dcim/poweroutlet.html:48 msgid "Feed Leg" msgstr "" -#: netbox/templates/dcim/powerpanel.html:72 +#: templates/dcim/powerpanel.html:72 msgid "Add Power Feeds" msgstr "" -#: netbox/templates/dcim/powerport.html:44 +#: templates/dcim/powerport.html:44 msgid "Maximum Draw" msgstr "" -#: netbox/templates/dcim/powerport.html:48 +#: templates/dcim/powerport.html:48 msgid "Allocated Draw" msgstr "" -#: netbox/templates/dcim/rack.html:69 +#: templates/dcim/rack.html:69 msgid "Space Utilization" msgstr "" -#: netbox/templates/dcim/rack.html:84 netbox/templates/dcim/racktype.html:44 +#: templates/dcim/rack.html:84 templates/dcim/racktype.html:44 msgid "Rack Weight" msgstr "" -#: netbox/templates/dcim/rack.html:94 netbox/templates/dcim/racktype.html:54 +#: templates/dcim/rack.html:94 templates/dcim/racktype.html:54 msgid "Maximum Weight" msgstr "" -#: netbox/templates/dcim/rack.html:104 +#: templates/dcim/rack.html:104 msgid "Total Weight" msgstr "" -#: netbox/templates/dcim/rack.html:125 -#: netbox/templates/dcim/rack_elevation_list.html:15 +#: templates/dcim/rack.html:125 templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "" -#: netbox/templates/dcim/rack.html:126 -#: netbox/templates/dcim/rack_elevation_list.html:16 +#: templates/dcim/rack.html:126 templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "" -#: netbox/templates/dcim/rack.html:127 -#: netbox/templates/dcim/rack_elevation_list.html:17 +#: templates/dcim/rack.html:127 templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "" -#: netbox/templates/dcim/rack/reservations.html:8 +#: templates/dcim/rack/reservations.html:8 msgid "Add reservation" msgstr "" -#: netbox/templates/dcim/rack_elevation_list.html:12 +#: templates/dcim/rack_elevation_list.html:12 msgid "View List" msgstr "" -#: netbox/templates/dcim/rack_elevation_list.html:14 +#: templates/dcim/rack_elevation_list.html:14 msgid "Select rack view" msgstr "" -#: netbox/templates/dcim/rack_elevation_list.html:25 +#: templates/dcim/rack_elevation_list.html:25 msgid "Sort By" msgstr "" -#: netbox/templates/dcim/rack_elevation_list.html:74 +#: templates/dcim/rack_elevation_list.html:74 msgid "No Racks Found" msgstr "" -#: netbox/templates/dcim/rack_list.html:8 +#: templates/dcim/rack_list.html:8 msgid "View Elevations" msgstr "" -#: netbox/templates/dcim/rackreservation.html:42 +#: templates/dcim/rackreservation.html:42 msgid "Reservation Details" msgstr "" -#: netbox/templates/dcim/rackrole.html:10 +#: templates/dcim/rackrole.html:10 msgid "Add Rack" msgstr "" -#: netbox/templates/dcim/rearport.html:50 +#: templates/dcim/rearport.html:50 msgid "Positions" msgstr "" -#: netbox/templates/dcim/region.html:17 netbox/templates/dcim/sitegroup.html:17 +#: templates/dcim/region.html:17 templates/dcim/sitegroup.html:17 msgid "Add Site" msgstr "" -#: netbox/templates/dcim/region.html:55 +#: templates/dcim/region.html:55 msgid "Child Regions" msgstr "" -#: netbox/templates/dcim/region.html:59 +#: templates/dcim/region.html:59 msgid "Add Region" msgstr "" -#: netbox/templates/dcim/site.html:64 +#: templates/dcim/site.html:64 msgid "Time Zone" msgstr "" -#: netbox/templates/dcim/site.html:67 +#: templates/dcim/site.html:67 msgid "UTC" msgstr "" -#: netbox/templates/dcim/site.html:68 +#: templates/dcim/site.html:68 msgid "Site time" msgstr "" -#: netbox/templates/dcim/site.html:75 +#: templates/dcim/site.html:75 msgid "Physical Address" msgstr "" -#: netbox/templates/dcim/site.html:90 +#: templates/dcim/site.html:90 msgid "Shipping Address" msgstr "" -#: netbox/templates/dcim/sitegroup.html:55 -#: netbox/templates/tenancy/contactgroup.html:46 -#: netbox/templates/tenancy/tenantgroup.html:55 -#: netbox/templates/wireless/wirelesslangroup.html:55 +#: templates/dcim/sitegroup.html:55 templates/tenancy/contactgroup.html:46 +#: templates/tenancy/tenantgroup.html:55 +#: templates/wireless/wirelesslangroup.html:55 msgid "Child Groups" msgstr "" -#: netbox/templates/dcim/sitegroup.html:59 +#: templates/dcim/sitegroup.html:59 msgid "Add Site Group" msgstr "" -#: netbox/templates/dcim/trace/attachment.html:5 -#: netbox/templates/extras/exporttemplate.html:31 +#: templates/dcim/trace/attachment.html:5 +#: templates/extras/exporttemplate.html:31 msgid "Attachment" msgstr "" -#: netbox/templates/dcim/virtualchassis.html:57 +#: templates/dcim/virtualchassis.html:57 msgid "Add Member" msgstr "" -#: netbox/templates/dcim/virtualchassis_add.html:18 +#: templates/dcim/virtualchassis_add.html:18 msgid "Member Devices" msgstr "" -#: netbox/templates/dcim/virtualchassis_add_member.html:10 +#: templates/dcim/virtualchassis_add_member.html:10 #, python-format msgid "Add New Member to Virtual Chassis %(virtual_chassis)s" msgstr "" -#: netbox/templates/dcim/virtualchassis_add_member.html:19 +#: templates/dcim/virtualchassis_add_member.html:19 msgid "Add New Member" msgstr "" -#: netbox/templates/dcim/virtualchassis_add_member.html:27 -#: netbox/templates/generic/object_edit.html:78 -#: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 +#: templates/dcim/virtualchassis_add_member.html:27 +#: templates/generic/object_edit.html:78 +#: templates/users/objectpermission.html:31 users/forms/filtersets.py:67 +#: users/forms/model_forms.py:312 msgid "Actions" msgstr "" -#: netbox/templates/dcim/virtualchassis_add_member.html:29 +#: templates/dcim/virtualchassis_add_member.html:29 msgid "Save & Add Another" msgstr "" -#: netbox/templates/dcim/virtualchassis_edit.html:7 +#: templates/dcim/virtualchassis_edit.html:7 #, python-format msgid "Editing Virtual Chassis %(name)s" msgstr "" -#: netbox/templates/dcim/virtualchassis_edit.html:53 +#: templates/dcim/virtualchassis_edit.html:53 msgid "Rack/Unit" msgstr "" -#: netbox/templates/dcim/virtualchassis_remove_member.html:5 +#: templates/dcim/virtualchassis_remove_member.html:5 msgid "Remove Virtual Chassis Member" msgstr "" -#: netbox/templates/dcim/virtualchassis_remove_member.html:9 +#: templates/dcim/virtualchassis_remove_member.html:9 #, python-format msgid "" "Are you sure you want to remove %(device)s from virtual " "chassis %(name)s?" msgstr "" -#: netbox/templates/dcim/virtualdevicecontext.html:26 -#: netbox/templates/vpn/l2vpn.html:18 +#: templates/dcim/virtualdevicecontext.html:26 templates/vpn/l2vpn.html:18 msgid "Identifier" msgstr "" -#: netbox/templates/exceptions/import_error.html:6 +#: templates/exceptions/import_error.html:6 msgid "" "A module import error occurred during this request. Common causes include " "the following:" msgstr "" -#: netbox/templates/exceptions/import_error.html:10 +#: templates/exceptions/import_error.html:10 msgid "Missing required packages" msgstr "" -#: netbox/templates/exceptions/import_error.html:11 +#: templates/exceptions/import_error.html:11 msgid "" "This installation of NetBox might be missing one or more required Python " "packages. These packages are listed in requirements.txt and " @@ -12751,28 +12107,28 @@ msgid "" "of required packages." msgstr "" -#: netbox/templates/exceptions/import_error.html:20 +#: templates/exceptions/import_error.html:20 msgid "WSGI service not restarted after upgrade" msgstr "" -#: netbox/templates/exceptions/import_error.html:21 +#: templates/exceptions/import_error.html:21 msgid "" "If this installation has recently been upgraded, check that the WSGI service " "(e.g. gunicorn or uWSGI) has been restarted. This ensures that the new code " "is running." msgstr "" -#: netbox/templates/exceptions/permission_error.html:6 +#: templates/exceptions/permission_error.html:6 msgid "" "A file permission error was detected while processing this request. Common " "causes include the following:" msgstr "" -#: netbox/templates/exceptions/permission_error.html:10 +#: templates/exceptions/permission_error.html:10 msgid "Insufficient write permission to the media root" msgstr "" -#: netbox/templates/exceptions/permission_error.html:11 +#: templates/exceptions/permission_error.html:11 #, python-format msgid "" "The configured media root is %(media_root)s. Ensure that the " @@ -12780,377 +12136,372 @@ msgid "" "path." msgstr "" -#: netbox/templates/exceptions/programming_error.html:6 +#: templates/exceptions/programming_error.html:6 msgid "" "A database programming error was detected while processing this request. " "Common causes include the following:" msgstr "" -#: netbox/templates/exceptions/programming_error.html:10 +#: templates/exceptions/programming_error.html:10 msgid "Database migrations missing" msgstr "" -#: netbox/templates/exceptions/programming_error.html:11 +#: templates/exceptions/programming_error.html:11 msgid "" "When upgrading to a new NetBox release, the upgrade script must be run to " "apply any new database migrations. You can run migrations manually by " "executing python3 manage.py migrate from the command line." msgstr "" -#: netbox/templates/exceptions/programming_error.html:18 +#: templates/exceptions/programming_error.html:18 msgid "Unsupported PostgreSQL version" msgstr "" -#: netbox/templates/exceptions/programming_error.html:19 +#: templates/exceptions/programming_error.html:19 msgid "" "Ensure that PostgreSQL version 12 or later is in use. You can check this by " "connecting to the database using NetBox's credentials and issuing a query " "for SELECT VERSION()." msgstr "" -#: netbox/templates/extras/configcontext.html:45 -#: netbox/templates/extras/configtemplate.html:37 -#: netbox/templates/extras/exporttemplate.html:51 +#: 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 "" -#: netbox/templates/extras/configcontext.html:54 -#: netbox/templates/extras/configtemplate.html:46 -#: netbox/templates/extras/exporttemplate.html:60 +#: templates/extras/configcontext.html:54 +#: templates/extras/configtemplate.html:46 +#: templates/extras/exporttemplate.html:60 msgid "Data Synced" msgstr "" -#: netbox/templates/extras/configcontext_list.html:7 -#: netbox/templates/extras/configtemplate_list.html:7 -#: netbox/templates/extras/exporttemplate_list.html:7 +#: templates/extras/configcontext_list.html:7 +#: templates/extras/configtemplate_list.html:7 +#: templates/extras/exporttemplate_list.html:7 msgid "Sync Data" msgstr "" -#: netbox/templates/extras/configtemplate.html:56 +#: templates/extras/configtemplate.html:56 msgid "Environment Parameters" msgstr "" -#: netbox/templates/extras/configtemplate.html:67 -#: netbox/templates/extras/exporttemplate.html:79 +#: templates/extras/configtemplate.html:67 +#: templates/extras/exporttemplate.html:79 msgid "Template" msgstr "" -#: netbox/templates/extras/customfield.html:30 -#: netbox/templates/extras/customlink.html:21 +#: templates/extras/customfield.html:30 templates/extras/customlink.html:21 msgid "Group Name" msgstr "" -#: netbox/templates/extras/customfield.html:42 +#: templates/extras/customfield.html:42 msgid "Must be Unique" msgstr "" -#: netbox/templates/extras/customfield.html:46 +#: templates/extras/customfield.html:46 msgid "Cloneable" msgstr "" -#: netbox/templates/extras/customfield.html:56 +#: templates/extras/customfield.html:56 msgid "Default Value" msgstr "" -#: netbox/templates/extras/customfield.html:73 +#: templates/extras/customfield.html:73 msgid "Search Weight" msgstr "" -#: netbox/templates/extras/customfield.html:83 +#: templates/extras/customfield.html:83 msgid "Filter Logic" msgstr "" -#: netbox/templates/extras/customfield.html:87 +#: templates/extras/customfield.html:87 msgid "Display Weight" msgstr "" -#: netbox/templates/extras/customfield.html:91 +#: templates/extras/customfield.html:91 msgid "UI Visible" msgstr "" -#: netbox/templates/extras/customfield.html:95 +#: templates/extras/customfield.html:95 msgid "UI Editable" msgstr "" -#: netbox/templates/extras/customfield.html:115 +#: templates/extras/customfield.html:115 msgid "Validation Rules" msgstr "" -#: netbox/templates/extras/customfield.html:126 +#: templates/extras/customfield.html:126 msgid "Regular Expression" msgstr "" -#: netbox/templates/extras/customlink.html:29 +#: templates/extras/customlink.html:29 msgid "Button Class" msgstr "" -#: netbox/templates/extras/customlink.html:39 -#: netbox/templates/extras/exporttemplate.html:66 -#: netbox/templates/extras/savedfilter.html:39 +#: templates/extras/customlink.html:39 templates/extras/exporttemplate.html:66 +#: templates/extras/savedfilter.html:39 msgid "Assigned Models" msgstr "" -#: netbox/templates/extras/customlink.html:52 +#: templates/extras/customlink.html:52 msgid "Link Text" msgstr "" -#: netbox/templates/extras/customlink.html:58 +#: templates/extras/customlink.html:58 msgid "Link URL" msgstr "" -#: netbox/templates/extras/dashboard/reset.html:4 netbox/templates/home.html:66 +#: templates/extras/dashboard/reset.html:4 templates/home.html:66 msgid "Reset Dashboard" msgstr "" -#: netbox/templates/extras/dashboard/reset.html:8 +#: templates/extras/dashboard/reset.html:8 msgid "" "This will remove all configured widgets and restore the " "default dashboard configuration." msgstr "" -#: netbox/templates/extras/dashboard/reset.html:13 +#: templates/extras/dashboard/reset.html:13 msgid "" "This change affects only your dashboard, and will not impact other " "users." msgstr "" -#: netbox/templates/extras/dashboard/widget.html:21 +#: templates/extras/dashboard/widget.html:21 msgid "widget configuration" msgstr "" -#: netbox/templates/extras/dashboard/widget.html:36 +#: templates/extras/dashboard/widget.html:36 msgid "Close widget" msgstr "" -#: netbox/templates/extras/dashboard/widget_add.html:7 +#: templates/extras/dashboard/widget_add.html:7 msgid "Add a Widget" msgstr "" -#: netbox/templates/extras/dashboard/widgets/bookmarks.html:14 +#: templates/extras/dashboard/widgets/bookmarks.html:14 msgid "No bookmarks have been added yet." msgstr "" -#: netbox/templates/extras/dashboard/widgets/objectcounts.html:10 +#: templates/extras/dashboard/widgets/objectcounts.html:10 msgid "No permission" msgstr "" -#: netbox/templates/extras/dashboard/widgets/objectlist.html:6 +#: templates/extras/dashboard/widgets/objectlist.html:6 msgid "No permission to view this content" msgstr "" -#: netbox/templates/extras/dashboard/widgets/objectlist.html:10 +#: templates/extras/dashboard/widgets/objectlist.html:10 msgid "Unable to load content. Invalid view name" msgstr "" -#: netbox/templates/extras/dashboard/widgets/rssfeed.html:12 +#: templates/extras/dashboard/widgets/rssfeed.html:12 msgid "No content found" msgstr "" -#: netbox/templates/extras/dashboard/widgets/rssfeed.html:18 +#: templates/extras/dashboard/widgets/rssfeed.html:18 msgid "There was a problem fetching the RSS feed" msgstr "" -#: netbox/templates/extras/dashboard/widgets/rssfeed.html:21 +#: templates/extras/dashboard/widgets/rssfeed.html:21 msgid "HTTP" msgstr "" -#: netbox/templates/extras/eventrule.html:61 +#: templates/extras/eventrule.html:61 msgid "Conditions" msgstr "" -#: netbox/templates/extras/exporttemplate.html:23 +#: templates/extras/exporttemplate.html:23 msgid "MIME Type" msgstr "" -#: netbox/templates/extras/exporttemplate.html:27 +#: templates/extras/exporttemplate.html:27 msgid "File Extension" msgstr "" -#: netbox/templates/extras/htmx/script_result.html:10 +#: templates/extras/htmx/script_result.html:10 msgid "Scheduled for" msgstr "" -#: netbox/templates/extras/htmx/script_result.html:15 +#: templates/extras/htmx/script_result.html:15 msgid "Duration" msgstr "" -#: netbox/templates/extras/htmx/script_result.html:23 +#: templates/extras/htmx/script_result.html:23 msgid "Test Summary" msgstr "" -#: netbox/templates/extras/htmx/script_result.html:43 +#: templates/extras/htmx/script_result.html:43 msgid "Log" msgstr "" -#: netbox/templates/extras/htmx/script_result.html:56 +#: templates/extras/htmx/script_result.html:56 msgid "Output" msgstr "" -#: netbox/templates/extras/inc/result_pending.html:4 +#: templates/extras/inc/result_pending.html:4 msgid "Loading" msgstr "" -#: netbox/templates/extras/inc/result_pending.html:6 +#: templates/extras/inc/result_pending.html:6 msgid "Results pending" msgstr "" -#: netbox/templates/extras/journalentry.html:15 +#: templates/extras/journalentry.html:15 msgid "Journal Entry" msgstr "" -#: netbox/templates/extras/notificationgroup.html:11 +#: templates/extras/notificationgroup.html:11 msgid "Notification Group" msgstr "" -#: netbox/templates/extras/notificationgroup.html:36 -#: netbox/templates/extras/notificationgroup.html:46 -#: netbox/utilities/templates/widgets/clearable_file_input.html:12 +#: templates/extras/notificationgroup.html:36 +#: templates/extras/notificationgroup.html:46 +#: utilities/templates/widgets/clearable_file_input.html:12 msgid "None assigned" msgstr "" -#: netbox/templates/extras/object_configcontext.html:19 +#: templates/extras/object_configcontext.html:19 msgid "The local config context overwrites all source contexts" msgstr "" -#: netbox/templates/extras/object_configcontext.html:25 +#: templates/extras/object_configcontext.html:25 msgid "Source Contexts" msgstr "" -#: netbox/templates/extras/object_journal.html:17 +#: templates/extras/object_journal.html:17 msgid "New Journal Entry" msgstr "" -#: netbox/templates/extras/report/base.html:30 +#: templates/extras/report/base.html:30 msgid "Report" msgstr "" -#: netbox/templates/extras/script.html:14 +#: templates/extras/script.html:14 msgid "You do not have permission to run scripts" msgstr "" -#: netbox/templates/extras/script.html:41 -#: netbox/templates/extras/script.html:45 -#: netbox/templates/extras/script_list.html:87 +#: templates/extras/script.html:41 templates/extras/script.html:45 +#: templates/extras/script_list.html:87 msgid "Run Script" msgstr "" -#: netbox/templates/extras/script.html:51 -#: netbox/templates/extras/script/source.html:10 +#: templates/extras/script.html:51 templates/extras/script/source.html:10 msgid "Error loading script" msgstr "" -#: netbox/templates/extras/script/jobs.html:16 +#: templates/extras/script/jobs.html:16 msgid "Script no longer exists in the source file." msgstr "" -#: netbox/templates/extras/script_list.html:47 +#: templates/extras/script_list.html:47 msgid "Last Run" msgstr "" -#: netbox/templates/extras/script_list.html:62 +#: templates/extras/script_list.html:62 msgid "Script is no longer present in the source file" msgstr "" -#: netbox/templates/extras/script_list.html:75 +#: templates/extras/script_list.html:75 msgid "Never" msgstr "" -#: netbox/templates/extras/script_list.html:85 +#: templates/extras/script_list.html:85 msgid "Run Again" msgstr "" -#: netbox/templates/extras/script_list.html:133 +#: templates/extras/script_list.html:133 #, python-format msgid "Could not load scripts from module %(module)s" msgstr "" -#: netbox/templates/extras/script_list.html:141 +#: templates/extras/script_list.html:141 msgid "No Scripts Found" msgstr "" -#: netbox/templates/extras/script_list.html:144 +#: templates/extras/script_list.html:144 #, python-format msgid "" "Get started by creating a script from " "an uploaded file or data source." msgstr "" -#: netbox/templates/extras/script_result.html:35 -#: netbox/templates/generic/object_list.html:50 netbox/templates/search.html:13 +#: templates/extras/script_result.html:35 templates/generic/object_list.html:50 +#: templates/search.html:13 msgid "Results" msgstr "" -#: netbox/templates/extras/script_result.html:46 +#: templates/extras/script_result.html:46 msgid "Log threshold" msgstr "" -#: netbox/templates/extras/script_result.html:56 +#: templates/extras/script_result.html:56 msgid "All" msgstr "" -#: netbox/templates/extras/tag.html:32 +#: templates/extras/tag.html:32 msgid "Tagged Items" msgstr "" -#: netbox/templates/extras/tag.html:43 +#: templates/extras/tag.html:43 msgid "Allowed Object Types" msgstr "" -#: netbox/templates/extras/tag.html:51 +#: templates/extras/tag.html:51 msgid "Any" msgstr "" -#: netbox/templates/extras/tag.html:57 +#: templates/extras/tag.html:57 msgid "Tagged Item Types" msgstr "" -#: netbox/templates/extras/tag.html:81 +#: templates/extras/tag.html:81 msgid "Tagged Objects" msgstr "" -#: netbox/templates/extras/webhook.html:26 +#: templates/extras/webhook.html:26 msgid "HTTP Method" msgstr "" -#: netbox/templates/extras/webhook.html:34 +#: templates/extras/webhook.html:34 msgid "HTTP Content Type" msgstr "" -#: netbox/templates/extras/webhook.html:47 +#: templates/extras/webhook.html:47 msgid "SSL Verification" msgstr "" -#: netbox/templates/extras/webhook.html:60 +#: templates/extras/webhook.html:60 msgid "Additional Headers" msgstr "" -#: netbox/templates/extras/webhook.html:70 +#: templates/extras/webhook.html:70 msgid "Body Template" msgstr "" -#: netbox/templates/generic/bulk_add_component.html:29 +#: templates/generic/bulk_add_component.html:29 msgid "Bulk Creation" msgstr "" -#: netbox/templates/generic/bulk_add_component.html:34 -#: netbox/templates/generic/bulk_delete.html:32 -#: netbox/templates/generic/bulk_edit.html:33 +#: templates/generic/bulk_add_component.html:34 +#: templates/generic/bulk_delete.html:32 templates/generic/bulk_edit.html:33 msgid "Selected Objects" msgstr "" -#: netbox/templates/generic/bulk_add_component.html:58 +#: templates/generic/bulk_add_component.html:58 msgid "to Add" msgstr "" -#: netbox/templates/generic/bulk_delete.html:27 +#: templates/generic/bulk_delete.html:27 msgid "Bulk Delete" msgstr "" -#: netbox/templates/generic/bulk_delete.html:49 +#: templates/generic/bulk_delete.html:49 msgid "Confirm Bulk Deletion" msgstr "" -#: netbox/templates/generic/bulk_delete.html:50 +#: templates/generic/bulk_delete.html:50 #, python-format msgid "" "The following operation will delete %(count)s " @@ -13158,82 +12509,79 @@ msgid "" "this action." msgstr "" -#: netbox/templates/generic/bulk_edit.html:21 -#: netbox/templates/generic/object_edit.html:22 +#: templates/generic/bulk_edit.html:21 templates/generic/object_edit.html:22 msgid "Editing" msgstr "" -#: netbox/templates/generic/bulk_edit.html:28 +#: templates/generic/bulk_edit.html:28 msgid "Bulk Edit" msgstr "" -#: netbox/templates/generic/bulk_edit.html:107 -#: netbox/templates/generic/bulk_rename.html:66 +#: templates/generic/bulk_edit.html:107 templates/generic/bulk_rename.html:66 msgid "Apply" msgstr "" -#: netbox/templates/generic/bulk_import.html:19 +#: templates/generic/bulk_import.html:19 msgid "Bulk Import" msgstr "" -#: netbox/templates/generic/bulk_import.html:25 +#: templates/generic/bulk_import.html:25 msgid "Direct Import" msgstr "" -#: netbox/templates/generic/bulk_import.html:30 +#: templates/generic/bulk_import.html:30 msgid "Upload File" msgstr "" -#: netbox/templates/generic/bulk_import.html:58 -#: netbox/templates/generic/bulk_import.html:80 -#: netbox/templates/generic/bulk_import.html:102 +#: templates/generic/bulk_import.html:58 templates/generic/bulk_import.html:80 +#: templates/generic/bulk_import.html:102 msgid "Submit" msgstr "" -#: netbox/templates/generic/bulk_import.html:113 +#: templates/generic/bulk_import.html:113 msgid "Field Options" msgstr "" -#: netbox/templates/generic/bulk_import.html:119 +#: templates/generic/bulk_import.html:119 msgid "Accessor" msgstr "" -#: netbox/templates/generic/bulk_import.html:148 +#: templates/generic/bulk_import.html:148 msgid "choices" msgstr "" -#: netbox/templates/generic/bulk_import.html:161 +#: templates/generic/bulk_import.html:161 msgid "Import Value" msgstr "" -#: netbox/templates/generic/bulk_import.html:181 +#: templates/generic/bulk_import.html:181 msgid "Format: YYYY-MM-DD" msgstr "" -#: netbox/templates/generic/bulk_import.html:183 +#: templates/generic/bulk_import.html:183 msgid "Specify true or false" msgstr "" -#: netbox/templates/generic/bulk_import.html:195 +#: templates/generic/bulk_import.html:195 msgid "Required fields must be specified for all objects." msgstr "" -#: netbox/templates/generic/bulk_import.html:201 +#: templates/generic/bulk_import.html:201 #, python-format msgid "" "Related objects may be referenced by any unique attribute. For example, " "%(example)s would identify a VRF by its route distinguisher." msgstr "" -#: netbox/templates/generic/bulk_remove.html:28 +#: templates/generic/bulk_remove.html:28 msgid "Bulk Remove" msgstr "" -#: netbox/templates/generic/bulk_remove.html:42 +#: templates/generic/bulk_remove.html:42 msgid "Confirm Bulk Removal" msgstr "" -#: netbox/templates/generic/bulk_remove.html:43 +#: templates/generic/bulk_remove.html:43 #, python-format msgid "" "The following operation will remove %(count)s %(obj_type_plural)s from " @@ -13241,442 +12589,440 @@ msgid "" "removed and confirm below." msgstr "" -#: netbox/templates/generic/bulk_remove.html:64 +#: templates/generic/bulk_remove.html:64 #, python-format msgid "Remove these %(count)s %(obj_type_plural)s" msgstr "" -#: netbox/templates/generic/bulk_rename.html:20 +#: templates/generic/bulk_rename.html:20 msgid "Renaming" msgstr "" -#: netbox/templates/generic/bulk_rename.html:27 +#: templates/generic/bulk_rename.html:27 msgid "Bulk Rename" msgstr "" -#: netbox/templates/generic/bulk_rename.html:39 +#: templates/generic/bulk_rename.html:39 msgid "Current Name" msgstr "" -#: netbox/templates/generic/bulk_rename.html:40 +#: templates/generic/bulk_rename.html:40 msgid "New Name" msgstr "" -#: netbox/templates/generic/bulk_rename.html:64 -#: netbox/utilities/templates/widgets/markdown_input.html:11 +#: templates/generic/bulk_rename.html:64 +#: utilities/templates/widgets/markdown_input.html:11 msgid "Preview" msgstr "" -#: netbox/templates/generic/confirmation_form.html:16 +#: templates/generic/confirmation_form.html:16 msgid "Are you sure" msgstr "" -#: netbox/templates/generic/confirmation_form.html:20 +#: templates/generic/confirmation_form.html:20 msgid "Confirm" msgstr "" -#: netbox/templates/generic/object_children.html:47 -#: netbox/utilities/templates/buttons/bulk_edit.html:4 +#: templates/generic/object_children.html:47 +#: utilities/templates/buttons/bulk_edit.html:4 msgid "Edit Selected" msgstr "" -#: netbox/templates/generic/object_children.html:61 -#: netbox/utilities/templates/buttons/bulk_delete.html:4 +#: templates/generic/object_children.html:61 +#: utilities/templates/buttons/bulk_delete.html:4 msgid "Delete Selected" msgstr "" -#: netbox/templates/generic/object_edit.html:24 +#: templates/generic/object_edit.html:24 #, python-format msgid "Add a new %(object_type)s" msgstr "" -#: netbox/templates/generic/object_edit.html:35 +#: templates/generic/object_edit.html:35 msgid "View model documentation" msgstr "" -#: netbox/templates/generic/object_edit.html:36 +#: templates/generic/object_edit.html:36 msgid "Help" msgstr "" -#: netbox/templates/generic/object_edit.html:83 +#: templates/generic/object_edit.html:83 msgid "Create & Add Another" msgstr "" -#: netbox/templates/generic/object_list.html:57 +#: templates/generic/object_list.html:57 msgid "Filters" msgstr "" -#: netbox/templates/generic/object_list.html:88 +#: templates/generic/object_list.html:88 #, python-format msgid "" "Select all %(count)s " "%(object_type_plural)s matching query" msgstr "" -#: netbox/templates/home.html:15 +#: templates/home.html:15 msgid "New Release Available" msgstr "" -#: netbox/templates/home.html:16 +#: templates/home.html:16 msgid "is available" msgstr "" -#: netbox/templates/home.html:18 +#: templates/home.html:18 msgctxt "Document title" msgid "Upgrade Instructions" msgstr "" -#: netbox/templates/home.html:40 +#: templates/home.html:40 msgid "Unlock Dashboard" msgstr "" -#: netbox/templates/home.html:49 +#: templates/home.html:49 msgid "Lock Dashboard" msgstr "" -#: netbox/templates/home.html:60 +#: templates/home.html:60 msgid "Add Widget" msgstr "" -#: netbox/templates/home.html:63 +#: templates/home.html:63 msgid "Save Layout" msgstr "" -#: netbox/templates/htmx/delete_form.html:7 +#: templates/htmx/delete_form.html:7 msgid "Confirm Deletion" msgstr "" -#: netbox/templates/htmx/delete_form.html:11 +#: templates/htmx/delete_form.html:11 #, python-format msgid "" "Are you sure you want to delete " "%(object_type)s %(object)s?" msgstr "" -#: netbox/templates/htmx/delete_form.html:17 +#: templates/htmx/delete_form.html:17 msgid "The following objects will be deleted as a result of this action." msgstr "" -#: netbox/templates/htmx/notifications.html:15 +#: templates/htmx/notifications.html:15 msgid "ago" msgstr "" -#: netbox/templates/htmx/notifications.html:26 +#: templates/htmx/notifications.html:26 msgid "No unread notifications" msgstr "" -#: netbox/templates/htmx/notifications.html:31 +#: templates/htmx/notifications.html:31 msgid "All notifications" msgstr "" -#: netbox/templates/htmx/object_selector.html:5 +#: templates/htmx/object_selector.html:5 msgid "Select" msgstr "" -#: netbox/templates/inc/filter_list.html:43 -#: netbox/utilities/templates/helpers/table_config_form.html:39 +#: templates/inc/filter_list.html:43 +#: utilities/templates/helpers/table_config_form.html:39 msgid "Reset" msgstr "" -#: netbox/templates/inc/light_toggle.html:4 +#: templates/inc/light_toggle.html:4 msgid "Enable dark mode" msgstr "" -#: netbox/templates/inc/light_toggle.html:7 +#: templates/inc/light_toggle.html:7 msgid "Enable light mode" msgstr "" -#: netbox/templates/inc/missing_prerequisites.html:8 +#: templates/inc/missing_prerequisites.html:8 #, python-format msgid "" "Before you can add a %(model)s you must first create a " "%(prerequisite_model)s." msgstr "" -#: netbox/templates/inc/paginator.html:15 +#: templates/inc/paginator.html:15 msgid "Page selection" msgstr "" -#: netbox/templates/inc/paginator.html:75 +#: templates/inc/paginator.html:75 #, python-format msgid "Showing %(start)s-%(end)s of %(total)s" msgstr "" -#: netbox/templates/inc/paginator.html:82 +#: templates/inc/paginator.html:82 msgid "Pagination options" msgstr "" -#: netbox/templates/inc/paginator.html:86 +#: templates/inc/paginator.html:86 msgid "Per Page" msgstr "" -#: netbox/templates/inc/panels/image_attachments.html:10 +#: templates/inc/panels/image_attachments.html:10 msgid "Attach an image" msgstr "" -#: netbox/templates/inc/panels/related_objects.html:5 +#: templates/inc/panels/related_objects.html:5 msgid "Related Objects" msgstr "" -#: netbox/templates/inc/panels/tags.html:11 +#: templates/inc/panels/tags.html:11 msgid "No tags assigned" msgstr "" -#: netbox/templates/inc/sync_warning.html:10 +#: templates/inc/sync_warning.html:10 msgid "Data is out of sync with upstream file" msgstr "" -#: netbox/templates/inc/table_controls_htmx.html:7 +#: templates/inc/table_controls_htmx.html:7 msgid "Quick search" msgstr "" -#: netbox/templates/inc/table_controls_htmx.html:20 +#: templates/inc/table_controls_htmx.html:20 msgid "Saved filter" msgstr "" -#: netbox/templates/inc/table_htmx.html:18 +#: templates/inc/table_htmx.html:18 msgid "Clear ordering" msgstr "" -#: netbox/templates/inc/user_menu.html:6 +#: templates/inc/user_menu.html:6 msgid "Help center" msgstr "" -#: netbox/templates/inc/user_menu.html:41 +#: templates/inc/user_menu.html:41 msgid "Django Admin" msgstr "" -#: netbox/templates/inc/user_menu.html:61 +#: templates/inc/user_menu.html:61 msgid "Log Out" msgstr "" -#: netbox/templates/inc/user_menu.html:68 netbox/templates/login.html:38 +#: templates/inc/user_menu.html:68 templates/login.html:38 msgid "Log In" msgstr "" -#: netbox/templates/ipam/aggregate.html:14 -#: netbox/templates/ipam/ipaddress.html:14 -#: netbox/templates/ipam/iprange.html:13 netbox/templates/ipam/prefix.html:15 +#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14 +#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15 msgid "Family" msgstr "" -#: netbox/templates/ipam/aggregate.html:39 +#: templates/ipam/aggregate.html:39 msgid "Date Added" msgstr "" -#: netbox/templates/ipam/aggregate/prefixes.html:8 -#: netbox/templates/ipam/prefix/prefixes.html:8 -#: netbox/templates/ipam/role.html:10 +#: templates/ipam/aggregate/prefixes.html:8 +#: templates/ipam/prefix/prefixes.html:8 templates/ipam/role.html:10 msgid "Add Prefix" msgstr "" -#: netbox/templates/ipam/asn.html:23 +#: templates/ipam/asn.html:23 msgid "AS Number" msgstr "" -#: netbox/templates/ipam/fhrpgroup.html:52 +#: templates/ipam/fhrpgroup.html:52 msgid "Authentication Type" msgstr "" -#: netbox/templates/ipam/fhrpgroup.html:56 +#: templates/ipam/fhrpgroup.html:56 msgid "Authentication Key" msgstr "" -#: netbox/templates/ipam/fhrpgroup.html:69 +#: templates/ipam/fhrpgroup.html:69 msgid "Virtual IP Addresses" msgstr "" -#: netbox/templates/ipam/inc/ipaddress_edit_header.html:13 +#: templates/ipam/inc/ipaddress_edit_header.html:13 msgid "Assign IP" msgstr "" -#: netbox/templates/ipam/inc/ipaddress_edit_header.html:19 +#: templates/ipam/inc/ipaddress_edit_header.html:19 msgid "Bulk Create" msgstr "" -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:10 +#: templates/ipam/inc/panels/fhrp_groups.html:10 msgid "Create Group" msgstr "" -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:25 +#: templates/ipam/inc/panels/fhrp_groups.html:25 msgid "Virtual IPs" msgstr "" -#: netbox/templates/ipam/inc/toggle_available.html:7 +#: templates/ipam/inc/toggle_available.html:7 msgid "Show Assigned" msgstr "" -#: netbox/templates/ipam/inc/toggle_available.html:10 +#: templates/ipam/inc/toggle_available.html:10 msgid "Show Available" msgstr "" -#: netbox/templates/ipam/inc/toggle_available.html:13 +#: templates/ipam/inc/toggle_available.html:13 msgid "Show All" msgstr "" -#: netbox/templates/ipam/ipaddress.html:23 -#: netbox/templates/ipam/iprange.html:45 netbox/templates/ipam/prefix.html:24 +#: templates/ipam/ipaddress.html:23 templates/ipam/iprange.html:45 +#: templates/ipam/prefix.html:24 msgid "Global" msgstr "" -#: netbox/templates/ipam/ipaddress.html:85 +#: templates/ipam/ipaddress.html:85 msgid "NAT (outside)" msgstr "" -#: netbox/templates/ipam/ipaddress_assign.html:8 +#: templates/ipam/ipaddress_assign.html:8 msgid "Assign an IP Address" msgstr "" -#: netbox/templates/ipam/ipaddress_assign.html:22 +#: templates/ipam/ipaddress_assign.html:22 msgid "Select IP Address" msgstr "" -#: netbox/templates/ipam/ipaddress_assign.html:35 +#: templates/ipam/ipaddress_assign.html:35 msgid "Search Results" msgstr "" -#: netbox/templates/ipam/ipaddress_bulk_add.html:6 +#: templates/ipam/ipaddress_bulk_add.html:6 msgid "Bulk Add IP Addresses" msgstr "" -#: netbox/templates/ipam/iprange.html:17 +#: templates/ipam/iprange.html:17 msgid "Starting Address" msgstr "" -#: netbox/templates/ipam/iprange.html:21 +#: templates/ipam/iprange.html:21 msgid "Ending Address" msgstr "" -#: netbox/templates/ipam/iprange.html:33 netbox/templates/ipam/prefix.html:110 +#: templates/ipam/iprange.html:33 templates/ipam/prefix.html:110 msgid "Marked fully utilized" msgstr "" -#: netbox/templates/ipam/prefix.html:99 +#: templates/ipam/prefix.html:99 msgid "Addressing Details" msgstr "" -#: netbox/templates/ipam/prefix.html:118 +#: templates/ipam/prefix.html:118 msgid "Child IPs" msgstr "" -#: netbox/templates/ipam/prefix.html:126 +#: templates/ipam/prefix.html:126 msgid "Available IPs" msgstr "" -#: netbox/templates/ipam/prefix.html:138 +#: templates/ipam/prefix.html:138 msgid "First available IP" msgstr "" -#: netbox/templates/ipam/prefix.html:179 +#: templates/ipam/prefix.html:179 msgid "Prefix Details" msgstr "" -#: netbox/templates/ipam/prefix.html:185 +#: templates/ipam/prefix.html:185 msgid "Network Address" msgstr "" -#: netbox/templates/ipam/prefix.html:189 +#: templates/ipam/prefix.html:189 msgid "Network Mask" msgstr "" -#: netbox/templates/ipam/prefix.html:193 +#: templates/ipam/prefix.html:193 msgid "Wildcard Mask" msgstr "" -#: netbox/templates/ipam/prefix.html:197 +#: templates/ipam/prefix.html:197 msgid "Broadcast Address" msgstr "" -#: netbox/templates/ipam/prefix/ip_ranges.html:7 +#: templates/ipam/prefix/ip_ranges.html:7 msgid "Add IP Range" msgstr "" -#: netbox/templates/ipam/prefix_list.html:7 +#: templates/ipam/prefix_list.html:7 msgid "Hide Depth Indicators" msgstr "" -#: netbox/templates/ipam/prefix_list.html:11 +#: templates/ipam/prefix_list.html:11 msgid "Max Depth" msgstr "" -#: netbox/templates/ipam/prefix_list.html:28 +#: templates/ipam/prefix_list.html:28 msgid "Max Length" msgstr "" -#: netbox/templates/ipam/rir.html:10 +#: templates/ipam/rir.html:10 msgid "Add Aggregate" msgstr "" -#: netbox/templates/ipam/routetarget.html:38 +#: templates/ipam/routetarget.html:38 msgid "Importing VRFs" msgstr "" -#: netbox/templates/ipam/routetarget.html:44 +#: templates/ipam/routetarget.html:44 msgid "Exporting VRFs" msgstr "" -#: netbox/templates/ipam/routetarget.html:52 +#: templates/ipam/routetarget.html:52 msgid "Importing L2VPNs" msgstr "" -#: netbox/templates/ipam/routetarget.html:58 +#: templates/ipam/routetarget.html:58 msgid "Exporting L2VPNs" msgstr "" -#: netbox/templates/ipam/vlan.html:88 +#: templates/ipam/vlan.html:88 msgid "Add a Prefix" msgstr "" -#: netbox/templates/ipam/vlangroup.html:18 +#: templates/ipam/vlangroup.html:18 msgid "Add VLAN" msgstr "" -#: netbox/templates/ipam/vrf.html:16 +#: templates/ipam/vrf.html:16 msgid "Route Distinguisher" msgstr "" -#: netbox/templates/ipam/vrf.html:29 +#: templates/ipam/vrf.html:29 msgid "Unique IP Space" msgstr "" -#: netbox/templates/login.html:29 -#: netbox/utilities/templates/form_helpers/render_errors.html:7 +#: templates/login.html:29 +#: utilities/templates/form_helpers/render_errors.html:7 msgid "Errors" msgstr "" -#: netbox/templates/login.html:69 +#: templates/login.html:69 msgid "Sign In" msgstr "" -#: netbox/templates/login.html:77 +#: templates/login.html:77 msgctxt "Denotes an alternative option" msgid "Or" msgstr "" -#: netbox/templates/media_failure.html:7 +#: templates/media_failure.html:7 msgid "Static Media Failure - NetBox" msgstr "" -#: netbox/templates/media_failure.html:21 +#: templates/media_failure.html:21 msgid "Static Media Failure" msgstr "" -#: netbox/templates/media_failure.html:23 +#: templates/media_failure.html:23 msgid "The following static media file failed to load" msgstr "" -#: netbox/templates/media_failure.html:26 +#: templates/media_failure.html:26 msgid "Check the following" msgstr "" -#: netbox/templates/media_failure.html:29 +#: templates/media_failure.html:29 msgid "" "manage.py collectstatic was run during the most recent upgrade. " "This installs the most recent iteration of each static file into the static " "root path." msgstr "" -#: netbox/templates/media_failure.html:35 +#: templates/media_failure.html:35 #, python-format msgid "" "The HTTP service (e.g. nginx or Apache) is configured to serve files from " @@ -13684,1914 +13030,1879 @@ msgid "" "installation documentation for further guidance." msgstr "" -#: netbox/templates/media_failure.html:47 +#: templates/media_failure.html:47 #, python-format msgid "" "The file %(filename)s exists in the static root directory and " "is readable by the HTTP server." msgstr "" -#: netbox/templates/media_failure.html:55 +#: templates/media_failure.html:55 #, python-format msgid "" "Click here to attempt loading NetBox again." msgstr "" -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 -#: netbox/tenancy/forms/bulk_edit.py:137 netbox/tenancy/forms/filtersets.py:102 -#: netbox/tenancy/forms/forms.py:56 netbox/tenancy/forms/model_forms.py:106 -#: netbox/tenancy/forms/model_forms.py:130 netbox/tenancy/tables/contacts.py:98 +#: templates/tenancy/contact.html:18 tenancy/filtersets.py:147 +#: 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 "" -#: netbox/templates/tenancy/contact.html:29 -#: netbox/tenancy/forms/bulk_edit.py:99 +#: templates/tenancy/contact.html:29 tenancy/forms/bulk_edit.py:99 msgid "Title" msgstr "" -#: netbox/templates/tenancy/contact.html:33 -#: netbox/tenancy/forms/bulk_edit.py:104 netbox/tenancy/tables/contacts.py:64 +#: templates/tenancy/contact.html:33 tenancy/forms/bulk_edit.py:104 +#: tenancy/tables/contacts.py:64 msgid "Phone" msgstr "" -#: netbox/templates/tenancy/contactgroup.html:18 -#: netbox/tenancy/forms/forms.py:66 netbox/tenancy/forms/model_forms.py:75 +#: templates/tenancy/contactgroup.html:18 tenancy/forms/forms.py:66 +#: tenancy/forms/model_forms.py:75 msgid "Contact Group" msgstr "" -#: netbox/templates/tenancy/contactgroup.html:50 +#: templates/tenancy/contactgroup.html:50 msgid "Add Contact Group" msgstr "" -#: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 -#: netbox/tenancy/forms/model_forms.py:87 +#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:152 +#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "" -#: netbox/templates/tenancy/object_contacts.html:9 +#: templates/tenancy/object_contacts.html:9 msgid "Add a contact" msgstr "" -#: netbox/templates/tenancy/tenantgroup.html:17 +#: templates/tenancy/tenantgroup.html:17 msgid "Add Tenant" msgstr "" -#: netbox/templates/tenancy/tenantgroup.html:26 -#: netbox/tenancy/forms/model_forms.py:32 netbox/tenancy/tables/columns.py:51 -#: netbox/tenancy/tables/columns.py:61 +#: 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 "" -#: netbox/templates/tenancy/tenantgroup.html:59 +#: templates/tenancy/tenantgroup.html:59 msgid "Add Tenant Group" msgstr "" -#: netbox/templates/users/group.html:39 netbox/templates/users/user.html:63 +#: templates/users/group.html:39 templates/users/user.html:63 msgid "Assigned Permissions" msgstr "" -#: netbox/templates/users/objectpermission.html:6 -#: netbox/templates/users/objectpermission.html:14 -#: netbox/users/forms/filtersets.py:66 +#: templates/users/objectpermission.html:6 +#: templates/users/objectpermission.html:14 users/forms/filtersets.py:66 msgid "Permission" msgstr "" -#: netbox/templates/users/objectpermission.html:34 +#: templates/users/objectpermission.html:34 msgid "View" msgstr "" -#: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:315 +#: templates/users/objectpermission.html:52 users/forms/model_forms.py:315 msgid "Constraints" msgstr "" -#: netbox/templates/users/objectpermission.html:72 +#: templates/users/objectpermission.html:72 msgid "Assigned Users" msgstr "" -#: netbox/templates/virtualization/cluster.html:52 +#: templates/virtualization/cluster.html:52 msgid "Allocated Resources" msgstr "" -#: netbox/templates/virtualization/cluster.html:55 -#: netbox/templates/virtualization/virtualmachine.html:125 +#: templates/virtualization/cluster.html:55 +#: templates/virtualization/virtualmachine.html:125 msgid "Virtual CPUs" msgstr "" -#: netbox/templates/virtualization/cluster.html:59 -#: netbox/templates/virtualization/virtualmachine.html:129 +#: templates/virtualization/cluster.html:59 +#: templates/virtualization/virtualmachine.html:129 msgid "Memory" msgstr "" -#: netbox/templates/virtualization/cluster.html:69 -#: netbox/templates/virtualization/virtualmachine.html:140 +#: templates/virtualization/cluster.html:69 +#: templates/virtualization/virtualmachine.html:140 msgid "Disk Space" msgstr "" -#: netbox/templates/virtualization/cluster/base.html:18 +#: templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "" -#: netbox/templates/virtualization/cluster/base.html:24 +#: templates/virtualization/cluster/base.html:24 msgid "Assign Device" msgstr "" -#: netbox/templates/virtualization/cluster/devices.html:10 +#: templates/virtualization/cluster/devices.html:10 msgid "Remove Selected" msgstr "" -#: netbox/templates/virtualization/cluster_add_devices.html:9 +#: templates/virtualization/cluster_add_devices.html:9 #, python-format msgid "Add Device to Cluster %(cluster)s" msgstr "" -#: netbox/templates/virtualization/cluster_add_devices.html:23 +#: templates/virtualization/cluster_add_devices.html:23 msgid "Device Selection" msgstr "" -#: netbox/templates/virtualization/cluster_add_devices.html:31 +#: templates/virtualization/cluster_add_devices.html:31 msgid "Add Devices" msgstr "" -#: netbox/templates/virtualization/clustergroup.html:10 -#: netbox/templates/virtualization/clustertype.html:10 +#: templates/virtualization/clustergroup.html:10 +#: templates/virtualization/clustertype.html:10 msgid "Add Cluster" msgstr "" -#: netbox/templates/virtualization/clustergroup.html:19 -#: netbox/virtualization/forms/model_forms.py:50 +#: templates/virtualization/clustergroup.html:19 +#: virtualization/forms/model_forms.py:50 msgid "Cluster Group" msgstr "" -#: netbox/templates/virtualization/clustertype.html:19 -#: netbox/templates/virtualization/virtualmachine.html:110 -#: netbox/virtualization/forms/model_forms.py:36 +#: templates/virtualization/clustertype.html:19 +#: templates/virtualization/virtualmachine.html:110 +#: virtualization/forms/model_forms.py:36 msgid "Cluster Type" msgstr "" -#: netbox/templates/virtualization/virtualdisk.html:18 +#: templates/virtualization/virtualdisk.html:18 msgid "Virtual Disk" msgstr "" -#: netbox/templates/virtualization/virtualmachine.html:122 -#: netbox/virtualization/forms/bulk_edit.py:190 -#: netbox/virtualization/forms/model_forms.py:224 +#: templates/virtualization/virtualmachine.html:122 +#: virtualization/forms/bulk_edit.py:190 +#: virtualization/forms/model_forms.py:224 msgid "Resources" msgstr "" -#: netbox/templates/virtualization/virtualmachine.html:178 +#: templates/virtualization/virtualmachine.html:178 msgid "Add Virtual Disk" msgstr "" -#: netbox/templates/vpn/ikepolicy.html:10 -#: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 +#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:33 +#: vpn/tables/crypto.py:166 msgid "IKE Policy" msgstr "" -#: netbox/templates/vpn/ikepolicy.html:21 +#: templates/vpn/ikepolicy.html:21 msgid "IKE Version" msgstr "" -#: netbox/templates/vpn/ikepolicy.html:29 +#: templates/vpn/ikepolicy.html:29 msgid "Pre-Shared Key" msgstr "" -#: netbox/templates/vpn/ikepolicy.html:33 -#: netbox/templates/wireless/inc/authentication_attrs.html:20 +#: templates/vpn/ikepolicy.html:33 +#: templates/wireless/inc/authentication_attrs.html:20 msgid "Show Secret" msgstr "" -#: netbox/templates/vpn/ikepolicy.html:57 -#: netbox/templates/vpn/ipsecpolicy.html:45 -#: netbox/templates/vpn/ipsecprofile.html:52 -#: netbox/templates/vpn/ipsecprofile.html:77 -#: netbox/vpn/forms/model_forms.py:316 netbox/vpn/forms/model_forms.py:352 -#: netbox/vpn/tables/crypto.py:68 netbox/vpn/tables/crypto.py:134 +#: 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 "" -#: netbox/templates/vpn/ikeproposal.html:10 +#: templates/vpn/ikeproposal.html:10 msgid "IKE Proposal" msgstr "" -#: netbox/templates/vpn/ikeproposal.html:21 netbox/vpn/forms/bulk_edit.py:97 -#: netbox/vpn/forms/bulk_import.py:145 netbox/vpn/forms/filtersets.py:101 +#: 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 "" -#: netbox/templates/vpn/ikeproposal.html:25 -#: netbox/templates/vpn/ipsecproposal.html:21 netbox/vpn/forms/bulk_edit.py:102 -#: netbox/vpn/forms/bulk_edit.py:172 netbox/vpn/forms/bulk_import.py:149 -#: netbox/vpn/forms/bulk_import.py:195 netbox/vpn/forms/filtersets.py:106 -#: netbox/vpn/forms/filtersets.py:154 +#: 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:106 vpn/forms/filtersets.py:154 msgid "Encryption algorithm" msgstr "" -#: netbox/templates/vpn/ikeproposal.html:29 -#: netbox/templates/vpn/ipsecproposal.html:25 netbox/vpn/forms/bulk_edit.py:107 -#: netbox/vpn/forms/bulk_edit.py:177 netbox/vpn/forms/bulk_import.py:153 -#: netbox/vpn/forms/bulk_import.py:200 netbox/vpn/forms/filtersets.py:111 -#: netbox/vpn/forms/filtersets.py:159 +#: 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:111 vpn/forms/filtersets.py:159 msgid "Authentication algorithm" msgstr "" -#: netbox/templates/vpn/ikeproposal.html:33 +#: templates/vpn/ikeproposal.html:33 msgid "DH group" msgstr "" -#: netbox/templates/vpn/ikeproposal.html:37 -#: netbox/templates/vpn/ipsecproposal.html:29 netbox/vpn/forms/bulk_edit.py:182 -#: netbox/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 "" -#: netbox/templates/vpn/ipsecpolicy.html:10 -#: netbox/templates/vpn/ipsecprofile.html:66 netbox/vpn/tables/crypto.py:170 +#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:66 +#: vpn/tables/crypto.py:170 msgid "IPSec Policy" msgstr "" -#: netbox/templates/vpn/ipsecpolicy.html:21 netbox/vpn/forms/bulk_edit.py:210 -#: netbox/vpn/models/crypto.py:193 +#: templates/vpn/ipsecpolicy.html:21 vpn/forms/bulk_edit.py:210 +#: vpn/models/crypto.py:193 msgid "PFS group" msgstr "" -#: netbox/templates/vpn/ipsecprofile.html:10 netbox/vpn/forms/model_forms.py:54 +#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:54 msgid "IPSec Profile" msgstr "" -#: netbox/templates/vpn/ipsecprofile.html:89 netbox/vpn/tables/crypto.py:137 +#: templates/vpn/ipsecprofile.html:89 vpn/tables/crypto.py:137 msgid "PFS Group" msgstr "" -#: netbox/templates/vpn/ipsecproposal.html:10 +#: templates/vpn/ipsecproposal.html:10 msgid "IPSec Proposal" msgstr "" -#: netbox/templates/vpn/ipsecproposal.html:33 netbox/vpn/forms/bulk_edit.py:186 -#: netbox/vpn/models/crypto.py:152 +#: templates/vpn/ipsecproposal.html:33 vpn/forms/bulk_edit.py:186 +#: vpn/models/crypto.py:152 msgid "SA lifetime (KB)" msgstr "" -#: netbox/templates/vpn/l2vpn.html:11 -#: netbox/templates/vpn/l2vpntermination.html:9 +#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:9 msgid "L2VPN Attributes" msgstr "" -#: netbox/templates/vpn/l2vpn.html:60 netbox/templates/vpn/tunnel.html:76 +#: templates/vpn/l2vpn.html:60 templates/vpn/tunnel.html:76 msgid "Add a Termination" msgstr "" -#: netbox/templates/vpn/tunnel.html:9 +#: templates/vpn/tunnel.html:9 msgid "Add Termination" msgstr "" -#: netbox/templates/vpn/tunnel.html:37 netbox/vpn/forms/bulk_edit.py:49 -#: netbox/vpn/forms/bulk_import.py:48 netbox/vpn/forms/filtersets.py:57 +#: 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 "" -#: netbox/templates/vpn/tunnel.html:41 netbox/vpn/forms/bulk_edit.py:55 -#: netbox/vpn/forms/bulk_import.py:53 netbox/vpn/forms/filtersets.py:64 -#: netbox/vpn/models/crypto.py:250 netbox/vpn/tables/tunnels.py:51 +#: 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 "" -#: netbox/templates/vpn/tunnel.html:45 netbox/vpn/forms/bulk_edit.py:69 -#: netbox/vpn/forms/filtersets.py:68 +#: templates/vpn/tunnel.html:45 vpn/forms/bulk_edit.py:69 +#: vpn/forms/filtersets.py:68 msgid "Tunnel ID" msgstr "" -#: netbox/templates/vpn/tunnelgroup.html:14 +#: templates/vpn/tunnelgroup.html:14 msgid "Add Tunnel" msgstr "" -#: netbox/templates/vpn/tunnelgroup.html:23 netbox/vpn/forms/model_forms.py:36 -#: netbox/vpn/forms/model_forms.py:49 +#: templates/vpn/tunnelgroup.html:23 vpn/forms/model_forms.py:36 +#: vpn/forms/model_forms.py:49 msgid "Tunnel Group" msgstr "" -#: netbox/templates/vpn/tunneltermination.html:10 +#: templates/vpn/tunneltermination.html:10 msgid "Tunnel Termination" msgstr "" -#: netbox/templates/vpn/tunneltermination.html:35 -#: netbox/vpn/forms/bulk_import.py:107 netbox/vpn/forms/model_forms.py:102 -#: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:247 -#: netbox/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 "" -#: netbox/templates/vpn/tunneltermination.html:51 +#: templates/vpn/tunneltermination.html:51 msgid "Peer Terminations" msgstr "" -#: netbox/templates/wireless/inc/authentication_attrs.html:12 +#: templates/wireless/inc/authentication_attrs.html:12 msgid "Cipher" msgstr "" -#: netbox/templates/wireless/inc/authentication_attrs.html:16 +#: templates/wireless/inc/authentication_attrs.html:16 msgid "PSK" msgstr "" -#: netbox/templates/wireless/inc/wirelesslink_interface.html:35 -#: netbox/templates/wireless/inc/wirelesslink_interface.html:45 +#: templates/wireless/inc/wirelesslink_interface.html:35 +#: templates/wireless/inc/wirelesslink_interface.html:45 msgctxt "Abbreviation for megahertz" msgid "MHz" msgstr "" -#: netbox/templates/wireless/wirelesslan.html:57 +#: templates/wireless/wirelesslan.html:57 msgid "Attached Interfaces" msgstr "" -#: netbox/templates/wireless/wirelesslangroup.html:17 +#: templates/wireless/wirelesslangroup.html:17 msgid "Add Wireless LAN" msgstr "" -#: netbox/templates/wireless/wirelesslangroup.html:26 -#: netbox/wireless/forms/model_forms.py:28 +#: templates/wireless/wirelesslangroup.html:26 wireless/forms/model_forms.py:28 msgid "Wireless LAN Group" msgstr "" -#: netbox/templates/wireless/wirelesslangroup.html:59 +#: templates/wireless/wirelesslangroup.html:59 msgid "Add Wireless LAN Group" msgstr "" -#: netbox/templates/wireless/wirelesslink.html:14 +#: templates/wireless/wirelesslink.html:14 msgid "Link Properties" msgstr "" -#: netbox/templates/wireless/wirelesslink.html:38 -#: netbox/wireless/forms/bulk_edit.py:129 -#: netbox/wireless/forms/filtersets.py:102 -#: netbox/wireless/forms/model_forms.py:165 +#: templates/wireless/wirelesslink.html:38 wireless/forms/bulk_edit.py:129 +#: wireless/forms/filtersets.py:102 wireless/forms/model_forms.py:165 msgid "Distance" msgstr "" -#: netbox/tenancy/filtersets.py:28 +#: tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:34 +#: tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 -#: netbox/tenancy/filtersets.py:110 +#: tenancy/filtersets.py:40 tenancy/filtersets.py:67 tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 -#: netbox/tenancy/filtersets.py:117 +#: tenancy/filtersets.py:47 tenancy/filtersets.py:74 tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:104 +#: tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:121 +#: tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:127 +#: tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:158 +#: tenancy/filtersets.py:158 msgid "Contact group" msgstr "" -#: netbox/tenancy/filtersets.py:169 +#: tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:175 +#: tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 +#: tenancy/filtersets.py:181 tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:234 +#: tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:241 +#: tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "" -#: netbox/tenancy/forms/bulk_edit.py:66 +#: tenancy/forms/bulk_edit.py:66 msgid "Desciption" msgstr "" -#: netbox/tenancy/forms/bulk_import.py:101 +#: tenancy/forms/bulk_import.py:101 msgid "Assigned contact" msgstr "" -#: netbox/tenancy/models/contacts.py:32 +#: tenancy/models/contacts.py:32 msgid "contact group" msgstr "" -#: netbox/tenancy/models/contacts.py:33 +#: tenancy/models/contacts.py:33 msgid "contact groups" msgstr "" -#: netbox/tenancy/models/contacts.py:48 +#: tenancy/models/contacts.py:48 msgid "contact role" msgstr "" -#: netbox/tenancy/models/contacts.py:49 +#: tenancy/models/contacts.py:49 msgid "contact roles" msgstr "" -#: netbox/tenancy/models/contacts.py:68 +#: tenancy/models/contacts.py:68 msgid "title" msgstr "" -#: netbox/tenancy/models/contacts.py:73 +#: tenancy/models/contacts.py:73 msgid "phone" msgstr "" -#: netbox/tenancy/models/contacts.py:78 +#: tenancy/models/contacts.py:78 msgid "email" msgstr "" -#: netbox/tenancy/models/contacts.py:87 +#: tenancy/models/contacts.py:87 msgid "link" msgstr "" -#: netbox/tenancy/models/contacts.py:103 +#: tenancy/models/contacts.py:103 msgid "contact" msgstr "" -#: netbox/tenancy/models/contacts.py:104 +#: tenancy/models/contacts.py:104 msgid "contacts" msgstr "" -#: netbox/tenancy/models/contacts.py:153 +#: tenancy/models/contacts.py:153 msgid "contact assignment" msgstr "" -#: netbox/tenancy/models/contacts.py:154 +#: tenancy/models/contacts.py:154 msgid "contact assignments" msgstr "" -#: netbox/tenancy/models/contacts.py:170 +#: tenancy/models/contacts.py:170 #, python-brace-format msgid "Contacts cannot be assigned to this object type ({type})." msgstr "" -#: netbox/tenancy/models/tenants.py:32 +#: tenancy/models/tenants.py:32 msgid "tenant group" msgstr "" -#: netbox/tenancy/models/tenants.py:33 +#: tenancy/models/tenants.py:33 msgid "tenant groups" msgstr "" -#: netbox/tenancy/models/tenants.py:70 +#: tenancy/models/tenants.py:70 msgid "Tenant name must be unique per group." msgstr "" -#: netbox/tenancy/models/tenants.py:80 +#: tenancy/models/tenants.py:80 msgid "Tenant slug must be unique per group." msgstr "" -#: netbox/tenancy/models/tenants.py:88 +#: tenancy/models/tenants.py:88 msgid "tenant" msgstr "" -#: netbox/tenancy/models/tenants.py:89 +#: tenancy/models/tenants.py:89 msgid "tenants" msgstr "" -#: netbox/tenancy/tables/contacts.py:112 +#: tenancy/tables/contacts.py:112 msgid "Contact Title" msgstr "" -#: netbox/tenancy/tables/contacts.py:116 +#: tenancy/tables/contacts.py:116 msgid "Contact Phone" msgstr "" -#: netbox/tenancy/tables/contacts.py:121 +#: tenancy/tables/contacts.py:121 msgid "Contact Email" msgstr "" -#: netbox/tenancy/tables/contacts.py:125 +#: tenancy/tables/contacts.py:125 msgid "Contact Address" msgstr "" -#: netbox/tenancy/tables/contacts.py:129 +#: tenancy/tables/contacts.py:129 msgid "Contact Link" msgstr "" -#: netbox/tenancy/tables/contacts.py:133 +#: tenancy/tables/contacts.py:133 msgid "Contact Description" msgstr "" -#: netbox/users/filtersets.py:33 netbox/users/filtersets.py:73 +#: users/filtersets.py:33 users/filtersets.py:73 msgid "Permission (ID)" msgstr "" -#: netbox/users/filtersets.py:38 netbox/users/filtersets.py:78 +#: users/filtersets.py:38 users/filtersets.py:78 msgid "Notification group (ID)" msgstr "" -#: netbox/users/forms/bulk_edit.py:26 +#: users/forms/bulk_edit.py:26 msgid "First name" msgstr "" -#: netbox/users/forms/bulk_edit.py:31 +#: users/forms/bulk_edit.py:31 msgid "Last name" msgstr "" -#: netbox/users/forms/bulk_edit.py:43 +#: users/forms/bulk_edit.py:43 msgid "Staff status" msgstr "" -#: netbox/users/forms/bulk_edit.py:48 +#: users/forms/bulk_edit.py:48 msgid "Superuser status" msgstr "" -#: netbox/users/forms/bulk_import.py:41 +#: users/forms/bulk_import.py:41 msgid "If no key is provided, one will be generated automatically." msgstr "" -#: netbox/users/forms/filtersets.py:51 netbox/users/tables.py:42 +#: users/forms/filtersets.py:51 users/tables.py:42 msgid "Is Staff" msgstr "" -#: netbox/users/forms/filtersets.py:58 netbox/users/tables.py:45 +#: users/forms/filtersets.py:58 users/tables.py:45 msgid "Is Superuser" msgstr "" -#: netbox/users/forms/filtersets.py:91 netbox/users/tables.py:86 +#: users/forms/filtersets.py:91 users/tables.py:86 msgid "Can View" msgstr "" -#: netbox/users/forms/filtersets.py:98 netbox/users/tables.py:89 +#: users/forms/filtersets.py:98 users/tables.py:89 msgid "Can Add" msgstr "" -#: netbox/users/forms/filtersets.py:105 netbox/users/tables.py:92 +#: users/forms/filtersets.py:105 users/tables.py:92 msgid "Can Change" msgstr "" -#: netbox/users/forms/filtersets.py:112 netbox/users/tables.py:95 +#: users/forms/filtersets.py:112 users/tables.py:95 msgid "Can Delete" msgstr "" -#: netbox/users/forms/model_forms.py:62 +#: users/forms/model_forms.py:62 msgid "User Interface" msgstr "" -#: netbox/users/forms/model_forms.py:114 +#: users/forms/model_forms.py:114 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 " "accessible once the token has been created." msgstr "" -#: netbox/users/forms/model_forms.py:126 +#: users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for " "no restrictions. Example: 10.1.1.0/24,192.168.10.16/32,2001:" "db8:1::/64" msgstr "" -#: netbox/users/forms/model_forms.py:175 +#: users/forms/model_forms.py:175 msgid "Confirm password" msgstr "" -#: netbox/users/forms/model_forms.py:178 +#: users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "" -#: netbox/users/forms/model_forms.py:227 +#: users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" -#: netbox/users/forms/model_forms.py:294 +#: users/forms/model_forms.py:294 msgid "Additional actions" msgstr "" -#: netbox/users/forms/model_forms.py:297 +#: users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "" -#: netbox/users/forms/model_forms.py:313 +#: users/forms/model_forms.py:313 msgid "Objects" msgstr "" -#: netbox/users/forms/model_forms.py:325 +#: 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 " "objects will result in a logical OR operation." msgstr "" -#: netbox/users/forms/model_forms.py:364 +#: users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "" -#: netbox/users/forms/model_forms.py:382 +#: users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "" -#: netbox/users/models/permissions.py:39 +#: users/models/permissions.py:39 msgid "The list of actions granted by this permission" msgstr "" -#: netbox/users/models/permissions.py:44 +#: users/models/permissions.py:44 msgid "constraints" msgstr "" -#: netbox/users/models/permissions.py:45 +#: users/models/permissions.py:45 msgid "Queryset filter matching the applicable objects of the selected type(s)" msgstr "" -#: netbox/users/models/permissions.py:52 +#: users/models/permissions.py:52 msgid "permission" msgstr "" -#: netbox/users/models/permissions.py:53 netbox/users/models/users.py:47 +#: users/models/permissions.py:53 users/models/users.py:47 msgid "permissions" msgstr "" -#: netbox/users/models/preferences.py:29 netbox/users/models/preferences.py:30 +#: users/models/preferences.py:29 users/models/preferences.py:30 msgid "user preferences" msgstr "" -#: netbox/users/models/preferences.py:97 +#: users/models/preferences.py:97 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" msgstr "" -#: netbox/users/models/preferences.py:109 +#: users/models/preferences.py:109 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" msgstr "" -#: netbox/users/models/tokens.py:36 +#: users/models/tokens.py:36 msgid "expires" msgstr "" -#: netbox/users/models/tokens.py:41 +#: users/models/tokens.py:41 msgid "last used" msgstr "" -#: netbox/users/models/tokens.py:46 +#: users/models/tokens.py:46 msgid "key" msgstr "" -#: netbox/users/models/tokens.py:52 +#: users/models/tokens.py:52 msgid "write enabled" msgstr "" -#: netbox/users/models/tokens.py:54 +#: users/models/tokens.py:54 msgid "Permit create/update/delete operations using this key" msgstr "" -#: netbox/users/models/tokens.py:65 +#: users/models/tokens.py:65 msgid "allowed IPs" msgstr "" -#: netbox/users/models/tokens.py:67 +#: users/models/tokens.py:67 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\"" msgstr "" -#: netbox/users/models/tokens.py:75 +#: users/models/tokens.py:75 msgid "token" msgstr "" -#: netbox/users/models/tokens.py:76 +#: users/models/tokens.py:76 msgid "tokens" msgstr "" -#: netbox/users/models/users.py:57 netbox/vpn/models/crypto.py:42 +#: users/models/users.py:57 vpn/models/crypto.py:42 msgid "group" msgstr "" -#: netbox/users/models/users.py:92 +#: users/models/users.py:92 msgid "user" msgstr "" -#: netbox/users/models/users.py:104 +#: users/models/users.py:104 msgid "A user with this username already exists." msgstr "" -#: netbox/users/tables.py:98 +#: users/tables.py:98 msgid "Custom Actions" msgstr "" -#: netbox/utilities/api.py:153 +#: utilities/api.py:153 #, python-brace-format msgid "Related object not found using the provided attributes: {params}" msgstr "" -#: netbox/utilities/api.py:156 +#: utilities/api.py:156 #, python-brace-format msgid "Multiple objects match the provided attributes: {params}" msgstr "" -#: netbox/utilities/api.py:168 +#: 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 "" -#: netbox/utilities/api.py:177 +#: utilities/api.py:177 #, python-brace-format msgid "Related object not found using the provided numeric ID: {id}" msgstr "" -#: netbox/utilities/choices.py:19 +#: utilities/choices.py:19 #, python-brace-format msgid "{name} has a key defined but CHOICES is not a list" msgstr "" -#: netbox/utilities/conversion.py:19 +#: utilities/conversion.py:19 msgid "Weight must be a positive number" msgstr "" -#: netbox/utilities/conversion.py:21 +#: utilities/conversion.py:21 #, python-brace-format msgid "Invalid value '{weight}' for weight (must be a number)" msgstr "" -#: netbox/utilities/conversion.py:32 netbox/utilities/conversion.py:62 +#: utilities/conversion.py:32 utilities/conversion.py:62 #, python-brace-format msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" msgstr "" -#: netbox/utilities/conversion.py:45 +#: utilities/conversion.py:45 msgid "Length must be a positive number" msgstr "" -#: netbox/utilities/conversion.py:47 +#: utilities/conversion.py:47 #, python-brace-format msgid "Invalid value '{length}' for length (must be a number)" msgstr "" -#: netbox/utilities/error_handlers.py:31 +#: utilities/error_handlers.py:31 #, python-brace-format msgid "" "Unable to delete {objects}. {count} dependent objects were " "found: " msgstr "" -#: netbox/utilities/error_handlers.py:33 +#: utilities/error_handlers.py:33 msgid "More than 50" msgstr "" -#: netbox/utilities/fields.py:30 +#: utilities/fields.py:30 msgid "RGB color in hexadecimal. Example: " msgstr "" -#: netbox/utilities/fields.py:159 +#: utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " "in the format 'app.model'" msgstr "" -#: netbox/utilities/fields.py:169 +#: utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " "in the format 'field'" msgstr "" -#: netbox/utilities/forms/bulk_import.py:23 +#: utilities/forms/bulk_import.py:23 msgid "Enter object data in CSV, JSON or YAML format." msgstr "" -#: netbox/utilities/forms/bulk_import.py:36 +#: utilities/forms/bulk_import.py:36 msgid "CSV delimiter" msgstr "" -#: netbox/utilities/forms/bulk_import.py:37 +#: utilities/forms/bulk_import.py:37 msgid "The character which delimits CSV fields. Applies only to CSV format." msgstr "" -#: netbox/utilities/forms/bulk_import.py:51 +#: utilities/forms/bulk_import.py:51 msgid "Form data must be empty when uploading/selecting a file." msgstr "" -#: netbox/utilities/forms/bulk_import.py:80 +#: utilities/forms/bulk_import.py:80 #, python-brace-format msgid "Unknown data format: {format}" msgstr "" -#: netbox/utilities/forms/bulk_import.py:100 +#: utilities/forms/bulk_import.py:100 msgid "Unable to detect data format. Please specify." msgstr "" -#: netbox/utilities/forms/bulk_import.py:123 +#: utilities/forms/bulk_import.py:123 msgid "Invalid CSV delimiter" msgstr "" -#: netbox/utilities/forms/bulk_import.py:167 +#: 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." msgstr "" -#: netbox/utilities/forms/fields/array.py:20 +#: utilities/forms/fields/array.py:20 #, python-brace-format msgid "" "Invalid list ({value}). Must be numeric and ranges must be in ascending " "order." msgstr "" -#: netbox/utilities/forms/fields/array.py:40 +#: utilities/forms/fields/array.py:40 msgid "" "Specify one or more numeric ranges separated by commas. Example: " "1-5,20-30" msgstr "" -#: netbox/utilities/forms/fields/array.py:47 +#: utilities/forms/fields/array.py:47 #, python-brace-format msgid "" "Invalid ranges ({value}). Must be a range of integers in ascending order." msgstr "" -#: netbox/utilities/forms/fields/csv.py:44 +#: utilities/forms/fields/csv.py:44 #, python-brace-format msgid "Invalid value for a multiple choice field: {value}" msgstr "" -#: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:78 +#: utilities/forms/fields/csv.py:57 utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "" -#: netbox/utilities/forms/fields/csv.py:65 +#: utilities/forms/fields/csv.py:65 #, python-brace-format msgid "" "\"{value}\" is not a unique value for this field; multiple objects were found" msgstr "" -#: netbox/utilities/forms/fields/csv.py:69 +#: utilities/forms/fields/csv.py:69 #, python-brace-format msgid "\"{field_name}\" is an invalid accessor field name." msgstr "" -#: netbox/utilities/forms/fields/csv.py:101 +#: utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "" -#: netbox/utilities/forms/fields/csv.py:105 +#: utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "" -#: netbox/utilities/forms/fields/expandable.py:25 +#: utilities/forms/fields/expandable.py:25 msgid "" "Alphanumeric ranges are supported for bulk creation. Mixed cases and types " "within a single range are not supported (example: [ge,xe]-0/0/[0-9])." msgstr "" -#: netbox/utilities/forms/fields/expandable.py:46 +#: utilities/forms/fields/expandable.py:46 msgid "" "Specify a numeric range to create multiple IPs.
Example: 192.0.2." "[1,5,100-254]/24" msgstr "" -#: netbox/utilities/forms/fields/fields.py:31 +#: utilities/forms/fields/fields.py:31 #, python-brace-format msgid "" " Markdown syntax is supported" msgstr "" -#: netbox/utilities/forms/fields/fields.py:48 +#: utilities/forms/fields/fields.py:48 msgid "URL-friendly unique shorthand" msgstr "" -#: netbox/utilities/forms/fields/fields.py:101 +#: utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" -#: netbox/utilities/forms/fields/fields.py:124 +#: utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "" -#: netbox/utilities/forms/forms.py:52 +#: utilities/forms/forms.py:52 msgid "Use regular expressions" msgstr "" -#: netbox/utilities/forms/forms.py:75 +#: utilities/forms/forms.py:75 msgid "" "Numeric ID of an existing object to update (if not creating a new object)" msgstr "" -#: netbox/utilities/forms/forms.py:92 +#: utilities/forms/forms.py:92 #, python-brace-format msgid "Unrecognized header: {name}" msgstr "" -#: netbox/utilities/forms/forms.py:118 +#: utilities/forms/forms.py:118 msgid "Available Columns" msgstr "" -#: netbox/utilities/forms/forms.py:126 +#: utilities/forms/forms.py:126 msgid "Selected Columns" msgstr "" -#: netbox/utilities/forms/mixins.py:44 +#: 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." msgstr "" -#: netbox/utilities/forms/utils.py:42 netbox/utilities/forms/utils.py:68 -#: netbox/utilities/forms/utils.py:85 netbox/utilities/forms/utils.py:87 +#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 +#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "" -#: netbox/utilities/forms/utils.py:74 +#: utilities/forms/utils.py:74 #, python-brace-format msgid "" "Invalid range: Ending value ({end}) must be greater than beginning value " "({begin})." msgstr "" -#: netbox/utilities/forms/utils.py:232 +#: utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "" -#: netbox/utilities/forms/utils.py:238 +#: utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "" -#: netbox/utilities/forms/utils.py:247 +#: utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" -#: netbox/utilities/forms/utils.py:270 +#: utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "" -#: netbox/utilities/forms/utils.py:272 +#: utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "" -#: netbox/utilities/forms/utils.py:276 +#: utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "" -#: netbox/utilities/forms/utils.py:284 +#: utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "" -#: netbox/utilities/forms/widgets/apiselect.py:124 +#: utilities/forms/widgets/apiselect.py:124 #, python-brace-format msgid "Missing required value for dynamic query param: '{dynamic_params}'" msgstr "" -#: netbox/utilities/forms/widgets/apiselect.py:141 +#: utilities/forms/widgets/apiselect.py:141 #, python-brace-format msgid "Missing required value for static query param: '{static_params}'" msgstr "" -#: netbox/utilities/password_validation.py:13 +#: utilities/password_validation.py:13 msgid "Password must have at least one numeral." msgstr "" -#: netbox/utilities/password_validation.py:18 +#: utilities/password_validation.py:18 msgid "Password must have at least one uppercase letter." msgstr "" -#: netbox/utilities/password_validation.py:23 +#: utilities/password_validation.py:23 msgid "Password must have at least one lowercase letter." msgstr "" -#: netbox/utilities/password_validation.py:27 +#: utilities/password_validation.py:27 msgid "" "Your password must contain at least one numeral, one uppercase letter and " "one lowercase letter." msgstr "" -#: netbox/utilities/permissions.py:42 +#: utilities/permissions.py:42 #, python-brace-format msgid "" "Invalid permission name: {name}. Must be in the format ." "_" msgstr "" -#: netbox/utilities/permissions.py:60 +#: utilities/permissions.py:60 #, python-brace-format msgid "Unknown app_label/model_name for {name}" msgstr "" -#: netbox/utilities/request.py:76 +#: utilities/request.py:76 #, python-brace-format msgid "Invalid IP address set for {header}: {ip}" msgstr "" -#: netbox/utilities/tables.py:47 +#: utilities/tables.py:47 #, python-brace-format msgid "A column named {name} is already defined for table {table_name}" msgstr "" -#: netbox/utilities/templates/builtins/customfield_value.html:30 +#: utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "" -#: netbox/utilities/templates/buttons/bookmark.html:9 +#: utilities/templates/buttons/bookmark.html:9 msgid "Unbookmark" msgstr "" -#: netbox/utilities/templates/buttons/bookmark.html:13 +#: utilities/templates/buttons/bookmark.html:13 msgid "Bookmark" msgstr "" -#: netbox/utilities/templates/buttons/clone.html:4 +#: utilities/templates/buttons/clone.html:4 msgid "Clone" msgstr "" -#: netbox/utilities/templates/buttons/export.html:7 +#: utilities/templates/buttons/export.html:7 msgid "Current View" msgstr "" -#: netbox/utilities/templates/buttons/export.html:8 +#: utilities/templates/buttons/export.html:8 msgid "All Data" msgstr "" -#: netbox/utilities/templates/buttons/export.html:28 +#: utilities/templates/buttons/export.html:28 msgid "Add export template" msgstr "" -#: netbox/utilities/templates/buttons/import.html:4 +#: utilities/templates/buttons/import.html:4 msgid "Import" msgstr "" -#: netbox/utilities/templates/buttons/subscribe.html:10 +#: utilities/templates/buttons/subscribe.html:10 msgid "Unsubscribe" msgstr "" -#: netbox/utilities/templates/buttons/subscribe.html:14 +#: utilities/templates/buttons/subscribe.html:14 msgid "Subscribe" msgstr "" -#: netbox/utilities/templates/form_helpers/render_field.html:41 +#: utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "" -#: netbox/utilities/templates/form_helpers/render_field.html:57 +#: utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "" -#: netbox/utilities/templates/form_helpers/render_field.html:70 +#: utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "" -#: netbox/utilities/templates/helpers/applied_filters.html:11 +#: utilities/templates/helpers/applied_filters.html:11 msgid "Clear all" msgstr "" -#: netbox/utilities/templates/helpers/table_config_form.html:8 +#: utilities/templates/helpers/table_config_form.html:8 msgid "Table Configuration" msgstr "" -#: netbox/utilities/templates/helpers/table_config_form.html:31 +#: utilities/templates/helpers/table_config_form.html:31 msgid "Move Up" msgstr "" -#: netbox/utilities/templates/helpers/table_config_form.html:34 +#: utilities/templates/helpers/table_config_form.html:34 msgid "Move Down" msgstr "" -#: netbox/utilities/templates/navigation/menu.html:14 +#: utilities/templates/navigation/menu.html:14 msgid "Search…" msgstr "" -#: netbox/utilities/templates/navigation/menu.html:14 +#: utilities/templates/navigation/menu.html:14 msgid "Search NetBox" msgstr "" -#: netbox/utilities/templates/widgets/apiselect.html:7 +#: utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "" -#: netbox/utilities/templates/widgets/markdown_input.html:6 +#: utilities/templates/widgets/markdown_input.html:6 msgid "Write" msgstr "" -#: netbox/utilities/testing/views.py:632 +#: utilities/testing/views.py:632 msgid "The test must define csv_update_data." msgstr "" -#: netbox/utilities/validators.py:65 +#: utilities/validators.py:65 #, python-brace-format msgid "{value} is not a valid regular expression." msgstr "" -#: netbox/utilities/views.py:57 +#: utilities/views.py:57 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" -#: netbox/utilities/views.py:93 +#: utilities/views.py:93 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "" -#: netbox/utilities/views.py:117 +#: utilities/views.py:117 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only " "be used on views which define a base queryset" msgstr "" -#: netbox/virtualization/filtersets.py:79 +#: virtualization/filtersets.py:79 msgid "Parent group (ID)" msgstr "" -#: netbox/virtualization/filtersets.py:85 +#: virtualization/filtersets.py:85 msgid "Parent group (slug)" msgstr "" -#: netbox/virtualization/filtersets.py:89 -#: netbox/virtualization/filtersets.py:141 +#: virtualization/filtersets.py:89 virtualization/filtersets.py:141 msgid "Cluster type (ID)" msgstr "" -#: netbox/virtualization/filtersets.py:151 -#: netbox/virtualization/filtersets.py:271 +#: virtualization/filtersets.py:151 virtualization/filtersets.py:271 msgid "Cluster (ID)" msgstr "" -#: netbox/virtualization/forms/bulk_edit.py:166 -#: netbox/virtualization/models/virtualmachines.py:115 +#: virtualization/forms/bulk_edit.py:166 +#: virtualization/models/virtualmachines.py:115 msgid "vCPUs" msgstr "" -#: netbox/virtualization/forms/bulk_edit.py:170 +#: virtualization/forms/bulk_edit.py:170 msgid "Memory (MB)" msgstr "" -#: netbox/virtualization/forms/bulk_edit.py:174 +#: virtualization/forms/bulk_edit.py:174 msgid "Disk (MB)" msgstr "" -#: netbox/virtualization/forms/bulk_edit.py:334 -#: netbox/virtualization/forms/filtersets.py:251 +#: virtualization/forms/bulk_edit.py:334 virtualization/forms/filtersets.py:251 msgid "Size (MB)" msgstr "" -#: netbox/virtualization/forms/bulk_import.py:44 +#: virtualization/forms/bulk_import.py:44 msgid "Type of cluster" msgstr "" -#: netbox/virtualization/forms/bulk_import.py:51 +#: virtualization/forms/bulk_import.py:51 msgid "Assigned cluster group" msgstr "" -#: netbox/virtualization/forms/bulk_import.py:96 +#: virtualization/forms/bulk_import.py:96 msgid "Assigned cluster" msgstr "" -#: netbox/virtualization/forms/bulk_import.py:103 +#: virtualization/forms/bulk_import.py:103 msgid "Assigned device within cluster" msgstr "" -#: netbox/virtualization/forms/filtersets.py:183 +#: virtualization/forms/filtersets.py:183 msgid "Serial number" msgstr "" -#: netbox/virtualization/forms/model_forms.py:153 +#: virtualization/forms/model_forms.py:153 #, python-brace-format msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" msgstr "" -#: netbox/virtualization/forms/model_forms.py:192 +#: virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" msgstr "" -#: netbox/virtualization/forms/model_forms.py:221 +#: virtualization/forms/model_forms.py:221 msgid "Site/Cluster" msgstr "" -#: netbox/virtualization/forms/model_forms.py:244 +#: virtualization/forms/model_forms.py:244 msgid "Disk size is managed via the attachment of virtual disks." msgstr "" -#: netbox/virtualization/forms/model_forms.py:372 -#: netbox/virtualization/tables/virtualmachines.py:111 +#: virtualization/forms/model_forms.py:372 +#: virtualization/tables/virtualmachines.py:111 msgid "Disk" msgstr "" -#: netbox/virtualization/models/clusters.py:25 +#: virtualization/models/clusters.py:25 msgid "cluster type" msgstr "" -#: netbox/virtualization/models/clusters.py:26 +#: virtualization/models/clusters.py:26 msgid "cluster types" msgstr "" -#: netbox/virtualization/models/clusters.py:45 +#: virtualization/models/clusters.py:45 msgid "cluster group" msgstr "" -#: netbox/virtualization/models/clusters.py:46 +#: virtualization/models/clusters.py:46 msgid "cluster groups" msgstr "" -#: netbox/virtualization/models/clusters.py:121 +#: virtualization/models/clusters.py:121 msgid "cluster" msgstr "" -#: netbox/virtualization/models/clusters.py:122 +#: virtualization/models/clusters.py:122 msgid "clusters" msgstr "" -#: netbox/virtualization/models/clusters.py:141 +#: virtualization/models/clusters.py:141 #, python-brace-format msgid "" "{count} devices are assigned as hosts for this cluster but are not in site " "{site}" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:123 +#: virtualization/models/virtualmachines.py:123 msgid "memory (MB)" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:128 +#: virtualization/models/virtualmachines.py:128 msgid "disk (MB)" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:166 +#: virtualization/models/virtualmachines.py:166 msgid "Virtual machine name must be unique per cluster." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:169 +#: virtualization/models/virtualmachines.py:169 msgid "virtual machine" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:170 +#: virtualization/models/virtualmachines.py:170 msgid "virtual machines" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:184 +#: virtualization/models/virtualmachines.py:184 msgid "A virtual machine must be assigned to a site and/or cluster." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:191 +#: virtualization/models/virtualmachines.py:191 #, python-brace-format msgid "The selected cluster ({cluster}) is not assigned to this site ({site})." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:198 +#: virtualization/models/virtualmachines.py:198 msgid "Must specify a cluster when assigning a host device." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:203 +#: virtualization/models/virtualmachines.py:203 #, python-brace-format msgid "" "The selected device ({device}) is not assigned to this cluster ({cluster})." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:215 +#: virtualization/models/virtualmachines.py:215 #, python-brace-format msgid "" "The specified disk size ({size}) must match the aggregate size of assigned " "virtual disks ({total_size})." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:229 +#: virtualization/models/virtualmachines.py:229 #, python-brace-format msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:238 +#: virtualization/models/virtualmachines.py:238 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this VM." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:396 +#: virtualization/models/virtualmachines.py:396 #, python-brace-format msgid "" "The selected parent interface ({parent}) belongs to a different virtual " "machine ({virtual_machine})." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:411 +#: virtualization/models/virtualmachines.py:411 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different virtual " "machine ({virtual_machine})." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:422 +#: virtualization/models/virtualmachines.py:422 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent virtual machine, or it must be global." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:434 +#: virtualization/models/virtualmachines.py:434 msgid "size (MB)" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:438 +#: virtualization/models/virtualmachines.py:438 msgid "virtual disk" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:439 +#: virtualization/models/virtualmachines.py:439 msgid "virtual disks" msgstr "" -#: netbox/virtualization/views.py:275 +#: virtualization/views.py:275 #, python-brace-format msgid "Added {count} devices to cluster {cluster}" msgstr "" -#: netbox/virtualization/views.py:310 +#: virtualization/views.py:310 #, python-brace-format msgid "Removed {count} devices from cluster {cluster}" msgstr "" -#: netbox/vpn/choices.py:31 +#: vpn/choices.py:31 msgid "IPsec - Transport" msgstr "" -#: netbox/vpn/choices.py:32 +#: vpn/choices.py:32 msgid "IPsec - Tunnel" msgstr "" -#: netbox/vpn/choices.py:33 +#: vpn/choices.py:33 msgid "IP-in-IP" msgstr "" -#: netbox/vpn/choices.py:34 +#: vpn/choices.py:34 msgid "GRE" msgstr "" -#: netbox/vpn/choices.py:56 +#: vpn/choices.py:56 msgid "Hub" msgstr "" -#: netbox/vpn/choices.py:57 +#: vpn/choices.py:57 msgid "Spoke" msgstr "" -#: netbox/vpn/choices.py:80 +#: vpn/choices.py:80 msgid "Aggressive" msgstr "" -#: netbox/vpn/choices.py:81 +#: vpn/choices.py:81 msgid "Main" msgstr "" -#: netbox/vpn/choices.py:92 +#: vpn/choices.py:92 msgid "Pre-shared keys" msgstr "" -#: netbox/vpn/choices.py:93 +#: vpn/choices.py:93 msgid "Certificates" msgstr "" -#: netbox/vpn/choices.py:94 +#: vpn/choices.py:94 msgid "RSA signatures" msgstr "" -#: netbox/vpn/choices.py:95 +#: vpn/choices.py:95 msgid "DSA signatures" msgstr "" -#: netbox/vpn/choices.py:178 netbox/vpn/choices.py:179 -#: netbox/vpn/choices.py:180 netbox/vpn/choices.py:181 -#: netbox/vpn/choices.py:182 netbox/vpn/choices.py:183 -#: netbox/vpn/choices.py:184 netbox/vpn/choices.py:185 -#: netbox/vpn/choices.py:186 netbox/vpn/choices.py:187 -#: netbox/vpn/choices.py:188 netbox/vpn/choices.py:189 -#: netbox/vpn/choices.py:190 netbox/vpn/choices.py:191 -#: netbox/vpn/choices.py:192 netbox/vpn/choices.py:193 -#: netbox/vpn/choices.py:194 netbox/vpn/choices.py:195 -#: netbox/vpn/choices.py:196 netbox/vpn/choices.py:197 -#: netbox/vpn/choices.py:198 netbox/vpn/choices.py:199 -#: netbox/vpn/choices.py:200 netbox/vpn/choices.py:201 +#: vpn/choices.py:178 vpn/choices.py:179 vpn/choices.py:180 vpn/choices.py:181 +#: vpn/choices.py:182 vpn/choices.py:183 vpn/choices.py:184 vpn/choices.py:185 +#: vpn/choices.py:186 vpn/choices.py:187 vpn/choices.py:188 vpn/choices.py:189 +#: vpn/choices.py:190 vpn/choices.py:191 vpn/choices.py:192 vpn/choices.py:193 +#: vpn/choices.py:194 vpn/choices.py:195 vpn/choices.py:196 vpn/choices.py:197 +#: vpn/choices.py:198 vpn/choices.py:199 vpn/choices.py:200 vpn/choices.py:201 #, python-brace-format msgid "Group {n}" msgstr "" -#: netbox/vpn/choices.py:243 +#: vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "" -#: netbox/vpn/choices.py:244 +#: vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "" -#: netbox/vpn/choices.py:247 +#: vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "" -#: netbox/vpn/choices.py:248 +#: vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "" -#: netbox/vpn/filtersets.py:41 +#: vpn/filtersets.py:41 msgid "Tunnel group (ID)" msgstr "" -#: netbox/vpn/filtersets.py:47 +#: vpn/filtersets.py:47 msgid "Tunnel group (slug)" msgstr "" -#: netbox/vpn/filtersets.py:54 +#: vpn/filtersets.py:54 msgid "IPSec profile (ID)" msgstr "" -#: netbox/vpn/filtersets.py:60 +#: vpn/filtersets.py:60 msgid "IPSec profile (name)" msgstr "" -#: netbox/vpn/filtersets.py:81 +#: vpn/filtersets.py:81 msgid "Tunnel (ID)" msgstr "" -#: netbox/vpn/filtersets.py:87 +#: vpn/filtersets.py:87 msgid "Tunnel (name)" msgstr "" -#: netbox/vpn/filtersets.py:118 +#: vpn/filtersets.py:118 msgid "Outside IP (ID)" msgstr "" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 +#: vpn/filtersets.py:130 vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 +#: vpn/filtersets.py:136 vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "" -#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 +#: vpn/filtersets.py:200 vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "" -#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 +#: vpn/filtersets.py:206 vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "" -#: netbox/vpn/filtersets.py:348 +#: vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "" -#: netbox/vpn/filtersets.py:412 +#: vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "" -#: netbox/vpn/filtersets.py:418 +#: vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "" -#: netbox/vpn/forms/bulk_edit.py:45 netbox/vpn/forms/bulk_import.py:42 -#: netbox/vpn/forms/filtersets.py:54 +#: vpn/forms/bulk_edit.py:45 vpn/forms/bulk_import.py:42 +#: vpn/forms/filtersets.py:54 msgid "Tunnel group" msgstr "" -#: netbox/vpn/forms/bulk_edit.py:117 netbox/vpn/models/crypto.py:47 +#: vpn/forms/bulk_edit.py:117 vpn/models/crypto.py:47 msgid "SA lifetime" msgstr "" -#: netbox/vpn/forms/bulk_edit.py:151 netbox/wireless/forms/bulk_edit.py:79 -#: netbox/wireless/forms/bulk_edit.py:126 -#: netbox/wireless/forms/filtersets.py:64 -#: netbox/wireless/forms/filtersets.py:98 +#: 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 "" -#: netbox/vpn/forms/bulk_edit.py:237 netbox/vpn/forms/bulk_import.py:239 -#: netbox/vpn/forms/filtersets.py:199 netbox/vpn/forms/model_forms.py:370 -#: netbox/vpn/models/crypto.py:104 +#: 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 "" -#: netbox/vpn/forms/bulk_edit.py:242 netbox/vpn/forms/bulk_import.py:244 -#: netbox/vpn/forms/filtersets.py:204 netbox/vpn/forms/model_forms.py:374 -#: netbox/vpn/models/crypto.py:209 +#: 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 "" -#: netbox/vpn/forms/bulk_import.py:50 +#: vpn/forms/bulk_import.py:50 msgid "Tunnel encapsulation" msgstr "" -#: netbox/vpn/forms/bulk_import.py:83 +#: vpn/forms/bulk_import.py:83 msgid "Operational role" msgstr "" -#: netbox/vpn/forms/bulk_import.py:90 +#: vpn/forms/bulk_import.py:90 msgid "Parent device of assigned interface" msgstr "" -#: netbox/vpn/forms/bulk_import.py:97 +#: vpn/forms/bulk_import.py:97 msgid "Parent VM of assigned interface" msgstr "" -#: netbox/vpn/forms/bulk_import.py:104 +#: vpn/forms/bulk_import.py:104 msgid "Device or virtual machine interface" msgstr "" -#: netbox/vpn/forms/bulk_import.py:183 +#: vpn/forms/bulk_import.py:183 msgid "IKE proposal(s)" msgstr "" -#: netbox/vpn/forms/bulk_import.py:215 netbox/vpn/models/crypto.py:197 +#: vpn/forms/bulk_import.py:215 vpn/models/crypto.py:197 msgid "Diffie-Hellman group for Perfect Forward Secrecy" msgstr "" -#: netbox/vpn/forms/bulk_import.py:222 +#: vpn/forms/bulk_import.py:222 msgid "IPSec proposal(s)" msgstr "" -#: netbox/vpn/forms/bulk_import.py:236 +#: vpn/forms/bulk_import.py:236 msgid "IPSec protocol" msgstr "" -#: netbox/vpn/forms/bulk_import.py:266 +#: vpn/forms/bulk_import.py:266 msgid "L2VPN type" msgstr "" -#: netbox/vpn/forms/bulk_import.py:287 +#: vpn/forms/bulk_import.py:287 msgid "Parent device (for interface)" msgstr "" -#: netbox/vpn/forms/bulk_import.py:294 +#: vpn/forms/bulk_import.py:294 msgid "Parent virtual machine (for interface)" msgstr "" -#: netbox/vpn/forms/bulk_import.py:301 +#: vpn/forms/bulk_import.py:301 msgid "Assigned interface (device or VM)" msgstr "" -#: netbox/vpn/forms/bulk_import.py:334 +#: vpn/forms/bulk_import.py:334 msgid "Cannot import device and VM interface terminations simultaneously." msgstr "" -#: netbox/vpn/forms/bulk_import.py:336 +#: vpn/forms/bulk_import.py:336 msgid "Each termination must specify either an interface or a VLAN." msgstr "" -#: netbox/vpn/forms/bulk_import.py:338 +#: vpn/forms/bulk_import.py:338 msgid "Cannot assign both an interface and a VLAN." msgstr "" -#: netbox/vpn/forms/filtersets.py:130 +#: vpn/forms/filtersets.py:130 msgid "IKE version" msgstr "" -#: netbox/vpn/forms/filtersets.py:142 netbox/vpn/forms/filtersets.py:175 -#: netbox/vpn/forms/model_forms.py:298 netbox/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 "" -#: netbox/vpn/forms/filtersets.py:251 +#: vpn/forms/filtersets.py:251 msgid "Assigned Object Type" msgstr "" -#: netbox/vpn/forms/model_forms.py:95 netbox/vpn/forms/model_forms.py:130 -#: netbox/vpn/forms/model_forms.py:240 netbox/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 "" -#: netbox/vpn/forms/model_forms.py:150 +#: vpn/forms/model_forms.py:150 msgid "First Termination" msgstr "" -#: netbox/vpn/forms/model_forms.py:153 +#: vpn/forms/model_forms.py:153 msgid "Second Termination" msgstr "" -#: netbox/vpn/forms/model_forms.py:197 +#: vpn/forms/model_forms.py:197 msgid "This parameter is required when defining a termination." msgstr "" -#: netbox/vpn/forms/model_forms.py:320 netbox/vpn/forms/model_forms.py:356 +#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:356 msgid "Policy" msgstr "" -#: netbox/vpn/forms/model_forms.py:487 +#: vpn/forms/model_forms.py:487 msgid "A termination must specify an interface or VLAN." msgstr "" -#: netbox/vpn/forms/model_forms.py:489 +#: vpn/forms/model_forms.py:489 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" -#: netbox/vpn/models/crypto.py:33 +#: vpn/models/crypto.py:33 msgid "encryption algorithm" msgstr "" -#: netbox/vpn/models/crypto.py:37 +#: vpn/models/crypto.py:37 msgid "authentication algorithm" msgstr "" -#: netbox/vpn/models/crypto.py:44 +#: vpn/models/crypto.py:44 msgid "Diffie-Hellman group ID" msgstr "" -#: netbox/vpn/models/crypto.py:50 +#: vpn/models/crypto.py:50 msgid "Security association lifetime (in seconds)" msgstr "" -#: netbox/vpn/models/crypto.py:59 +#: vpn/models/crypto.py:59 msgid "IKE proposal" msgstr "" -#: netbox/vpn/models/crypto.py:60 +#: vpn/models/crypto.py:60 msgid "IKE proposals" msgstr "" -#: netbox/vpn/models/crypto.py:76 +#: vpn/models/crypto.py:76 msgid "version" msgstr "" -#: netbox/vpn/models/crypto.py:88 netbox/vpn/models/crypto.py:190 +#: vpn/models/crypto.py:88 vpn/models/crypto.py:190 msgid "proposals" msgstr "" -#: netbox/vpn/models/crypto.py:91 netbox/wireless/models.py:39 +#: vpn/models/crypto.py:91 wireless/models.py:39 msgid "pre-shared key" msgstr "" -#: netbox/vpn/models/crypto.py:105 +#: vpn/models/crypto.py:105 msgid "IKE policies" msgstr "" -#: netbox/vpn/models/crypto.py:118 +#: vpn/models/crypto.py:118 msgid "Mode is required for selected IKE version" msgstr "" -#: netbox/vpn/models/crypto.py:122 +#: vpn/models/crypto.py:122 msgid "Mode cannot be used for selected IKE version" msgstr "" -#: netbox/vpn/models/crypto.py:136 +#: vpn/models/crypto.py:136 msgid "encryption" msgstr "" -#: netbox/vpn/models/crypto.py:141 +#: vpn/models/crypto.py:141 msgid "authentication" msgstr "" -#: netbox/vpn/models/crypto.py:149 +#: vpn/models/crypto.py:149 msgid "Security association lifetime (seconds)" msgstr "" -#: netbox/vpn/models/crypto.py:155 +#: vpn/models/crypto.py:155 msgid "Security association lifetime (in kilobytes)" msgstr "" -#: netbox/vpn/models/crypto.py:164 +#: vpn/models/crypto.py:164 msgid "IPSec proposal" msgstr "" -#: netbox/vpn/models/crypto.py:165 +#: vpn/models/crypto.py:165 msgid "IPSec proposals" msgstr "" -#: netbox/vpn/models/crypto.py:178 +#: vpn/models/crypto.py:178 msgid "Encryption and/or authentication algorithm must be defined" msgstr "" -#: netbox/vpn/models/crypto.py:210 +#: vpn/models/crypto.py:210 msgid "IPSec policies" msgstr "" -#: netbox/vpn/models/crypto.py:251 +#: vpn/models/crypto.py:251 msgid "IPSec profiles" msgstr "" -#: netbox/vpn/models/l2vpn.py:116 +#: vpn/models/l2vpn.py:116 msgid "L2VPN termination" msgstr "" -#: netbox/vpn/models/l2vpn.py:117 +#: vpn/models/l2vpn.py:117 msgid "L2VPN terminations" msgstr "" -#: netbox/vpn/models/l2vpn.py:135 +#: vpn/models/l2vpn.py:135 #, python-brace-format msgid "L2VPN Termination already assigned ({assigned_object})" msgstr "" -#: netbox/vpn/models/l2vpn.py:147 +#: vpn/models/l2vpn.py:147 #, python-brace-format msgid "" "{l2vpn_type} L2VPNs cannot have more than two terminations; found " "{terminations_count} already defined." msgstr "" -#: netbox/vpn/models/tunnels.py:26 +#: vpn/models/tunnels.py:26 msgid "tunnel group" msgstr "" -#: netbox/vpn/models/tunnels.py:27 +#: vpn/models/tunnels.py:27 msgid "tunnel groups" msgstr "" -#: netbox/vpn/models/tunnels.py:53 +#: vpn/models/tunnels.py:53 msgid "encapsulation" msgstr "" -#: netbox/vpn/models/tunnels.py:72 +#: vpn/models/tunnels.py:72 msgid "tunnel ID" msgstr "" -#: netbox/vpn/models/tunnels.py:94 +#: vpn/models/tunnels.py:94 msgid "tunnel" msgstr "" -#: netbox/vpn/models/tunnels.py:95 +#: vpn/models/tunnels.py:95 msgid "tunnels" msgstr "" -#: netbox/vpn/models/tunnels.py:153 +#: vpn/models/tunnels.py:153 msgid "An object may be terminated to only one tunnel at a time." msgstr "" -#: netbox/vpn/models/tunnels.py:156 +#: vpn/models/tunnels.py:156 msgid "tunnel termination" msgstr "" -#: netbox/vpn/models/tunnels.py:157 +#: vpn/models/tunnels.py:157 msgid "tunnel terminations" msgstr "" -#: netbox/vpn/models/tunnels.py:174 +#: vpn/models/tunnels.py:174 #, python-brace-format msgid "{name} is already attached to a tunnel ({tunnel})." msgstr "" -#: netbox/vpn/tables/crypto.py:22 +#: vpn/tables/crypto.py:22 msgid "Authentication Method" msgstr "" -#: netbox/vpn/tables/crypto.py:25 netbox/vpn/tables/crypto.py:97 +#: vpn/tables/crypto.py:25 vpn/tables/crypto.py:97 msgid "Encryption Algorithm" msgstr "" -#: netbox/vpn/tables/crypto.py:28 netbox/vpn/tables/crypto.py:100 +#: vpn/tables/crypto.py:28 vpn/tables/crypto.py:100 msgid "Authentication Algorithm" msgstr "" -#: netbox/vpn/tables/crypto.py:34 +#: vpn/tables/crypto.py:34 msgid "SA Lifetime" msgstr "" -#: netbox/vpn/tables/crypto.py:71 +#: vpn/tables/crypto.py:71 msgid "Pre-shared Key" msgstr "" -#: netbox/vpn/tables/crypto.py:103 +#: vpn/tables/crypto.py:103 msgid "SA Lifetime (Seconds)" msgstr "" -#: netbox/vpn/tables/crypto.py:106 +#: vpn/tables/crypto.py:106 msgid "SA Lifetime (KB)" msgstr "" -#: netbox/vpn/tables/l2vpn.py:69 +#: vpn/tables/l2vpn.py:69 msgid "Object Parent" msgstr "" -#: netbox/vpn/tables/l2vpn.py:74 +#: vpn/tables/l2vpn.py:74 msgid "Object Site" msgstr "" -#: netbox/wireless/choices.py:11 +#: wireless/choices.py:11 msgid "Access point" msgstr "" -#: netbox/wireless/choices.py:12 +#: wireless/choices.py:12 msgid "Station" msgstr "" -#: netbox/wireless/choices.py:467 +#: wireless/choices.py:467 msgid "Open" msgstr "" -#: netbox/wireless/choices.py:469 +#: wireless/choices.py:469 msgid "WPA Personal (PSK)" msgstr "" -#: netbox/wireless/choices.py:470 +#: wireless/choices.py:470 msgid "WPA Enterprise" msgstr "" -#: netbox/wireless/forms/bulk_edit.py:73 netbox/wireless/forms/bulk_edit.py:120 -#: netbox/wireless/forms/bulk_import.py:68 -#: netbox/wireless/forms/bulk_import.py:71 -#: netbox/wireless/forms/bulk_import.py:110 -#: netbox/wireless/forms/bulk_import.py:113 -#: netbox/wireless/forms/filtersets.py:59 -#: netbox/wireless/forms/filtersets.py:93 +#: 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:59 wireless/forms/filtersets.py:93 msgid "Authentication cipher" msgstr "" -#: netbox/wireless/forms/bulk_edit.py:134 -#: netbox/wireless/forms/bulk_import.py:116 -#: netbox/wireless/forms/bulk_import.py:119 -#: netbox/wireless/forms/filtersets.py:106 +#: wireless/forms/bulk_edit.py:134 wireless/forms/bulk_import.py:116 +#: wireless/forms/bulk_import.py:119 wireless/forms/filtersets.py:106 msgid "Distance unit" msgstr "" -#: netbox/wireless/forms/bulk_import.py:52 +#: wireless/forms/bulk_import.py:52 msgid "Bridged VLAN" msgstr "" -#: netbox/wireless/forms/bulk_import.py:89 -#: netbox/wireless/tables/wirelesslink.py:28 +#: wireless/forms/bulk_import.py:89 wireless/tables/wirelesslink.py:28 msgid "Interface A" msgstr "" -#: netbox/wireless/forms/bulk_import.py:93 -#: netbox/wireless/tables/wirelesslink.py:37 +#: wireless/forms/bulk_import.py:93 wireless/tables/wirelesslink.py:37 msgid "Interface B" msgstr "" -#: netbox/wireless/forms/model_forms.py:161 +#: wireless/forms/model_forms.py:161 msgid "Side B" msgstr "" -#: netbox/wireless/models.py:31 +#: wireless/models.py:31 msgid "authentication cipher" msgstr "" -#: netbox/wireless/models.py:69 +#: wireless/models.py:69 msgid "wireless LAN group" msgstr "" -#: netbox/wireless/models.py:70 +#: wireless/models.py:70 msgid "wireless LAN groups" msgstr "" -#: netbox/wireless/models.py:116 +#: wireless/models.py:116 msgid "wireless LAN" msgstr "" -#: netbox/wireless/models.py:144 +#: wireless/models.py:144 msgid "interface A" msgstr "" -#: netbox/wireless/models.py:151 +#: wireless/models.py:151 msgid "interface B" msgstr "" -#: netbox/wireless/models.py:165 +#: wireless/models.py:165 msgid "distance" msgstr "" -#: netbox/wireless/models.py:172 +#: wireless/models.py:172 msgid "distance unit" msgstr "" -#: netbox/wireless/models.py:219 +#: wireless/models.py:219 msgid "wireless link" msgstr "" -#: netbox/wireless/models.py:220 +#: wireless/models.py:220 msgid "wireless links" msgstr "" -#: netbox/wireless/models.py:236 +#: wireless/models.py:236 msgid "Must specify a unit when setting a wireless distance" msgstr "" -#: netbox/wireless/models.py:242 netbox/wireless/models.py:248 +#: wireless/models.py:242 wireless/models.py:248 #, python-brace-format msgid "{type} is not a wireless interface." msgstr "" -#: netbox/wireless/utils.py:16 +#: wireless/utils.py:16 #, python-brace-format msgid "Invalid channel value: {channel}" msgstr "" -#: netbox/wireless/utils.py:26 +#: wireless/utils.py:26 #, python-brace-format msgid "Invalid channel attribute: {name}" msgstr "" From 4f7bfc836c10008d4df51816e2dfcc2ad9e5accf Mon Sep 17 00:00:00 2001 From: bctiemann Date: Thu, 21 Nov 2024 11:51:30 -0500 Subject: [PATCH 24/26] Fixes: #17950 - Handle InvalidJobOperation error in job enqueueing test (#18062) * Wait until job1 exists in Redis before enqueueing job2 * Job can exist but not have status * Catch InvalidJobOperation and use as trigger for retry * Catch InvalidJobOperation when deleting/canceling job * Remove testing code --- netbox/core/models/jobs.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 3cfea3e2a..82bfd72c8 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -9,6 +9,7 @@ from django.db import models from django.urls import reverse from django.utils import timezone from django.utils.translation import gettext as _ +from rq.exceptions import InvalidJobOperation from core.choices import JobStatusChoices from core.models import ObjectType @@ -158,7 +159,11 @@ class Job(models.Model): job = queue.fetch_job(str(self.job_id)) if job: - job.cancel() + try: + job.cancel() + except InvalidJobOperation: + # Job may raise this exception from get_status() if missing from Redis + pass def start(self): """ From 6fb476081e877eff3c2d778d031ed84bdce630f9 Mon Sep 17 00:00:00 2001 From: bctiemann Date: Thu, 21 Nov 2024 12:32:24 -0500 Subject: [PATCH 25/26] Fixes: #17459 - Ensure help text on component create forms shows both bulk edit and substitution token instructions (#17931) * Move {module} substitution help text to main ComponentCreateForm.__init__ so it applies to all component types, and fix formatting * Simplify help text replacement string for component forms with 'module' field * Reuse help text string in both ComponentCreateForm and ModularComponentTemplateForm * Remove help text override from regular (direct) object creation of device components * Re-add space * Tweak help text --------- Co-authored-by: Jeremy Stretch --- netbox/dcim/forms/model_forms.py | 7 +++++++ netbox/dcim/forms/object_create.py | 8 -------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/netbox/dcim/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index 908312a8a..8f9c4227d 100644 --- a/netbox/dcim/forms/model_forms.py +++ b/netbox/dcim/forms/model_forms.py @@ -909,6 +909,13 @@ class ModularComponentTemplateForm(ComponentTemplateForm): if self.instance.pk: self.fields['module_type'].disabled = True + # Components attached to a module need to present this standardized substitution help text. + self.fields['name'].help_text = _( + "Alphanumeric ranges are supported for bulk creation. Mixed cases and types within a single range are not " + "supported (example: [ge,xe]-0/0/[0-9]). The token {module}, if present, will be " + "automatically replaced with the position value when creating a new module." + ) + class ConsolePortTemplateForm(ModularComponentTemplateForm): fieldsets = ( diff --git a/netbox/dcim/forms/object_create.py b/netbox/dcim/forms/object_create.py index d18c7ed14..85c613b8c 100644 --- a/netbox/dcim/forms/object_create.py +++ b/netbox/dcim/forms/object_create.py @@ -243,14 +243,6 @@ class InterfaceCreateForm(ComponentCreateForm, model_forms.InterfaceForm): class Meta(model_forms.InterfaceForm.Meta): exclude = ('name', 'label') - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - - if 'module' in self.fields: - self.fields['name'].help_text += _( - "The string {module} will be replaced with the position of the assigned module, if any." - ) - class FrontPortCreateForm(ComponentCreateForm, model_forms.FrontPortForm): device = DynamicModelChoiceField( From 3b3990a4e66bf0c43fc38127db331eb0ec1b4e0f Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 21 Nov 2024 13:18:52 -0500 Subject: [PATCH 26/26] Release v4.1.7 --- .../ISSUE_TEMPLATE/01-feature_request.yaml | 2 +- .github/ISSUE_TEMPLATE/02-bug_report.yaml | 2 +- contrib/generated_schema.json | 1 + docs/release-notes/version-4.1.md | 7 + netbox/release.yaml | 4 +- netbox/translations/cs/LC_MESSAGES/django.mo | Bin 229642 -> 229328 bytes netbox/translations/cs/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/da/LC_MESSAGES/django.mo | Bin 222459 -> 222153 bytes netbox/translations/da/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/de/LC_MESSAGES/django.mo | Bin 234158 -> 234250 bytes netbox/translations/de/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/es/LC_MESSAGES/django.mo | Bin 235950 -> 235650 bytes netbox/translations/es/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/fr/LC_MESSAGES/django.mo | Bin 238002 -> 237671 bytes netbox/translations/fr/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/it/LC_MESSAGES/django.mo | Bin 234190 -> 233875 bytes netbox/translations/it/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/ja/LC_MESSAGES/django.mo | Bin 251462 -> 251566 bytes netbox/translations/ja/LC_MESSAGES/django.po | 607 ++++---- netbox/translations/nl/LC_MESSAGES/django.mo | Bin 230234 -> 230015 bytes netbox/translations/nl/LC_MESSAGES/django.po | 606 ++++---- netbox/translations/pl/LC_MESSAGES/django.mo | Bin 231926 -> 231612 bytes netbox/translations/pl/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/pt/LC_MESSAGES/django.mo | Bin 232592 -> 232620 bytes netbox/translations/pt/LC_MESSAGES/django.po | 607 ++++---- netbox/translations/ru/LC_MESSAGES/django.mo | Bin 297746 -> 297341 bytes netbox/translations/ru/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/tr/LC_MESSAGES/django.mo | Bin 226590 -> 226285 bytes netbox/translations/tr/LC_MESSAGES/django.po | 603 ++++---- netbox/translations/uk/LC_MESSAGES/django.mo | Bin 297606 -> 298841 bytes netbox/translations/uk/LC_MESSAGES/django.po | 1359 +++++++++-------- netbox/translations/zh/LC_MESSAGES/django.mo | Bin 209410 -> 209120 bytes netbox/translations/zh/LC_MESSAGES/django.po | 601 ++++---- requirements.txt | 10 +- 34 files changed, 4818 insertions(+), 4415 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index 300d7ce6a..ec755cd0c 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.1.6 + placeholder: v4.1.7 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index 2b782a6cd..3ae3cbd33 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -39,7 +39,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.1.6 + placeholder: v4.1.7 validations: required: true - type: dropdown diff --git a/contrib/generated_schema.json b/contrib/generated_schema.json index 56ddee50e..639f0df8d 100644 --- a/contrib/generated_schema.json +++ b/contrib/generated_schema.json @@ -329,6 +329,7 @@ "100base-tx", "100base-t1", "1000base-t", + "1000base-lx", "1000base-tx", "2.5gbase-t", "5gbase-t", diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index b94374721..397741171 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -6,14 +6,21 @@ * [#15239](https://github.com/netbox-community/netbox/issues/15239) - Enable adding/removing individual VLANs while bulk editing device interfaces * [#17871](https://github.com/netbox-community/netbox/issues/17871) - Enable the assignment/removal of virtualization cluster via device bulk edit +* [#17934](https://github.com/netbox-community/netbox/issues/17934) - Add 1000Base-LX interface type +* [#18007](https://github.com/netbox-community/netbox/issues/18007) - Hide sensitive parameters under data source view (even for privileged users) ### Bug Fixes +* [#17459](https://github.com/netbox-community/netbox/issues/17459) - Correct help text on `name` field of module type component templates * [#17901](https://github.com/netbox-community/netbox/issues/17901) - Ensure GraphiQL UI resources are served locally +* [#17921](https://github.com/netbox-community/netbox/issues/17921) - Fix scheduling of recurring custom scripts +* [#17923](https://github.com/netbox-community/netbox/issues/17923) - Fix the execution of custom scripts via REST API & management command * [#17963](https://github.com/netbox-community/netbox/issues/17963) - Fix selection of all listed objects during bulk edit * [#17969](https://github.com/netbox-community/netbox/issues/17969) - Fix system info export when a config revision exists * [#17972](https://github.com/netbox-community/netbox/issues/17972) - Force evaluation of `LOGIN_REQUIRED` when requesting static media * [#17986](https://github.com/netbox-community/netbox/issues/17986) - Correct labels for virtual machine & virtual disk size properties +* [#18037](https://github.com/netbox-community/netbox/issues/18037) - Fix validation of maximum VLAN ID value when defining VLAN groups +* [#18038](https://github.com/netbox-community/netbox/issues/18038) - The `to_grams()` utility function should always return an integer value --- diff --git a/netbox/release.yaml b/netbox/release.yaml index b4811804f..fadb01274 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,3 +1,3 @@ -version: "4.1.6" +version: "4.1.7" edition: "Community" -published: "2024-10-31" +published: "2024-11-21" diff --git a/netbox/translations/cs/LC_MESSAGES/django.mo b/netbox/translations/cs/LC_MESSAGES/django.mo index df95c667cae851173482ebbe02dc15df2662c12d..2fb886a1ab78217ee732b25af5d87747e9585f23 100644 GIT binary patch delta 66008 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" msgstr "Přidán člen {device}" -#: dcim/views.py:3557 +#: dcim/views.py:3567 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "Nelze odebrat hlavní zařízení {device} z virtuálního podvozku." -#: dcim/views.py:3570 +#: dcim/views.py:3580 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "Odstraněno {device} z virtuálního šasi {chassis}" @@ -7513,19 +7531,19 @@ msgstr "Naplánujte spuštění skriptu na nastavený čas" msgid "Interval at which this script is re-run (in minutes)" msgstr "Interval, ve kterém je tento skript znovu spuštěn (v minutách)" -#: extras/jobs.py:49 +#: extras/jobs.py:47 msgid "Database changes have been reverted automatically." msgstr "Změny v databázi byly automaticky vráceny." -#: extras/jobs.py:55 +#: extras/jobs.py:53 msgid "Script aborted with error: " msgstr "Skript byl přerušen s chybou: " -#: extras/jobs.py:65 +#: extras/jobs.py:63 msgid "An exception occurred: " msgstr "Došlo k výjimce: " -#: extras/jobs.py:70 +#: extras/jobs.py:68 msgid "Database changes have been reverted due to error." msgstr "Změny databáze byly vráceny kvůli chybě." @@ -8833,7 +8851,7 @@ msgstr "Skupina VLAN" #: ipam/forms/bulk_edit.py:234 ipam/forms/bulk_import.py:185 #: ipam/forms/filtersets.py:256 ipam/forms/model_forms.py:218 -#: ipam/models/vlans.py:234 ipam/tables/ip.py:255 +#: ipam/models/vlans.py:250 ipam/tables/ip.py:255 #: templates/ipam/prefix.html:60 templates/ipam/vlan.html:12 #: templates/ipam/vlan/base.html:6 templates/ipam/vlan_edit.html:10 #: templates/wireless/wirelesslan.html:30 vpn/forms/bulk_import.py:304 @@ -9089,7 +9107,7 @@ msgstr "Přiřazeno k rozhraní" msgid "DNS Name" msgstr "Název DNS" -#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:235 ipam/tables/ip.py:176 +#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:251 ipam/tables/ip.py:176 #: ipam/tables/vlans.py:82 ipam/views.py:971 netbox/navigation/menu.py:193 #: netbox/navigation/menu.py:195 msgid "VLANs" @@ -9099,7 +9117,7 @@ msgstr "VLAN" msgid "Contains VLAN ID" msgstr "Obsahuje VLAN ID" -#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:176 +#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:192 #: templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "ID VLAN" @@ -9550,40 +9568,48 @@ msgstr "Nelze nastavit scope_type bez scope_id." msgid "Cannot set scope_id without scope_type." msgstr "Nelze nastavit scope_id bez scope_type." -#: ipam/models/vlans.py:101 +#: ipam/models/vlans.py:105 +#, python-brace-format +msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" +msgstr "" + +#: ipam/models/vlans.py:111 +#, python-brace-format +msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" +msgstr "" + +#: ipam/models/vlans.py:118 +#, python-brace-format +msgid "" +"Ending VLAN ID in range must be greater than or equal to the starting VLAN " +"ID ({range})" +msgstr "" + +#: ipam/models/vlans.py:124 msgid "Ranges cannot overlap." msgstr "Rozsahy se nemohou překrývat." -#: ipam/models/vlans.py:106 -#, python-brace-format -msgid "" -"Maximum child VID must be greater than or equal to minimum child VID " -"({value})" -msgstr "" -"Maximální dětský VID musí být větší nebo roven minimálnímu dětskému VID " -"({value})" - -#: ipam/models/vlans.py:165 +#: ipam/models/vlans.py:181 msgid "The specific site to which this VLAN is assigned (if any)" msgstr "Konkrétní místo, ke kterému je tato VLAN přiřazena (pokud existuje)" -#: ipam/models/vlans.py:173 +#: ipam/models/vlans.py:189 msgid "VLAN group (optional)" msgstr "Skupina VLAN (volitelné)" -#: ipam/models/vlans.py:181 +#: ipam/models/vlans.py:197 msgid "Numeric VLAN ID (1-4094)" msgstr "Numerické ID VLAN (1-4094)" -#: ipam/models/vlans.py:199 +#: ipam/models/vlans.py:215 msgid "Operational status of this VLAN" msgstr "Provozní stav této VLAN" -#: ipam/models/vlans.py:207 +#: ipam/models/vlans.py:223 msgid "The primary function of this VLAN" msgstr "Primární funkce této VLAN" -#: ipam/models/vlans.py:250 +#: ipam/models/vlans.py:266 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " @@ -9592,7 +9618,7 @@ msgstr "" "VLAN je přiřazena ke skupině {group} (oblast působnosti: {scope}); nelze " "také přiřadit k webu {site}." -#: ipam/models/vlans.py:259 +#: ipam/models/vlans.py:275 #, python-brace-format msgid "VID must be in ranges {ranges} for VLANs in group {group}" msgstr "VID musí být v rozmezí {ranges} pro sítě VLAN ve skupině {group}" @@ -10333,10 +10359,6 @@ msgstr "Zásady protokolu IPsec" msgid "IPSec Profiles" msgstr "Profily IPsec" -#: netbox/navigation/menu.py:243 templates/dcim/device_edit.html:78 -msgid "Virtualization" -msgstr "Virtualizace" - #: netbox/navigation/menu.py:251 #: templates/virtualization/virtualmachine.html:174 #: templates/virtualization/virtualmachine/base.html:32 @@ -10737,19 +10759,19 @@ msgstr "" msgid "Row {i}: Object with ID {id} does not exist" msgstr "Řádek {i}: Objekt s ID {id} neexistuje" -#: netbox/views/generic/bulk_views.py:702 -#: netbox/views/generic/bulk_views.py:900 -#: netbox/views/generic/bulk_views.py:948 +#: netbox/views/generic/bulk_views.py:709 +#: netbox/views/generic/bulk_views.py:907 +#: netbox/views/generic/bulk_views.py:955 #, python-brace-format msgid "No {object_type} were selected." msgstr "Ne {object_type} Byly vybrány." -#: netbox/views/generic/bulk_views.py:782 +#: netbox/views/generic/bulk_views.py:789 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "Přejmenováno {count} {object_type}" -#: netbox/views/generic/bulk_views.py:878 +#: netbox/views/generic/bulk_views.py:885 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "Vymazáno {count} {object_type}" @@ -10781,7 +10803,7 @@ msgstr "Synchronizováno {count} {object_type}" msgid "{class_name} must implement get_children()" msgstr "{class_name} musí implementovat get_children ()" -#: netbox/views/misc.py:44 +#: netbox/views/misc.py:46 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." @@ -12635,7 +12657,7 @@ msgid "You do not have permission to run scripts" msgstr "Nemáte oprávnění spouštět skripty" #: templates/extras/script.html:41 templates/extras/script.html:45 -#: templates/extras/script_list.html:86 +#: templates/extras/script_list.html:87 msgid "Run Script" msgstr "Spustit skript" @@ -12647,27 +12669,32 @@ msgstr "Chyba při načítání skriptu" msgid "Script no longer exists in the source file." msgstr "Skript již ve zdrojovém souboru neexistuje." -#: templates/extras/script_list.html:46 +#: templates/extras/script_list.html:47 msgid "Last Run" msgstr "Poslední běh" -#: templates/extras/script_list.html:61 +#: templates/extras/script_list.html:62 msgid "Script is no longer present in the source file" msgstr "Skript již není přítomen ve zdrojovém souboru" -#: templates/extras/script_list.html:74 +#: templates/extras/script_list.html:75 msgid "Never" msgstr "Nikdy" -#: templates/extras/script_list.html:84 +#: templates/extras/script_list.html:85 msgid "Run Again" msgstr "Spustit znovu" -#: templates/extras/script_list.html:138 +#: templates/extras/script_list.html:133 +#, python-format +msgid "Could not load scripts from module %(module)s" +msgstr "" + +#: templates/extras/script_list.html:141 msgid "No Scripts Found" msgstr "Nenalezeny žádné skripty" -#: templates/extras/script_list.html:141 +#: templates/extras/script_list.html:144 #, python-format msgid "" "Get started by creating a script from " @@ -14505,13 +14532,13 @@ msgid "Memory (MB)" msgstr "Paměť (MB)" #: virtualization/forms/bulk_edit.py:174 -msgid "Disk (GB)" -msgstr "Disk (GB)" +msgid "Disk (MB)" +msgstr "" #: virtualization/forms/bulk_edit.py:334 #: virtualization/forms/filtersets.py:251 -msgid "Size (GB)" -msgstr "Velikost (GB)" +msgid "Size (MB)" +msgstr "" #: virtualization/forms/bulk_import.py:44 msgid "Type of cluster" diff --git a/netbox/translations/da/LC_MESSAGES/django.mo b/netbox/translations/da/LC_MESSAGES/django.mo index 2390fc9f1eb8c75c17cb9e652bba6d7a8021c7c3..338255ed65af41400b36ff1bff5bad7fc67193f2 100644 GIT binary patch delta 66008 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%0A>I~6mag1%%BPv1a*SdK%JDkE*o8| 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 delta 66213 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%0DX}OW;4UM@WFBD?wp3cSYAg{x)zOmH~PcN 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 z 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 AJpcdz diff --git a/netbox/translations/da/LC_MESSAGES/django.po b/netbox/translations/da/LC_MESSAGES/django.po index e569dd86b..2ab752fd7 100644 --- a/netbox/translations/da/LC_MESSAGES/django.po +++ b/netbox/translations/da/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-10-28 19:20+0000\n" +"POT-Creation-Date: 2024-11-21 15:50+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Danish (https://app.transifex.com/netbox-community/teams/178115/da/)\n" @@ -85,8 +85,8 @@ msgid "Your password has been changed successfully." msgstr "Din adgangskode er blevet ændret." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:185 dcim/choices.py:237 dcim/choices.py:1530 -#: dcim/choices.py:1606 dcim/choices.py:1656 virtualization/choices.py:20 +#: dcim/choices.py:185 dcim/choices.py:237 dcim/choices.py:1532 +#: dcim/choices.py:1608 dcim/choices.py:1658 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "Planlagt" @@ -97,7 +97,7 @@ msgstr "Opretter" #: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22 #: dcim/choices.py:103 dcim/choices.py:184 dcim/choices.py:236 -#: dcim/choices.py:1605 dcim/choices.py:1655 extras/tables/tables.py:495 +#: dcim/choices.py:1607 dcim/choices.py:1657 extras/tables/tables.py:495 #: 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 @@ -107,7 +107,7 @@ msgid "Active" msgstr "Aktiv" #: circuits/choices.py:24 dcim/choices.py:183 dcim/choices.py:235 -#: dcim/choices.py:1604 dcim/choices.py:1657 virtualization/choices.py:24 +#: dcim/choices.py:1606 dcim/choices.py:1659 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "Offline" @@ -120,7 +120,7 @@ msgstr "Nedlægger" msgid "Decommissioned" msgstr "Nedlagt" -#: circuits/choices.py:90 dcim/choices.py:1617 tenancy/choices.py:17 +#: circuits/choices.py:90 dcim/choices.py:1619 tenancy/choices.py:17 msgid "Primary" msgstr "Primær" @@ -179,8 +179,8 @@ msgstr "Områdegruppe (slug)" #: circuits/forms/filtersets.py:51 circuits/forms/filtersets.py:171 #: circuits/forms/filtersets.py:209 circuits/forms/model_forms.py:138 #: circuits/forms/model_forms.py:154 circuits/tables/circuits.py:113 -#: dcim/forms/bulk_edit.py:168 dcim/forms/bulk_edit.py:329 -#: dcim/forms/bulk_edit.py:677 dcim/forms/bulk_edit.py:873 +#: dcim/forms/bulk_edit.py:169 dcim/forms/bulk_edit.py:330 +#: dcim/forms/bulk_edit.py:678 dcim/forms/bulk_edit.py:883 #: dcim/forms/bulk_import.py:131 dcim/forms/bulk_import.py:230 #: dcim/forms/bulk_import.py:309 dcim/forms/bulk_import.py:540 #: dcim/forms/bulk_import.py:1311 dcim/forms/bulk_import.py:1339 @@ -345,7 +345,7 @@ msgstr "Kredsløbsgruppe (slug)" #: circuits/forms/bulk_edit.py:30 circuits/forms/filtersets.py:56 #: circuits/forms/model_forms.py:29 circuits/tables/providers.py:33 -#: dcim/forms/bulk_edit.py:128 dcim/forms/filtersets.py:195 +#: dcim/forms/bulk_edit.py:129 dcim/forms/filtersets.py:195 #: dcim/forms/model_forms.py:123 dcim/tables/sites.py:94 #: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:213 #: netbox/navigation/menu.py:172 netbox/navigation/menu.py:175 @@ -357,21 +357,21 @@ msgstr "ASN'er" #: circuits/forms/bulk_edit.py:83 circuits/forms/bulk_edit.py:104 #: circuits/forms/bulk_edit.py:164 circuits/forms/bulk_edit.py:183 #: circuits/forms/bulk_edit.py:228 core/forms/bulk_edit.py:28 -#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:73 -#: dcim/forms/bulk_edit.py:92 dcim/forms/bulk_edit.py:151 -#: dcim/forms/bulk_edit.py:192 dcim/forms/bulk_edit.py:210 -#: dcim/forms/bulk_edit.py:288 dcim/forms/bulk_edit.py:432 -#: dcim/forms/bulk_edit.py:466 dcim/forms/bulk_edit.py:481 -#: dcim/forms/bulk_edit.py:540 dcim/forms/bulk_edit.py:584 -#: dcim/forms/bulk_edit.py:618 dcim/forms/bulk_edit.py:642 -#: dcim/forms/bulk_edit.py:715 dcim/forms/bulk_edit.py:767 -#: dcim/forms/bulk_edit.py:819 dcim/forms/bulk_edit.py:842 -#: dcim/forms/bulk_edit.py:890 dcim/forms/bulk_edit.py:960 -#: dcim/forms/bulk_edit.py:1013 dcim/forms/bulk_edit.py:1048 -#: dcim/forms/bulk_edit.py:1088 dcim/forms/bulk_edit.py:1132 -#: dcim/forms/bulk_edit.py:1177 dcim/forms/bulk_edit.py:1204 -#: dcim/forms/bulk_edit.py:1222 dcim/forms/bulk_edit.py:1240 -#: dcim/forms/bulk_edit.py:1258 dcim/forms/bulk_edit.py:1682 +#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:74 +#: dcim/forms/bulk_edit.py:93 dcim/forms/bulk_edit.py:152 +#: dcim/forms/bulk_edit.py:193 dcim/forms/bulk_edit.py:211 +#: dcim/forms/bulk_edit.py:289 dcim/forms/bulk_edit.py:433 +#: dcim/forms/bulk_edit.py:467 dcim/forms/bulk_edit.py:482 +#: dcim/forms/bulk_edit.py:541 dcim/forms/bulk_edit.py:585 +#: dcim/forms/bulk_edit.py:619 dcim/forms/bulk_edit.py:643 +#: dcim/forms/bulk_edit.py:716 dcim/forms/bulk_edit.py:777 +#: dcim/forms/bulk_edit.py:829 dcim/forms/bulk_edit.py:852 +#: dcim/forms/bulk_edit.py:900 dcim/forms/bulk_edit.py:970 +#: dcim/forms/bulk_edit.py:1023 dcim/forms/bulk_edit.py:1058 +#: dcim/forms/bulk_edit.py:1098 dcim/forms/bulk_edit.py:1142 +#: dcim/forms/bulk_edit.py:1187 dcim/forms/bulk_edit.py:1214 +#: dcim/forms/bulk_edit.py:1232 dcim/forms/bulk_edit.py:1250 +#: dcim/forms/bulk_edit.py:1268 dcim/forms/bulk_edit.py:1720 #: extras/forms/bulk_edit.py:39 extras/forms/bulk_edit.py:149 #: extras/forms/bulk_edit.py:178 extras/forms/bulk_edit.py:208 #: extras/forms/bulk_edit.py:256 extras/forms/bulk_edit.py:274 @@ -412,7 +412,7 @@ msgstr "ASN'er" #: templates/extras/dashboard/widget_add.html:14 #: templates/extras/eventrule.html:21 templates/extras/exporttemplate.html:19 #: templates/extras/notificationgroup.html:20 -#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:45 +#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:46 #: 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 @@ -479,9 +479,9 @@ msgid "Service ID" msgstr "Tjeneste-id" #: circuits/forms/bulk_edit.py:100 circuits/forms/filtersets.py:107 -#: dcim/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:604 -#: dcim/forms/bulk_edit.py:804 dcim/forms/bulk_edit.py:1173 -#: dcim/forms/bulk_edit.py:1200 dcim/forms/bulk_edit.py:1678 +#: dcim/forms/bulk_edit.py:207 dcim/forms/bulk_edit.py:605 +#: dcim/forms/bulk_edit.py:814 dcim/forms/bulk_edit.py:1183 +#: dcim/forms/bulk_edit.py:1210 dcim/forms/bulk_edit.py:1716 #: dcim/forms/filtersets.py:1064 dcim/forms/filtersets.py:1455 #: dcim/forms/filtersets.py:1479 dcim/tables/devices.py:704 #: dcim/tables/devices.py:761 dcim/tables/devices.py:1003 @@ -498,11 +498,11 @@ msgstr "Farve" #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:87 #: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:18 #: core/forms/filtersets.py:33 core/tables/change_logging.py:32 -#: core/tables/data.py:20 core/tables/jobs.py:18 dcim/forms/bulk_edit.py:782 -#: dcim/forms/bulk_edit.py:921 dcim/forms/bulk_edit.py:989 -#: dcim/forms/bulk_edit.py:1008 dcim/forms/bulk_edit.py:1031 -#: dcim/forms/bulk_edit.py:1073 dcim/forms/bulk_edit.py:1117 -#: dcim/forms/bulk_edit.py:1168 dcim/forms/bulk_edit.py:1195 +#: core/tables/data.py:20 core/tables/jobs.py:18 dcim/forms/bulk_edit.py:792 +#: dcim/forms/bulk_edit.py:931 dcim/forms/bulk_edit.py:999 +#: dcim/forms/bulk_edit.py:1018 dcim/forms/bulk_edit.py:1041 +#: dcim/forms/bulk_edit.py:1083 dcim/forms/bulk_edit.py:1127 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/bulk_edit.py:1205 #: dcim/forms/bulk_import.py:188 dcim/forms/bulk_import.py:260 #: dcim/forms/bulk_import.py:708 dcim/forms/bulk_import.py:734 #: dcim/forms/bulk_import.py:760 dcim/forms/bulk_import.py:780 @@ -547,11 +547,11 @@ msgstr "Leverandørkonto" #: circuits/forms/bulk_edit.py:136 circuits/forms/bulk_import.py:93 #: circuits/forms/filtersets.py:150 core/forms/filtersets.py:38 #: core/forms/filtersets.py:79 core/tables/data.py:23 core/tables/jobs.py:26 -#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:106 -#: dcim/forms/bulk_edit.py:181 dcim/forms/bulk_edit.py:351 -#: dcim/forms/bulk_edit.py:700 dcim/forms/bulk_edit.py:756 -#: dcim/forms/bulk_edit.py:788 dcim/forms/bulk_edit.py:915 -#: dcim/forms/bulk_edit.py:1701 dcim/forms/bulk_import.py:88 +#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:107 +#: dcim/forms/bulk_edit.py:182 dcim/forms/bulk_edit.py:352 +#: dcim/forms/bulk_edit.py:701 dcim/forms/bulk_edit.py:766 +#: dcim/forms/bulk_edit.py:798 dcim/forms/bulk_edit.py:925 +#: dcim/forms/bulk_edit.py:1739 dcim/forms/bulk_import.py:88 #: dcim/forms/bulk_import.py:147 dcim/forms/bulk_import.py:248 #: dcim/forms/bulk_import.py:505 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:1207 dcim/forms/bulk_import.py:1371 @@ -578,7 +578,7 @@ msgstr "Leverandørkonto" #: templates/dcim/device.html:178 templates/dcim/location.html:45 #: templates/dcim/module.html:69 templates/dcim/powerfeed.html:36 #: templates/dcim/rack.html:41 templates/dcim/site.html:43 -#: templates/extras/script_list.html:47 templates/ipam/ipaddress.html:37 +#: templates/extras/script_list.html:48 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 @@ -603,10 +603,10 @@ msgstr "Status" #: circuits/forms/bulk_edit.py:142 circuits/forms/bulk_edit.py:233 #: circuits/forms/bulk_import.py:98 circuits/forms/bulk_import.py:158 #: circuits/forms/filtersets.py:119 circuits/forms/filtersets.py:241 -#: dcim/forms/bulk_edit.py:122 dcim/forms/bulk_edit.py:187 -#: dcim/forms/bulk_edit.py:346 dcim/forms/bulk_edit.py:461 -#: dcim/forms/bulk_edit.py:690 dcim/forms/bulk_edit.py:794 -#: dcim/forms/bulk_edit.py:1706 dcim/forms/bulk_import.py:107 +#: dcim/forms/bulk_edit.py:123 dcim/forms/bulk_edit.py:188 +#: dcim/forms/bulk_edit.py:347 dcim/forms/bulk_edit.py:462 +#: dcim/forms/bulk_edit.py:691 dcim/forms/bulk_edit.py:804 +#: dcim/forms/bulk_edit.py:1744 dcim/forms/bulk_import.py:107 #: dcim/forms/bulk_import.py:152 dcim/forms/bulk_import.py:241 #: dcim/forms/bulk_import.py:334 dcim/forms/bulk_import.py:479 #: dcim/forms/bulk_import.py:1219 dcim/forms/bulk_import.py:1428 @@ -710,11 +710,11 @@ msgstr "Porthastighed (Kbps)" msgid "Upstream speed (Kbps)" msgstr "Opstrøms hastighed (Kbps)" -#: circuits/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_edit.py:1315 dcim/forms/bulk_edit.py:1332 -#: dcim/forms/bulk_edit.py:1349 dcim/forms/bulk_edit.py:1367 -#: dcim/forms/bulk_edit.py:1455 dcim/forms/bulk_edit.py:1594 -#: dcim/forms/bulk_edit.py:1611 +#: circuits/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:961 +#: dcim/forms/bulk_edit.py:1325 dcim/forms/bulk_edit.py:1342 +#: dcim/forms/bulk_edit.py:1359 dcim/forms/bulk_edit.py:1377 +#: dcim/forms/bulk_edit.py:1472 dcim/forms/bulk_edit.py:1632 +#: dcim/forms/bulk_edit.py:1649 msgid "Mark connected" msgstr "Marker tilsluttet" @@ -792,9 +792,9 @@ msgid "Provider network" msgstr "Leverandørnetværk" #: circuits/forms/filtersets.py:30 circuits/forms/filtersets.py:118 -#: circuits/forms/filtersets.py:200 dcim/forms/bulk_edit.py:338 -#: dcim/forms/bulk_edit.py:441 dcim/forms/bulk_edit.py:682 -#: dcim/forms/bulk_edit.py:729 dcim/forms/bulk_edit.py:882 +#: circuits/forms/filtersets.py:200 dcim/forms/bulk_edit.py:339 +#: dcim/forms/bulk_edit.py:442 dcim/forms/bulk_edit.py:683 +#: dcim/forms/bulk_edit.py:738 dcim/forms/bulk_edit.py:892 #: dcim/forms/bulk_import.py:235 dcim/forms/bulk_import.py:315 #: dcim/forms/bulk_import.py:546 dcim/forms/bulk_import.py:1317 #: dcim/forms/bulk_import.py:1351 dcim/forms/filtersets.py:95 @@ -841,8 +841,8 @@ msgid "Contacts" msgstr "Kontakter" #: circuits/forms/filtersets.py:37 circuits/forms/filtersets.py:157 -#: dcim/forms/bulk_edit.py:112 dcim/forms/bulk_edit.py:313 -#: dcim/forms/bulk_edit.py:857 dcim/forms/bulk_import.py:93 +#: dcim/forms/bulk_edit.py:113 dcim/forms/bulk_edit.py:314 +#: dcim/forms/bulk_edit.py:867 dcim/forms/bulk_import.py:93 #: dcim/forms/filtersets.py:73 dcim/forms/filtersets.py:185 #: dcim/forms/filtersets.py:211 dcim/forms/filtersets.py:334 #: dcim/forms/filtersets.py:425 dcim/forms/filtersets.py:739 @@ -865,7 +865,7 @@ msgid "Region" msgstr "Regionen" #: circuits/forms/filtersets.py:42 circuits/forms/filtersets.py:162 -#: dcim/forms/bulk_edit.py:321 dcim/forms/bulk_edit.py:865 +#: dcim/forms/bulk_edit.py:322 dcim/forms/bulk_edit.py:875 #: dcim/forms/filtersets.py:78 dcim/forms/filtersets.py:190 #: dcim/forms/filtersets.py:216 dcim/forms/filtersets.py:347 #: dcim/forms/filtersets.py:430 dcim/forms/filtersets.py:744 @@ -883,7 +883,7 @@ msgstr "Områdegruppe" #: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 #: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 #: core/forms/filtersets.py:67 core/forms/filtersets.py:135 -#: dcim/forms/bulk_edit.py:828 dcim/forms/filtersets.py:172 +#: dcim/forms/bulk_edit.py:838 dcim/forms/filtersets.py:172 #: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:915 #: dcim/forms/filtersets.py:1007 dcim/forms/filtersets.py:1131 #: dcim/forms/filtersets.py:1239 dcim/forms/filtersets.py:1263 @@ -918,16 +918,17 @@ msgstr "Konto" msgid "Term Side" msgstr "Termside" -#: circuits/forms/filtersets.py:250 extras/forms/model_forms.py:582 -#: ipam/forms/filtersets.py:142 ipam/forms/filtersets.py:546 -#: ipam/forms/model_forms.py:323 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 +#: circuits/forms/filtersets.py:250 dcim/forms/bulk_edit.py:1552 +#: extras/forms/model_forms.py:582 ipam/forms/filtersets.py:142 +#: ipam/forms/filtersets.py:546 ipam/forms/model_forms.py:323 +#: 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 "Opgave" #: circuits/forms/filtersets.py:265 circuits/forms/model_forms.py:195 -#: circuits/tables/circuits.py:155 dcim/forms/bulk_edit.py:117 +#: circuits/tables/circuits.py:155 dcim/forms/bulk_edit.py:118 #: dcim/forms/bulk_import.py:100 dcim/forms/model_forms.py:117 #: dcim/tables/sites.py:89 extras/forms/filtersets.py:480 #: ipam/filtersets.py:999 ipam/forms/bulk_edit.py:493 @@ -993,7 +994,7 @@ msgstr "Unikt kredsløbs-ID" #: dcim/models/devices.py:1173 dcim/models/devices.py:1399 #: dcim/models/power.py:96 dcim/models/racks.py:297 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:253 ipam/models/ip.py:522 -#: ipam/models/ip.py:730 ipam/models/vlans.py:195 +#: ipam/models/ip.py:730 ipam/models/vlans.py:211 #: virtualization/models/clusters.py:74 #: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40 #: wireless/models.py:95 wireless/models.py:159 @@ -1132,7 +1133,7 @@ msgstr "" #: extras/models/notifications.py:126 extras/models/scripts.py:30 #: 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:36 ipam/models/vlans.py:184 ipam/models/vrfs.py:22 +#: ipam/models/vlans.py:36 ipam/models/vlans.py:200 ipam/models/vrfs.py:22 #: ipam/models/vrfs.py:79 netbox/models/__init__.py:137 #: netbox/models/__init__.py:181 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 @@ -1243,7 +1244,7 @@ msgstr "leverandørnetværk" #: templates/extras/customfield.html:13 templates/extras/customlink.html:13 #: templates/extras/eventrule.html:13 templates/extras/exporttemplate.html:15 #: templates/extras/notificationgroup.html:14 -#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:44 +#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:45 #: 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 @@ -1380,7 +1381,7 @@ msgstr "Afsluttet" #: core/choices.py:22 core/choices.py:59 core/constants.py:20 #: core/tables/tasks.py:34 dcim/choices.py:187 dcim/choices.py:239 -#: dcim/choices.py:1607 virtualization/choices.py:47 +#: dcim/choices.py:1609 virtualization/choices.py:47 msgid "Failed" msgstr "Mislykkedes" @@ -1527,8 +1528,8 @@ msgid "User name" msgstr "Brugernavn" #: core/forms/bulk_edit.py:25 core/forms/filtersets.py:43 -#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1122 -#: dcim/forms/bulk_edit.py:1400 dcim/forms/filtersets.py:1370 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1132 +#: dcim/forms/bulk_edit.py:1410 dcim/forms/filtersets.py:1370 #: dcim/tables/devices.py:553 dcim/tables/devicetypes.py:224 #: extras/forms/bulk_edit.py:123 extras/forms/bulk_edit.py:187 #: extras/forms/bulk_edit.py:246 extras/forms/filtersets.py:142 @@ -1628,7 +1629,7 @@ msgid "Completed before" msgstr "Færdiggjort før" #: core/forms/filtersets.py:126 core/forms/filtersets.py:155 -#: dcim/forms/bulk_edit.py:456 dcim/forms/filtersets.py:418 +#: dcim/forms/bulk_edit.py:457 dcim/forms/filtersets.py:418 #: dcim/forms/filtersets.py:462 dcim/forms/model_forms.py:316 #: extras/forms/filtersets.py:456 extras/forms/filtersets.py:475 #: extras/tables/tables.py:302 extras/tables/tables.py:342 @@ -1688,9 +1689,9 @@ msgstr "Skal uploade en fil eller vælge en datafil, der skal synkroniseres" msgid "Rack Elevations" msgstr "Rackhøjder" -#: core/forms/model_forms.py:157 dcim/choices.py:1518 -#: dcim/forms/bulk_edit.py:969 dcim/forms/bulk_edit.py:1357 -#: dcim/forms/bulk_edit.py:1375 dcim/tables/racks.py:158 +#: core/forms/model_forms.py:157 dcim/choices.py:1520 +#: dcim/forms/bulk_edit.py:979 dcim/forms/bulk_edit.py:1367 +#: dcim/forms/bulk_edit.py:1385 dcim/tables/racks.py:158 #: netbox/navigation/menu.py:291 netbox/navigation/menu.py:295 msgid "Power" msgstr "Strøm" @@ -2221,11 +2222,11 @@ msgstr "Job {id} er blevet stoppet." msgid "Failed to stop job {id}" msgstr "Det lykkedes ikke at stoppe jobbet {id}" -#: core/views.py:678 +#: core/views.py:674 msgid "Plugins catalog could not be loaded" msgstr "Plugin-kataloget kunne ikke indlæses" -#: core/views.py:712 +#: core/views.py:708 #, python-brace-format msgid "Plugin {name} not found" msgstr "Plugin {name} ikke fundet" @@ -2243,7 +2244,7 @@ msgid "Staging" msgstr "Iscenesættelse" #: dcim/choices.py:23 dcim/choices.py:189 dcim/choices.py:240 -#: dcim/choices.py:1531 virtualization/choices.py:23 +#: dcim/choices.py:1533 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "Nedlæggelse" @@ -2303,7 +2304,7 @@ msgstr "Forældet" msgid "Millimeters" msgstr "Millimeter" -#: dcim/choices.py:115 dcim/choices.py:1553 +#: dcim/choices.py:115 dcim/choices.py:1555 msgid "Inches" msgstr "Tommer" @@ -2315,8 +2316,8 @@ msgstr "Foran til bag" msgid "Rear to front" msgstr "Bagsiden til forsiden" -#: dcim/choices.py:151 dcim/forms/bulk_edit.py:68 dcim/forms/bulk_edit.py:87 -#: dcim/forms/bulk_edit.py:173 dcim/forms/bulk_edit.py:1405 +#: dcim/choices.py:151 dcim/forms/bulk_edit.py:69 dcim/forms/bulk_edit.py:88 +#: dcim/forms/bulk_edit.py:174 dcim/forms/bulk_edit.py:1415 #: dcim/forms/bulk_import.py:60 dcim/forms/bulk_import.py:74 #: dcim/forms/bulk_import.py:137 dcim/forms/bulk_import.py:566 #: dcim/forms/bulk_import.py:833 dcim/forms/bulk_import.py:1088 @@ -2390,7 +2391,7 @@ msgstr "Bund til top" msgid "Top to bottom" msgstr "Top til bund" -#: dcim/choices.py:215 dcim/choices.py:259 dcim/choices.py:1303 +#: dcim/choices.py:215 dcim/choices.py:259 dcim/choices.py:1305 msgid "Passive" msgstr "Passiv" @@ -2418,8 +2419,8 @@ msgstr "International/ITA" msgid "Proprietary" msgstr "Proprietær" -#: dcim/choices.py:581 dcim/choices.py:824 dcim/choices.py:1219 -#: dcim/choices.py:1221 dcim/choices.py:1447 dcim/choices.py:1449 +#: dcim/choices.py:581 dcim/choices.py:824 dcim/choices.py:1221 +#: dcim/choices.py:1223 dcim/choices.py:1449 dcim/choices.py:1451 #: netbox/navigation/menu.py:200 msgid "Other" msgstr "Andet" @@ -2432,22 +2433,22 @@ msgstr "ITA/International" msgid "Physical" msgstr "Fysisk" -#: dcim/choices.py:855 dcim/choices.py:1023 +#: dcim/choices.py:855 dcim/choices.py:1024 msgid "Virtual" msgstr "Virtuel" -#: dcim/choices.py:856 dcim/choices.py:1097 dcim/forms/bulk_edit.py:1515 +#: dcim/choices.py:856 dcim/choices.py:1099 dcim/forms/bulk_edit.py:1558 #: dcim/forms/filtersets.py:1330 dcim/forms/model_forms.py:988 #: dcim/forms/model_forms.py:1397 netbox/navigation/menu.py:140 #: netbox/navigation/menu.py:144 templates/dcim/interface.html:210 msgid "Wireless" msgstr "Trådløs" -#: dcim/choices.py:1021 +#: dcim/choices.py:1022 msgid "Virtual interfaces" msgstr "Virtuelle grænseflader" -#: dcim/choices.py:1024 dcim/forms/bulk_edit.py:1410 +#: dcim/choices.py:1025 dcim/forms/bulk_edit.py:1423 #: dcim/forms/bulk_import.py:840 dcim/forms/model_forms.py:974 #: dcim/tables/devices.py:660 templates/dcim/interface.html:106 #: templates/virtualization/vminterface.html:43 @@ -2457,155 +2458,155 @@ msgstr "Virtuelle grænseflader" msgid "Bridge" msgstr "Bro" -#: dcim/choices.py:1025 +#: dcim/choices.py:1026 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation Group (LAG)" -#: dcim/choices.py:1029 +#: dcim/choices.py:1030 msgid "Ethernet (fixed)" msgstr "Ethernet (fast)" -#: dcim/choices.py:1044 +#: dcim/choices.py:1046 msgid "Ethernet (modular)" msgstr "Ethernet (modulopbygget)" -#: dcim/choices.py:1081 +#: dcim/choices.py:1083 msgid "Ethernet (backplane)" msgstr "Ethernet (bagplan)" -#: dcim/choices.py:1113 +#: dcim/choices.py:1115 msgid "Cellular" msgstr "Cellulær" -#: dcim/choices.py:1165 dcim/forms/filtersets.py:383 +#: dcim/choices.py:1167 dcim/forms/filtersets.py:383 #: dcim/forms/filtersets.py:809 dcim/forms/filtersets.py:963 #: dcim/forms/filtersets.py:1542 templates/dcim/inventoryitem.html:52 #: templates/dcim/virtualchassis_edit.html:54 msgid "Serial" msgstr "Seriel" -#: dcim/choices.py:1180 +#: dcim/choices.py:1182 msgid "Coaxial" msgstr "Koaksial" -#: dcim/choices.py:1200 +#: dcim/choices.py:1202 msgid "Stacking" msgstr "Stabling" -#: dcim/choices.py:1250 +#: dcim/choices.py:1252 msgid "Half" msgstr "Halvdelen" -#: dcim/choices.py:1251 +#: dcim/choices.py:1253 msgid "Full" msgstr "Fuld" -#: dcim/choices.py:1252 netbox/preferences.py:31 wireless/choices.py:480 +#: dcim/choices.py:1254 netbox/preferences.py:31 wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: dcim/choices.py:1263 +#: dcim/choices.py:1265 msgid "Access" msgstr "Adgang" -#: dcim/choices.py:1264 ipam/tables/vlans.py:172 ipam/tables/vlans.py:217 +#: dcim/choices.py:1266 ipam/tables/vlans.py:172 ipam/tables/vlans.py:217 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Markeret" -#: dcim/choices.py:1265 +#: dcim/choices.py:1267 msgid "Tagged (All)" msgstr "Tagget (Alle)" -#: dcim/choices.py:1294 +#: dcim/choices.py:1296 msgid "IEEE Standard" msgstr "IEEE-standard" -#: dcim/choices.py:1305 +#: dcim/choices.py:1307 msgid "Passive 24V (2-pair)" msgstr "Passiv 24V (2-par)" -#: dcim/choices.py:1306 +#: dcim/choices.py:1308 msgid "Passive 24V (4-pair)" msgstr "Passiv 24V (4-par)" -#: dcim/choices.py:1307 +#: dcim/choices.py:1309 msgid "Passive 48V (2-pair)" msgstr "Passiv 48V (2-par)" -#: dcim/choices.py:1308 +#: dcim/choices.py:1310 msgid "Passive 48V (4-pair)" msgstr "Passiv 48V (4-par)" -#: dcim/choices.py:1378 dcim/choices.py:1488 +#: dcim/choices.py:1380 dcim/choices.py:1490 msgid "Copper" msgstr "Kobber" -#: dcim/choices.py:1401 +#: dcim/choices.py:1403 msgid "Fiber Optic" msgstr "Fiberoptisk" -#: dcim/choices.py:1434 dcim/choices.py:1517 +#: dcim/choices.py:1436 dcim/choices.py:1519 msgid "USB" msgstr "USB" -#: dcim/choices.py:1504 +#: dcim/choices.py:1506 msgid "Fiber" msgstr "Fiber" -#: dcim/choices.py:1529 dcim/forms/filtersets.py:1227 +#: dcim/choices.py:1531 dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Tilsluttet" -#: dcim/choices.py:1548 wireless/choices.py:497 +#: dcim/choices.py:1550 wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometer" -#: dcim/choices.py:1549 templates/dcim/cable_trace.html:65 +#: dcim/choices.py:1551 templates/dcim/cable_trace.html:65 #: wireless/choices.py:498 msgid "Meters" msgstr "Meter" -#: dcim/choices.py:1550 +#: dcim/choices.py:1552 msgid "Centimeters" msgstr "Centimeter" -#: dcim/choices.py:1551 wireless/choices.py:499 +#: dcim/choices.py:1553 wireless/choices.py:499 msgid "Miles" msgstr "Mil" -#: dcim/choices.py:1552 templates/dcim/cable_trace.html:66 +#: dcim/choices.py:1554 templates/dcim/cable_trace.html:66 #: wireless/choices.py:500 msgid "Feet" msgstr "Fod" -#: dcim/choices.py:1568 templates/dcim/device.html:327 +#: dcim/choices.py:1570 templates/dcim/device.html:327 #: templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogram" -#: dcim/choices.py:1569 +#: dcim/choices.py:1571 msgid "Grams" msgstr "Gram" -#: dcim/choices.py:1570 templates/dcim/device.html:328 +#: dcim/choices.py:1572 templates/dcim/device.html:328 #: templates/dcim/rack.html:108 msgid "Pounds" msgstr "pund" -#: dcim/choices.py:1571 +#: dcim/choices.py:1573 msgid "Ounces" msgstr "Ounce" -#: dcim/choices.py:1618 +#: dcim/choices.py:1620 msgid "Redundant" msgstr "Redundant" -#: dcim/choices.py:1639 +#: dcim/choices.py:1641 msgid "Single phase" msgstr "Enkeltfase" -#: dcim/choices.py:1640 +#: dcim/choices.py:1642 msgid "Three-phase" msgstr "Trefaset" @@ -2838,7 +2839,7 @@ msgstr "Klyngegruppe (ID)" msgid "Device model (slug)" msgstr "Enhedsmodel (slug)" -#: dcim/filtersets.py:1099 dcim/forms/bulk_edit.py:516 +#: dcim/filtersets.py:1099 dcim/forms/bulk_edit.py:517 msgid "Is full depth" msgstr "Er fuld dybde" @@ -2954,7 +2955,7 @@ msgstr "Tildelt VLAN" msgid "Assigned VID" msgstr "Tildelt VID" -#: dcim/filtersets.py:1613 dcim/forms/bulk_edit.py:1489 +#: dcim/filtersets.py:1613 dcim/forms/bulk_edit.py:1526 #: dcim/forms/bulk_import.py:891 dcim/forms/filtersets.py:1428 #: dcim/forms/model_forms.py:1378 dcim/models/device_components.py:711 #: dcim/tables/devices.py:626 ipam/filtersets.py:316 ipam/filtersets.py:327 @@ -3115,27 +3116,27 @@ msgstr "" "Alfanumeriske intervaller understøttes. (Skal svare til antallet af navne, " "der oprettes.)" -#: dcim/forms/bulk_edit.py:132 +#: dcim/forms/bulk_edit.py:133 msgid "Contact name" msgstr "Kontaktens navn" -#: dcim/forms/bulk_edit.py:137 +#: dcim/forms/bulk_edit.py:138 msgid "Contact phone" msgstr "Kontakt telefon" -#: dcim/forms/bulk_edit.py:143 +#: dcim/forms/bulk_edit.py:144 msgid "Contact E-mail" msgstr "Kontakt E-mail" -#: dcim/forms/bulk_edit.py:146 dcim/forms/bulk_import.py:123 +#: dcim/forms/bulk_edit.py:147 dcim/forms/bulk_import.py:123 #: dcim/forms/model_forms.py:128 msgid "Time zone" msgstr "Tidszone" -#: dcim/forms/bulk_edit.py:224 dcim/forms/bulk_edit.py:495 -#: dcim/forms/bulk_edit.py:559 dcim/forms/bulk_edit.py:632 -#: dcim/forms/bulk_edit.py:656 dcim/forms/bulk_edit.py:740 -#: dcim/forms/bulk_edit.py:1267 dcim/forms/bulk_edit.py:1660 +#: dcim/forms/bulk_edit.py:225 dcim/forms/bulk_edit.py:496 +#: dcim/forms/bulk_edit.py:560 dcim/forms/bulk_edit.py:633 +#: dcim/forms/bulk_edit.py:657 dcim/forms/bulk_edit.py:750 +#: dcim/forms/bulk_edit.py:1277 dcim/forms/bulk_edit.py:1698 #: dcim/forms/bulk_import.py:182 dcim/forms/bulk_import.py:371 #: dcim/forms/bulk_import.py:405 dcim/forms/bulk_import.py:450 #: dcim/forms/bulk_import.py:486 dcim/forms/bulk_import.py:1082 @@ -3158,51 +3159,51 @@ msgstr "Tidszone" msgid "Manufacturer" msgstr "Producent" -#: dcim/forms/bulk_edit.py:229 dcim/forms/bulk_edit.py:372 +#: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:373 #: dcim/forms/bulk_import.py:191 dcim/forms/bulk_import.py:263 #: dcim/forms/filtersets.py:255 #: templates/dcim/inc/panels/racktype_dimensions.html:6 msgid "Form factor" msgstr "Formfaktor" -#: dcim/forms/bulk_edit.py:234 dcim/forms/bulk_edit.py:377 +#: dcim/forms/bulk_edit.py:235 dcim/forms/bulk_edit.py:378 #: dcim/forms/bulk_import.py:199 dcim/forms/bulk_import.py:266 #: dcim/forms/filtersets.py:260 #: templates/dcim/inc/panels/racktype_dimensions.html:10 msgid "Width" msgstr "Bredde" -#: dcim/forms/bulk_edit.py:240 dcim/forms/bulk_edit.py:383 +#: dcim/forms/bulk_edit.py:241 dcim/forms/bulk_edit.py:384 #: templates/dcim/devicetype.html:37 msgid "Height (U)" msgstr "Højde (U)" -#: dcim/forms/bulk_edit.py:249 dcim/forms/bulk_edit.py:388 +#: dcim/forms/bulk_edit.py:250 dcim/forms/bulk_edit.py:389 #: dcim/forms/filtersets.py:274 msgid "Descending units" msgstr "Faldende enheder" -#: dcim/forms/bulk_edit.py:252 dcim/forms/bulk_edit.py:391 +#: dcim/forms/bulk_edit.py:253 dcim/forms/bulk_edit.py:392 msgid "Outer width" msgstr "Udvendig bredde" -#: dcim/forms/bulk_edit.py:257 dcim/forms/bulk_edit.py:396 +#: dcim/forms/bulk_edit.py:258 dcim/forms/bulk_edit.py:397 msgid "Outer depth" msgstr "Ydre dybde" -#: dcim/forms/bulk_edit.py:262 dcim/forms/bulk_edit.py:401 +#: dcim/forms/bulk_edit.py:263 dcim/forms/bulk_edit.py:402 #: dcim/forms/bulk_import.py:204 dcim/forms/bulk_import.py:271 msgid "Outer unit" msgstr "Ydre enhed" -#: dcim/forms/bulk_edit.py:267 dcim/forms/bulk_edit.py:406 +#: dcim/forms/bulk_edit.py:268 dcim/forms/bulk_edit.py:407 msgid "Mounting depth" msgstr "Monteringsdybde" -#: dcim/forms/bulk_edit.py:272 dcim/forms/bulk_edit.py:299 -#: dcim/forms/bulk_edit.py:416 dcim/forms/bulk_edit.py:446 -#: dcim/forms/bulk_edit.py:529 dcim/forms/bulk_edit.py:552 -#: dcim/forms/bulk_edit.py:573 dcim/forms/bulk_edit.py:595 +#: dcim/forms/bulk_edit.py:273 dcim/forms/bulk_edit.py:300 +#: dcim/forms/bulk_edit.py:417 dcim/forms/bulk_edit.py:447 +#: dcim/forms/bulk_edit.py:530 dcim/forms/bulk_edit.py:553 +#: dcim/forms/bulk_edit.py:574 dcim/forms/bulk_edit.py:596 #: dcim/forms/bulk_import.py:384 dcim/forms/bulk_import.py:416 #: dcim/forms/filtersets.py:285 dcim/forms/filtersets.py:307 #: dcim/forms/filtersets.py:327 dcim/forms/filtersets.py:401 @@ -3223,13 +3224,13 @@ msgstr "Monteringsdybde" msgid "Weight" msgstr "Vægt" -#: dcim/forms/bulk_edit.py:277 dcim/forms/bulk_edit.py:421 +#: dcim/forms/bulk_edit.py:278 dcim/forms/bulk_edit.py:422 #: dcim/forms/filtersets.py:290 msgid "Max weight" msgstr "Maks. Vægt" -#: dcim/forms/bulk_edit.py:282 dcim/forms/bulk_edit.py:426 -#: dcim/forms/bulk_edit.py:534 dcim/forms/bulk_edit.py:578 +#: dcim/forms/bulk_edit.py:283 dcim/forms/bulk_edit.py:427 +#: dcim/forms/bulk_edit.py:535 dcim/forms/bulk_edit.py:579 #: dcim/forms/bulk_import.py:210 dcim/forms/bulk_import.py:283 #: dcim/forms/bulk_import.py:389 dcim/forms/bulk_import.py:421 #: dcim/forms/filtersets.py:295 dcim/forms/filtersets.py:598 @@ -3237,31 +3238,31 @@ msgstr "Maks. Vægt" msgid "Weight unit" msgstr "Vægtenhed" -#: dcim/forms/bulk_edit.py:296 dcim/forms/filtersets.py:305 +#: dcim/forms/bulk_edit.py:297 dcim/forms/filtersets.py:305 #: dcim/forms/model_forms.py:217 dcim/forms/model_forms.py:256 #: templates/dcim/rack.html:45 templates/dcim/racktype.html:13 msgid "Rack Type" msgstr "Racktype" -#: dcim/forms/bulk_edit.py:298 dcim/forms/model_forms.py:220 +#: dcim/forms/bulk_edit.py:299 dcim/forms/model_forms.py:220 #: dcim/forms/model_forms.py:297 msgid "Outer Dimensions" msgstr "Udvendige mål" -#: dcim/forms/bulk_edit.py:301 dcim/forms/model_forms.py:222 +#: dcim/forms/bulk_edit.py:302 dcim/forms/model_forms.py:222 #: dcim/forms/model_forms.py:299 templates/dcim/device.html:315 #: templates/dcim/inc/panels/racktype_dimensions.html:3 msgid "Dimensions" msgstr "Dimensioner" -#: dcim/forms/bulk_edit.py:303 dcim/forms/filtersets.py:306 +#: dcim/forms/bulk_edit.py:304 dcim/forms/filtersets.py:306 #: dcim/forms/filtersets.py:326 dcim/forms/model_forms.py:224 #: templates/dcim/inc/panels/racktype_numbering.html:3 msgid "Numbering" msgstr "Nummerering" -#: dcim/forms/bulk_edit.py:357 dcim/forms/bulk_edit.py:1262 -#: dcim/forms/bulk_edit.py:1655 dcim/forms/bulk_import.py:253 +#: dcim/forms/bulk_edit.py:358 dcim/forms/bulk_edit.py:1272 +#: dcim/forms/bulk_edit.py:1693 dcim/forms/bulk_import.py:253 #: dcim/forms/bulk_import.py:1076 dcim/forms/filtersets.py:367 #: dcim/forms/filtersets.py:777 dcim/forms/filtersets.py:1534 #: dcim/forms/model_forms.py:251 dcim/forms/model_forms.py:1070 @@ -3301,21 +3302,21 @@ msgstr "Nummerering" msgid "Role" msgstr "Rolle" -#: dcim/forms/bulk_edit.py:364 dcim/forms/bulk_edit.py:712 -#: dcim/forms/bulk_edit.py:764 templates/dcim/device.html:104 +#: dcim/forms/bulk_edit.py:365 dcim/forms/bulk_edit.py:713 +#: dcim/forms/bulk_edit.py:774 templates/dcim/device.html:104 #: templates/dcim/module.html:77 templates/dcim/modulebay.html:70 #: templates/dcim/rack.html:57 templates/virtualization/virtualmachine.html:35 msgid "Serial Number" msgstr "Serienummer" -#: dcim/forms/bulk_edit.py:367 dcim/forms/filtersets.py:387 +#: dcim/forms/bulk_edit.py:368 dcim/forms/filtersets.py:387 #: dcim/forms/filtersets.py:813 dcim/forms/filtersets.py:967 #: dcim/forms/filtersets.py:1546 msgid "Asset tag" msgstr "Aktivemærke" -#: dcim/forms/bulk_edit.py:411 dcim/forms/bulk_edit.py:524 -#: dcim/forms/bulk_edit.py:568 dcim/forms/bulk_edit.py:705 +#: dcim/forms/bulk_edit.py:412 dcim/forms/bulk_edit.py:525 +#: dcim/forms/bulk_edit.py:569 dcim/forms/bulk_edit.py:706 #: dcim/forms/bulk_import.py:277 dcim/forms/bulk_import.py:410 #: dcim/forms/bulk_import.py:580 dcim/forms/filtersets.py:280 #: dcim/forms/filtersets.py:511 dcim/forms/filtersets.py:669 @@ -3325,7 +3326,7 @@ msgstr "Aktivemærke" msgid "Airflow" msgstr "Luftstrøm" -#: dcim/forms/bulk_edit.py:440 dcim/forms/bulk_edit.py:910 +#: dcim/forms/bulk_edit.py:441 dcim/forms/bulk_edit.py:920 #: dcim/forms/bulk_import.py:322 dcim/forms/bulk_import.py:325 #: dcim/forms/bulk_import.py:553 dcim/forms/bulk_import.py:1358 #: dcim/forms/bulk_import.py:1362 dcim/forms/filtersets.py:104 @@ -3345,7 +3346,7 @@ msgstr "Luftstrøm" msgid "Rack" msgstr "Rack" -#: dcim/forms/bulk_edit.py:444 dcim/forms/bulk_edit.py:730 +#: dcim/forms/bulk_edit.py:445 dcim/forms/bulk_edit.py:739 #: dcim/forms/filtersets.py:325 dcim/forms/filtersets.py:398 #: dcim/forms/filtersets.py:481 dcim/forms/filtersets.py:608 #: dcim/forms/filtersets.py:721 dcim/forms/filtersets.py:942 @@ -3354,49 +3355,49 @@ msgstr "Rack" msgid "Hardware" msgstr "Hardware" -#: dcim/forms/bulk_edit.py:500 dcim/forms/bulk_import.py:377 +#: dcim/forms/bulk_edit.py:501 dcim/forms/bulk_import.py:377 #: dcim/forms/filtersets.py:499 dcim/forms/model_forms.py:353 msgid "Default platform" msgstr "Standardplatform" -#: dcim/forms/bulk_edit.py:505 dcim/forms/bulk_edit.py:564 +#: dcim/forms/bulk_edit.py:506 dcim/forms/bulk_edit.py:565 #: dcim/forms/filtersets.py:502 dcim/forms/filtersets.py:622 msgid "Part number" msgstr "Varenummer" -#: dcim/forms/bulk_edit.py:509 +#: dcim/forms/bulk_edit.py:510 msgid "U height" msgstr "U højde" -#: dcim/forms/bulk_edit.py:521 dcim/tables/devicetypes.py:102 +#: dcim/forms/bulk_edit.py:522 dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Ekskluder fra udnyttelse" -#: dcim/forms/bulk_edit.py:550 dcim/forms/model_forms.py:368 +#: dcim/forms/bulk_edit.py:551 dcim/forms/model_forms.py:368 #: dcim/tables/devicetypes.py:77 templates/dcim/device.html:88 #: templates/dcim/devicebay.html:52 templates/dcim/module.html:61 msgid "Device Type" msgstr "Enhedstype" -#: dcim/forms/bulk_edit.py:592 dcim/forms/model_forms.py:401 +#: dcim/forms/bulk_edit.py:593 dcim/forms/model_forms.py:401 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:65 templates/dcim/modulebay.html:66 #: templates/dcim/moduletype.html:22 msgid "Module Type" msgstr "Modultype" -#: dcim/forms/bulk_edit.py:596 dcim/forms/model_forms.py:371 +#: dcim/forms/bulk_edit.py:597 dcim/forms/model_forms.py:371 #: dcim/forms/model_forms.py:402 templates/dcim/devicetype.html:11 msgid "Chassis" msgstr "Chassis" -#: dcim/forms/bulk_edit.py:610 dcim/models/devices.py:484 +#: dcim/forms/bulk_edit.py:611 dcim/models/devices.py:484 #: dcim/tables/devices.py:67 msgid "VM role" msgstr "VM-rolle" -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_edit.py:637 -#: dcim/forms/bulk_edit.py:720 dcim/forms/bulk_import.py:434 +#: dcim/forms/bulk_edit.py:614 dcim/forms/bulk_edit.py:638 +#: dcim/forms/bulk_edit.py:721 dcim/forms/bulk_import.py:434 #: dcim/forms/bulk_import.py:438 dcim/forms/bulk_import.py:457 #: dcim/forms/bulk_import.py:461 dcim/forms/bulk_import.py:586 #: dcim/forms/bulk_import.py:590 dcim/forms/filtersets.py:689 @@ -3409,19 +3410,19 @@ msgstr "VM-rolle" msgid "Config template" msgstr "Konfigurationsskabelon" -#: dcim/forms/bulk_edit.py:661 dcim/forms/bulk_edit.py:1061 +#: dcim/forms/bulk_edit.py:662 dcim/forms/bulk_edit.py:1071 #: dcim/forms/bulk_import.py:492 dcim/forms/filtersets.py:114 #: dcim/forms/model_forms.py:501 dcim/forms/model_forms.py:872 #: dcim/forms/model_forms.py:889 extras/filtersets.py:547 msgid "Device type" msgstr "Enhedstype" -#: dcim/forms/bulk_edit.py:672 dcim/forms/bulk_import.py:473 +#: dcim/forms/bulk_edit.py:673 dcim/forms/bulk_import.py:473 #: dcim/forms/filtersets.py:119 dcim/forms/model_forms.py:509 msgid "Device role" msgstr "Enhedsrolle" -#: dcim/forms/bulk_edit.py:695 dcim/forms/bulk_import.py:498 +#: dcim/forms/bulk_edit.py:696 dcim/forms/bulk_import.py:498 #: dcim/forms/filtersets.py:796 dcim/forms/model_forms.py:451 #: dcim/forms/model_forms.py:513 dcim/tables/devices.py:182 #: extras/filtersets.py:563 templates/dcim/device.html:186 @@ -3435,8 +3436,28 @@ msgstr "Enhedsrolle" msgid "Platform" msgstr "Platformen" -#: dcim/forms/bulk_edit.py:728 dcim/forms/bulk_edit.py:1281 -#: dcim/forms/bulk_edit.py:1650 dcim/forms/bulk_edit.py:1696 +#: dcim/forms/bulk_edit.py:726 dcim/forms/bulk_import.py:517 +#: dcim/forms/filtersets.py:728 dcim/forms/filtersets.py:898 +#: dcim/forms/model_forms.py:522 dcim/tables/devices.py:202 +#: extras/filtersets.py:596 extras/forms/filtersets.py:322 +#: ipam/forms/filtersets.py:415 ipam/forms/filtersets.py:447 +#: templates/dcim/device.html:239 templates/virtualization/cluster.html:10 +#: templates/virtualization/virtualmachine.html:92 +#: templates/virtualization/virtualmachine.html:101 +#: virtualization/filtersets.py:157 virtualization/filtersets.py:277 +#: virtualization/forms/bulk_edit.py:129 +#: virtualization/forms/bulk_import.py:92 +#: virtualization/forms/filtersets.py:99 +#: virtualization/forms/filtersets.py:123 +#: virtualization/forms/filtersets.py:204 +#: virtualization/forms/model_forms.py:79 +#: virtualization/forms/model_forms.py:176 +#: virtualization/tables/virtualmachines.py:67 +msgid "Cluster" +msgstr "Klynge" + +#: dcim/forms/bulk_edit.py:737 dcim/forms/bulk_edit.py:1291 +#: dcim/forms/bulk_edit.py:1688 dcim/forms/bulk_edit.py:1734 #: dcim/forms/bulk_import.py:641 dcim/forms/bulk_import.py:703 #: dcim/forms/bulk_import.py:729 dcim/forms/bulk_import.py:755 #: dcim/forms/bulk_import.py:775 dcim/forms/bulk_import.py:828 @@ -3493,22 +3514,27 @@ msgstr "Platformen" msgid "Device" msgstr "Enhed" -#: dcim/forms/bulk_edit.py:731 templates/extras/dashboard/widget_config.html:7 +#: dcim/forms/bulk_edit.py:740 templates/extras/dashboard/widget_config.html:7 #: virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "Konfiguration" -#: dcim/forms/bulk_edit.py:745 dcim/forms/bulk_import.py:653 +#: dcim/forms/bulk_edit.py:741 netbox/navigation/menu.py:243 +#: templates/dcim/device_edit.html:78 +msgid "Virtualization" +msgstr "Virtualisering" + +#: dcim/forms/bulk_edit.py:755 dcim/forms/bulk_import.py:653 #: dcim/forms/model_forms.py:647 dcim/forms/model_forms.py:897 msgid "Module type" msgstr "Modultype" -#: dcim/forms/bulk_edit.py:799 dcim/forms/bulk_edit.py:984 -#: dcim/forms/bulk_edit.py:1003 dcim/forms/bulk_edit.py:1026 -#: dcim/forms/bulk_edit.py:1068 dcim/forms/bulk_edit.py:1112 -#: dcim/forms/bulk_edit.py:1163 dcim/forms/bulk_edit.py:1190 -#: dcim/forms/bulk_edit.py:1217 dcim/forms/bulk_edit.py:1235 -#: dcim/forms/bulk_edit.py:1253 dcim/forms/filtersets.py:67 +#: dcim/forms/bulk_edit.py:809 dcim/forms/bulk_edit.py:994 +#: dcim/forms/bulk_edit.py:1013 dcim/forms/bulk_edit.py:1036 +#: dcim/forms/bulk_edit.py:1078 dcim/forms/bulk_edit.py:1122 +#: dcim/forms/bulk_edit.py:1173 dcim/forms/bulk_edit.py:1200 +#: dcim/forms/bulk_edit.py:1227 dcim/forms/bulk_edit.py:1245 +#: dcim/forms/bulk_edit.py:1263 dcim/forms/filtersets.py:67 #: 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 @@ -3520,82 +3546,82 @@ msgstr "Modultype" msgid "Label" msgstr "Mærke" -#: dcim/forms/bulk_edit.py:808 dcim/forms/filtersets.py:1068 +#: dcim/forms/bulk_edit.py:818 dcim/forms/filtersets.py:1068 #: templates/dcim/cable.html:50 msgid "Length" msgstr "Længde" -#: dcim/forms/bulk_edit.py:813 dcim/forms/bulk_import.py:1226 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1226 #: dcim/forms/bulk_import.py:1229 dcim/forms/filtersets.py:1072 msgid "Length unit" msgstr "Længdeenhed" -#: dcim/forms/bulk_edit.py:837 templates/dcim/virtualchassis.html:23 +#: dcim/forms/bulk_edit.py:847 templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "domæne" -#: dcim/forms/bulk_edit.py:905 dcim/forms/bulk_import.py:1345 +#: dcim/forms/bulk_edit.py:915 dcim/forms/bulk_import.py:1345 #: dcim/forms/filtersets.py:1158 dcim/forms/model_forms.py:750 msgid "Power panel" msgstr "Strømpanel" -#: dcim/forms/bulk_edit.py:927 dcim/forms/bulk_import.py:1381 +#: dcim/forms/bulk_edit.py:937 dcim/forms/bulk_import.py:1381 #: dcim/forms/filtersets.py:1180 templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Forsyning" -#: dcim/forms/bulk_edit.py:933 dcim/forms/bulk_import.py:1386 +#: dcim/forms/bulk_edit.py:943 dcim/forms/bulk_import.py:1386 #: dcim/forms/filtersets.py:1185 templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Fase" -#: dcim/forms/bulk_edit.py:939 dcim/forms/filtersets.py:1190 +#: dcim/forms/bulk_edit.py:949 dcim/forms/filtersets.py:1190 #: templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "Spænding" -#: dcim/forms/bulk_edit.py:943 dcim/forms/filtersets.py:1194 +#: dcim/forms/bulk_edit.py:953 dcim/forms/filtersets.py:1194 #: templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Strømstyrke" -#: dcim/forms/bulk_edit.py:947 dcim/forms/filtersets.py:1198 +#: dcim/forms/bulk_edit.py:957 dcim/forms/filtersets.py:1198 msgid "Max utilization" msgstr "Maksimal udnyttelse" -#: dcim/forms/bulk_edit.py:1036 +#: dcim/forms/bulk_edit.py:1046 msgid "Maximum draw" msgstr "Maksimal trækning" -#: dcim/forms/bulk_edit.py:1039 dcim/models/device_component_templates.py:282 +#: dcim/forms/bulk_edit.py:1049 dcim/models/device_component_templates.py:282 #: dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Maksimal forbrug (watt)" -#: dcim/forms/bulk_edit.py:1042 +#: dcim/forms/bulk_edit.py:1052 msgid "Allocated draw" msgstr "Tildelt lodtrækning" -#: dcim/forms/bulk_edit.py:1045 dcim/models/device_component_templates.py:289 +#: dcim/forms/bulk_edit.py:1055 dcim/models/device_component_templates.py:289 #: dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Allokeret forbrug (watt)" -#: dcim/forms/bulk_edit.py:1078 dcim/forms/bulk_import.py:786 +#: dcim/forms/bulk_edit.py:1088 dcim/forms/bulk_import.py:786 #: dcim/forms/model_forms.py:953 dcim/forms/model_forms.py:1278 #: dcim/forms/model_forms.py:1567 dcim/forms/object_import.py:55 msgid "Power port" msgstr "Strømstik" -#: dcim/forms/bulk_edit.py:1083 dcim/forms/bulk_import.py:793 +#: dcim/forms/bulk_edit.py:1093 dcim/forms/bulk_import.py:793 msgid "Feed leg" msgstr "Foderben" -#: dcim/forms/bulk_edit.py:1129 dcim/forms/bulk_edit.py:1440 +#: dcim/forms/bulk_edit.py:1139 dcim/forms/bulk_edit.py:1457 msgid "Management only" msgstr "Kun ledelse" -#: dcim/forms/bulk_edit.py:1139 dcim/forms/bulk_edit.py:1446 +#: dcim/forms/bulk_edit.py:1149 dcim/forms/bulk_edit.py:1463 #: dcim/forms/bulk_import.py:876 dcim/forms/filtersets.py:1394 #: dcim/forms/object_import.py:90 #: dcim/models/device_component_templates.py:437 @@ -3603,7 +3629,7 @@ msgstr "Kun ledelse" msgid "PoE mode" msgstr "PoE-tilstand" -#: dcim/forms/bulk_edit.py:1145 dcim/forms/bulk_edit.py:1452 +#: dcim/forms/bulk_edit.py:1155 dcim/forms/bulk_edit.py:1469 #: dcim/forms/bulk_import.py:882 dcim/forms/filtersets.py:1399 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:443 @@ -3611,12 +3637,12 @@ msgstr "PoE-tilstand" msgid "PoE type" msgstr "PoE-type" -#: dcim/forms/bulk_edit.py:1151 dcim/forms/filtersets.py:1404 +#: dcim/forms/bulk_edit.py:1161 dcim/forms/filtersets.py:1404 #: dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Trådløs rolle" -#: dcim/forms/bulk_edit.py:1288 dcim/forms/model_forms.py:669 +#: dcim/forms/bulk_edit.py:1298 dcim/forms/model_forms.py:669 #: dcim/forms/model_forms.py:1223 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 @@ -3626,16 +3652,16 @@ msgstr "Trådløs rolle" msgid "Module" msgstr "Modul" -#: dcim/forms/bulk_edit.py:1420 dcim/tables/devices.py:665 +#: dcim/forms/bulk_edit.py:1437 dcim/tables/devices.py:665 #: templates/dcim/interface.html:110 msgid "LAG" msgstr "FORSINKELSE" -#: dcim/forms/bulk_edit.py:1425 dcim/forms/model_forms.py:1305 +#: dcim/forms/bulk_edit.py:1442 dcim/forms/model_forms.py:1305 msgid "Virtual device contexts" msgstr "Virtuelle enhedskontekster" -#: dcim/forms/bulk_edit.py:1431 dcim/forms/bulk_import.py:714 +#: dcim/forms/bulk_edit.py:1448 dcim/forms/bulk_import.py:714 #: dcim/forms/bulk_import.py:740 dcim/forms/filtersets.py:1252 #: dcim/forms/filtersets.py:1277 dcim/forms/filtersets.py:1358 #: dcim/tables/devices.py:610 @@ -3644,7 +3670,7 @@ msgstr "Virtuelle enhedskontekster" msgid "Speed" msgstr "Hastighed" -#: dcim/forms/bulk_edit.py:1460 dcim/forms/bulk_import.py:885 +#: dcim/forms/bulk_edit.py:1477 dcim/forms/bulk_import.py:885 #: 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 @@ -3655,36 +3681,44 @@ msgstr "Hastighed" msgid "Mode" msgstr "Tilstand" -#: dcim/forms/bulk_edit.py:1468 dcim/forms/model_forms.py:1354 +#: dcim/forms/bulk_edit.py:1485 dcim/forms/model_forms.py:1354 #: ipam/forms/bulk_import.py:178 ipam/forms/filtersets.py:498 #: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:240 #: virtualization/forms/model_forms.py:321 msgid "VLAN group" msgstr "VLAN-gruppe" -#: dcim/forms/bulk_edit.py:1476 dcim/forms/model_forms.py:1360 +#: dcim/forms/bulk_edit.py:1494 dcim/forms/model_forms.py:1360 #: dcim/tables/devices.py:579 virtualization/forms/bulk_edit.py:248 #: virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "Umærket VLAN" -#: dcim/forms/bulk_edit.py:1484 dcim/forms/model_forms.py:1369 +#: dcim/forms/bulk_edit.py:1503 dcim/forms/model_forms.py:1369 #: dcim/tables/devices.py:585 virtualization/forms/bulk_edit.py:256 #: virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" msgstr "Mærkede VLAN'er" -#: dcim/forms/bulk_edit.py:1494 dcim/forms/model_forms.py:1341 +#: dcim/forms/bulk_edit.py:1506 +msgid "Add tagged VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1515 +msgid "Remove tagged VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1531 dcim/forms/model_forms.py:1341 msgid "Wireless LAN group" msgstr "Trådløs LAN-gruppe" -#: dcim/forms/bulk_edit.py:1499 dcim/forms/model_forms.py:1346 +#: dcim/forms/bulk_edit.py:1536 dcim/forms/model_forms.py:1346 #: dcim/tables/devices.py:619 netbox/navigation/menu.py:146 #: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "Trådløse LAN" -#: dcim/forms/bulk_edit.py:1508 dcim/forms/filtersets.py:1328 +#: dcim/forms/bulk_edit.py:1545 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1390 ipam/forms/bulk_edit.py:286 #: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:169 #: templates/dcim/interface.html:122 templates/ipam/prefix.html:95 @@ -3692,33 +3726,37 @@ msgstr "Trådløse LAN" msgid "Addressing" msgstr "Adressering" -#: dcim/forms/bulk_edit.py:1509 dcim/forms/filtersets.py:720 +#: dcim/forms/bulk_edit.py:1546 dcim/forms/filtersets.py:720 #: dcim/forms/model_forms.py:1391 virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Betjening" -#: dcim/forms/bulk_edit.py:1510 dcim/forms/filtersets.py:1329 +#: dcim/forms/bulk_edit.py:1547 dcim/forms/filtersets.py:1329 #: dcim/forms/model_forms.py:987 dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1511 dcim/forms/model_forms.py:1392 +#: dcim/forms/bulk_edit.py:1548 dcim/forms/model_forms.py:1392 #: templates/dcim/interface.html:99 virtualization/forms/bulk_edit.py:267 #: virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Relaterede grænseflader" -#: dcim/forms/bulk_edit.py:1512 dcim/forms/model_forms.py:1394 +#: dcim/forms/bulk_edit.py:1549 dcim/forms/model_forms.py:1394 #: virtualization/forms/bulk_edit.py:268 #: virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" msgstr "802.1Q-skift" -#: dcim/forms/bulk_edit.py:1574 dcim/forms/bulk_edit.py:1576 +#: dcim/forms/bulk_edit.py:1553 +msgid "Add/Remove" +msgstr "" + +#: dcim/forms/bulk_edit.py:1612 dcim/forms/bulk_edit.py:1614 msgid "Interface mode must be specified to assign VLANs" msgstr "Interfacetilstand skal specificeres for at tildele VLAN'er" -#: dcim/forms/bulk_edit.py:1581 dcim/forms/common.py:50 +#: dcim/forms/bulk_edit.py:1619 dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." msgstr "En adgangsgrænseflade kan ikke have tildelt taggede VLAN'er." @@ -3859,26 +3897,6 @@ msgstr "Tildelt platform" msgid "Virtual chassis" msgstr "Virtuelt kabinet" -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:728 -#: dcim/forms/filtersets.py:898 dcim/forms/model_forms.py:522 -#: dcim/tables/devices.py:202 extras/filtersets.py:596 -#: extras/forms/filtersets.py:322 ipam/forms/filtersets.py:415 -#: ipam/forms/filtersets.py:447 templates/dcim/device.html:239 -#: templates/virtualization/cluster.html:10 -#: templates/virtualization/virtualmachine.html:92 -#: templates/virtualization/virtualmachine.html:101 -#: virtualization/filtersets.py:157 virtualization/filtersets.py:277 -#: virtualization/forms/bulk_edit.py:129 -#: virtualization/forms/bulk_import.py:92 -#: virtualization/forms/filtersets.py:99 -#: virtualization/forms/filtersets.py:123 -#: virtualization/forms/filtersets.py:204 -#: virtualization/forms/model_forms.py:79 -#: virtualization/forms/model_forms.py:176 -#: virtualization/tables/virtualmachines.py:67 -msgid "Cluster" -msgstr "Klynge" - #: dcim/forms/bulk_import.py:521 msgid "Virtualization cluster" msgstr "Virtualiseringsklynge" @@ -6570,31 +6588,31 @@ msgstr "Der opstod en fejl under gengivelse af skabelonen: {error}" msgid "Virtual Machines" msgstr "Virtuelle maskiner" -#: dcim/views.py:2897 +#: dcim/views.py:2907 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "Installeret enhed {device} i bugten {device_bay}." -#: dcim/views.py:2938 +#: dcim/views.py:2948 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "Fjernet enhed {device} fra bugten {device_bay}." -#: dcim/views.py:3044 ipam/tables/ip.py:234 +#: dcim/views.py:3054 ipam/tables/ip.py:234 msgid "Children" msgstr "Børn" -#: dcim/views.py:3510 +#: dcim/views.py:3520 #, python-brace-format msgid "Added member {device}" msgstr "Tilføjet medlem {device}" -#: dcim/views.py:3557 +#: dcim/views.py:3567 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "Kan ikke fjerne masterenheden {device} fra det virtuelle chassis." -#: dcim/views.py:3570 +#: dcim/views.py:3580 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "Fjernet {device} fra virtuelt chassis {chassis}" @@ -7529,19 +7547,19 @@ msgstr "Planlæg udførelse af script til et bestemt tidspunkt" msgid "Interval at which this script is re-run (in minutes)" msgstr "Interval, hvor scriptet køres igen (i minutter)" -#: extras/jobs.py:49 +#: extras/jobs.py:47 msgid "Database changes have been reverted automatically." msgstr "Databaseændringer er blevet tilbageført automatisk." -#: extras/jobs.py:55 +#: extras/jobs.py:53 msgid "Script aborted with error: " msgstr "Script afbrudt med fejl: " -#: extras/jobs.py:65 +#: extras/jobs.py:63 msgid "An exception occurred: " msgstr "Der opstod en undtagelse: " -#: extras/jobs.py:70 +#: extras/jobs.py:68 msgid "Database changes have been reverted due to error." msgstr "Databaseændringer er blevet tilbageført på grund af fejl." @@ -8853,7 +8871,7 @@ msgstr "VLAN-gruppen" #: ipam/forms/bulk_edit.py:234 ipam/forms/bulk_import.py:185 #: ipam/forms/filtersets.py:256 ipam/forms/model_forms.py:218 -#: ipam/models/vlans.py:234 ipam/tables/ip.py:255 +#: ipam/models/vlans.py:250 ipam/tables/ip.py:255 #: templates/ipam/prefix.html:60 templates/ipam/vlan.html:12 #: templates/ipam/vlan/base.html:6 templates/ipam/vlan_edit.html:10 #: templates/wireless/wirelesslan.html:30 vpn/forms/bulk_import.py:304 @@ -9108,7 +9126,7 @@ msgstr "Tildelt til en grænseflade" msgid "DNS Name" msgstr "DNS-navn" -#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:235 ipam/tables/ip.py:176 +#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:251 ipam/tables/ip.py:176 #: ipam/tables/vlans.py:82 ipam/views.py:971 netbox/navigation/menu.py:193 #: netbox/navigation/menu.py:195 msgid "VLANs" @@ -9118,7 +9136,7 @@ msgstr "VLAN'er" msgid "Contains VLAN ID" msgstr "Indeholder VLAN ID" -#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:176 +#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:192 #: templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "VLAN-ID" @@ -9575,40 +9593,48 @@ msgstr "Kan ikke indstille scope_type uden scope_id." msgid "Cannot set scope_id without scope_type." msgstr "Kan ikke indstille scope_id uden scope_type." -#: ipam/models/vlans.py:101 +#: ipam/models/vlans.py:105 +#, python-brace-format +msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" +msgstr "" + +#: ipam/models/vlans.py:111 +#, python-brace-format +msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" +msgstr "" + +#: ipam/models/vlans.py:118 +#, python-brace-format +msgid "" +"Ending VLAN ID in range must be greater than or equal to the starting VLAN " +"ID ({range})" +msgstr "" + +#: ipam/models/vlans.py:124 msgid "Ranges cannot overlap." msgstr "Intervaller kan ikke overlappe hinanden." -#: ipam/models/vlans.py:106 -#, python-brace-format -msgid "" -"Maximum child VID must be greater than or equal to minimum child VID " -"({value})" -msgstr "" -"Maksimal børneVID skal være større end eller lig med minimum børns VID " -"({value})" - -#: ipam/models/vlans.py:165 +#: ipam/models/vlans.py:181 msgid "The specific site to which this VLAN is assigned (if any)" msgstr "Det specifikke område, som dette VLAN er tildelt (hvis nogen)" -#: ipam/models/vlans.py:173 +#: ipam/models/vlans.py:189 msgid "VLAN group (optional)" msgstr "VLAN-gruppe (valgfrit)" -#: ipam/models/vlans.py:181 +#: ipam/models/vlans.py:197 msgid "Numeric VLAN ID (1-4094)" msgstr "Numerisk VLAN-id (1-4094)" -#: ipam/models/vlans.py:199 +#: ipam/models/vlans.py:215 msgid "Operational status of this VLAN" msgstr "Driftsstatus for dette VLAN" -#: ipam/models/vlans.py:207 +#: ipam/models/vlans.py:223 msgid "The primary function of this VLAN" msgstr "Den primære funktion af denne VLAN" -#: ipam/models/vlans.py:250 +#: ipam/models/vlans.py:266 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " @@ -9617,7 +9643,7 @@ msgstr "" "VLAN er tildelt til gruppe {group} (anvendelsesområde: {scope}); kan ikke " "også tildele til området {site}." -#: ipam/models/vlans.py:259 +#: ipam/models/vlans.py:275 #, python-brace-format msgid "VID must be in ranges {ranges} for VLANs in group {group}" msgstr "" @@ -10361,10 +10387,6 @@ msgstr "IPsec-politikker" msgid "IPSec Profiles" msgstr "IPsec-profiler" -#: netbox/navigation/menu.py:243 templates/dcim/device_edit.html:78 -msgid "Virtualization" -msgstr "Virtualisering" - #: netbox/navigation/menu.py:251 #: templates/virtualization/virtualmachine.html:174 #: templates/virtualization/virtualmachine/base.html:32 @@ -10769,19 +10791,19 @@ msgstr "" msgid "Row {i}: Object with ID {id} does not exist" msgstr "Række {i}: Objekt med ID {id} findes ikke" -#: netbox/views/generic/bulk_views.py:702 -#: netbox/views/generic/bulk_views.py:900 -#: netbox/views/generic/bulk_views.py:948 +#: netbox/views/generic/bulk_views.py:709 +#: netbox/views/generic/bulk_views.py:907 +#: netbox/views/generic/bulk_views.py:955 #, python-brace-format msgid "No {object_type} were selected." msgstr "Nej {object_type} blev udvalgt." -#: netbox/views/generic/bulk_views.py:782 +#: netbox/views/generic/bulk_views.py:789 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "Omdøbt {count} {object_type}" -#: netbox/views/generic/bulk_views.py:878 +#: netbox/views/generic/bulk_views.py:885 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "Slettet {count} {object_type}" @@ -10813,7 +10835,7 @@ msgstr "Synkroniseret {count} {object_type}" msgid "{class_name} must implement get_children()" msgstr "{class_name} skal implementere get_children ()" -#: netbox/views/misc.py:44 +#: netbox/views/misc.py:46 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." @@ -12671,7 +12693,7 @@ msgid "You do not have permission to run scripts" msgstr "Du har ikke tilladelse til at køre scripts" #: templates/extras/script.html:41 templates/extras/script.html:45 -#: templates/extras/script_list.html:86 +#: templates/extras/script_list.html:87 msgid "Run Script" msgstr "Kør script" @@ -12683,27 +12705,32 @@ msgstr "Fejl ved indlæsning af script" msgid "Script no longer exists in the source file." msgstr "Script findes ikke længere i kildefilen." -#: templates/extras/script_list.html:46 +#: templates/extras/script_list.html:47 msgid "Last Run" msgstr "Sidste løb" -#: templates/extras/script_list.html:61 +#: templates/extras/script_list.html:62 msgid "Script is no longer present in the source file" msgstr "Script findes ikke længere i kildefilen" -#: templates/extras/script_list.html:74 +#: templates/extras/script_list.html:75 msgid "Never" msgstr "Aldrig" -#: templates/extras/script_list.html:84 +#: templates/extras/script_list.html:85 msgid "Run Again" msgstr "Kør igen" -#: templates/extras/script_list.html:138 +#: templates/extras/script_list.html:133 +#, python-format +msgid "Could not load scripts from module %(module)s" +msgstr "" + +#: templates/extras/script_list.html:141 msgid "No Scripts Found" msgstr "Ingen scripts fundet" -#: templates/extras/script_list.html:141 +#: templates/extras/script_list.html:144 #, python-format msgid "" "Get started by creating a script from " @@ -14546,13 +14573,13 @@ msgid "Memory (MB)" msgstr "Hukommelse (MB)" #: virtualization/forms/bulk_edit.py:174 -msgid "Disk (GB)" -msgstr "Disk (GB)" +msgid "Disk (MB)" +msgstr "" #: virtualization/forms/bulk_edit.py:334 #: virtualization/forms/filtersets.py:251 -msgid "Size (GB)" -msgstr "Størrelse (GB)" +msgid "Size (MB)" +msgstr "" #: virtualization/forms/bulk_import.py:44 msgid "Type of cluster" diff --git a/netbox/translations/de/LC_MESSAGES/django.mo b/netbox/translations/de/LC_MESSAGES/django.mo index fdcad71564f2ae6aab71e0ca8c964854bcc294d8..84659662029e5457eb6bfb4432fdf973ab58d332 100644 GIT binary patch delta 66345 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

9d#V*N1{#Wv^un z9as;EO$bJV%OiUJJ9D&qAnQqoV_EaC#ewLY9e-t-D~rCFq_rfU=Q8*(!Ef}T=$p{1 zS|O2sP(JZ*D7Kl^2d)Y5?jj}|tGN}AOq}QavlIIiiX1e0=qv6pTWQQ zvf#UI$3F(*g~X&%9+;Y9lFbgds$owE&qLxef{pMO#kZ0DH!vtHUk_I#(HCOLA0xPp zO_Bsm28m=HNf()FJPoWdTQsH$mbLi3xT`19Y$5oD6E|t|5U<726SegB^Q~2(Xr(|` zQ9nQ5E=^l{l+4xq+jr>ZzcqafuPN!$we#~0=+MQtU5BQAzJbj_(6>eB4()y0 zckt`l&fhm>8b?VRxOH~{udY$NDsIhQ-m856t*3{24a*w-Ux}?{w|QNUj5qlauSh+U zmT4W(t80scyIT4O`1-dF@DKED=}!YKyRi4PG&NIU?>JGMh|DDey0q}`9I&-uVedw{ z3RG{aHvE0tb_fVid_e2wt-AO&?HcIo=ilD9qWXfZT~j}N-TgZY{&l%^dROnF(P`u6 hQ13dWxAOnpCNCVNw3T)$Z{@#gDW#B5NqklW{vX-dA720f delta 66226 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" msgstr "Mitglied hinzugefügt {device}" -#: dcim/views.py:3557 +#: dcim/views.py:3567 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" "Ein Hauptgerät (Master Device) {device} kann von einem virtuellen Gehäuse " "nicht entfernt werden." -#: dcim/views.py:3570 +#: dcim/views.py:3580 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "{device} vom virtuellen Gehäuse {chassis} entfernt." @@ -7657,19 +7675,19 @@ msgstr "Planen Sie die Ausführung des Skripts auf eine festgelegte Zeit" msgid "Interval at which this script is re-run (in minutes)" msgstr "Intervall, in dem dieses Skript erneut ausgeführt wird (in Minuten)" -#: extras/jobs.py:49 +#: extras/jobs.py:47 msgid "Database changes have been reverted automatically." msgstr "Datenbankänderungen wurden automatisch rückgängig gemacht." -#: extras/jobs.py:55 +#: extras/jobs.py:53 msgid "Script aborted with error: " msgstr "Das Skript wurde mit einem Fehler abgebrochen: " -#: extras/jobs.py:65 +#: extras/jobs.py:63 msgid "An exception occurred: " msgstr "Eine Ausnahme ist aufgetreten: " -#: extras/jobs.py:70 +#: extras/jobs.py:68 msgid "Database changes have been reverted due to error." msgstr "Datenbankänderungen wurden aufgrund eines Fehlers rückgängig gemacht." @@ -9010,7 +9028,7 @@ msgstr "VLAN-Gruppe" #: ipam/forms/bulk_edit.py:234 ipam/forms/bulk_import.py:185 #: ipam/forms/filtersets.py:256 ipam/forms/model_forms.py:218 -#: ipam/models/vlans.py:234 ipam/tables/ip.py:255 +#: ipam/models/vlans.py:250 ipam/tables/ip.py:255 #: templates/ipam/prefix.html:60 templates/ipam/vlan.html:12 #: templates/ipam/vlan/base.html:6 templates/ipam/vlan_edit.html:10 #: templates/wireless/wirelesslan.html:30 vpn/forms/bulk_import.py:304 @@ -9267,7 +9285,7 @@ msgstr "Einer Schnittstelle zugewiesen" msgid "DNS Name" msgstr "DNS-Name" -#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:235 ipam/tables/ip.py:176 +#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:251 ipam/tables/ip.py:176 #: ipam/tables/vlans.py:82 ipam/views.py:971 netbox/navigation/menu.py:193 #: netbox/navigation/menu.py:195 msgid "VLANs" @@ -9277,7 +9295,7 @@ msgstr "VLANs" msgid "Contains VLAN ID" msgstr "Enthält VLAN-ID" -#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:176 +#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:192 #: templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "VLAN-ID" @@ -9746,41 +9764,49 @@ msgstr "scope_type kann nicht ohne scope_id gesetzt werden." msgid "Cannot set scope_id without scope_type." msgstr "scope_id kann nicht ohne scope_type gesetzt werden." -#: ipam/models/vlans.py:101 +#: ipam/models/vlans.py:105 +#, python-brace-format +msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" +msgstr "" + +#: ipam/models/vlans.py:111 +#, python-brace-format +msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" +msgstr "" + +#: ipam/models/vlans.py:118 +#, python-brace-format +msgid "" +"Ending VLAN ID in range must be greater than or equal to the starting VLAN " +"ID ({range})" +msgstr "" + +#: ipam/models/vlans.py:124 msgid "Ranges cannot overlap." msgstr "Bereiche dürfen sich nicht überschneiden." -#: ipam/models/vlans.py:106 -#, python-brace-format -msgid "" -"Maximum child VID must be greater than or equal to minimum child VID " -"({value})" -msgstr "" -"Die maximale untergeordnete VID muss größer oder gleich der Mindest-VID für " -"untergeordnete VIDs sein ({value})" - -#: ipam/models/vlans.py:165 +#: ipam/models/vlans.py:181 msgid "The specific site to which this VLAN is assigned (if any)" msgstr "" "Der spezifische Standort, der dieses VLAN zugewiesen ist (falls vorhanden)" -#: ipam/models/vlans.py:173 +#: ipam/models/vlans.py:189 msgid "VLAN group (optional)" msgstr "VLAN-Gruppe (optional)" -#: ipam/models/vlans.py:181 +#: ipam/models/vlans.py:197 msgid "Numeric VLAN ID (1-4094)" msgstr "Numerische VLAN-ID (1-4094)" -#: ipam/models/vlans.py:199 +#: ipam/models/vlans.py:215 msgid "Operational status of this VLAN" msgstr "Betriebsstatus dieses VLAN" -#: ipam/models/vlans.py:207 +#: ipam/models/vlans.py:223 msgid "The primary function of this VLAN" msgstr "Die Hauptfunktion dieses VLAN" -#: ipam/models/vlans.py:250 +#: ipam/models/vlans.py:266 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " @@ -9789,7 +9815,7 @@ msgstr "" "VLAN ist der Gruppe {group} (Scope: {scope}) zugewiesen; kann nicht auch dem" " Standort {site} zugewiesen werden." -#: ipam/models/vlans.py:259 +#: ipam/models/vlans.py:275 #, python-brace-format msgid "VID must be in ranges {ranges} for VLANs in group {group}" msgstr "" @@ -10537,10 +10563,6 @@ msgstr "IPSec-Richtlinien" msgid "IPSec Profiles" msgstr "IPSec-Profile" -#: netbox/navigation/menu.py:243 templates/dcim/device_edit.html:78 -msgid "Virtualization" -msgstr "Virtualisierung" - #: netbox/navigation/menu.py:251 #: templates/virtualization/virtualmachine.html:174 #: templates/virtualization/virtualmachine/base.html:32 @@ -10951,19 +10973,19 @@ msgstr "" msgid "Row {i}: Object with ID {id} does not exist" msgstr "Reihe {i}: Objekt mit ID {id} existiert nicht" -#: netbox/views/generic/bulk_views.py:702 -#: netbox/views/generic/bulk_views.py:900 -#: netbox/views/generic/bulk_views.py:948 +#: netbox/views/generic/bulk_views.py:709 +#: netbox/views/generic/bulk_views.py:907 +#: netbox/views/generic/bulk_views.py:955 #, python-brace-format msgid "No {object_type} were selected." msgstr "Kein {object_type}ausgewählt" -#: netbox/views/generic/bulk_views.py:782 +#: netbox/views/generic/bulk_views.py:789 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "Umbenannt {count} {object_type}" -#: netbox/views/generic/bulk_views.py:878 +#: netbox/views/generic/bulk_views.py:885 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "Gelöscht {count} {object_type}" @@ -10995,7 +11017,7 @@ msgstr "Synchronisiert {count} {object_type}" msgid "{class_name} must implement get_children()" msgstr "{class_name} muss get_children () implementieren" -#: netbox/views/misc.py:44 +#: netbox/views/misc.py:46 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." @@ -12859,7 +12881,7 @@ msgid "You do not have permission to run scripts" msgstr "Sie sind nicht berechtigt, Skripts auszuführen" #: templates/extras/script.html:41 templates/extras/script.html:45 -#: templates/extras/script_list.html:86 +#: templates/extras/script_list.html:87 msgid "Run Script" msgstr "Skript ausführen" @@ -12871,27 +12893,32 @@ msgstr "Fehler beim Laden des Skripts" msgid "Script no longer exists in the source file." msgstr "Das Skript ist in der Quelldatei nicht mehr vorhanden." -#: templates/extras/script_list.html:46 +#: templates/extras/script_list.html:47 msgid "Last Run" msgstr "Letzter Lauf" -#: templates/extras/script_list.html:61 +#: templates/extras/script_list.html:62 msgid "Script is no longer present in the source file" msgstr "Das Skript ist in der Quelldatei nicht mehr vorhanden" -#: templates/extras/script_list.html:74 +#: templates/extras/script_list.html:75 msgid "Never" msgstr "Niemals" -#: templates/extras/script_list.html:84 +#: templates/extras/script_list.html:85 msgid "Run Again" msgstr "Nochmal ausführen" -#: templates/extras/script_list.html:138 +#: templates/extras/script_list.html:133 +#, python-format +msgid "Could not load scripts from module %(module)s" +msgstr "Skripte konnten nicht aus dem Modul geladen werden %(module)s" + +#: templates/extras/script_list.html:141 msgid "No Scripts Found" msgstr "Keine Skripte gefunden" -#: templates/extras/script_list.html:141 +#: templates/extras/script_list.html:144 #, python-format msgid "" "Get started by creating a script from " @@ -14759,13 +14786,13 @@ msgid "Memory (MB)" msgstr "Speicher (MB)" #: virtualization/forms/bulk_edit.py:174 -msgid "Disk (GB)" -msgstr "Festplatte (GB)" +msgid "Disk (MB)" +msgstr "Festplatte (MB)" #: virtualization/forms/bulk_edit.py:334 #: virtualization/forms/filtersets.py:251 -msgid "Size (GB)" -msgstr "Größe (GB)" +msgid "Size (MB)" +msgstr "Größe (MB)" #: virtualization/forms/bulk_import.py:44 msgid "Type of cluster" diff --git a/netbox/translations/es/LC_MESSAGES/django.mo b/netbox/translations/es/LC_MESSAGES/django.mo index 86fb45730f6ad525e0aaea48fc931328343a917b..5c7e126e0709d9121ca0dc893f83a3ef7b4a27c4 100644 GIT binary patch delta 66008 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 delta 66247 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 diff --git a/netbox/translations/es/LC_MESSAGES/django.po b/netbox/translations/es/LC_MESSAGES/django.po index ee77d76fc..480eb9f0f 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-10-28 19:20+0000\n" +"POT-Creation-Date: 2024-11-21 15:50+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" @@ -84,8 +84,8 @@ msgid "Your password has been changed successfully." msgstr "La contraseña se ha cambiado correctamente." #: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:185 dcim/choices.py:237 dcim/choices.py:1530 -#: dcim/choices.py:1606 dcim/choices.py:1656 virtualization/choices.py:20 +#: dcim/choices.py:185 dcim/choices.py:237 dcim/choices.py:1532 +#: dcim/choices.py:1608 dcim/choices.py:1658 virtualization/choices.py:20 #: virtualization/choices.py:45 vpn/choices.py:18 msgid "Planned" msgstr "Planificado" @@ -96,7 +96,7 @@ msgstr "Aprovisionamiento" #: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22 #: dcim/choices.py:103 dcim/choices.py:184 dcim/choices.py:236 -#: dcim/choices.py:1605 dcim/choices.py:1655 extras/tables/tables.py:495 +#: dcim/choices.py:1607 dcim/choices.py:1657 extras/tables/tables.py:495 #: 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 @@ -106,7 +106,7 @@ msgid "Active" msgstr "Activo" #: circuits/choices.py:24 dcim/choices.py:183 dcim/choices.py:235 -#: dcim/choices.py:1604 dcim/choices.py:1657 virtualization/choices.py:24 +#: dcim/choices.py:1606 dcim/choices.py:1659 virtualization/choices.py:24 #: virtualization/choices.py:43 msgid "Offline" msgstr "Desconectado" @@ -119,7 +119,7 @@ msgstr "Desaprovisionamiento" msgid "Decommissioned" msgstr "Desmantelado" -#: circuits/choices.py:90 dcim/choices.py:1617 tenancy/choices.py:17 +#: circuits/choices.py:90 dcim/choices.py:1619 tenancy/choices.py:17 msgid "Primary" msgstr "Primaria" @@ -178,8 +178,8 @@ msgstr "Grupo de sitios (slug)" #: circuits/forms/filtersets.py:51 circuits/forms/filtersets.py:171 #: circuits/forms/filtersets.py:209 circuits/forms/model_forms.py:138 #: circuits/forms/model_forms.py:154 circuits/tables/circuits.py:113 -#: dcim/forms/bulk_edit.py:168 dcim/forms/bulk_edit.py:329 -#: dcim/forms/bulk_edit.py:677 dcim/forms/bulk_edit.py:873 +#: dcim/forms/bulk_edit.py:169 dcim/forms/bulk_edit.py:330 +#: dcim/forms/bulk_edit.py:678 dcim/forms/bulk_edit.py:883 #: dcim/forms/bulk_import.py:131 dcim/forms/bulk_import.py:230 #: dcim/forms/bulk_import.py:309 dcim/forms/bulk_import.py:540 #: dcim/forms/bulk_import.py:1311 dcim/forms/bulk_import.py:1339 @@ -344,7 +344,7 @@ msgstr "Grupo de circuitos (slug)" #: circuits/forms/bulk_edit.py:30 circuits/forms/filtersets.py:56 #: circuits/forms/model_forms.py:29 circuits/tables/providers.py:33 -#: dcim/forms/bulk_edit.py:128 dcim/forms/filtersets.py:195 +#: dcim/forms/bulk_edit.py:129 dcim/forms/filtersets.py:195 #: dcim/forms/model_forms.py:123 dcim/tables/sites.py:94 #: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:213 #: netbox/navigation/menu.py:172 netbox/navigation/menu.py:175 @@ -356,21 +356,21 @@ msgstr "ASNs" #: circuits/forms/bulk_edit.py:83 circuits/forms/bulk_edit.py:104 #: circuits/forms/bulk_edit.py:164 circuits/forms/bulk_edit.py:183 #: circuits/forms/bulk_edit.py:228 core/forms/bulk_edit.py:28 -#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:73 -#: dcim/forms/bulk_edit.py:92 dcim/forms/bulk_edit.py:151 -#: dcim/forms/bulk_edit.py:192 dcim/forms/bulk_edit.py:210 -#: dcim/forms/bulk_edit.py:288 dcim/forms/bulk_edit.py:432 -#: dcim/forms/bulk_edit.py:466 dcim/forms/bulk_edit.py:481 -#: dcim/forms/bulk_edit.py:540 dcim/forms/bulk_edit.py:584 -#: dcim/forms/bulk_edit.py:618 dcim/forms/bulk_edit.py:642 -#: dcim/forms/bulk_edit.py:715 dcim/forms/bulk_edit.py:767 -#: dcim/forms/bulk_edit.py:819 dcim/forms/bulk_edit.py:842 -#: dcim/forms/bulk_edit.py:890 dcim/forms/bulk_edit.py:960 -#: dcim/forms/bulk_edit.py:1013 dcim/forms/bulk_edit.py:1048 -#: dcim/forms/bulk_edit.py:1088 dcim/forms/bulk_edit.py:1132 -#: dcim/forms/bulk_edit.py:1177 dcim/forms/bulk_edit.py:1204 -#: dcim/forms/bulk_edit.py:1222 dcim/forms/bulk_edit.py:1240 -#: dcim/forms/bulk_edit.py:1258 dcim/forms/bulk_edit.py:1682 +#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:74 +#: dcim/forms/bulk_edit.py:93 dcim/forms/bulk_edit.py:152 +#: dcim/forms/bulk_edit.py:193 dcim/forms/bulk_edit.py:211 +#: dcim/forms/bulk_edit.py:289 dcim/forms/bulk_edit.py:433 +#: dcim/forms/bulk_edit.py:467 dcim/forms/bulk_edit.py:482 +#: dcim/forms/bulk_edit.py:541 dcim/forms/bulk_edit.py:585 +#: dcim/forms/bulk_edit.py:619 dcim/forms/bulk_edit.py:643 +#: dcim/forms/bulk_edit.py:716 dcim/forms/bulk_edit.py:777 +#: dcim/forms/bulk_edit.py:829 dcim/forms/bulk_edit.py:852 +#: dcim/forms/bulk_edit.py:900 dcim/forms/bulk_edit.py:970 +#: dcim/forms/bulk_edit.py:1023 dcim/forms/bulk_edit.py:1058 +#: dcim/forms/bulk_edit.py:1098 dcim/forms/bulk_edit.py:1142 +#: dcim/forms/bulk_edit.py:1187 dcim/forms/bulk_edit.py:1214 +#: dcim/forms/bulk_edit.py:1232 dcim/forms/bulk_edit.py:1250 +#: dcim/forms/bulk_edit.py:1268 dcim/forms/bulk_edit.py:1720 #: extras/forms/bulk_edit.py:39 extras/forms/bulk_edit.py:149 #: extras/forms/bulk_edit.py:178 extras/forms/bulk_edit.py:208 #: extras/forms/bulk_edit.py:256 extras/forms/bulk_edit.py:274 @@ -411,7 +411,7 @@ msgstr "ASNs" #: templates/extras/dashboard/widget_add.html:14 #: templates/extras/eventrule.html:21 templates/extras/exporttemplate.html:19 #: templates/extras/notificationgroup.html:20 -#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:45 +#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:46 #: 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 @@ -478,9 +478,9 @@ msgid "Service ID" msgstr "ID de servicio" #: circuits/forms/bulk_edit.py:100 circuits/forms/filtersets.py:107 -#: dcim/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:604 -#: dcim/forms/bulk_edit.py:804 dcim/forms/bulk_edit.py:1173 -#: dcim/forms/bulk_edit.py:1200 dcim/forms/bulk_edit.py:1678 +#: dcim/forms/bulk_edit.py:207 dcim/forms/bulk_edit.py:605 +#: dcim/forms/bulk_edit.py:814 dcim/forms/bulk_edit.py:1183 +#: dcim/forms/bulk_edit.py:1210 dcim/forms/bulk_edit.py:1716 #: dcim/forms/filtersets.py:1064 dcim/forms/filtersets.py:1455 #: dcim/forms/filtersets.py:1479 dcim/tables/devices.py:704 #: dcim/tables/devices.py:761 dcim/tables/devices.py:1003 @@ -497,11 +497,11 @@ msgstr "Color" #: circuits/forms/bulk_edit.py:118 circuits/forms/bulk_import.py:87 #: circuits/forms/filtersets.py:126 core/forms/bulk_edit.py:18 #: core/forms/filtersets.py:33 core/tables/change_logging.py:32 -#: core/tables/data.py:20 core/tables/jobs.py:18 dcim/forms/bulk_edit.py:782 -#: dcim/forms/bulk_edit.py:921 dcim/forms/bulk_edit.py:989 -#: dcim/forms/bulk_edit.py:1008 dcim/forms/bulk_edit.py:1031 -#: dcim/forms/bulk_edit.py:1073 dcim/forms/bulk_edit.py:1117 -#: dcim/forms/bulk_edit.py:1168 dcim/forms/bulk_edit.py:1195 +#: core/tables/data.py:20 core/tables/jobs.py:18 dcim/forms/bulk_edit.py:792 +#: dcim/forms/bulk_edit.py:931 dcim/forms/bulk_edit.py:999 +#: dcim/forms/bulk_edit.py:1018 dcim/forms/bulk_edit.py:1041 +#: dcim/forms/bulk_edit.py:1083 dcim/forms/bulk_edit.py:1127 +#: dcim/forms/bulk_edit.py:1178 dcim/forms/bulk_edit.py:1205 #: dcim/forms/bulk_import.py:188 dcim/forms/bulk_import.py:260 #: dcim/forms/bulk_import.py:708 dcim/forms/bulk_import.py:734 #: dcim/forms/bulk_import.py:760 dcim/forms/bulk_import.py:780 @@ -546,11 +546,11 @@ msgstr "Cuenta de proveedor" #: circuits/forms/bulk_edit.py:136 circuits/forms/bulk_import.py:93 #: circuits/forms/filtersets.py:150 core/forms/filtersets.py:38 #: core/forms/filtersets.py:79 core/tables/data.py:23 core/tables/jobs.py:26 -#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:106 -#: dcim/forms/bulk_edit.py:181 dcim/forms/bulk_edit.py:351 -#: dcim/forms/bulk_edit.py:700 dcim/forms/bulk_edit.py:756 -#: dcim/forms/bulk_edit.py:788 dcim/forms/bulk_edit.py:915 -#: dcim/forms/bulk_edit.py:1701 dcim/forms/bulk_import.py:88 +#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:107 +#: dcim/forms/bulk_edit.py:182 dcim/forms/bulk_edit.py:352 +#: dcim/forms/bulk_edit.py:701 dcim/forms/bulk_edit.py:766 +#: dcim/forms/bulk_edit.py:798 dcim/forms/bulk_edit.py:925 +#: dcim/forms/bulk_edit.py:1739 dcim/forms/bulk_import.py:88 #: dcim/forms/bulk_import.py:147 dcim/forms/bulk_import.py:248 #: dcim/forms/bulk_import.py:505 dcim/forms/bulk_import.py:659 #: dcim/forms/bulk_import.py:1207 dcim/forms/bulk_import.py:1371 @@ -577,7 +577,7 @@ msgstr "Cuenta de proveedor" #: templates/dcim/device.html:178 templates/dcim/location.html:45 #: templates/dcim/module.html:69 templates/dcim/powerfeed.html:36 #: templates/dcim/rack.html:41 templates/dcim/site.html:43 -#: templates/extras/script_list.html:47 templates/ipam/ipaddress.html:37 +#: templates/extras/script_list.html:48 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 @@ -602,10 +602,10 @@ msgstr "Estado" #: circuits/forms/bulk_edit.py:142 circuits/forms/bulk_edit.py:233 #: circuits/forms/bulk_import.py:98 circuits/forms/bulk_import.py:158 #: circuits/forms/filtersets.py:119 circuits/forms/filtersets.py:241 -#: dcim/forms/bulk_edit.py:122 dcim/forms/bulk_edit.py:187 -#: dcim/forms/bulk_edit.py:346 dcim/forms/bulk_edit.py:461 -#: dcim/forms/bulk_edit.py:690 dcim/forms/bulk_edit.py:794 -#: dcim/forms/bulk_edit.py:1706 dcim/forms/bulk_import.py:107 +#: dcim/forms/bulk_edit.py:123 dcim/forms/bulk_edit.py:188 +#: dcim/forms/bulk_edit.py:347 dcim/forms/bulk_edit.py:462 +#: dcim/forms/bulk_edit.py:691 dcim/forms/bulk_edit.py:804 +#: dcim/forms/bulk_edit.py:1744 dcim/forms/bulk_import.py:107 #: dcim/forms/bulk_import.py:152 dcim/forms/bulk_import.py:241 #: dcim/forms/bulk_import.py:334 dcim/forms/bulk_import.py:479 #: dcim/forms/bulk_import.py:1219 dcim/forms/bulk_import.py:1428 @@ -709,11 +709,11 @@ msgstr "Velocidad del puerto (Kbps)" msgid "Upstream speed (Kbps)" msgstr "Velocidad de subida (Kbps)" -#: circuits/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:951 -#: dcim/forms/bulk_edit.py:1315 dcim/forms/bulk_edit.py:1332 -#: dcim/forms/bulk_edit.py:1349 dcim/forms/bulk_edit.py:1367 -#: dcim/forms/bulk_edit.py:1455 dcim/forms/bulk_edit.py:1594 -#: dcim/forms/bulk_edit.py:1611 +#: circuits/forms/bulk_edit.py:206 dcim/forms/bulk_edit.py:961 +#: dcim/forms/bulk_edit.py:1325 dcim/forms/bulk_edit.py:1342 +#: dcim/forms/bulk_edit.py:1359 dcim/forms/bulk_edit.py:1377 +#: dcim/forms/bulk_edit.py:1472 dcim/forms/bulk_edit.py:1632 +#: dcim/forms/bulk_edit.py:1649 msgid "Mark connected" msgstr "Marcar conectado" @@ -791,9 +791,9 @@ msgid "Provider network" msgstr "Red de proveedores" #: circuits/forms/filtersets.py:30 circuits/forms/filtersets.py:118 -#: circuits/forms/filtersets.py:200 dcim/forms/bulk_edit.py:338 -#: dcim/forms/bulk_edit.py:441 dcim/forms/bulk_edit.py:682 -#: dcim/forms/bulk_edit.py:729 dcim/forms/bulk_edit.py:882 +#: circuits/forms/filtersets.py:200 dcim/forms/bulk_edit.py:339 +#: dcim/forms/bulk_edit.py:442 dcim/forms/bulk_edit.py:683 +#: dcim/forms/bulk_edit.py:738 dcim/forms/bulk_edit.py:892 #: dcim/forms/bulk_import.py:235 dcim/forms/bulk_import.py:315 #: dcim/forms/bulk_import.py:546 dcim/forms/bulk_import.py:1317 #: dcim/forms/bulk_import.py:1351 dcim/forms/filtersets.py:95 @@ -840,8 +840,8 @@ msgid "Contacts" msgstr "Contactos" #: circuits/forms/filtersets.py:37 circuits/forms/filtersets.py:157 -#: dcim/forms/bulk_edit.py:112 dcim/forms/bulk_edit.py:313 -#: dcim/forms/bulk_edit.py:857 dcim/forms/bulk_import.py:93 +#: dcim/forms/bulk_edit.py:113 dcim/forms/bulk_edit.py:314 +#: dcim/forms/bulk_edit.py:867 dcim/forms/bulk_import.py:93 #: dcim/forms/filtersets.py:73 dcim/forms/filtersets.py:185 #: dcim/forms/filtersets.py:211 dcim/forms/filtersets.py:334 #: dcim/forms/filtersets.py:425 dcim/forms/filtersets.py:739 @@ -864,7 +864,7 @@ msgid "Region" msgstr "Región" #: circuits/forms/filtersets.py:42 circuits/forms/filtersets.py:162 -#: dcim/forms/bulk_edit.py:321 dcim/forms/bulk_edit.py:865 +#: dcim/forms/bulk_edit.py:322 dcim/forms/bulk_edit.py:875 #: dcim/forms/filtersets.py:78 dcim/forms/filtersets.py:190 #: dcim/forms/filtersets.py:216 dcim/forms/filtersets.py:347 #: dcim/forms/filtersets.py:430 dcim/forms/filtersets.py:744 @@ -882,7 +882,7 @@ msgstr "Grupo de sitios" #: circuits/forms/filtersets.py:65 circuits/forms/filtersets.py:83 #: circuits/forms/filtersets.py:102 circuits/forms/filtersets.py:117 #: core/forms/filtersets.py:67 core/forms/filtersets.py:135 -#: dcim/forms/bulk_edit.py:828 dcim/forms/filtersets.py:172 +#: dcim/forms/bulk_edit.py:838 dcim/forms/filtersets.py:172 #: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:915 #: dcim/forms/filtersets.py:1007 dcim/forms/filtersets.py:1131 #: dcim/forms/filtersets.py:1239 dcim/forms/filtersets.py:1263 @@ -917,16 +917,17 @@ msgstr "Cuenta" msgid "Term Side" msgstr "Lado del término" -#: circuits/forms/filtersets.py:250 extras/forms/model_forms.py:582 -#: ipam/forms/filtersets.py:142 ipam/forms/filtersets.py:546 -#: ipam/forms/model_forms.py:323 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 +#: circuits/forms/filtersets.py:250 dcim/forms/bulk_edit.py:1552 +#: extras/forms/model_forms.py:582 ipam/forms/filtersets.py:142 +#: ipam/forms/filtersets.py:546 ipam/forms/model_forms.py:323 +#: 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" #: circuits/forms/filtersets.py:265 circuits/forms/model_forms.py:195 -#: circuits/tables/circuits.py:155 dcim/forms/bulk_edit.py:117 +#: circuits/tables/circuits.py:155 dcim/forms/bulk_edit.py:118 #: dcim/forms/bulk_import.py:100 dcim/forms/model_forms.py:117 #: dcim/tables/sites.py:89 extras/forms/filtersets.py:480 #: ipam/filtersets.py:999 ipam/forms/bulk_edit.py:493 @@ -992,7 +993,7 @@ msgstr "ID de circuito único" #: dcim/models/devices.py:1173 dcim/models/devices.py:1399 #: dcim/models/power.py:96 dcim/models/racks.py:297 dcim/models/sites.py:154 #: dcim/models/sites.py:266 ipam/models/ip.py:253 ipam/models/ip.py:522 -#: ipam/models/ip.py:730 ipam/models/vlans.py:195 +#: ipam/models/ip.py:730 ipam/models/vlans.py:211 #: virtualization/models/clusters.py:74 #: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40 #: wireless/models.py:95 wireless/models.py:159 @@ -1131,7 +1132,7 @@ msgstr "" #: extras/models/notifications.py:126 extras/models/scripts.py:30 #: 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:36 ipam/models/vlans.py:184 ipam/models/vrfs.py:22 +#: ipam/models/vlans.py:36 ipam/models/vlans.py:200 ipam/models/vrfs.py:22 #: ipam/models/vrfs.py:79 netbox/models/__init__.py:137 #: netbox/models/__init__.py:181 tenancy/models/contacts.py:64 #: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 @@ -1242,7 +1243,7 @@ msgstr "redes de proveedores" #: templates/extras/customfield.html:13 templates/extras/customlink.html:13 #: templates/extras/eventrule.html:13 templates/extras/exporttemplate.html:15 #: templates/extras/notificationgroup.html:14 -#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:44 +#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:45 #: 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 @@ -1379,7 +1380,7 @@ msgstr "Completado" #: core/choices.py:22 core/choices.py:59 core/constants.py:20 #: core/tables/tasks.py:34 dcim/choices.py:187 dcim/choices.py:239 -#: dcim/choices.py:1607 virtualization/choices.py:47 +#: dcim/choices.py:1609 virtualization/choices.py:47 msgid "Failed" msgstr "Falló" @@ -1526,8 +1527,8 @@ msgid "User name" msgstr "Nombre de usuario" #: core/forms/bulk_edit.py:25 core/forms/filtersets.py:43 -#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1122 -#: dcim/forms/bulk_edit.py:1400 dcim/forms/filtersets.py:1370 +#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1132 +#: dcim/forms/bulk_edit.py:1410 dcim/forms/filtersets.py:1370 #: dcim/tables/devices.py:553 dcim/tables/devicetypes.py:224 #: extras/forms/bulk_edit.py:123 extras/forms/bulk_edit.py:187 #: extras/forms/bulk_edit.py:246 extras/forms/filtersets.py:142 @@ -1627,7 +1628,7 @@ msgid "Completed before" msgstr "Completado antes" #: core/forms/filtersets.py:126 core/forms/filtersets.py:155 -#: dcim/forms/bulk_edit.py:456 dcim/forms/filtersets.py:418 +#: dcim/forms/bulk_edit.py:457 dcim/forms/filtersets.py:418 #: dcim/forms/filtersets.py:462 dcim/forms/model_forms.py:316 #: extras/forms/filtersets.py:456 extras/forms/filtersets.py:475 #: extras/tables/tables.py:302 extras/tables/tables.py:342 @@ -1689,9 +1690,9 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevaciones de estanterías" -#: core/forms/model_forms.py:157 dcim/choices.py:1518 -#: dcim/forms/bulk_edit.py:969 dcim/forms/bulk_edit.py:1357 -#: dcim/forms/bulk_edit.py:1375 dcim/tables/racks.py:158 +#: core/forms/model_forms.py:157 dcim/choices.py:1520 +#: dcim/forms/bulk_edit.py:979 dcim/forms/bulk_edit.py:1367 +#: dcim/forms/bulk_edit.py:1385 dcim/tables/racks.py:158 #: netbox/navigation/menu.py:291 netbox/navigation/menu.py:295 msgid "Power" msgstr "Potencia" @@ -2227,11 +2228,11 @@ msgstr "Trabajo {id} se ha detenido." msgid "Failed to stop job {id}" msgstr "No se pudo detener el trabajo {id}" -#: core/views.py:678 +#: core/views.py:674 msgid "Plugins catalog could not be loaded" msgstr "No se pudo cargar el catálogo de complementos" -#: core/views.py:712 +#: core/views.py:708 #, python-brace-format msgid "Plugin {name} not found" msgstr "Plugin {name} no se encontró" @@ -2249,7 +2250,7 @@ msgid "Staging" msgstr "Puesta en escena" #: dcim/choices.py:23 dcim/choices.py:189 dcim/choices.py:240 -#: dcim/choices.py:1531 virtualization/choices.py:23 +#: dcim/choices.py:1533 virtualization/choices.py:23 #: virtualization/choices.py:48 msgid "Decommissioning" msgstr "Desmantelamiento" @@ -2309,7 +2310,7 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Milímetros" -#: dcim/choices.py:115 dcim/choices.py:1553 +#: dcim/choices.py:115 dcim/choices.py:1555 msgid "Inches" msgstr "Pulgadas" @@ -2321,8 +2322,8 @@ msgstr "De adelante hacia atrás" msgid "Rear to front" msgstr "De atrás hacia adelante" -#: dcim/choices.py:151 dcim/forms/bulk_edit.py:68 dcim/forms/bulk_edit.py:87 -#: dcim/forms/bulk_edit.py:173 dcim/forms/bulk_edit.py:1405 +#: dcim/choices.py:151 dcim/forms/bulk_edit.py:69 dcim/forms/bulk_edit.py:88 +#: dcim/forms/bulk_edit.py:174 dcim/forms/bulk_edit.py:1415 #: dcim/forms/bulk_import.py:60 dcim/forms/bulk_import.py:74 #: dcim/forms/bulk_import.py:137 dcim/forms/bulk_import.py:566 #: dcim/forms/bulk_import.py:833 dcim/forms/bulk_import.py:1088 @@ -2396,7 +2397,7 @@ msgstr "De abajo hacia arriba" msgid "Top to bottom" msgstr "De arriba a abajo" -#: dcim/choices.py:215 dcim/choices.py:259 dcim/choices.py:1303 +#: dcim/choices.py:215 dcim/choices.py:259 dcim/choices.py:1305 msgid "Passive" msgstr "Pasivo" @@ -2424,8 +2425,8 @@ msgstr "Internacional/ITA" msgid "Proprietary" msgstr "Proprietario" -#: dcim/choices.py:581 dcim/choices.py:824 dcim/choices.py:1219 -#: dcim/choices.py:1221 dcim/choices.py:1447 dcim/choices.py:1449 +#: dcim/choices.py:581 dcim/choices.py:824 dcim/choices.py:1221 +#: dcim/choices.py:1223 dcim/choices.py:1449 dcim/choices.py:1451 #: netbox/navigation/menu.py:200 msgid "Other" msgstr "Otros" @@ -2438,22 +2439,22 @@ msgstr "ITA/Internacional" msgid "Physical" msgstr "Físico" -#: dcim/choices.py:855 dcim/choices.py:1023 +#: dcim/choices.py:855 dcim/choices.py:1024 msgid "Virtual" msgstr "Virtual" -#: dcim/choices.py:856 dcim/choices.py:1097 dcim/forms/bulk_edit.py:1515 +#: dcim/choices.py:856 dcim/choices.py:1099 dcim/forms/bulk_edit.py:1558 #: dcim/forms/filtersets.py:1330 dcim/forms/model_forms.py:988 #: dcim/forms/model_forms.py:1397 netbox/navigation/menu.py:140 #: netbox/navigation/menu.py:144 templates/dcim/interface.html:210 msgid "Wireless" msgstr "inalámbrico" -#: dcim/choices.py:1021 +#: dcim/choices.py:1022 msgid "Virtual interfaces" msgstr "Interfaces virtuales" -#: dcim/choices.py:1024 dcim/forms/bulk_edit.py:1410 +#: dcim/choices.py:1025 dcim/forms/bulk_edit.py:1423 #: dcim/forms/bulk_import.py:840 dcim/forms/model_forms.py:974 #: dcim/tables/devices.py:660 templates/dcim/interface.html:106 #: templates/virtualization/vminterface.html:43 @@ -2463,155 +2464,155 @@ msgstr "Interfaces virtuales" msgid "Bridge" msgstr "puente" -#: dcim/choices.py:1025 +#: dcim/choices.py:1026 msgid "Link Aggregation Group (LAG)" msgstr "Grupo de agregación de enlaces (LAG)" -#: dcim/choices.py:1029 +#: dcim/choices.py:1030 msgid "Ethernet (fixed)" msgstr "Ethernet (fijo)" -#: dcim/choices.py:1044 +#: dcim/choices.py:1046 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: dcim/choices.py:1081 +#: dcim/choices.py:1083 msgid "Ethernet (backplane)" msgstr "Ethernet (placa base)" -#: dcim/choices.py:1113 +#: dcim/choices.py:1115 msgid "Cellular" msgstr "Celular" -#: dcim/choices.py:1165 dcim/forms/filtersets.py:383 +#: dcim/choices.py:1167 dcim/forms/filtersets.py:383 #: dcim/forms/filtersets.py:809 dcim/forms/filtersets.py:963 #: dcim/forms/filtersets.py:1542 templates/dcim/inventoryitem.html:52 #: templates/dcim/virtualchassis_edit.html:54 msgid "Serial" msgstr "serie" -#: dcim/choices.py:1180 +#: dcim/choices.py:1182 msgid "Coaxial" msgstr "Coaxial" -#: dcim/choices.py:1200 +#: dcim/choices.py:1202 msgid "Stacking" msgstr "Apilamiento" -#: dcim/choices.py:1250 +#: dcim/choices.py:1252 msgid "Half" msgstr "Mitad" -#: dcim/choices.py:1251 +#: dcim/choices.py:1253 msgid "Full" msgstr "Lleno" -#: dcim/choices.py:1252 netbox/preferences.py:31 wireless/choices.py:480 +#: dcim/choices.py:1254 netbox/preferences.py:31 wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: dcim/choices.py:1263 +#: dcim/choices.py:1265 msgid "Access" msgstr "Acceso" -#: dcim/choices.py:1264 ipam/tables/vlans.py:172 ipam/tables/vlans.py:217 +#: dcim/choices.py:1266 ipam/tables/vlans.py:172 ipam/tables/vlans.py:217 #: templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Etiquetado" -#: dcim/choices.py:1265 +#: dcim/choices.py:1267 msgid "Tagged (All)" msgstr "Etiquetado (Todos)" -#: dcim/choices.py:1294 +#: dcim/choices.py:1296 msgid "IEEE Standard" msgstr "Estándar IEEE" -#: dcim/choices.py:1305 +#: dcim/choices.py:1307 msgid "Passive 24V (2-pair)" msgstr "Pasivo 24 V (2 pares)" -#: dcim/choices.py:1306 +#: dcim/choices.py:1308 msgid "Passive 24V (4-pair)" msgstr "Pasivo de 24 V (4 pares)" -#: dcim/choices.py:1307 +#: dcim/choices.py:1309 msgid "Passive 48V (2-pair)" msgstr "Pasivo 48 V (2 pares)" -#: dcim/choices.py:1308 +#: dcim/choices.py:1310 msgid "Passive 48V (4-pair)" msgstr "Pasivo de 48 V (4 pares)" -#: dcim/choices.py:1378 dcim/choices.py:1488 +#: dcim/choices.py:1380 dcim/choices.py:1490 msgid "Copper" msgstr "Cobre" -#: dcim/choices.py:1401 +#: dcim/choices.py:1403 msgid "Fiber Optic" msgstr "Fibra óptica" -#: dcim/choices.py:1434 dcim/choices.py:1517 +#: dcim/choices.py:1436 dcim/choices.py:1519 msgid "USB" msgstr "USB" -#: dcim/choices.py:1504 +#: dcim/choices.py:1506 msgid "Fiber" msgstr "Fibra" -#: dcim/choices.py:1529 dcim/forms/filtersets.py:1227 +#: dcim/choices.py:1531 dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Conectado" -#: dcim/choices.py:1548 wireless/choices.py:497 +#: dcim/choices.py:1550 wireless/choices.py:497 msgid "Kilometers" msgstr "Kilómetros" -#: dcim/choices.py:1549 templates/dcim/cable_trace.html:65 +#: dcim/choices.py:1551 templates/dcim/cable_trace.html:65 #: wireless/choices.py:498 msgid "Meters" msgstr "Medidores" -#: dcim/choices.py:1550 +#: dcim/choices.py:1552 msgid "Centimeters" msgstr "Centímetros" -#: dcim/choices.py:1551 wireless/choices.py:499 +#: dcim/choices.py:1553 wireless/choices.py:499 msgid "Miles" msgstr "Millas" -#: dcim/choices.py:1552 templates/dcim/cable_trace.html:66 +#: dcim/choices.py:1554 templates/dcim/cable_trace.html:66 #: wireless/choices.py:500 msgid "Feet" msgstr "Pies" -#: dcim/choices.py:1568 templates/dcim/device.html:327 +#: dcim/choices.py:1570 templates/dcim/device.html:327 #: templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramos" -#: dcim/choices.py:1569 +#: dcim/choices.py:1571 msgid "Grams" msgstr "Gramos" -#: dcim/choices.py:1570 templates/dcim/device.html:328 +#: dcim/choices.py:1572 templates/dcim/device.html:328 #: templates/dcim/rack.html:108 msgid "Pounds" msgstr "Libras" -#: dcim/choices.py:1571 +#: dcim/choices.py:1573 msgid "Ounces" msgstr "Onzas" -#: dcim/choices.py:1618 +#: dcim/choices.py:1620 msgid "Redundant" msgstr "Redundante" -#: dcim/choices.py:1639 +#: dcim/choices.py:1641 msgid "Single phase" msgstr "Monofásico" -#: dcim/choices.py:1640 +#: dcim/choices.py:1642 msgid "Three-phase" msgstr "Trifásico" @@ -2844,7 +2845,7 @@ msgstr "Grupo de clústeres (ID)" msgid "Device model (slug)" msgstr "Modelo de dispositivo (slug)" -#: dcim/filtersets.py:1099 dcim/forms/bulk_edit.py:516 +#: dcim/filtersets.py:1099 dcim/forms/bulk_edit.py:517 msgid "Is full depth" msgstr "Es de profundidad total" @@ -2960,7 +2961,7 @@ msgstr "VLAN asignada" msgid "Assigned VID" msgstr "VID asignado" -#: dcim/filtersets.py:1613 dcim/forms/bulk_edit.py:1489 +#: dcim/filtersets.py:1613 dcim/forms/bulk_edit.py:1526 #: dcim/forms/bulk_import.py:891 dcim/forms/filtersets.py:1428 #: dcim/forms/model_forms.py:1378 dcim/models/device_components.py:711 #: dcim/tables/devices.py:626 ipam/filtersets.py:316 ipam/filtersets.py:327 @@ -3121,27 +3122,27 @@ 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:132 +#: dcim/forms/bulk_edit.py:133 msgid "Contact name" msgstr "Nombre de contacto" -#: dcim/forms/bulk_edit.py:137 +#: dcim/forms/bulk_edit.py:138 msgid "Contact phone" msgstr "Teléfono de contacto" -#: dcim/forms/bulk_edit.py:143 +#: dcim/forms/bulk_edit.py:144 msgid "Contact E-mail" msgstr "Correo electrónico de contacto" -#: dcim/forms/bulk_edit.py:146 dcim/forms/bulk_import.py:123 +#: dcim/forms/bulk_edit.py:147 dcim/forms/bulk_import.py:123 #: dcim/forms/model_forms.py:128 msgid "Time zone" msgstr "Zona horaria" -#: dcim/forms/bulk_edit.py:224 dcim/forms/bulk_edit.py:495 -#: dcim/forms/bulk_edit.py:559 dcim/forms/bulk_edit.py:632 -#: dcim/forms/bulk_edit.py:656 dcim/forms/bulk_edit.py:740 -#: dcim/forms/bulk_edit.py:1267 dcim/forms/bulk_edit.py:1660 +#: dcim/forms/bulk_edit.py:225 dcim/forms/bulk_edit.py:496 +#: dcim/forms/bulk_edit.py:560 dcim/forms/bulk_edit.py:633 +#: dcim/forms/bulk_edit.py:657 dcim/forms/bulk_edit.py:750 +#: dcim/forms/bulk_edit.py:1277 dcim/forms/bulk_edit.py:1698 #: dcim/forms/bulk_import.py:182 dcim/forms/bulk_import.py:371 #: dcim/forms/bulk_import.py:405 dcim/forms/bulk_import.py:450 #: dcim/forms/bulk_import.py:486 dcim/forms/bulk_import.py:1082 @@ -3164,51 +3165,51 @@ msgstr "Zona horaria" msgid "Manufacturer" msgstr "fabricante" -#: dcim/forms/bulk_edit.py:229 dcim/forms/bulk_edit.py:372 +#: dcim/forms/bulk_edit.py:230 dcim/forms/bulk_edit.py:373 #: dcim/forms/bulk_import.py:191 dcim/forms/bulk_import.py:263 #: dcim/forms/filtersets.py:255 #: templates/dcim/inc/panels/racktype_dimensions.html:6 msgid "Form factor" msgstr "Factor de forma" -#: dcim/forms/bulk_edit.py:234 dcim/forms/bulk_edit.py:377 +#: dcim/forms/bulk_edit.py:235 dcim/forms/bulk_edit.py:378 #: dcim/forms/bulk_import.py:199 dcim/forms/bulk_import.py:266 #: dcim/forms/filtersets.py:260 #: templates/dcim/inc/panels/racktype_dimensions.html:10 msgid "Width" msgstr "Anchura" -#: dcim/forms/bulk_edit.py:240 dcim/forms/bulk_edit.py:383 +#: dcim/forms/bulk_edit.py:241 dcim/forms/bulk_edit.py:384 #: templates/dcim/devicetype.html:37 msgid "Height (U)" msgstr "Altura (U)" -#: dcim/forms/bulk_edit.py:249 dcim/forms/bulk_edit.py:388 +#: dcim/forms/bulk_edit.py:250 dcim/forms/bulk_edit.py:389 #: dcim/forms/filtersets.py:274 msgid "Descending units" msgstr "Unidades descendentes" -#: dcim/forms/bulk_edit.py:252 dcim/forms/bulk_edit.py:391 +#: dcim/forms/bulk_edit.py:253 dcim/forms/bulk_edit.py:392 msgid "Outer width" msgstr "Anchura exterior" -#: dcim/forms/bulk_edit.py:257 dcim/forms/bulk_edit.py:396 +#: dcim/forms/bulk_edit.py:258 dcim/forms/bulk_edit.py:397 msgid "Outer depth" msgstr "Profundidad exterior" -#: dcim/forms/bulk_edit.py:262 dcim/forms/bulk_edit.py:401 +#: dcim/forms/bulk_edit.py:263 dcim/forms/bulk_edit.py:402 #: dcim/forms/bulk_import.py:204 dcim/forms/bulk_import.py:271 msgid "Outer unit" msgstr "Unidad exterior" -#: dcim/forms/bulk_edit.py:267 dcim/forms/bulk_edit.py:406 +#: dcim/forms/bulk_edit.py:268 dcim/forms/bulk_edit.py:407 msgid "Mounting depth" msgstr "Profundidad de montaje" -#: dcim/forms/bulk_edit.py:272 dcim/forms/bulk_edit.py:299 -#: dcim/forms/bulk_edit.py:416 dcim/forms/bulk_edit.py:446 -#: dcim/forms/bulk_edit.py:529 dcim/forms/bulk_edit.py:552 -#: dcim/forms/bulk_edit.py:573 dcim/forms/bulk_edit.py:595 +#: dcim/forms/bulk_edit.py:273 dcim/forms/bulk_edit.py:300 +#: dcim/forms/bulk_edit.py:417 dcim/forms/bulk_edit.py:447 +#: dcim/forms/bulk_edit.py:530 dcim/forms/bulk_edit.py:553 +#: dcim/forms/bulk_edit.py:574 dcim/forms/bulk_edit.py:596 #: dcim/forms/bulk_import.py:384 dcim/forms/bulk_import.py:416 #: dcim/forms/filtersets.py:285 dcim/forms/filtersets.py:307 #: dcim/forms/filtersets.py:327 dcim/forms/filtersets.py:401 @@ -3229,13 +3230,13 @@ msgstr "Profundidad de montaje" msgid "Weight" msgstr "Peso" -#: dcim/forms/bulk_edit.py:277 dcim/forms/bulk_edit.py:421 +#: dcim/forms/bulk_edit.py:278 dcim/forms/bulk_edit.py:422 #: dcim/forms/filtersets.py:290 msgid "Max weight" msgstr "Peso máximo" -#: dcim/forms/bulk_edit.py:282 dcim/forms/bulk_edit.py:426 -#: dcim/forms/bulk_edit.py:534 dcim/forms/bulk_edit.py:578 +#: dcim/forms/bulk_edit.py:283 dcim/forms/bulk_edit.py:427 +#: dcim/forms/bulk_edit.py:535 dcim/forms/bulk_edit.py:579 #: dcim/forms/bulk_import.py:210 dcim/forms/bulk_import.py:283 #: dcim/forms/bulk_import.py:389 dcim/forms/bulk_import.py:421 #: dcim/forms/filtersets.py:295 dcim/forms/filtersets.py:598 @@ -3243,31 +3244,31 @@ msgstr "Peso máximo" msgid "Weight unit" msgstr "Unidad de peso" -#: dcim/forms/bulk_edit.py:296 dcim/forms/filtersets.py:305 +#: dcim/forms/bulk_edit.py:297 dcim/forms/filtersets.py:305 #: dcim/forms/model_forms.py:217 dcim/forms/model_forms.py:256 #: templates/dcim/rack.html:45 templates/dcim/racktype.html:13 msgid "Rack Type" msgstr "Tipo de bastidor" -#: dcim/forms/bulk_edit.py:298 dcim/forms/model_forms.py:220 +#: dcim/forms/bulk_edit.py:299 dcim/forms/model_forms.py:220 #: dcim/forms/model_forms.py:297 msgid "Outer Dimensions" msgstr "Dimensiones exteriores" -#: dcim/forms/bulk_edit.py:301 dcim/forms/model_forms.py:222 +#: dcim/forms/bulk_edit.py:302 dcim/forms/model_forms.py:222 #: dcim/forms/model_forms.py:299 templates/dcim/device.html:315 #: templates/dcim/inc/panels/racktype_dimensions.html:3 msgid "Dimensions" msgstr "Dimensiones" -#: dcim/forms/bulk_edit.py:303 dcim/forms/filtersets.py:306 +#: dcim/forms/bulk_edit.py:304 dcim/forms/filtersets.py:306 #: dcim/forms/filtersets.py:326 dcim/forms/model_forms.py:224 #: templates/dcim/inc/panels/racktype_numbering.html:3 msgid "Numbering" msgstr "Numeración" -#: dcim/forms/bulk_edit.py:357 dcim/forms/bulk_edit.py:1262 -#: dcim/forms/bulk_edit.py:1655 dcim/forms/bulk_import.py:253 +#: dcim/forms/bulk_edit.py:358 dcim/forms/bulk_edit.py:1272 +#: dcim/forms/bulk_edit.py:1693 dcim/forms/bulk_import.py:253 #: dcim/forms/bulk_import.py:1076 dcim/forms/filtersets.py:367 #: dcim/forms/filtersets.py:777 dcim/forms/filtersets.py:1534 #: dcim/forms/model_forms.py:251 dcim/forms/model_forms.py:1070 @@ -3307,21 +3308,21 @@ msgstr "Numeración" msgid "Role" msgstr "Rol" -#: dcim/forms/bulk_edit.py:364 dcim/forms/bulk_edit.py:712 -#: dcim/forms/bulk_edit.py:764 templates/dcim/device.html:104 +#: dcim/forms/bulk_edit.py:365 dcim/forms/bulk_edit.py:713 +#: dcim/forms/bulk_edit.py:774 templates/dcim/device.html:104 #: templates/dcim/module.html:77 templates/dcim/modulebay.html:70 #: templates/dcim/rack.html:57 templates/virtualization/virtualmachine.html:35 msgid "Serial Number" msgstr "Número de serie" -#: dcim/forms/bulk_edit.py:367 dcim/forms/filtersets.py:387 +#: dcim/forms/bulk_edit.py:368 dcim/forms/filtersets.py:387 #: dcim/forms/filtersets.py:813 dcim/forms/filtersets.py:967 #: dcim/forms/filtersets.py:1546 msgid "Asset tag" msgstr "Etiqueta de activo" -#: dcim/forms/bulk_edit.py:411 dcim/forms/bulk_edit.py:524 -#: dcim/forms/bulk_edit.py:568 dcim/forms/bulk_edit.py:705 +#: dcim/forms/bulk_edit.py:412 dcim/forms/bulk_edit.py:525 +#: dcim/forms/bulk_edit.py:569 dcim/forms/bulk_edit.py:706 #: dcim/forms/bulk_import.py:277 dcim/forms/bulk_import.py:410 #: dcim/forms/bulk_import.py:580 dcim/forms/filtersets.py:280 #: dcim/forms/filtersets.py:511 dcim/forms/filtersets.py:669 @@ -3331,7 +3332,7 @@ msgstr "Etiqueta de activo" msgid "Airflow" msgstr "Flujo de aire" -#: dcim/forms/bulk_edit.py:440 dcim/forms/bulk_edit.py:910 +#: dcim/forms/bulk_edit.py:441 dcim/forms/bulk_edit.py:920 #: dcim/forms/bulk_import.py:322 dcim/forms/bulk_import.py:325 #: dcim/forms/bulk_import.py:553 dcim/forms/bulk_import.py:1358 #: dcim/forms/bulk_import.py:1362 dcim/forms/filtersets.py:104 @@ -3351,7 +3352,7 @@ msgstr "Flujo de aire" msgid "Rack" msgstr "Estante" -#: dcim/forms/bulk_edit.py:444 dcim/forms/bulk_edit.py:730 +#: dcim/forms/bulk_edit.py:445 dcim/forms/bulk_edit.py:739 #: dcim/forms/filtersets.py:325 dcim/forms/filtersets.py:398 #: dcim/forms/filtersets.py:481 dcim/forms/filtersets.py:608 #: dcim/forms/filtersets.py:721 dcim/forms/filtersets.py:942 @@ -3360,49 +3361,49 @@ msgstr "Estante" msgid "Hardware" msgstr "Hardware" -#: dcim/forms/bulk_edit.py:500 dcim/forms/bulk_import.py:377 +#: dcim/forms/bulk_edit.py:501 dcim/forms/bulk_import.py:377 #: dcim/forms/filtersets.py:499 dcim/forms/model_forms.py:353 msgid "Default platform" msgstr "Plataforma predeterminada" -#: dcim/forms/bulk_edit.py:505 dcim/forms/bulk_edit.py:564 +#: dcim/forms/bulk_edit.py:506 dcim/forms/bulk_edit.py:565 #: dcim/forms/filtersets.py:502 dcim/forms/filtersets.py:622 msgid "Part number" msgstr "Número de pieza" -#: dcim/forms/bulk_edit.py:509 +#: dcim/forms/bulk_edit.py:510 msgid "U height" msgstr "Altura en U" -#: dcim/forms/bulk_edit.py:521 dcim/tables/devicetypes.py:102 +#: dcim/forms/bulk_edit.py:522 dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Excluir de la utilización" -#: dcim/forms/bulk_edit.py:550 dcim/forms/model_forms.py:368 +#: dcim/forms/bulk_edit.py:551 dcim/forms/model_forms.py:368 #: dcim/tables/devicetypes.py:77 templates/dcim/device.html:88 #: templates/dcim/devicebay.html:52 templates/dcim/module.html:61 msgid "Device Type" msgstr "Tipo de dispositivo" -#: dcim/forms/bulk_edit.py:592 dcim/forms/model_forms.py:401 +#: dcim/forms/bulk_edit.py:593 dcim/forms/model_forms.py:401 #: dcim/tables/modules.py:17 dcim/tables/modules.py:65 #: templates/dcim/module.html:65 templates/dcim/modulebay.html:66 #: templates/dcim/moduletype.html:22 msgid "Module Type" msgstr "Tipo de módulo" -#: dcim/forms/bulk_edit.py:596 dcim/forms/model_forms.py:371 +#: dcim/forms/bulk_edit.py:597 dcim/forms/model_forms.py:371 #: dcim/forms/model_forms.py:402 templates/dcim/devicetype.html:11 msgid "Chassis" msgstr "Chasis" -#: dcim/forms/bulk_edit.py:610 dcim/models/devices.py:484 +#: dcim/forms/bulk_edit.py:611 dcim/models/devices.py:484 #: dcim/tables/devices.py:67 msgid "VM role" msgstr "Función de máquina virtual" -#: dcim/forms/bulk_edit.py:613 dcim/forms/bulk_edit.py:637 -#: dcim/forms/bulk_edit.py:720 dcim/forms/bulk_import.py:434 +#: dcim/forms/bulk_edit.py:614 dcim/forms/bulk_edit.py:638 +#: dcim/forms/bulk_edit.py:721 dcim/forms/bulk_import.py:434 #: dcim/forms/bulk_import.py:438 dcim/forms/bulk_import.py:457 #: dcim/forms/bulk_import.py:461 dcim/forms/bulk_import.py:586 #: dcim/forms/bulk_import.py:590 dcim/forms/filtersets.py:689 @@ -3415,19 +3416,19 @@ msgstr "Función de máquina virtual" msgid "Config template" msgstr "Plantilla de configuración" -#: dcim/forms/bulk_edit.py:661 dcim/forms/bulk_edit.py:1061 +#: dcim/forms/bulk_edit.py:662 dcim/forms/bulk_edit.py:1071 #: dcim/forms/bulk_import.py:492 dcim/forms/filtersets.py:114 #: dcim/forms/model_forms.py:501 dcim/forms/model_forms.py:872 #: dcim/forms/model_forms.py:889 extras/filtersets.py:547 msgid "Device type" msgstr "Tipo de dispositivo" -#: dcim/forms/bulk_edit.py:672 dcim/forms/bulk_import.py:473 +#: dcim/forms/bulk_edit.py:673 dcim/forms/bulk_import.py:473 #: dcim/forms/filtersets.py:119 dcim/forms/model_forms.py:509 msgid "Device role" msgstr "Función del dispositivo" -#: dcim/forms/bulk_edit.py:695 dcim/forms/bulk_import.py:498 +#: dcim/forms/bulk_edit.py:696 dcim/forms/bulk_import.py:498 #: dcim/forms/filtersets.py:796 dcim/forms/model_forms.py:451 #: dcim/forms/model_forms.py:513 dcim/tables/devices.py:182 #: extras/filtersets.py:563 templates/dcim/device.html:186 @@ -3441,8 +3442,28 @@ msgstr "Función del dispositivo" msgid "Platform" msgstr "Plataforma" -#: dcim/forms/bulk_edit.py:728 dcim/forms/bulk_edit.py:1281 -#: dcim/forms/bulk_edit.py:1650 dcim/forms/bulk_edit.py:1696 +#: dcim/forms/bulk_edit.py:726 dcim/forms/bulk_import.py:517 +#: dcim/forms/filtersets.py:728 dcim/forms/filtersets.py:898 +#: dcim/forms/model_forms.py:522 dcim/tables/devices.py:202 +#: extras/filtersets.py:596 extras/forms/filtersets.py:322 +#: ipam/forms/filtersets.py:415 ipam/forms/filtersets.py:447 +#: templates/dcim/device.html:239 templates/virtualization/cluster.html:10 +#: templates/virtualization/virtualmachine.html:92 +#: templates/virtualization/virtualmachine.html:101 +#: virtualization/filtersets.py:157 virtualization/filtersets.py:277 +#: virtualization/forms/bulk_edit.py:129 +#: virtualization/forms/bulk_import.py:92 +#: virtualization/forms/filtersets.py:99 +#: virtualization/forms/filtersets.py:123 +#: virtualization/forms/filtersets.py:204 +#: virtualization/forms/model_forms.py:79 +#: virtualization/forms/model_forms.py:176 +#: virtualization/tables/virtualmachines.py:67 +msgid "Cluster" +msgstr "Clúster" + +#: dcim/forms/bulk_edit.py:737 dcim/forms/bulk_edit.py:1291 +#: dcim/forms/bulk_edit.py:1688 dcim/forms/bulk_edit.py:1734 #: dcim/forms/bulk_import.py:641 dcim/forms/bulk_import.py:703 #: dcim/forms/bulk_import.py:729 dcim/forms/bulk_import.py:755 #: dcim/forms/bulk_import.py:775 dcim/forms/bulk_import.py:828 @@ -3499,22 +3520,27 @@ msgstr "Plataforma" msgid "Device" msgstr "Dispositivo" -#: dcim/forms/bulk_edit.py:731 templates/extras/dashboard/widget_config.html:7 +#: dcim/forms/bulk_edit.py:740 templates/extras/dashboard/widget_config.html:7 #: virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "Configuración" -#: dcim/forms/bulk_edit.py:745 dcim/forms/bulk_import.py:653 +#: dcim/forms/bulk_edit.py:741 netbox/navigation/menu.py:243 +#: templates/dcim/device_edit.html:78 +msgid "Virtualization" +msgstr "Virtualización" + +#: dcim/forms/bulk_edit.py:755 dcim/forms/bulk_import.py:653 #: dcim/forms/model_forms.py:647 dcim/forms/model_forms.py:897 msgid "Module type" msgstr "Tipo de módulo" -#: dcim/forms/bulk_edit.py:799 dcim/forms/bulk_edit.py:984 -#: dcim/forms/bulk_edit.py:1003 dcim/forms/bulk_edit.py:1026 -#: dcim/forms/bulk_edit.py:1068 dcim/forms/bulk_edit.py:1112 -#: dcim/forms/bulk_edit.py:1163 dcim/forms/bulk_edit.py:1190 -#: dcim/forms/bulk_edit.py:1217 dcim/forms/bulk_edit.py:1235 -#: dcim/forms/bulk_edit.py:1253 dcim/forms/filtersets.py:67 +#: dcim/forms/bulk_edit.py:809 dcim/forms/bulk_edit.py:994 +#: dcim/forms/bulk_edit.py:1013 dcim/forms/bulk_edit.py:1036 +#: dcim/forms/bulk_edit.py:1078 dcim/forms/bulk_edit.py:1122 +#: dcim/forms/bulk_edit.py:1173 dcim/forms/bulk_edit.py:1200 +#: dcim/forms/bulk_edit.py:1227 dcim/forms/bulk_edit.py:1245 +#: dcim/forms/bulk_edit.py:1263 dcim/forms/filtersets.py:67 #: 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 @@ -3526,82 +3552,82 @@ msgstr "Tipo de módulo" msgid "Label" msgstr "Etiqueta" -#: dcim/forms/bulk_edit.py:808 dcim/forms/filtersets.py:1068 +#: dcim/forms/bulk_edit.py:818 dcim/forms/filtersets.py:1068 #: templates/dcim/cable.html:50 msgid "Length" msgstr "Longitud" -#: dcim/forms/bulk_edit.py:813 dcim/forms/bulk_import.py:1226 +#: dcim/forms/bulk_edit.py:823 dcim/forms/bulk_import.py:1226 #: dcim/forms/bulk_import.py:1229 dcim/forms/filtersets.py:1072 msgid "Length unit" msgstr "Unidad de longitud" -#: dcim/forms/bulk_edit.py:837 templates/dcim/virtualchassis.html:23 +#: dcim/forms/bulk_edit.py:847 templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "Dominio" -#: dcim/forms/bulk_edit.py:905 dcim/forms/bulk_import.py:1345 +#: dcim/forms/bulk_edit.py:915 dcim/forms/bulk_import.py:1345 #: dcim/forms/filtersets.py:1158 dcim/forms/model_forms.py:750 msgid "Power panel" msgstr "Panel de alimentación" -#: dcim/forms/bulk_edit.py:927 dcim/forms/bulk_import.py:1381 +#: dcim/forms/bulk_edit.py:937 dcim/forms/bulk_import.py:1381 #: dcim/forms/filtersets.py:1180 templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Suministro" -#: dcim/forms/bulk_edit.py:933 dcim/forms/bulk_import.py:1386 +#: dcim/forms/bulk_edit.py:943 dcim/forms/bulk_import.py:1386 #: dcim/forms/filtersets.py:1185 templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Fase" -#: dcim/forms/bulk_edit.py:939 dcim/forms/filtersets.py:1190 +#: dcim/forms/bulk_edit.py:949 dcim/forms/filtersets.py:1190 #: templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "Tensión" -#: dcim/forms/bulk_edit.py:943 dcim/forms/filtersets.py:1194 +#: dcim/forms/bulk_edit.py:953 dcim/forms/filtersets.py:1194 #: templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Amperaje" -#: dcim/forms/bulk_edit.py:947 dcim/forms/filtersets.py:1198 +#: dcim/forms/bulk_edit.py:957 dcim/forms/filtersets.py:1198 msgid "Max utilization" msgstr "Utilización máxima" -#: dcim/forms/bulk_edit.py:1036 +#: dcim/forms/bulk_edit.py:1046 msgid "Maximum draw" msgstr "Sorteo máximo" -#: dcim/forms/bulk_edit.py:1039 dcim/models/device_component_templates.py:282 +#: dcim/forms/bulk_edit.py:1049 dcim/models/device_component_templates.py:282 #: dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Consumo máximo de energía (vatios)" -#: dcim/forms/bulk_edit.py:1042 +#: dcim/forms/bulk_edit.py:1052 msgid "Allocated draw" msgstr "Sorteo asignado" -#: dcim/forms/bulk_edit.py:1045 dcim/models/device_component_templates.py:289 +#: dcim/forms/bulk_edit.py:1055 dcim/models/device_component_templates.py:289 #: dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Consumo de energía asignado (vatios)" -#: dcim/forms/bulk_edit.py:1078 dcim/forms/bulk_import.py:786 +#: dcim/forms/bulk_edit.py:1088 dcim/forms/bulk_import.py:786 #: dcim/forms/model_forms.py:953 dcim/forms/model_forms.py:1278 #: dcim/forms/model_forms.py:1567 dcim/forms/object_import.py:55 msgid "Power port" msgstr "Puerto de alimentación" -#: dcim/forms/bulk_edit.py:1083 dcim/forms/bulk_import.py:793 +#: dcim/forms/bulk_edit.py:1093 dcim/forms/bulk_import.py:793 msgid "Feed leg" msgstr "Pierna de alimentación" -#: dcim/forms/bulk_edit.py:1129 dcim/forms/bulk_edit.py:1440 +#: dcim/forms/bulk_edit.py:1139 dcim/forms/bulk_edit.py:1457 msgid "Management only" msgstr "Solo administración" -#: dcim/forms/bulk_edit.py:1139 dcim/forms/bulk_edit.py:1446 +#: dcim/forms/bulk_edit.py:1149 dcim/forms/bulk_edit.py:1463 #: dcim/forms/bulk_import.py:876 dcim/forms/filtersets.py:1394 #: dcim/forms/object_import.py:90 #: dcim/models/device_component_templates.py:437 @@ -3609,7 +3635,7 @@ msgstr "Solo administración" msgid "PoE mode" msgstr "Modo PoE" -#: dcim/forms/bulk_edit.py:1145 dcim/forms/bulk_edit.py:1452 +#: dcim/forms/bulk_edit.py:1155 dcim/forms/bulk_edit.py:1469 #: dcim/forms/bulk_import.py:882 dcim/forms/filtersets.py:1399 #: dcim/forms/object_import.py:95 #: dcim/models/device_component_templates.py:443 @@ -3617,12 +3643,12 @@ msgstr "Modo PoE" msgid "PoE type" msgstr "Tipo de PoE" -#: dcim/forms/bulk_edit.py:1151 dcim/forms/filtersets.py:1404 +#: dcim/forms/bulk_edit.py:1161 dcim/forms/filtersets.py:1404 #: dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Función inalámbrica" -#: dcim/forms/bulk_edit.py:1288 dcim/forms/model_forms.py:669 +#: dcim/forms/bulk_edit.py:1298 dcim/forms/model_forms.py:669 #: dcim/forms/model_forms.py:1223 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 @@ -3632,16 +3658,16 @@ msgstr "Función inalámbrica" msgid "Module" msgstr "Módulo" -#: dcim/forms/bulk_edit.py:1420 dcim/tables/devices.py:665 +#: dcim/forms/bulk_edit.py:1437 dcim/tables/devices.py:665 #: templates/dcim/interface.html:110 msgid "LAG" msgstr "DESFASE" -#: dcim/forms/bulk_edit.py:1425 dcim/forms/model_forms.py:1305 +#: dcim/forms/bulk_edit.py:1442 dcim/forms/model_forms.py:1305 msgid "Virtual device contexts" msgstr "Contextos de dispositivos virtuales" -#: dcim/forms/bulk_edit.py:1431 dcim/forms/bulk_import.py:714 +#: dcim/forms/bulk_edit.py:1448 dcim/forms/bulk_import.py:714 #: dcim/forms/bulk_import.py:740 dcim/forms/filtersets.py:1252 #: dcim/forms/filtersets.py:1277 dcim/forms/filtersets.py:1358 #: dcim/tables/devices.py:610 @@ -3650,7 +3676,7 @@ msgstr "Contextos de dispositivos virtuales" msgid "Speed" msgstr "Velocidad" -#: dcim/forms/bulk_edit.py:1460 dcim/forms/bulk_import.py:885 +#: dcim/forms/bulk_edit.py:1477 dcim/forms/bulk_import.py:885 #: 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 @@ -3661,36 +3687,44 @@ msgstr "Velocidad" msgid "Mode" msgstr "Modo" -#: dcim/forms/bulk_edit.py:1468 dcim/forms/model_forms.py:1354 +#: dcim/forms/bulk_edit.py:1485 dcim/forms/model_forms.py:1354 #: ipam/forms/bulk_import.py:178 ipam/forms/filtersets.py:498 #: 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:1476 dcim/forms/model_forms.py:1360 +#: dcim/forms/bulk_edit.py:1494 dcim/forms/model_forms.py:1360 #: dcim/tables/devices.py:579 virtualization/forms/bulk_edit.py:248 #: virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN sin etiquetar" -#: dcim/forms/bulk_edit.py:1484 dcim/forms/model_forms.py:1369 +#: dcim/forms/bulk_edit.py:1503 dcim/forms/model_forms.py:1369 #: dcim/tables/devices.py:585 virtualization/forms/bulk_edit.py:256 #: virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" msgstr "VLAN etiquetadas" -#: dcim/forms/bulk_edit.py:1494 dcim/forms/model_forms.py:1341 +#: dcim/forms/bulk_edit.py:1506 +msgid "Add tagged VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1515 +msgid "Remove tagged VLANs" +msgstr "" + +#: dcim/forms/bulk_edit.py:1531 dcim/forms/model_forms.py:1341 msgid "Wireless LAN group" msgstr "Grupo LAN inalámbrico" -#: dcim/forms/bulk_edit.py:1499 dcim/forms/model_forms.py:1346 +#: dcim/forms/bulk_edit.py:1536 dcim/forms/model_forms.py:1346 #: dcim/tables/devices.py:619 netbox/navigation/menu.py:146 #: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "LAN inalámbricas" -#: dcim/forms/bulk_edit.py:1508 dcim/forms/filtersets.py:1328 +#: dcim/forms/bulk_edit.py:1545 dcim/forms/filtersets.py:1328 #: dcim/forms/model_forms.py:1390 ipam/forms/bulk_edit.py:286 #: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:169 #: templates/dcim/interface.html:122 templates/ipam/prefix.html:95 @@ -3698,33 +3732,37 @@ msgstr "LAN inalámbricas" msgid "Addressing" msgstr "Dirigiéndose" -#: dcim/forms/bulk_edit.py:1509 dcim/forms/filtersets.py:720 +#: dcim/forms/bulk_edit.py:1546 dcim/forms/filtersets.py:720 #: dcim/forms/model_forms.py:1391 virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operación" -#: dcim/forms/bulk_edit.py:1510 dcim/forms/filtersets.py:1329 +#: dcim/forms/bulk_edit.py:1547 dcim/forms/filtersets.py:1329 #: dcim/forms/model_forms.py:987 dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1511 dcim/forms/model_forms.py:1392 +#: dcim/forms/bulk_edit.py:1548 dcim/forms/model_forms.py:1392 #: 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:1512 dcim/forms/model_forms.py:1394 +#: dcim/forms/bulk_edit.py:1549 dcim/forms/model_forms.py:1394 #: 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:1574 dcim/forms/bulk_edit.py:1576 +#: dcim/forms/bulk_edit.py:1553 +msgid "Add/Remove" +msgstr "" + +#: dcim/forms/bulk_edit.py:1612 dcim/forms/bulk_edit.py:1614 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:1581 dcim/forms/common.py:50 +#: dcim/forms/bulk_edit.py:1619 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." @@ -3866,26 +3904,6 @@ msgstr "Plataforma asignada" msgid "Virtual chassis" msgstr "Chasis virtual" -#: dcim/forms/bulk_import.py:517 dcim/forms/filtersets.py:728 -#: dcim/forms/filtersets.py:898 dcim/forms/model_forms.py:522 -#: dcim/tables/devices.py:202 extras/filtersets.py:596 -#: extras/forms/filtersets.py:322 ipam/forms/filtersets.py:415 -#: ipam/forms/filtersets.py:447 templates/dcim/device.html:239 -#: templates/virtualization/cluster.html:10 -#: templates/virtualization/virtualmachine.html:92 -#: templates/virtualization/virtualmachine.html:101 -#: virtualization/filtersets.py:157 virtualization/filtersets.py:277 -#: virtualization/forms/bulk_edit.py:129 -#: virtualization/forms/bulk_import.py:92 -#: virtualization/forms/filtersets.py:99 -#: virtualization/forms/filtersets.py:123 -#: virtualization/forms/filtersets.py:204 -#: virtualization/forms/model_forms.py:79 -#: virtualization/forms/model_forms.py:176 -#: virtualization/tables/virtualmachines.py:67 -msgid "Cluster" -msgstr "Clúster" - #: dcim/forms/bulk_import.py:521 msgid "Virtualization cluster" msgstr "Clúster de virtualización" @@ -6632,33 +6650,33 @@ msgstr "Se ha producido un error al renderizar la plantilla: {error}" msgid "Virtual Machines" msgstr "Máquinas virtuales" -#: dcim/views.py:2897 +#: dcim/views.py:2907 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "Dispositivo instalado {device} en la bahía {device_bay}." -#: dcim/views.py:2938 +#: dcim/views.py:2948 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "Dispositivo eliminado {device} desde la bahía {device_bay}." -#: dcim/views.py:3044 ipam/tables/ip.py:234 +#: dcim/views.py:3054 ipam/tables/ip.py:234 msgid "Children" msgstr "Niños" -#: dcim/views.py:3510 +#: dcim/views.py:3520 #, python-brace-format msgid "Added member {device}" msgstr "Miembro agregado {device}" -#: dcim/views.py:3557 +#: dcim/views.py:3567 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" "No se puede eliminar el dispositivo maestro {device} desde el chasis " "virtual." -#: dcim/views.py:3570 +#: dcim/views.py:3580 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "Eliminado {device} desde un chasis virtual {chassis}" @@ -7608,19 +7626,19 @@ msgstr "Programe la ejecución del script a una hora determinada" msgid "Interval at which this script is re-run (in minutes)" msgstr "Intervalo en el que se vuelve a ejecutar este script (en minutos)" -#: extras/jobs.py:49 +#: extras/jobs.py:47 msgid "Database changes have been reverted automatically." msgstr "Los cambios en la base de datos se han revertido automáticamente." -#: extras/jobs.py:55 +#: extras/jobs.py:53 msgid "Script aborted with error: " msgstr "Secuencia de comandos abortada con un error: " -#: extras/jobs.py:65 +#: extras/jobs.py:63 msgid "An exception occurred: " msgstr "Se ha producido una excepción: " -#: extras/jobs.py:70 +#: extras/jobs.py:68 msgid "Database changes have been reverted due to error." msgstr "Los cambios en la base de datos se han revertido debido a un error." @@ -8953,7 +8971,7 @@ msgstr "Grupo VLAN" #: ipam/forms/bulk_edit.py:234 ipam/forms/bulk_import.py:185 #: ipam/forms/filtersets.py:256 ipam/forms/model_forms.py:218 -#: ipam/models/vlans.py:234 ipam/tables/ip.py:255 +#: ipam/models/vlans.py:250 ipam/tables/ip.py:255 #: templates/ipam/prefix.html:60 templates/ipam/vlan.html:12 #: templates/ipam/vlan/base.html:6 templates/ipam/vlan_edit.html:10 #: templates/wireless/wirelesslan.html:30 vpn/forms/bulk_import.py:304 @@ -9210,7 +9228,7 @@ msgstr "Asignado a una interfaz" msgid "DNS Name" msgstr "Nombre DNS" -#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:235 ipam/tables/ip.py:176 +#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:251 ipam/tables/ip.py:176 #: ipam/tables/vlans.py:82 ipam/views.py:971 netbox/navigation/menu.py:193 #: netbox/navigation/menu.py:195 msgid "VLANs" @@ -9220,7 +9238,7 @@ msgstr "VLAN" msgid "Contains VLAN ID" msgstr "Contiene el identificador de VLAN" -#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:176 +#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:192 #: templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "IDENTIFICADOR DE VLAN" @@ -9682,40 +9700,48 @@ msgstr "No se puede establecer scope_type sin scope_id." msgid "Cannot set scope_id without scope_type." msgstr "No se puede establecer scope_id sin scope_type." -#: ipam/models/vlans.py:101 +#: ipam/models/vlans.py:105 +#, python-brace-format +msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" +msgstr "" + +#: ipam/models/vlans.py:111 +#, python-brace-format +msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" +msgstr "" + +#: ipam/models/vlans.py:118 +#, python-brace-format +msgid "" +"Ending VLAN ID in range must be greater than or equal to the starting VLAN " +"ID ({range})" +msgstr "" + +#: ipam/models/vlans.py:124 msgid "Ranges cannot overlap." msgstr "Los rangos no se pueden superponer." -#: ipam/models/vlans.py:106 -#, python-brace-format -msgid "" -"Maximum child VID must be greater than or equal to minimum child VID " -"({value})" -msgstr "" -"El VID infantil máximo debe ser mayor o igual al VID infantil mínimo " -"({value})" - -#: ipam/models/vlans.py:165 +#: ipam/models/vlans.py:181 msgid "The specific site to which this VLAN is assigned (if any)" msgstr "El sitio específico al que está asignada esta VLAN (si existe)" -#: ipam/models/vlans.py:173 +#: ipam/models/vlans.py:189 msgid "VLAN group (optional)" msgstr "Grupo de VLAN (opcional)" -#: ipam/models/vlans.py:181 +#: ipam/models/vlans.py:197 msgid "Numeric VLAN ID (1-4094)" msgstr "ID de VLAN numérico (1-4094)" -#: ipam/models/vlans.py:199 +#: ipam/models/vlans.py:215 msgid "Operational status of this VLAN" msgstr "Estado operativo de esta VLAN" -#: ipam/models/vlans.py:207 +#: ipam/models/vlans.py:223 msgid "The primary function of this VLAN" msgstr "La función principal de esta VLAN" -#: ipam/models/vlans.py:250 +#: ipam/models/vlans.py:266 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " @@ -9724,7 +9750,7 @@ msgstr "" "La VLAN está asignada al grupo {group} (alcance: {scope}); no se puede " "asignar también al sitio {site}." -#: ipam/models/vlans.py:259 +#: ipam/models/vlans.py:275 #, python-brace-format msgid "VID must be in ranges {ranges} for VLANs in group {group}" msgstr "El VID debe estar en rangos {ranges} para VLAN en grupo {group}" @@ -10477,10 +10503,6 @@ msgstr "Políticas IPSec" msgid "IPSec Profiles" msgstr "Perfiles IPSec" -#: netbox/navigation/menu.py:243 templates/dcim/device_edit.html:78 -msgid "Virtualization" -msgstr "Virtualización" - #: netbox/navigation/menu.py:251 #: templates/virtualization/virtualmachine.html:174 #: templates/virtualization/virtualmachine/base.html:32 @@ -10885,19 +10907,19 @@ msgstr "" msgid "Row {i}: Object with ID {id} does not exist" msgstr "Fila {i}: Objeto con ID {id} no existe" -#: netbox/views/generic/bulk_views.py:702 -#: netbox/views/generic/bulk_views.py:900 -#: netbox/views/generic/bulk_views.py:948 +#: netbox/views/generic/bulk_views.py:709 +#: netbox/views/generic/bulk_views.py:907 +#: netbox/views/generic/bulk_views.py:955 #, python-brace-format msgid "No {object_type} were selected." msgstr "No {object_type} fueron seleccionados." -#: netbox/views/generic/bulk_views.py:782 +#: netbox/views/generic/bulk_views.py:789 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "Renombrado {count} {object_type}" -#: netbox/views/generic/bulk_views.py:878 +#: netbox/views/generic/bulk_views.py:885 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "Eliminado {count} {object_type}" @@ -10931,7 +10953,7 @@ msgstr "Sincronizado {count} {object_type}" msgid "{class_name} must implement get_children()" msgstr "{class_name} debe implementar get_children ()" -#: netbox/views/misc.py:44 +#: netbox/views/misc.py:46 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." @@ -12795,7 +12817,7 @@ msgid "You do not have permission to run scripts" msgstr "No tiene permiso para ejecutar scripts" #: templates/extras/script.html:41 templates/extras/script.html:45 -#: templates/extras/script_list.html:86 +#: templates/extras/script_list.html:87 msgid "Run Script" msgstr "Ejecutar script" @@ -12807,27 +12829,32 @@ msgstr "Error al cargar el script" msgid "Script no longer exists in the source file." msgstr "El script ya no existe en el archivo fuente." -#: templates/extras/script_list.html:46 +#: templates/extras/script_list.html:47 msgid "Last Run" msgstr "Última ejecución" -#: templates/extras/script_list.html:61 +#: templates/extras/script_list.html:62 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:74 +#: templates/extras/script_list.html:75 msgid "Never" msgstr "Nunca" -#: templates/extras/script_list.html:84 +#: templates/extras/script_list.html:85 msgid "Run Again" msgstr "Corre otra vez" -#: templates/extras/script_list.html:138 +#: templates/extras/script_list.html:133 +#, python-format +msgid "Could not load scripts from module %(module)s" +msgstr "" + +#: templates/extras/script_list.html:141 msgid "No Scripts Found" msgstr "No se encontró ningún script" -#: templates/extras/script_list.html:141 +#: templates/extras/script_list.html:144 #, python-format msgid "" "Get started by creating a script from " @@ -14690,13 +14717,13 @@ msgid "Memory (MB)" msgstr "Memoria (MB)" #: virtualization/forms/bulk_edit.py:174 -msgid "Disk (GB)" -msgstr "Disco (GB)" +msgid "Disk (MB)" +msgstr "" #: virtualization/forms/bulk_edit.py:334 #: virtualization/forms/filtersets.py:251 -msgid "Size (GB)" -msgstr "Tamaño (GB)" +msgid "Size (MB)" +msgstr "" #: virtualization/forms/bulk_import.py:44 msgid "Type of cluster" diff --git a/netbox/translations/fr/LC_MESSAGES/django.mo b/netbox/translations/fr/LC_MESSAGES/django.mo index bf80d8fca67b92dc156c9c3598b5a4165b6f57af..4e3ff8a09766e66583d301dca5dac4754f5e43c7 100644 GIT binary patch delta 66008 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 D8j!<+ delta 66252 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 Qtpi}B*Vg5!y!Z6{KUJ6weE{device}" msgstr "Membre ajouté {device}" -#: dcim/views.py:3557 +#: dcim/views.py:3567 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" "Impossible de supprimer le périphérique principal {device} depuis le châssis" " virtuel." -#: dcim/views.py:3570 +#: dcim/views.py:3580 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "Supprimé {device} depuis un châssis virtuel {chassis}" @@ -7620,21 +7638,21 @@ msgstr "Planifier l'exécution du script à une heure définie" msgid "Interval at which this script is re-run (in minutes)" msgstr "Intervalle auquel ce script est réexécuté (en minutes)" -#: extras/jobs.py:49 +#: extras/jobs.py:47 msgid "Database changes have been reverted automatically." msgstr "" "Les modifications apportées à la base de données ont été annulées " "automatiquement." -#: extras/jobs.py:55 +#: extras/jobs.py:53 msgid "Script aborted with error: " msgstr "Le script a été abandonné avec une erreur : " -#: extras/jobs.py:65 +#: extras/jobs.py:63 msgid "An exception occurred: " msgstr "Une exception s'est produite : " -#: extras/jobs.py:70 +#: extras/jobs.py:68 msgid "Database changes have been reverted due to error." msgstr "" "Les modifications apportées à la base de données ont été annulées en raison " @@ -8980,7 +8998,7 @@ msgstr "Groupe VLAN" #: ipam/forms/bulk_edit.py:234 ipam/forms/bulk_import.py:185 #: ipam/forms/filtersets.py:256 ipam/forms/model_forms.py:218 -#: ipam/models/vlans.py:234 ipam/tables/ip.py:255 +#: ipam/models/vlans.py:250 ipam/tables/ip.py:255 #: templates/ipam/prefix.html:60 templates/ipam/vlan.html:12 #: templates/ipam/vlan/base.html:6 templates/ipam/vlan_edit.html:10 #: templates/wireless/wirelesslan.html:30 vpn/forms/bulk_import.py:304 @@ -9238,7 +9256,7 @@ msgstr "Affecté à une interface" msgid "DNS Name" msgstr "Nom DNS" -#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:235 ipam/tables/ip.py:176 +#: ipam/forms/filtersets.py:416 ipam/models/vlans.py:251 ipam/tables/ip.py:176 #: ipam/tables/vlans.py:82 ipam/views.py:971 netbox/navigation/menu.py:193 #: netbox/navigation/menu.py:195 msgid "VLANs" @@ -9248,7 +9266,7 @@ msgstr "VLAN" msgid "Contains VLAN ID" msgstr "Contient un ID de VLAN" -#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:176 +#: ipam/forms/filtersets.py:513 ipam/models/vlans.py:192 #: templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "IDENTIFIANT DE VLAN" @@ -9717,40 +9735,48 @@ msgstr "Impossible de définir scope_type sans scope_id." msgid "Cannot set scope_id without scope_type." msgstr "Impossible de définir scope_id sans scope_type." -#: ipam/models/vlans.py:101 +#: ipam/models/vlans.py:105 +#, python-brace-format +msgid "Starting VLAN ID in range ({value}) cannot be less than {minimum}" +msgstr "" + +#: ipam/models/vlans.py:111 +#, python-brace-format +msgid "Ending VLAN ID in range ({value}) cannot exceed {maximum}" +msgstr "" + +#: ipam/models/vlans.py:118 +#, python-brace-format +msgid "" +"Ending VLAN ID in range must be greater than or equal to the starting VLAN " +"ID ({range})" +msgstr "" + +#: ipam/models/vlans.py:124 msgid "Ranges cannot overlap." msgstr "Les plages ne peuvent pas se chevaucher." -#: ipam/models/vlans.py:106 -#, python-brace-format -msgid "" -"Maximum child VID must be greater than or equal to minimum child VID " -"({value})" -msgstr "" -"La VID maximale pour les enfants doit être supérieure ou égale à la VID " -"minimale pour les enfants ({value})" - -#: ipam/models/vlans.py:165 +#: ipam/models/vlans.py:181 msgid "The specific site to which this VLAN is assigned (if any)" msgstr "Le site spécifique auquel ce VLAN est associé (le cas échéant)" -#: ipam/models/vlans.py:173 +#: ipam/models/vlans.py:189 msgid "VLAN group (optional)" msgstr "Groupe VLAN (facultatif)" -#: ipam/models/vlans.py:181 +#: ipam/models/vlans.py:197 msgid "Numeric VLAN ID (1-4094)" msgstr "ID VLAN numérique (1-4094)" -#: ipam/models/vlans.py:199 +#: ipam/models/vlans.py:215 msgid "Operational status of this VLAN" msgstr "État opérationnel de ce VLAN" -#: ipam/models/vlans.py:207 +#: ipam/models/vlans.py:223 msgid "The primary function of this VLAN" msgstr "La principale fonction de ce VLAN" -#: ipam/models/vlans.py:250 +#: ipam/models/vlans.py:266 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " @@ -9759,7 +9785,7 @@ msgstr "" "Le VLAN est associé au groupe {group} (champ d'application : {scope}) ; ne " "peut pas également être associé au site {site}." -#: ipam/models/vlans.py:259 +#: ipam/models/vlans.py:275 #, python-brace-format msgid "VID must be in ranges {ranges} for VLANs in group {group}" msgstr "" @@ -10520,10 +10546,6 @@ msgstr "Politiques IPSec" msgid "IPSec Profiles" msgstr "Profils IPSec" -#: netbox/navigation/menu.py:243 templates/dcim/device_edit.html:78 -msgid "Virtualization" -msgstr "Virtualisation" - #: netbox/navigation/menu.py:251 #: templates/virtualization/virtualmachine.html:174 #: templates/virtualization/virtualmachine/base.html:32 @@ -10931,19 +10953,19 @@ msgstr "" msgid "Row {i}: Object with ID {id} does not exist" msgstr "Rangée {i}: Objet avec identifiant {id} n'existe pas" -#: netbox/views/generic/bulk_views.py:702 -#: netbox/views/generic/bulk_views.py:900 -#: netbox/views/generic/bulk_views.py:948 +#: netbox/views/generic/bulk_views.py:709 +#: netbox/views/generic/bulk_views.py:907 +#: netbox/views/generic/bulk_views.py:955 #, python-brace-format msgid "No {object_type} were selected." msgstr "Non {object_type} ont été sélectionnés." -#: netbox/views/generic/bulk_views.py:782 +#: netbox/views/generic/bulk_views.py:789 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "Renommé {count} {object_type}" -#: netbox/views/generic/bulk_views.py:878 +#: netbox/views/generic/bulk_views.py:885 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "Supprimé {count} {object_type}" @@ -10977,7 +10999,7 @@ msgstr "Synchronisé {count} {object_type}" msgid "{class_name} must implement get_children()" msgstr "{class_name} doit implémenter get_children ()" -#: netbox/views/misc.py:44 +#: netbox/views/misc.py:46 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." @@ -12842,7 +12864,7 @@ msgid "You do not have permission to run scripts" msgstr "Vous n'avez pas le droit d'exécuter des scripts" #: templates/extras/script.html:41 templates/extras/script.html:45 -#: templates/extras/script_list.html:86 +#: templates/extras/script_list.html:87 msgid "Run Script" msgstr "Exécuter le script" @@ -12854,27 +12876,32 @@ msgstr "Erreur de chargement du script" msgid "Script no longer exists in the source file." msgstr "Le script n'existe plus dans le fichier source." -#: templates/extras/script_list.html:46 +#: templates/extras/script_list.html:47 msgid "Last Run" msgstr "Dernière exécution" -#: templates/extras/script_list.html:61 +#: templates/extras/script_list.html:62 msgid "Script is no longer present in the source file" msgstr "Le script n'est plus présent dans le fichier source" -#: templates/extras/script_list.html:74 +#: templates/extras/script_list.html:75 msgid "Never" msgstr "Jamais" -#: templates/extras/script_list.html:84 +#: templates/extras/script_list.html:85 msgid "Run Again" msgstr "Exécutez à nouveau" -#: templates/extras/script_list.html:138 +#: templates/extras/script_list.html:133 +#, python-format +msgid "Could not load scripts from module %(module)s" +msgstr "" + +#: templates/extras/script_list.html:141 msgid "No Scripts Found" msgstr "Aucun script trouvé" -#: templates/extras/script_list.html:141 +#: templates/extras/script_list.html:144 #, python-format msgid "" "Get started by creating a script from " @@ -14734,13 +14761,13 @@ msgid "Memory (MB)" msgstr "Mémoire (Mo)" #: virtualization/forms/bulk_edit.py:174 -msgid "Disk (GB)" -msgstr "Disque (Go)" +msgid "Disk (MB)" +msgstr "" #: virtualization/forms/bulk_edit.py:334 #: virtualization/forms/filtersets.py:251 -msgid "Size (GB)" -msgstr "Taille (Go)" +msgid "Size (MB)" +msgstr "" #: virtualization/forms/bulk_import.py:44 msgid "Type of cluster" diff --git a/netbox/translations/it/LC_MESSAGES/django.mo b/netbox/translations/it/LC_MESSAGES/django.mo index 839e154005e5dfd277bb98d051202ffc85e838c1..3e357f35d37e0476407cddcfe9fd629ba015ba34 100644 GIT binary patch delta 66008 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